| WIMMOUNT(1) | User Commands | WIMMOUNT(1) |
نام (NAME)
wimmount, wimmountrw, wimunmount - سوار کردن یا پیاده کردن یک تصویر WIM
خلاصه دستور (SYNOPSIS)
wimmount WIMFILE [IMAGE] DIRECTORY
[OPTION...]
wimmountrw WIMFILE [IMAGE] DIRECTORY
[OPTION...]
wimunmount DIRECTORY [OPTION...]
توضیحات (DESCRIPTION)
در لینوکس، دستورهای wimmount (معادل: wimlib-imagex mount) و wimmountrw (معادل: wimlib-imagex mountrw) تصویر مشخصشدهٔ IMAGE را در آرشیو Windows Imaging (WIM) به نام WIMFILE با استفاده از FUSE (سامانهفایل در فضای کاربری) روی دایرکتوری DIRECTORY سوار میکنند. wimmount تصویر را به صورت فقطخواندنی، و wimmountrw تصویر را به صورت خواندنی-نوشتنی سوار خواهد کرد.
آرگومان IMAGE تصویری در WIMFILE را که باید سوار شود مشخص میکند. این مقدار میتواند نمایهٔ عددی تصویر (شروع از ۱) یا نام آن باشد. در صورتی که WIMFILE تنها شامل یک تصویر باشد، میتوان آن را حذف کرد. برای مشاهدهٔ فهرست تصاویر موجود در WIMFILE میتوانید از wiminfo(1) استفاده کنید.
تصویر WIM را میتوان با استفاده از wimunmount (معادل: wimlib-imagex unmount) پیاده کرد. تغییرات ایجادشده در تصویری که به صورت خواندنی-نوشتنی سوار شده است لغو و نادیده گرفته خواهند شد، مگر اینکه گزینهٔ --commit به wimunmount داده شود.
پشتیبانی از دادهها و فرادادهها (DATA AND METADATA SUPPORT)
تصاویر WIM میتوانند شامل انواع مختلفی از فایلها و فرادادههای فایلی باشند که برخی از آنها مختص ویندوز است. در حال حاضر، قابلیت سوار کردن میتواند برخی از مفاهیم ویندوز را به معادلهای لینوکسی ترجمه کند، اما نه همهٔ آنها را. به طور خلاصه، ویژگیهای زیر پشتیبانی میشوند (خواندنی/نوشتنی):
- •
- پیوندهای سخت (Hard links)
- •
- پیوندهای نمادین (Symbolic links). پیوندهای نمادین بومی ویندوز و Junctionها در یک تصویر WIM سوارشده، به طور خودکار به پیوندهای نمادین یونیکس ترجمه میشوند و در صورت لزوم مقصدهای آنها بر اساس دایرکتوری نقطهٔ سوار شدن واقعی تصحیح میشود. پیوندهای نمادین یونیکسی که در یک تصویر WIM سوارشدهٔ خواندنی-نوشتنی ایجاد شوند، به طور خودکار به پیوندهای نمادین بومی ویندوز تبدیل خواهند شد.
- •
- جریانهای دادهٔ نامگذاریشده (Named data streams - اکثراً). گزینهٔ --streams-interface را ببینید.
علاوه بر این، در صورت استفاده از گزینهٔ --unix-data، مجوزهای استاندارد فایل یونیکس (مالک، گروه و حالت دسترسی) و فایلهای ویژه نیز پشتیبانی میشوند.
با این حال، ویژگیهای زیر پشتیبانی نمیشوند و در تصاویر سوارشده ارائه نمیگردند:
- •
- توصیفکنندههای امنیتی ویندوز (Windows security descriptors). به فایلهای جدید توصیفکنندهٔ امنیتی اختصاص داده نمیشود.
- •
- نامهای DOS (نامهای 8.3) (نامهای کوتاه). به فایلهای جدید نام DOS اختصاص داده نمیشود.
- •
- مشخصههای فایل ویندوز (Windows file attributes). به فایلهای جدید بر اساس بیتهای حالت فایل یونیکس، مشخصههای پیشفرض اختصاص داده میشود.
- •
- شناسههای شیء (Object IDs). به فایلهای جدید شناسهٔ شیء داده نمیشود.
- •
- فایلهای رمزگذاریشده با EFS. خود فایلها در تصاویر WIM سوارشده قابل مشاهده خواهند بود اما دادههای آنها در دسترس نخواهد بود.
- •
- مشخصههای گسترشیافته (Extended attributes). اگرچه wimlib از تصاویر WIM حاوی مشخصههای گسترشیافته پشتیبانی میکند، اما این موارد هنوز در تصاویر WIM سوارشده ارائه نشدهاند. (این قابلیت ممکن است در آینده پیادهسازی شود، هرچند با استفاده از مشخصههای گسترشیافته برای نمایش مفاهیم ویندوز مانند جریانهای دادهٔ نامگذاریشده تداخل خواهد داشت.)
تصاویر WIM چندبخشی (SPLIT WIMS)
میتوانید از wimmount برای سوار کردن یک تصویر از یک WIM چندبخشی (split WIM) به صورت فقطخواندنی استفاده کنید. اما مجاز به سوار کردن تصویری از یک WIM چندبخشی به صورت خواندنی-نوشتنی نیستید.
آرگومان WIMFILE باید بخش نخست WIM چندبخشی را مشخص کند، در حالی که بخشهای دیگر WIM چندبخشی باید در یک یا چند گزینهٔ --ref="GLOB" مشخص شوند. از آنجا که الگویابی (globbing) در گزینهٔ --ref تعبیه شده است، معمولاً تنها یک گزینهٔ --ref کافی است. برای نمونه، نامهای بخشهای یک WIM چندبخشی معمولاً به این صورت هستند:
mywim.swm mywim2.swm mywim3.swm mywim4.swm mywim5.swm
برای سوار کردن نخستین تصویر از این WIM چندبخشی در دایرکتوری "dir"، اجرا کنید:
wimmount mywim.swm 1 dir --ref="mywim*.swm"
نکات (NOTES)
در دسترس بودن: سوار کردن تصاویر WIM تنها در سیستمهای مبتنی بر لینوکس پشتیبانی میشود. این دستورها در سایر پلتفرمها کار نخواهند کرد. علاوه بر این، کتابخانه نباید با گزینهٔ --without-fuse پیکربندی شده باشد.
چندین سوار کردن همزمان: شما مجاز به سوار کردن چندین تصویر WIM به طور همزمان هستید، به شرطی که دو تصویر از یک فایل به طور همزمان به صورت خواندنی-نوشتنی سوار نشده باشند.
الحاق در برابر بازسازی: به طور پیشفرض، تغییرات روی یک WIM خواندنی-نوشتنی در همان محل و از طریق الحاق به انتهای فایل WIM اعمال میشوند. این روش برای فایلهای بزرگ WIM مناسب است، زیرا کل فایل برای یک تغییر کوچک نیازی به بازسازی ندارد. اما اگر در حال اعمال تغییرات فراوان روی یک WIM سوارشدهٔ خواندنی-نوشتنی هستید، بهویژه هنگام حذف فایلهای حجیم، پیشنهاد میشود گزینهٔ --rebuild را به wimunmount بدهید تا بازسازی فایل WIM اجباری شود، یا پس از آن دستور wimoptimize را اجرا کنید.
فایلهای ESD (تصاویر یکپارچه یا solid WIMs): شما میتوانید WIMهای نگارش ۳۵۸۴ را سوار کنید، که معمولاً حاوی منابع فشردهشده با الگوریتم LZMS به صورت یکپارچه هستند و ممکن است پسوند .esd داشته باشند نه .wim. با این حال، چنین فایلهایی برای دسترسی تصادفی طراحی نشدهاند، بنابراین خواندن دادهها از آنها هنگام سوار بودن ممکن است بسیار کُند باشد. علاوه بر این، فایلهای .esd که به طور مستقیم توسط دریافتکنندهٔ تحت وب ویندوز ۸ بارگیری میشوند دارای بخشهای رمزگذاریشده هستند، و wimlib نمیتواند چنین فایلهایی را پیش از رمزگشایی سوار کند.
گزینههای سوار کردن (MOUNT OPTIONS)
- --check
- پیش از سوار کردن تصویر WIM، در صورتی که WIM حاوی اطلاعات یکپارچگی اضافی باشد، سلامت و یکپارچگی آن را بررسی میکند.
- --streams-interface=INTERFACE
- این گزینه از درایور سامانهفایل ntfs-3g(8) الگوبرداری شده است. این گزینه نحوهٔ ارائه و در دسترس قرار گرفتن جریانهای دادهٔ نامگذاریشده (که "alternate data streams" نیز نامیده میشوند) در فایلهای WIM را کنترل میکند.
- اگر روی "none" باشد، خواندن یا نوشتن جریانهای دادهٔ نامگذاریشده غیرممکن خواهد بود.
- اگر روی "xattr" (پیشفرض) باشد، جریانهای دادهٔ نامگذاریشده از طریق مشخصههای گسترشیافتهٔ فایل در دسترس خواهند بود، مگر اینکه این پشتیبانی هنگام کامپایل wimlib غیرفعال شده باشد. جریانهای دادهٔ نامگذاریشده از طریق مشخصههای گسترشیافتهای به نام "user.*" قابل دسترسی خواهند بود که در آن * نام جریان داده است. setfattr(1) و getfattr(1) را ببینید. توجه داشته باشید که این رابط ایدهآل نیست، زیرا ممکن است حجم جریانهای دادهٔ نامگذاریشده از بیشینه اندازهٔ مجاز برای مشخصهٔ گسترشیافته بیشتر باشد.
- اگر روی "windows" باشد، جریانهای دادهٔ نامگذاریشده با مشخص کردن نام فایل، سپس یک دونقطه (:) و سپس نام جریان داده در دسترس خواهند بود؛ برای نمونه: "myfile:mystream".
- --debug
- اطلاعات اشکالزدایی چاپشده توسط کتابخانهٔ FUSE را فعال میکند و فرایند را به پسزمینه منشعب (fork) نمیکند.
- --ref="GLOB"
- الگوی فایلی (glob) برای WIMهای اضافی یا بخشهای WIM چندبخشی جهت ارجاع به منابع. بخش SPLIT_WIMS را ببینید. این گزینه میتواند چندین بار مشخص شود. نکته: GLOB داخل گیومه آمده است زیرا توسط wimlib-imagex تفسیر میشود و ممکن است برای محافظت در برابر بسط پوسته نیاز به قرار گرفتن داخل گیومه داشته باشد.
- --staging-dir=DIR
- فایلهای موقت واسط (staging) را در یک زیردایرکتوری از دایرکتوری DIR ذخیره میکند. تنها برای wimmountrw معتبر است.
- --unix-data
- فرادادههای مختص یونیکس را که توسط wimcapture به همراه گزینهٔ --unix-data ثبت شدهاند لحاظ میکند. به طور پیشفرض، wimmount (و wimmountrw) هر دو توصیفکنندههای امنیتی سبک ویندوز و فرادادههای مختص یونیکس را نادیده میگیرند. در این حالت پیشفرض، تمام فایلها به سادگی در مالکیت کاربری خواهند بود که wimmount را اجرا کرده است و حالت دسترسی 0777 خواهند داشت. (با این حال برای سایر کاربران قابل دسترسی نخواهند بود مگر اینکه گزینهٔ --allow-other را نیز مشخص کرده باشید.) اگر در عوض گزینهٔ --unix-data را ارائه دهید، این مجوزهای پیشفرض بر اساس فرادادههای مختص یونیکس از تصویر WIM (در صورت موجود بودن) برای هر فایل بازنویسی میشوند؛ و در مورد wimmountrw، تغییر مجوزهای یونیکس روی فایلهای تصویر سوارشده با استفاده از ابزارها و توابع استاندارد یونیکس و همچنین ایجاد فایلهای ویژهٔ یونیکس مانند گرههای دستگاه (در صورت داشتن امتیازات لازم) امکانپذیر خواهد بود.
- --allow-other
- گزینهٔ allow_other را به سوار کردن FUSE منتقل میکند. mount.fuse (8) را ببینید. نکته: برای انجام این کار به عنوان کاربر غیر ریشه (non-root)، لازم است user_allow_other در فایل /etc/fuse.conf مشخص شده باشد.
گزینههای پیاده کردن (UNMOUNT OPTIONS)
- --commit
- فایل WIM را با تغییراتی که ایجاد شده است بهروزرسانی میکند. اگر تصویر به صورت فقطخواندنی سوار شده باشد، هیچ اثری ندارد.
- --force
- در ترکیب با --commit، اعمال تغییرات در تصویر WIM را اجبار میکند حتی اگر توصیفکنندههای فایل بازی به تصویر WIM وجود داشته باشند. هر توصیفکنندهٔ فایل از این دست بیدرنگ بسته خواهد شد، و تصویر WIM ذخیره و پیاده میشود.
- --check
- هنگام ذخیرهٔ تغییرات در WIM، اطلاعات یکپارچگی اضافی را درج میکند، حتی اگر پیشتر وجود نداشته باشد.
- --rebuild
- کل فایل WIM را بازسازی میکند به جای اینکه دادههای جدید را به انتهای آن الحاق کند. بازسازی WIM کُندتر است، اما مقدار کمی فضا را که در غیر این صورت به عنوان یک حفره در WIM باقی میماند، ذخیره خواهد کرد. اگر سوار کردن خواندنی-نوشتنی منجر به حذف جریانها از WIM شده باشد، فضای حتی بیشتری ذخیره خواهد شد. همچنین ببینید
- --new-image
- در ترکیب با --commit برای یک تصویر سوارشدهٔ خواندنی-نوشتنی، باعث میشود تصویر تغییریافته به عنوان یک تصویر جدید و بدون نام به انتهای آرشیو WIM الحاق و ذخیره شود. تصویر اصلی بدون تغییر باقی خواهد ماند.
جزئیات پیادهسازی (IMPLEMENTATION DETAILS)
از آنجا که WIM یک آرشیو است و به خودی خود یک سامانهفایل نیست، wimmountrw یک دایرکتوری واسط (staging) موقت ایجاد میکند تا فایلهای ایجادشده یا تغییریافته را در بر بگیرد. این دایرکتوری به طور پیشفرض در همان دایرکتوری WIMFILE قرار دارد، اما مکان آن را میتوان با استفاده از گزینهٔ --staging-dir تعیین کرد. هنگامی که سامانهفایل با --commit پیاده میشود، WIM در همان محل اصلاح میشود (یا با --rebuild به طور کامل بازسازی میشود) و فایلهای واسط بر حسب نیاز ادغام میشوند. سپس دایرکتوری واسط موقت حذف میگردد.
دستور wimunmount در فرایندی جداگانه از فرایندی که پیشتر wimmount را اجرا کرده بود اجرا میشود. هنگام پیاده کردن یک تصویر WIM سوارشدهٔ خواندنی-نوشتنی با --commit، این دو فرایند با استفاده از یک صف پیام POSIX با یکدیگر ارتباط برقرار میکنند تا فرایند پیاده کردن بتواند پیشرفت فرایند سوار کردن را دنبال کند. برای جزئیات بیشتر، src/mount_image.c را در کد منبع ببینید.
همچنین ببینید (SEE ALSO)
| January 2026 | wimlib 1.14.5 |