FDISK(8) دستورات مدیریت سیستم FDISK(8)

fdisk - ابزار مدیریت و دستکاری جدول پارتیشنهای دیسک

fdisk [گزینه‌ها] دستگاه

fdisk -l [دستگاه...]

دستور fdisk ابزاری قدرتمند و مبتنی بر گفتگو برای ایجاد، حذف و دستکاری جداول پارتیشنهای مختلف دیسک از جمله GPT, MBR, Sun, SGI است. این ابزار همچنین از جداول پارتیشن BSD نیز پشتیبانی می‌کند.

دستگاه‌های بلوکی می‌توانند به یک یا چند دیسک منطقی به نام پارتیشن (افراز) تقسیم شوند. این تقسیم‌بندی در جدول پارتیشن (partition table) ثبت می‌شود که معمولاً در سکتور ۰ دیسک قرار دارد. (در دنیای BSD اصطلاحات «اسلایس دیسک» ('disk slices') و «برچسب دیسک» ('disklabel') به کار می‌روند.)

به طور پیش‌فرض تمام پارتیشن‌بندی بر اساس محدودیت‌های ورودی/خروجی (I/O) دستگاه (توپولوژی) هدایت می‌شود. ابزار fdisk قادر است چیدمان دیسک را برای اندازه سکتور 4K بهینه‌سازی کند و از آفست هم‌ترازی (alignment offset) در دستگاه‌های مدرن برای MBR و GPT بهره ببرد. همیشه توصیه می‌شود از مقادیر پیش‌فرض fdisk پیروی کنید، زیرا مقادیر پیش‌فرض (مانند اولین و آخرین سکتور پارتیشن) و اندازه‌های پارتیشن مشخص‌شده با ساختار +/-<size>{M,G,...} همواره متناسب با ویژگی‌های دستگاه هم‌تراز می‌شوند.

آدرس‌دهی CHS (سیلندر-هد-سکتور) منسوخ شده و به طور پیش‌فرض استفاده نمی‌شود. لطفاً از مقالات و توصیه‌های قدیمی حاوی دستوراتی مانند fdisk -S <n> -H <n> برای حافظه‌های SSD یا دستگاه‌های با سکتور 4K پیروی نکنید.

توجه داشته باشید که partx(8) رابط مناسبی برای اسکریپت‌ها جهت چاپ چیدمان دیسک ارائه می‌دهد، در حالی که fdisk عمدتاً برای کاربران انسانی طراحی شده است. سازگاری رو به عقب در خروجی متنی fdisk تضمین نمی‌شود، اما ورودی‌ها (دستورات ارسالی) همواره باید سازگاری رو به عقب را حفظ کنند.

-b, --sector-size sectorsize

مشخص کردن اندازه سکتور دیسک. مقادیر معتبر عبارتند از 512, 1024, 2048 و 4096. هسته لینوکس از اندازه سکتور دستگاه‌های بلوکی معمولی آگاه است. از این گزینه تنها در هسته‌های بسیار قدیمی، هنگام کار با ایمیج‌های دیسک یا برای بازنویسی اندازه سکتور پیش‌فرض هسته استفاده کنید. از نسخه util-linux-2.17 به بعد، ابزار fdisk میان اندازه سکتور منطقی و فیزیکی تمایز قائل می‌شود. این گزینه هر دو اندازه سکتور را به مقدار مشخص‌شده sectorsize تغییر می‌دهد.

-B, --protect-boot

هنگام ایجاد یک برچسب دیسک جدید، ابتدای اولین سکتور دیسک پاک نشود. این ویژگی برای GPT و MBR پشتیبانی می‌شود.

-c, --compatibility[=mode]

مشخص کردن حالت سازگاری، 'dos' یا 'nondos'. مقدار پیش‌فرض حالت non-DOS است. برای سازگاری رو به عقب، امکان استفاده از این گزینه بدون آرگومان mode وجود دارد — که در این صورت مقدار پیش‌فرض اعمال می‌شود. توجه داشته باشید که آرگومان اختیاری mode نباید با فاصله از گزینه -c جدا شود؛ ساختار صحیح به عنوان مثال -c=dos است.

-L, --color[=when]

