| UNSQUASHFS(1) | دستورهای کاربری | UNSQUASHFS(1) |
نام (NAME)
unsquashfs - ابزاری برای از حالت فشرده خارج کردن، استخراج و فهرست کردن سیستمفایلهای squashfs
خلاصه دستور (SYNOPSIS)
unsquashfs [OPTIONS] FILESYSTEM [files to extract or exclude (with -excludes) or cat (with -cat )]
توضیحات (DESCRIPTION)
سیستمفایل Squashfs یک سیستمفایل فقطخواندنی بهشدت فشرده برای لینوکس است. این سیستمفایل از فشردهسازی gzip/xz/lzo/lz4/zstd برای فشردهسازی فایلها، inodeها و دایرکتوریها استفاده میکند. Inodeها در این سیستم بسیار کوچک هستند و تمامی بلوکها برای به حداقل رساندن بار اضافی دادهها فشرده و بستهبندی میشوند. اندازههای بلوک بزرگتر از 4K تا حداکثر 1Mbytes پشتیبانی میشوند (اندازه بلوک پیشفرض 128K است).
سیستمفایل Squashfs برای استفاده عمومی به عنوان سیستمفایل فقطخواندنی، مصارف آرشیوی (مانند مواردی که ممکن است از یک فایل .tar.gz استفاده شود)، و در سیستمهای دارای محدودیت حافظه/دستگاه بلوکی (مانند سیستمهای جاسازیشده) که نیاز به بار سربار کم دارند، در نظر گرفته شده است.
گزینهها (OPTIONS)
گزینههای استخراج (فیلتر کردن) سیستمفایل:
- -d PATHNAME, -dest PATHNAME
- استخراج در PATHNAME، پیشفرض "squashfs-root". این گزینه همچنین پیشوند مورد استفاده هنگام فهرست کردن سیستمفایل را تنظیم میکند.
- -max LEVELS, -max-depth LEVELS
- پیمایش به عمق حداکثر LEVELS دایرکتوری هنگام استخراج.
- -excludes
- فایلهای مشخصشده در خط فرمان را به عنوان فایلهای مستثنیشده (exclude) در نظر بگیرد.
- -ex, -exclude-list
- فهرستی از فایلها برای مستثنی شدن، خاتمهیافته با ; مانند file1 file2 ;.
- -extract-file FILE
- فهرستی از دایرکتوریها یا فایلها برای استخراج. یک مورد در هر سطر.
- -exclude-file FILE
- فهرستی از دایرکتوریها یا فایلها برای مستثنی شدن. یک مورد در هر سطر.
- -match
- در صورتی که هر فایل استخراج با هیچ موردی تطابق نداشته باشد و قابل حل نباشد، عملیات لغو شود. به صورت ضمنی گزینههای -missing-symlinks و -no-wildcards را فعال میکند.
- -follow, -follow-symlinks
- دنبال کردن پیوندهای نمادین در فایلهای استخراج، و افزودن تمامی فایلها/پیوندهای نمادین مورد نیاز برای حل فایل استخراج. به صورت ضمنی گزینه -no-wildcards را فعال میکند.
- -missing, -missing-symlinks
- در صورت عدم امکان حل هرگونه پیوند نمادین در -follow-symlinks، ابزار Unsquashfs متوقف و لغو خواهد شد.
- -no-wild, -no-wildcards
- عدم استفاده از تطبیق با نویسههای عمومی (wildcard) در نامهای استخراج و مستثنیسازی.
- -r, -regex
- در نظر گرفتن نامهای استخراج به عنوان عبارات باقاعده POSIX به جای استفاده از بسط پیشفرض الگوهای عام پوسته (globbing).
- -all TIME, -all-time TIME
- تنظیم برچسب زمانی تمام فایلها روی TIME، به جای زمان ذخیرهشده در inode سیستمفایل. مقدار TIME میتواند یک عدد صحیح ۳۲ بیتی بدون علامت بیانگر ثانیههای پس از مبدا یونیکس (1970-01-01) باشد، یا مقداری رشتهای که برای پردازش به دستور "date" ارسال میشود. هر مقدار رشتهای که دستور date تشخیص دهد قابل استفاده است، مانند "now"، "last week" یا "Wed Feb 15 21:02:39 GMT 2023".
- -cat
- ارسال محتوای فایلهای مشخصشده در خط فرمان به خروجی استاندارد (stdout).
- -f, -force
- در صورتی که دایرکتوری مقصد از قبل وجود داشته باشد، به درون آن و تمامی زیردایرکتوریهای آن وارد شده و در صورت وجود فایلها، پیش از استخراج روی آنها، فایلهای موجود حذف (unlink) شوند.
- -pf FILE
- تولید معادل یک شبهفایل (pseudo file) از سیستمفایل ورودی Squashfs؛ از - برای خروجی استاندارد (stdout) استفاده کنید.
گزینههای اطلاعات و فهرست کردن سیستمفایل:
- -s, -stat
- نمایش اطلاعات ابربلوک (superblock) سیستمفایل.
- -max LEVELS, -max-depth LEVELS
- پیمایش به عمق حداکثر LEVELS دایرکتوری هنگام فهرست کردن.
- -i, -info
- چاپ نام فایلها هنگام استخراج شدن آنها.
- -li, -linfo
- چاپ فایلها هنگام استخراج همراه با ویژگیهای فایل (مشابه خروجی ls -l).
- -l, -ls
- فهرست کردن محتویات سیستمفایل بدون استخراج فایلها.
- -ll, -lls
- فهرست کردن سیستمفایل همراه با ویژگیهای فایل (مشابه خروجی ls -l) بدون استخراج فایلها.
- -lln, -llnumeric
- مشابه -lls اما با شناسههای عددی uid و gid.
- -lc
- فهرست کردن موجز سیستمفایل و نمایش فقط فایلها و دایرکتوریهای خالی، بدون استخراج فایلها.
- -llc
- فهرست کردن موجز سیستمفایل همراه با ویژگیهای فایل، نمایش فقط فایلها و دایرکتوریهای خالی، بدون استخراج فایلها.
- -full, -full-precision
- استفاده از دقت کامل شامل ثانیهها هنگام نمایش زمانها. قابل استفاده با -linfo، -lls، -lln و -llc.
- -UTC
- استفاده از ساعت هماهنگ جهانی (UTC) به جای منطقه زمانی محلی هنگام نمایش زمان.
- -mkfs-time
- نمایش زمان ساخت ابربلوک سیستمفایل که یک عدد صحیح ۳۲ بیتی بدون علامت بیانگر زمان بر حسب ثانیههای سپریشده از مبدا (1970-01-01) است.
گزینههای ویژگیهای گسترده سیستمفایل (xattrs):
- -no, -no-xattrs
- عدم استخراج xattrها در سیستمفایل.
- -x, -xattrs
- استخراج xattrها در سیستمفایل (پیشفرض).
- -xattrs-exclude REGEX
- مستثنی کردن تمام نامهای xattr منطبق با REGEX. مقدار REGEX یک عبارت باقاعده POSIX است؛ برای مثال -xattrs-exclude '^user.' ویژگیهای گسترده فضای نام کاربر را مستثنی میکند.
- -xattrs-include REGEX
- شامل کردن تمام نامهای xattr منطبق با REGEX. مقدار REGEX یک عبارت باقاعده POSIX است؛ برای مثال -xattrs-include '^user.' ویژگیهای گسترده فضای نام کاربر را شامل میشود.
گزینههای زمان اجرای Unsquashfs:
- -v, -version
- چاپ اطلاعات نسخه، مجوز و حق نشر.
- -p NUMBER, -processors NUMBER
- استفاده از NUMBER پردازنده. به طور پیشفرض از تمام پردازندههای موجود استفاده خواهد شد.
- -mem SIZE
- استفاده از SIZE حافظه فیزیکی برای حافظههای موقت (کش). از K، M یا G به ترتیب برای تعیین کیلوبایت، مگابایت یا گیگابایت استفاده کنید. پیشفرض 512 Mbytes است.
- -mem-percent PERCENT
- استفاده از PERCENT درصد از حافظه فیزیکی برای حافظههای موقت (کش).
- -q, -quiet
- بدون خروجی پرحجم (verbose).
- -n, -no-progress
- عدم نمایش نوار پیشرفت.
- -percentage
- نمایش درصد پیشرفت به جای نوار پیشرفت کامل. قابل استفاده با dialog --gauge و غیره.
- -ig, -ignore-errors
- غیرمرگبار تلقی کردن خطاهای مربوط به نوشتن فایلها در خروجی.
- -st, -strict-errors
- مرگبار تلقی کردن تمامی خطاها.
- -no-exit, -no-exit-code
- عدم تنظیم کد خروج (به مقدار غیرصفر) در صورت بروز خطاهای غیرمرگبار.
گزینههای راهنما:
- -h, -help
- چاپ خلاصه اطلاعات راهنما در صفحهبندیکننده (یا stdout در صورت عدم اتصال به ترمینال).
- -help-option REGEX
- چاپ اطلاعات راهنما برای گزینههای منطبق با REGEX در صفحهبندیکننده (یا stdout در صورت عدم اتصال به ترمینال).
- -help-section SECTION
- چاپ اطلاعات راهنما برای بخش SECTION در صفحهبندیکننده (یا stdout در صورت عدم اتصال به ترمینال). اگر SECTION دقیقاً با نام یک بخش مطابقت نداشته باشد، به عنوان یک عبارت باقاعده در نظر گرفته شده و تمام بخشهای منطبق نمایش داده میشوند. از "list" به عنوان نام بخش برای دریافت فهرست بخشها و نامهای آنها استفاده کنید.
- -help-all
- چاپ اطلاعات راهنما برای تمامی گزینهها و بخشهای Unsquashfs در صفحهبندیکننده (یا stdout در صورت عدم اتصال به ترمینال).
- -ho REGEX
- نام کوتاه جایگزین برای -help-option.
- -hs SECTION
- نام کوتاه جایگزین برای -help-section.
- -ha
- نام کوتاه جایگزین برای -help-all.
- -no-pager
- عدم استفاده از صفحهبندیکننده برای نمایش اطلاعات راهنما.
- -cols WIDTH
- استفاده از WIDTH ستون برای نمایش اطلاعات راهنما. زمانی که خروجی به ترمینال ارسال نمیشود مفید است.
گزینههای متفرقه:
- -o BYTES, -offset BYTES
- صرفنظر کردن از BYTES بایت در ابتدای FILESYSTEM. به صورت اختیاری میتوان پسوند K، M یا G را به ترتیب برای تعیین کیلوبایت، مگابایت یا گیگابایت اضافه کرد (پیشفرض 0 بایت).
- -fstime
- مترادف -mkfs-time.
- -e, -ef EXTRACT FILE
- مترادف -extract-file.
- -exc, -excf EXCLUDE FILE
- مترادف -exclude-file.
- -L
- مترادف -follow-symlinks.
- -pseudo-file FILE
- نام جایگزین برای -pf.
وضعیت خروج (EXIT STATUS)
- 0
- سیستمفایل با موفقیت فهرست یا استخراج شد.
- 1
- خطاهای مرگبار رخ داد، مانند خرابی سیستمفایل یا خطاهای ورودی/خروجی (I/O). ابزار Unsquashfs ادامه نداد و متوقف شد.
- 2
- خطاهای غیرمرگبار رخ داد، مانند عدم پشتیبانی از XATTRها، پیوندهای نمادین در سیستمفایل خروجی یا عدم امکان نوشتن مجوزها در سیستمفایل خروجی. ابزار Unsquashfs ادامه داد و متوقف نشد.
برای نحوه تأثیرگذاری گزینههای -ignore-errors، -strict-errors و -no-exit-code بر وضعیت خروج، به توضیحات آنها مراجعه کنید.
فشردهسازهای موجود (DECOMPRESSORS AVAILABLE)
gzip, lzo, lz4, xz, zstd, lzma
متغیرهای محیطی (ENVIRONMENT)
- SQFS_CMDLINE
- در صورت مقداردهی، به عنوان دایرکتوری برای نوشتن فایل sqfs_cmdline استفاده میشود که حاوی آرگومانهای خط فرمان ارائهشده به Unsquashfs است. هر آرگومان خط فرمان درون نقلقول قرار میگیرد تا در صورت وجود فاصله در آرگومانها، هیچ ابهامی وجود نداشته باشد. اگر فایل از قبل موجود باشد، خط فرمان به انتهای فایل اضافه میشود.
- PAGER
- در صورت مقداردهی، به عنوان نام برنامهای که برای نمایش متن راهنما استفاده میشود به کار میرود. این مقدار میتواند یک دستور ساده یا یک مسیر کامل باشد. پیشفرض /usr/bin/pager است.
مثالها (EXAMPLES)
- unsquashfs IMAGE.SQFS
- استخراج IMAGE.SQFS در "squashfs-root" درون دایرکتوری کاری فعلی.
- unsquashfs -d output IMAGE.SQFS
- استخراج IMAGE.SQFS در پوشه "output" درون دایرکتوری کاری فعلی.
- unsquashfs -d . IMAGE.SQFS
- استخراج IMAGE.SQFS در دایرکتوری کاری فعلی.
- unsquashfs -linfo IMAGE.SQFS
- نمایش فهرستی از IMAGE.SQFS همراه با ویژگیهای فایل در خروجی استاندارد (stdout)، همزمان با استخراج سیستمفایل در "squashfs-root".
- unsquashfs -lls IMAGE.SQFS
- نمایش فهرستی از IMAGE.SQFS همراه با ویژگیهای فایل در خروجی استاندارد (stdout)، اما بدون استخراج سیستمفایل. در ابتدای نام موارد فهرست، پیشوند "squashfs-root" قرار میگیرد.
- unsquashfs -d "" -lls IMAGE.SQFS
- نمایش فهرستی از IMAGE.SQFS همراه با ویژگیهای فایل در خروجی استاندارد (stdout)، اما بدون استخراج سیستمفایل. در ابتدای نام موارد فهرست، پیشوند "squashfs-root" قرار نمیگیرد.
- unsquashfs IMAGE.SQFS fs/squashfs
- استخراج منحصراً دایرکتوری "fs/squashfs".
- unsquashfs IMAGE.SQFS "[Tt]est/example*"
- استخراج تمام فایلهایی که با "example" شروع میشوند در دایرکتوریهای سطح بالا به نام "Test" یا "test".
- unsquashfs -excludes IMAGE.SQFS "test/*data*.gz"
- این دستور تمام موارد را به جز فایلهای منطبق با *data*.gz در دایرکتوری test استخراج میکند. گزینه -excludes به Unsquashfs میگوید فایلهای مشخصشده در خط فرمان را به جای استخراج، مستثنی کند.
- unsquashfs -excludes IMAGE.SQFS "... *.gz"
- این دستور تمام موارد را به جز فایلهای منطبق با *.gz در هر کجای تصویر استخراج میکند. علامت "..." نشان میدهد که این یک الگوی مستثنیسازی بدون لنگر (غیر مقید به مسیر خاص) است که در هر نقطهای تطابق داده میشود.
- unsquashfs -ex "test/*data*.gz" ; IMAGE.SQFS test
- این دستور از هر دو گزینه استخراج و مستثنیسازی استفاده میکند تا به Unsquashfs بگوید فقط دایرکتوری "test" را استخراج کرده و هر فایلی درون آن را که با *data*.gz مطابقت دارد مستثنی نماید.
- unsquashfs -ex "... *.gz" IMAGE.SQFS test
- این دستور از هر دو گزینه استخراج و مستثنیسازی استفاده میکند تا به Unsquashfs بگوید فقط دایرکتوری "test" را استخراج کرده و فایلهای منطبق با "*.gz" در هر نقطهای از دایرکتوری "test" یا زیردایرکتوریهای آن را مستثنی سازد.
- unsquashfs -dest output -max-depth 2 IMAGE.SQFS
- استخراج فقط دو سطح نخست از IMAGE.SQFS در دایرکتوری "output".
- unsquashfs -max-depth 2 IMAGE.SQFS "test/*.gz"
- استخراج تنها فایلهای gzipped درون دایرکتوری test.
- unsquashfs -llc -max-depth 2 IMAGE.SQFS "test/*.gz"
- نمایش فهرستی از فایلهای gzipped درون دایرکتوری test در خروجی استاندارد (stdout)، اما بدون استخراج آنها.
- unsquashfs -no-xattrs IMAGE.SQFS
- عدم استخراج هرگونه ویژگی گسترده. هر ویژگی گسترده در سیستمفایل نادیده گرفته خواهد شد.
- unsquashfs -xattrs-include "^user." IMAGE.SQFS
- فیلتر کردن ویژگیهای گسترده و فقط استخراج ویژگیهای گسترده در فضای نام کاربر از سیستمفایل Squashfs.
- unsquashfs -xattrs-exclude "^user." IMAGE.SQFS
- فیلتر کردن ویژگیهای گسترده و عدم استخراج هرگونه ویژگی گسترده در فضای نام کاربر از سیستمفایل Squashfs.
توجه: هنگام ارسال نامهای دارای نویسه عمومی (wildcard) به Unsquashfs، آنها باید درون علامت نقلقول قرار گیرند (مانند مثالهای فوق) تا اطمینان حاصل شود که توسط پوسته پردازش نمیشوند.
نویسنده (AUTHOR)
نوشتهشده توسط Phillip Lougher <phillip@squashfs.org.uk>
حق نشر (COPYRIGHT)
حق نشر © 2026 Phillip Lougher <phillip@squashfs.org.uk>
این برنامه یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «مجوز عمومی همگانی گنو» منتشرشده توسط بنیاد نرمافزارهای آزاد؛ نسخه ۲ یا (به انتخاب خودتان) هر نسخه بالاتری، دوباره توزیع کنید یا تغییر دهید.
این برنامه به این امید توزیع میشود که مفید باشد، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر «مجوز عمومی همگانی گنو» را مشاهده کنید.
همچنین ببینید (SEE ALSO)
mksquashfs(1), sqfstar(1), sqfscat(1)
فایل README برای انتشار نسخه 4.7.5 بسته Squashfs-tools و توصیف قابلیتهای جدید در این نشانی قابل مطالعه است: https://github.com/plougher/squashfs-tools/blob/master/Documentation/4.7.5/README.md
راهنمای استفاده از Unsquashfs در این نشانی قابل مطالعه است: https://github.com/plougher/squashfs-tools/blob/master/Documentation/4.7.5/USAGE-UNSQUASHFS.md
فایل تغییرات (CHANGELOG) برای ابزارهای Squashfs در این نشانی قابل دسترسی است: https://github.com/plougher/squashfs-tools/blob/master/CHANGES.md
| March 2026 | unsquashfs version 4.7.5 |