MKSWAP(8) إدارة النظام MKSWAP(8)

الاسم

mkswap - أعدّ مساحة تبديل (swap area) لينكس

موجز

mkswap [خيارات] ‎جهاز [‎كتل]

mkswap [خيارات] --size حجم --file ملف

الوصف

يُعد mkswap مساحة تبديل لينكس على جهاز أو في ملف.

عادةً ما يكون معطى الجهاز جهاز قسماً في القرص (مثل /dev/sdb7) ولكن يمكن أن يكون ملفاً أيضاً. لا تنظر نواة لينكس إلى معرفات الأقسام، ولكن تفترض العديد من برامج التثبيت أن الأقسام من النوع الست عشرية 82 (LINUX_SWAP) مخصصة لتكون أقسام تبديل (swap). (تحذير: يستخدم Solaris هذا النوع أيضاً. احذر من تدمير أقسام Solaris الخاصة بك.)

يعد معطى الكتل كتل زائداً ولكن أُبقي عليه للتوافق مع الإصدارات السابقة. (يحدد الحجم المطلوب لمنطقة التبديل بوحدات كتل سعتها 1024 بايت. سيستخدم mkswap كامل القسم أو الملف إذا أُهمل. تحديده غير حكيم - فقد يدمر خطأ مطبعي قرصك.)

بعد إنشاء منطقة التبديل، ستحتاج إلى أمر swapon(8) لبدء استخدامها. عادةً ما تُدرج مناطق التبديل في /etc/fstab بحيث يُشرع في استخدامها عند وقت الإقلاع بواسطة أمر swapon -a في نص إقلاع برمجِي ما.

تحذير

رأس التبديل (swap header) لا يلمس الكتلة الأولى. يمكن أن يتواجد محمل إقلاع أو لصيقة قرص هناك، لكنه ليس إعداداً موصى به. الإعداد الموصى به هو استخدام قسم منفصل لمنطقة تبديل لينكس.

mkswap، مثل العديد من أدوات mkfs الأخرى، يمحو كتلة القسم الأولى لجعل أي نظام ملفات سابق غير مرئي.

ومع ذلك، يرفض mkswap محو الكتلة الأولى على جهاز يحتوي على لصيقة قرص (SUN، BSD، ...).

الخيارات

-c، --check

افحص الجهاز (إذا كان جهازاً كتلياً) بحثاً عن الكتل التالفة قبل إنشاء مساحة التبديل. إذا وُجدت أي كتل تالفة، فسيُطبع عددها.

-F، --file

أنشئ ملف تبديل بأذونات ملف مناسبة وكتل مأهولة على القرص.

-f، --force

استمر حتى لو كان الأمر غير منطقي. يسمح هذا بإنشاء منطقة تبديل أكبر من الملف أو القسم الذي تقع فيه.

أيضًا، دون هذا الخيار، سيرفض mkswap مسح الكتلة الأولى على جهاز يحتوي على جدول أقسام.

-q، --quiet

اكتم المخرجات ورسائل التحذير.

-L، --label لصيقة

حدد لصيقة للجهاز، للسماح بـ swapon(8) بواسطة اللصيقة.

--lock[=وضع]

استخدم قفل BSD حصرياً للجهاز أو الملف الذي يُعمل عليه. يمكن أن يكون المعامل الاختياري وضع هو yes (1) أو no (0) أو nonblock. وإذا حُذف معامل وضع، فسيُضبط مبدئياً على yes. يتجاوز هذا الخيار متغير البيئة $LOCK_BLOCK_DEVICE. المبدئي هو عدم استخدام أي قفل على الإطلاق، ولكن يوصى باستخدام قفل لتجنب التصادم مع systemd-udevd(8) أو الأدوات الأخرى.

-p، --pagesize حجم

حدد حجم الصفحة (بالبايت) المراد استخدامه. هذا الخيار غير ضروري عادةً؛ حيث يقرأ mkswap الحجم من النواة.

-U، --uuid UUID