رنگی‌سازی خروجی. آرگومان اختیاری when می‌تواند auto, never یا always باشد. اگر آرگومان when داده نشود، مقدار پیش‌فرض auto خواهد بود. رنگ‌ها را می‌توان غیرفعال کرد؛ برای مشاهده مقدار پیش‌فرض داخلی فعلی به خروجی --help مراجعه کنید. همچنین بخش رنگ‌ها (COLORS) را ببینید.

-l, --list

فهرست کردن جداول پارتیشن برای دستگاه‌های مشخص‌شده و سپس خروج.

اگر دستگاهی مشخص نشود، از دستگاه‌های ذکرشده در /proc/partitions (در صورت وجود این فایل) استفاده می‌شود. دستگاه‌ها همواره به ترتیبی که در خط فرمان مشخص شده‌اند یا به ترتیبی که هسته در /proc/partitions فهرست کرده است نمایش داده می‌شوند.

-x, --list-details

مشابه با --list، اما جزئیات بیشتری را ارائه می‌دهد.

--lock[=mode]

استفاده از قفل انحصاری BSD برای دستگاه یا فایلی که روی آن عمل می‌شود. آرگومان اختیاری mode می‌تواند yes, no (یا 1 و 0) یا nonblock باشد. در صورت حذف آرگومان mode، پیش‌فرض yes است. این گزینه مقدار متغیر محیطی $LOCK_BLOCK_DEVICE را بازنویسی می‌کند. حالت پیش‌فرض عدم استفاده از هیچ‌گونه قفل است، اما برای جلوگیری از تداخل با systemd-udevd(8) یا سایر ابزارها توصیه می‌شود.

-n, --noauto-pt

عدم ایجاد خودکار جدول پارتیشن پیش‌فرض روی دستگاه‌های خالی. جدول پارتیشن باید صراحتاً توسط کاربر (با دستوراتی مانند 'o' یا 'g' و غیره) ایجاد شود.

-o, --output list

مشخص کردن ستون‌های خروجی جهت چاپ. برای دریافت فهرست تمام ستون‌های پشتیبانی‌شده از --help استفاده کنید.

فهرست پیش‌فرض ستون‌ها را می‌توان در صورتی که list با قالب +list مشخص شود، گسترش داد (به عنوان مثال، -o +UUID).

-s, --getsz

چاپ اندازه هر یک از دستگاه‌های بلوکی داده‌شده بر حسب سکتورهای ۵۱۲ بایتی. این گزینه منسوخ شده و استفاده از blockdev(8) پیشنهاد می‌شود.

-t, --type type

فعال‌سازی پشتیبانی تنها برای برچسب‌های دیسک از نوع مشخص‌شده type، و غیرفعال‌سازی پشتیبانی برای تمام انواع دیگر.

-u, --units[=unit]

هنگام فهرست کردن جداول پارتیشن، اندازه‌ها بر حسب سکتور ('sectors') یا سیلندر ('cylinders') نمایش داده شوند. پیش‌فرض نمایش اندازه‌ها بر حسب سکتور است. برای سازگاری رو به عقب، امکان استفاده از گزینه بدون آرگومان unit وجود دارد — که در این صورت پیش‌فرض اعمال می‌شود. توجه داشته باشید که آرگومان اختیاری unit نباید با فاصله از گزینه -u جدا شود؛ شکل صحیح به عنوان مثال '-u=cylinders' است.

-C, --cylinders number

مشخص کردن تعداد سیلندرهای دیسک. هیچ دلیلی وجود ندارد که کاربری بخواهد این کار را انجام دهد.

-H, --heads number

مشخص کردن تعداد هدهای دیسک (البته نه تعداد فیزیکی، بلکه تعداد مورد استفاده برای جداول پارتیشن). مقادیر معقول ۲۵۵ و ۱۶ هستند.

-S, --sectors number

مشخص کردن تعداد سکتورها در هر شیار دیسک (البته نه تعداد فیزیکی، بلکه تعداد مورد استفاده برای جداول پارتیشن). مقدار معقول ۶۳ است.

-w, --wipe when

پاک‌سازی امضاهای فایل‌سیستم، RAID و جدول پارتیشن از دستگاه جهت جلوگیری از تداخل‌های احتمالی. آرگومان when می‌تواند auto, never یا always باشد. اگر این گزینه داده نشود، پیش‌فرض auto است که در آن امضاها فقط در حالت تعاملی پاک می‌شوند. در تمام حالات، امضاهای شناسایی‌شده با پیام‌های هشداردهنده پیش از ایجاد جدول پارتیشن جدید گزارش داده می‌شوند. همچنین دستور wipefs(8) را ببینید.

-W, --wipe-partitions when

پاک‌سازی امضاهای فایل‌سیستم، RAID و جدول پارتیشن از پارتیشن‌های تازه ایجادشده، به منظور جلوگیری از تداخل‌های احتمالی. آرگومان when می‌تواند auto, never یا always باشد. اگر این گزینه داده نشود، پیش‌فرض auto است که در آن امضاها تنها در حالت تعاملی و پس از تایید کاربر پاک می‌شوند. در تمام حالات، امضاهای شناسایی‌شده قبل از ایجاد پارتیشن جدید با پیام‌های هشداردهنده گزارش داده می‌شوند. همچنین دستور wipefs(8) را ببینید.

-h, --help

نمایش متن راهنما و خروج.

-V, --version

نمایش نسخه و خروج.

دستگاه معمولاً /dev/sda, /dev/sdb یا مواردی از این دست است. نام دستگاه به کل دیسک اشاره دارد. سیستم‌های قدیمی بدون libata (کتابخانه‌ای در هسته لینوکس برای پشتیبانی از کنترلرها و دستگاه‌های میزبان ATA) میان دیسک‌های IDE و SCSI تفاوت قائل می‌شدند. در چنین مواردی نام دستگاه /dev/hd* (برای IDE) یا /dev/sd* (برای SCSI) بود.

پارتیشن نام دستگاه به همراه شماره پارتیشن است. به عنوان مثال، /dev/sda1 اولین پارتیشن در اولین دیسک سخت سیستم است. مستندات هسته لینوکس (فایل Documentation/admin-guide/devices.txt) را نیز ببینید.

بخش گفتگوی «آخرین سکتور» (last sector) اندازه پارتیشن را بر حسب تعداد سکتورها یا ساختار +/-<size>{K,B,M,G,...} می‌پذیرد.

اگر اندازه با پیشوند '+' مشخص شود، به صورت نسبی نسبت به اولین سکتور پارتیشن تفسیر می‌شود. اگر اندازه با پیشوند '-' مشخص شود، به صورت نسبی نسبت به حد بالا (آخرین سکتور در دسترس برای پارتیشن) تفسیر می‌شود.

در صورتی که اندازه بر حسب بایت مشخص شود، عدد می‌تواند با پسوندهای ضربی KiB (۱۰۲۴ بایت)، MiB (۱۰۲۴*۱۰۲۴ بایت)، و به همین ترتیب GiB, TiB, PiB, EiB, ZiB و YiB همراه باشد. پسوند "iB" اختیاری است؛ به عنوان مثال "K" معنایی معادل با "KiB" دارد.

اندازه‌های نسبی اگر با پسوندهای ضربی مشخص شوند (مانند +100MiB)، همواره بر اساس محدودیت‌های ورودی/خروجی (I/O) دستگاه هم‌تراز می‌شوند. استفاده از نشانه‌گذاری +/-<size>{K,B,M,G,...} توصیه می‌شود.

اگر اندازه با ساختار +<sectors> مشخص شود، آخرین سکتور پارتیشن دقیقاً به صورت <start> + <size> (بدون -1) محاسبه می‌شود. در این حالت، اندازه با محدودیت‌های I/O دستگاه هم‌تراز نخواهد شد.

برای سازگاری رو به عقب، fdisk همچنین پسوندهای KB (۱۰۰۰ بایت)، MB (۱۰۰۰*۱۰۰۰ بایت) و به همین ترتیب برای GB, TB, PB, EB, ZB و YB را می‌پذیرد. این پسوندهای بر مبنای 10^N منسوخ شده‌اند.

ابزار fdisk خواندن فایل‌های اسکریپت سازگار با sfdisk(8) را (با دستور 'I') فراهم می‌سازد. اسکریپت روی جدول پارتیشن در حافظه اعمال می‌شود، و سپس می‌توان جدول پارتیشن را قبل از نوشتن روی دستگاه تغییر داد.

و بالعکس، این امکان وجود دارد که چیدمان دیسک موجود در حافظه را با دستور 'O' در یک فایل اسکریپت ذخیره کرد.