حدد UUID المراد استخدامه. المبدئي هو توليد UUID. تنسيق UUID هو سلسلة من الأرقام الست عشرية المفصولة بشرطات، مثل هذا: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". قد يكون معامل UUID أيضاً واحداً مما يلي:

clear

مسح معرف UUID لنظام الملفات

random

وَلِّد UUID جديداً مُولَّداً عشوائياً

time

توليد معرف UUID جديد قائم على الوقت

-e، --endianness ENDIANNESS

يُحدد ENDIANNESS المراد استخدامه، والمعطيات الصالحة هي native أو little أو big. القيمة المبدئية هي native.

-o، --offset الإزاحة

يُحدد الإزاحة (إزاحة) لكتابة مساحة التبديل إليها.

-s، --size حجم

حدد حجم ملف التبديل المُنشأ بالبايت، ويمكن أن يتبعه لاحقة مضاعفة: KiB (=1024)، و MiB (=1024*1024)، وهكذا لـ GiB و TiB و PiB و EiB و ZiB و YiB (اللاحقة "iB" اختيارية، مثلاً، "K" لها نفس معنى "KiB"). إذا كان الملف موجوداً وكان أكبر من حجم، فسيُبتر إلى هذا الحجم. لا يكون لهذا الخيار معنى إلا عند استخدامه مع --file.

-v، --swapversion 1

يُحدد إصدار مساحة التبديل. (هذا الخيار لا معنى له حاليًا، حيث أصبح الخيار القديم -v 0 مهجورًا والآن يُدعم فقط -v 1. لم تعد النواة تدعم تنسيق مساحة التبديل v0 منذ 2.5.22 (يونيو 2002). الإصدار الجديد v1 متاح منذ 2.1.117 (أغسطس 1998).)

--verbose

تنفيذ مسهب. مع هذا الخيار، سيخرج mkswap تفاصيل أكثر حول المشكلات المكتشفة أثناء إعداد منطقة التبديل.

-h، --help

اعرض نص المساعدة ثم اخرج.

-V، --version

اعرض الإصدار واخرج.

البيئة

LIBBLKID_DEBUG=all

يُفعّل مخرجات تصحيح أخطاء libblkid.

LOCK_BLOCK_DEVICE=<وضع>

يستخدم قفل BSD الحصري. الوضع هو "1" أو "0". راجع --lock لمزيد من التفاصيل.

ملاحظات

يعتمد أقصى حجم مفيد لمساحة التبديل على المعمارية وإصدار النواة.

الحد الأقصى لعدد الصفحات التي يمكن عنونتها بواسطة ترويسة منطقة التبديل هو 4294967295 (عدد صحيح غير موقع 32 بت). تُتجاهل المساحة المتبقية على جهاز التبديل.

حالياً، يسمح لينكس بـ 32 منطقة تبديل. يمكن رؤية المناطق المستخدمة في الملف /proc/swaps.

يرفض mkswap المناطق التي يقل حجمها عن 10 صفحات.

إذا كنت لا تعرف حجم الصفحة الذي يستخدمه حاسوبك، يمكنك البحث عنه بواسطة getconf PAGESIZE.

بصرف النظر عن mkswap --file، يمكن أيضاً إنشاء ملف التبديل يدوياً قبل تهيئته بواسطة mkswap، على سبيل المثال باستخدام أمر مثل

منذ الإصدار 2.41، يضبط mkswap --file سمة nocow للملفات المنشأة حديثاً لدعم ملفات التبديل على Btrfs.

# dd if=/dev/zero of=swapfile bs=1MiB count=$((8*1024))

لإنشاء ملف تبديل بحجم 8 جيجابايت.

في هذه الحالة، يرجى قراءة ملاحظات swapon(8) حول قيود استخدام ملف التبديل (الفجوات، التخصيص المسبق، ومشكلات النسخ عند الكتابة).

انظر أيضاً

fdisk(8)، swapon(8)

التبليغ عن الأخطاء

لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.

التوفر

الأمر mkswap جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.

2026-05-18 util-linux 2.42.1