فایل‌های اسکریپت میان cfdisk(8), sfdisk(8), fdisk و سایر برنامه‌های مبتنی بر libfdisk سازگار هستند. برای جزئیات بیشتر به sfdisk(8) مراجعه کنید.

GPT (GUID Partition Table)

ساختار GPT استانداردی نوین برای چیدمان جدول پارتیشن است. GPT از آدرس‌های بلوک منطقی ۶۴ بیتی، چکسام‌ها، شناسه‌های یکتای UUID و نام‌ها برای پارتیشن‌ها و تعداد نامحدود پارتیشن (اگرچه در بسیاری از ابزارهای پارتیشن‌بندی معمولاً به ۱۲۸ محدود می‌شود) بهره می‌برد.

توجه داشته باشید که بر اساس مشخصات فنی GPT، سکتور اول همچنان برای یک protective MBR (حفاظتی) رزرو شده است. این بخش از شناسایی نادرست و رونویسی روی دیسک‌های GPT توسط ابزارهای قدیمی پارتیشن‌بندی که فقط MBR را می‌شناسند جلوگیری می‌کند.

ساختار GPT همواره انتخابی بهتر از MBR است، به ویژه در سخت‌افزارهای امروزی با بوت‌لودر UEFI.

DOS-type (MBR)

جدول پارتیشن از نوع DOS می‌تواند تعداد نامحدودی پارتیشن را توصیف کند. در سکتور ۰ فضایی برای توصیف ۴ پارتیشن (به نام «اصلی» یا `primary') وجود دارد. یکی از این‌ها می‌تواند یک پارتیشن گسترش‌یافته (extended) باشد؛ این پارتیشن محفظه‌ای است که پارتیشن‌های منطقی (logical) را نگه می‌دارد و توصیف‌کننده‌های آن‌ها در یک لیست پیوندی از سکتورها قرار دارند که هر کدام پیش از پارتیشن منطقی متناظر می‌آیند. چهار پارتیشن اصلی، چه وجود داشته باشند و چه نباشند، شماره‌های ۱ تا ۴ را دریافت می‌کنند. شماره‌گذاری پارتیشن‌های منطقی از ۵ آغاز می‌شود.

در جدول پارتیشن نوع DOS، آفست شروع و اندازه هر پارتیشن به دو روش ذخیره می‌شود: به عنوان یک عدد سکتور مطلق (در ۳۲ بیت)، و به صورت سه‌گانه سیلندر/هد/سکتور (Cylinders/Heads/Sectors) (در ۱۰+۸+۶ بیت). روش اول مناسب است — با سکتورهای ۵۱۲ بایتی تا ۲ ترابایت کار می‌کند. روش دوم دو مشکل دارد. اول اینکه این فیلدهای C/H/S تنها زمانی می‌توانند پر شوند که تعداد هدها و تعداد سکتورها در هر شیار مشخص باشند. دوم، حتی اگر بدانیم این اعداد چه باید باشند، ۲۴ بیت موجود کفایت نمی‌کند. سیستم‌عامل DOS فقط از C/H/S استفاده می‌کند، Windows از هر دو بهره می‌برد، و Linux هرگز از C/H/S استفاده نمی‌کند. آدرس‌دهی C/H/S منسوخ شده است و ممکن است در برخی نسخه‌های بعدی fdisk پشتیبانی نشود.

اگر پارتیشن‌های سازگار با DOS می‌خواهید، لطفاً بخش حالت DOS را مطالعه فرمایید. ابزار fdisk به طور پیش‌فرض مرزهای سیلندر را در نظر نمی‌گیرد.

BSD/Sun-type

برچسب دیسک BSD/Sun می‌تواند ۸ پارتیشن را توصیف کند که سومی باید پارتیشن «کل دیسک» (`whole disk') باشد. پارتیشنی را که واقعاً از سکتور اول خود استفاده می‌کند (مانند پارتیشن swap) از سیلندر ۰ شروع نکنید، زیرا این کار باعث تخریب برچسب دیسک خواهد شد. توجه داشته باشید که برچسب BSD معمولاً درون یک پارتیشن DOS تعبیه می‌شود.

IRIX/SGI-type

برچسب دیسک IRIX/SGI می‌تواند ۱۶ پارتیشن را توصیف کند که یازدهمی باید پارتیشن کل «حجم» (`volume') باشد، در حالی که نهمی باید با عنوان «هدر حجم» (`volume header') برچسب‌گذاری شود. هدر حجم همچنین جدول پارتیشن را پوشش می‌دهد؛ یعنی از بلوک صفر شروع شده و به طور پیش‌فرض در پنج سیلندر امتداد می‌یابد. فضای باقی‌مانده در هدر حجم می‌تواند برای مدخل‌های دایرکتوری هدر استفاده شود. هیچ پارتیشنی نباید با هدر حجم هم‌پوشانی داشته باشد. همچنین نوع آن را تغییر ندهید یا روی آن سیستم‌فایلی نسازید، زیرا جدول پارتیشن را از دست خواهید داد. از این نوع برچسب تنها هنگام کار با لینوکس روی ماشین‌های IRIX/SGI یا دیسک‌های IRIX/SGI تحت لینوکس استفاده کنید.

قبل از خروج، هنگامی که جدول پارتیشن به‌روزرسانی شده باشد، یک فراخوانی sync(2) و یک ioctl(BLKRRPART) (خواندن مجدد جدول پارتیشن از دیسک) انجام می‌شود.

توجه داشته باشید که تمامی این موارد منسوخ شده‌اند. در سیستم‌عامل‌های مدرن نیازی نیست نگران مسائلی چون هندسه دیسک (geometry) و سیلندرها باشید. اگر واقعاً به پارتیشن‌بندی سازگار با DOS نیاز دارید، باید حالت DOS و واحدهای سیلندر را با استفاده از گزینه‌های خط فرمان '-c=dos -u=cylinders' در fdisk فعال کنید.

دستور FORMAT در DOS 6.x اطلاعات خاصی را در اولین سکتور از ناحیه داده‌های پارتیشن جستجو می‌کند و این اطلاعات را معتبرتر از اطلاعات موجود در جدول پارتیشن تلقی می‌کند. دستور FORMAT در DOS انتظار دارد که DOS FDISK هر زمان تغییری در اندازه رخ می‌دهد، ۵۱۲ بایت اول ناحیه داده‌های پارتیشن را صفر کند. DOS FORMAT به این اطلاعات اضافی نگاه خواهد کرد حتی اگر فلگ /U داده شده باشد — ما این مورد را یک باگ در DOS FORMAT و DOS FDISK در نظر می‌گیریم.

نتیجه این است که اگر از fdisk یا cfdisk(8) برای تغییر اندازه یک مدخل جدول پارتیشن DOS استفاده می‌کنید، باید پیش از استفاده از DOS FORMAT برای قالب‌بندی پارتیشن، با استفاده از dd(1) مقدار ۵۱۲ بایت اول آن پارتیشن را صفر کنید. به عنوان مثال، اگر از fdisk برای ایجاد یک مدخل جدول پارتیشن DOS برای /dev/sda1 استفاده کرده‌اید، پس از خروج از fdisk و راه‌اندازی مجدد لینوکس (تا اطلاعات جدول پارتیشن معتبر شود)، از دستور dd if=/dev/zero of=/dev/sda1 bs=512 count=1 برای صفر کردن ۵۱۲ بایت اول پارتیشن استفاده کنید.

ابزار fdisk معمولاً هندسه دیسک را به طور خودکار به دست می‌آورد. این لزوماً هندسه فیزیکی دیسک نیست (در واقع دیسک‌های امروزی واقعاً چیزی شبیه به هندسه فیزیکی ندارند، قطعاً نه چیزی که بتوان در ساختار ساده‌لوحانه سیلندر/هد/سکتور توصیف کرد)، اما این هندسه دیسکی است که MS-DOS برای جدول پارتیشن استفاده می‌کند.

معمولاً به طور پیش‌فرض همه چیز به خوبی پیش می‌رود و اگر لینوکس تنها سیستم موجود روی دیسک باشد مشکلی پیش نخواهد آمد. با این حال، اگر دیسک باید با سیستم‌عامل‌های دیگر به اشتراک گذاشته شود، اغلب فکر خوبی است که اجازه دهید برنامه fdisk متعلق به یک سیستم‌عامل دیگر حداقل یک پارتیشن بسازد. هنگامی که لینوکس بوت می‌شود، جدول پارتیشن را بررسی کرده و سعی می‌کند استنباط کند چه هندسه‌ای (جعلی) برای همکاری مطلوب با سیستم‌های دیگر مورد نیاز است.

هر زمان که یک جدول پارتیشن در حالت DOS چاپ می‌شود، یک بررسی یکپارچگی روی مدخل‌های جدول پارتیشن صورت می‌گیرد. این بررسی تایید می‌کند که نقاط شروع و پایان فیزیکی و منطقی یکسان هستند و هر پارتیشن در یک مرز سیلندر آغاز شده و پایان می‌یابد (به جز پارتیشن اول).

برخی از نسخه‌های MS-DOS پارتیشن اولیه‌ای ایجاد می‌کنند که از مرز سیلندر آغاز نمی‌شود، بلکه از سکتور ۲ از اولین سیلندر شروع می‌شود. پارتیشن‌هایی که در سیلندر ۱ آغاز می‌شوند نمی‌توانند در مرز سیلندر آغاز شوند، اما بعید است که این مورد مشکلی ایجاد کند مگر اینکه سیستم‌عامل OS/2 روی سیستم خود داشته باشید.

برای دریافت بهترین نتیجه، همواره باید از برنامه جدول پارتیشن مخصوص همان سیستم‌عامل استفاده کنید. به عنوان مثال، پارتیشن‌های DOS را با برنامه DOS FDISK و پارتیشن‌های لینوکس را با برنامه‌های fdisk لینوکس یا cfdisk(8) لینوکس بسازید.

رنگی‌سازی خروجی توسط قابلیت‌های terminal-colors.d(5) پیاده‌سازی شده است. رنگ‌آمیزی ضمنی را می‌توان با یک فایل خالی غیرفعال کرد:

/etc/terminal-colors.d/fdisk.disable

برای دستور fdisk، یا برای تمامی ابزارها با فایل:

/etc/terminal-colors.d/disable

از نسخه 2.41، متغیر محیطی $NO_COLOR نیز برای غیرفعال‌سازی رنگی کردن خروجی پشتیبانی می‌شود، مگر اینکه صراحتاً توسط یک گزینه خط فرمان فعال شده باشد.

تنظیمات مختص به کاربر در $XDG_CONFIG_HOME/terminal-colors.d یا $HOME/.config/terminal-colors.d بر تنظیمات سراسری اولویت دارند.

توجه داشته باشید که ممکن است رنگی‌سازی خروجی به طور پیش‌فرض فعال باشد، و در این حالت نیازی نیست پوشه‌های terminal-colors.d از قبل وجود داشته باشند.

نام‌های منطقی رنگ‌های پشتیبانی‌شده توسط fdisk عبارتند از:

header

هدر جداول خروجی.

help-title

عناوین بخش‌های راهنما.

warn

پیام‌های هشدار.

welcome

پیام خوش‌آمدگویی.

FDISK_DEBUG=all

فعال‌سازی خروجی دیباگ fdisk.

LIBFDISK_DEBUG=all

فعال‌سازی خروجی دیباگ libfdisk.

LIBBLKID_DEBUG=all

فعال‌سازی خروجی دیباگ libblkid.

LIBSMARTCOLS_DEBUG=all

فعال‌سازی خروجی دیباگ libsmartcols.

LIBSMARTCOLS_DEBUG_PADDING=on

استفاده از کاراکترهای پدینگ قابل مشاهده.

LOCK_BLOCK_DEVICE=<mode>

استفاده از قفل انحصاری BSD. مقدار mode می‌تواند "1" یا "0" باشد. برای جزئیات بیشتر گزینه --lock را ببینید.

Karel Zak <kzak@redhat.com>, Davidlohr Bueso <dave@gnu.org>

نسخه اولیه توسط Andries E. Brouwer, A. V. Le Blanc و دیگران نوشته شده است.

cfdisk(8), mkfs(8), partx(8), sfdisk(8)

برای گزارش باگ‌ها از سامانه پیگیری مشکلات استفاده کنید: issue tracker https://github.com/util-linux/util-linux/issues.

دستور fdisk بخشی از بسته util-linux است که می‌توان آن را از آرشیو کرنل لینوکس دانلود کرد: Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux.

مه ۲۰۲۵ util-linux