تمهيد
هنالك الكثير من الأدوات المتوفرة لإدارة التخزين في لينكس، لكن هنالك عددٌ قليلٌ منها نستعمله يوميًا لإدارة وصيانة أجهزة التخزين. سأريك في هذا الدرس بعضًا من أشهر الأدوات التي تستعمل لإدارة نقاط الوصل وأجهزة التخزين وأنظمة الملفات.
لن نشرح في هذا الدرس كيفية تهيئة أجهزة التخزين لأوّل استعمال لها في لينكس، إذ شرحنا ذلك في درسٍ بعنوان «كيفية تقسيم وتهيئة أجهزة التخزين في لينكس» الذي يبيّن لك كيفية إعداد جهاز تخزين جديد إن لم يكن مضبوطًا من قبل.
للمزيد من المعلومات حول الاصطلاحات والمفاهيم المستخدمة في هذا الدرس، فراجع درس «تقديم إلى اصطلاحات ومفاهيم التخزين في لينكس».
معرفة القدرة التخزينية والمساحة المستخدمة عبر df
غالبًا ما تكون أهم معلومة تريد معرفتها عن وسائط التخزين في جهازك هي القدرة التخزينية والمساحة المستخدمة في أجهزة التخزين الموصولة إلى النظام.
لمعرفة ما المساحة التخزينية المتوافرة إجمالًا وكم نسبة استخدامها، فسنستعين بالأمر df
، الذي يعرض ناتجه مقدرًا بالكيلوبايت، لكنك لن تستفيد عادةً من ذلك لذا أضف الخيار -h
إلى الناتج لعرضه بصيغةٍ سهلة القراءة:
df -h
Filesystem Size Used Avail Use% Mounted on
udev 238M 0 238M 0% /dev
tmpfs 49M 624K 49M 2% /run
/dev/vda1 20G 1.1G 18G 6% /
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 245M 0 245M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/1000
/dev/sda1 99G 60M 94G 1% /mnt/data
وكما تلاحظ، القسم /dev/vda1
الموصول في /
ممتلئٌ بنسبة 6% وفيه 18 غيغابايت من المساحة التخزينية الفارغة، بينما القسم /dev/sda1
موصولٌ في /mnt/data
وهو فارغٌ وفيه 94 غيغابايت من المساحة التخزينية. الأسطر الأخرى تستخدم أنظمة الملفات tmpfs
و devtmpfs
والتي هي الذاكرة المؤقتة (volatile memory) ممثلةً كما لو أنَّها وسيطُ تخزينٍ دائمٍ. يمكننا استثناء تلك القيم من الناتج بكتابة الأمر:
df -h -x tmpfs -x devtmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.1G 18G 6% /
/dev/sda1 99G 60M 94G 1% /mnt/data
الناتج الحالي يُركِّز على عرض استخدام الأقراص بإزالة بعض الأجهزة الخاصة التي لن ننظر إليها عادةً.
معرفة معلومات عن الأجهزة الكتلية باستخدام lsblk
الجهاز الكتلي هو قطعةٌ من العتاد التي يمكن استعمالها لتخزين البيانات، مثل أقراص التخزين الصلبة الاعتيادية (HDD) أو أقراص التخزين ذات الحالة الثابتة (solid state drive أي SSD) أو وحدات الذاكرة الفلاشية (flash memory stick) …إلخ. والأجهزة الكتلية هي أقراصٌ فيزيائيةٌ التي تُكتَب عليها أنظمة الملفات، وتُحدِّد أنظمة الملفات بدورها كيفية تخزين الملفات والبيانات على القرص.
يمكن استعمال الأداة lsblk
لعرض معلومات عن الأجهزة الكتلية الموجودة في النظام. تَتبَع الميزات المتاحة لهذه الأداة للنسخة المُثبَّتة، لكن يمكن عمومًا استخدام الأداة lsblk
لعرض معلومات عن القرص نفسه، بالإضافة إلى عرض معلومات عن طريقة التقسيم وأنظمة الملفات التابعة لتلك الأقسام.
إذا نفّذنا الأمر lsblk
دون وسائط فسيُظهِر أسماء الأجهزة، والأرقام الرئيسية (major) والثانوية (minor) والتي تستخدم من نواة لينكس لتتبع الأقراص والأجهزة، وفيما إذا كان القرص قابلًا للإزالة، ومساحته التخزينية، وفيما إذا كان موصولًا بنمط «القراءة فقط»، ونوعه (أي قرص أم قسم)، ونقطة الوصل. تتطلب بعض الأنظمة استخدام امتيازات الجذر (أي استخدام الأمر sudo
) لعرض الناتج عرضًا صحيحًا، وهذا ما سنفعل في المثال الآتي:
sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
vda 253:0 0 20G 0 disk
└─vda1 253:1 0 20G 0 part /
أهم الأجزاء المعروضة في الناتج السابق هي الاسم الذي يُشير إلى اسم الجهاز في مجلد /dev
، ومساحته التخزينية، ونقطة الوصل. يمكنك أن ترى في الناتج السابق أنَّنا نملك قرصًا (/dev/vda
) فيه قسمٌ وحيد (/dev/vda1
) الموصول في /
وقرصًا آخر (/dev/sda
) الذي لم يُقسَّم بعد.
للحصول على معلوماتٍ متعلقة بإدارة القرص والقسم، فمرِّر الخيار --fs
الذي يعمل في بعض الإصدارات:
sudo lsblk --fs
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
vda
└─vda1 ext4 DOROOT c154916c-06ea-4268-819d-c0e36750c1cd /
إذا لم يكن الخيار --fs
متوافرًا في نسختك، فيمكنك أن تطلب إظهار نفس الناتج السابق باستخدام الخيار -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
.
للحصول على معلومات حول بنية القرص، فنفِّذ الأمر:
sudo lsblk -t
NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
sda 0 512 0 512 512 1 deadline 128 128 2G
vda 0 512 0 512 512 1 128 128 0B
└─vda1 0 512 0 512 512 1 128 128 0B
هنالك المزيد من الاختصارات المتوافرة لعرض مختلف المعلومات عن أقراصك وأقسامك. يمكنك عرض جميع المعلومات باستخدام الخيار -0
أو يمكنك تحديد ما هي الحقول التي تريدها بتحديد اسمها باستخدام الخيار -o
. خيار المساعدة -h
سيعرض جميع الحقول المتاحة:
lsblk -h
. . .
Available columns (for --output):
NAME device name
KNAME internal kernel device name
. . .
SUBSYSTEMS de-duplicated chain of subsystems
REV device revision
VENDOR device vendor
For more details see lsblk(8).
فصل ووصل أنظمة الملفات
عليك قبل استخدامٍ قرصٍ جديدٍ أن تُقسِّمه، وأن تُهيئه بنظام ملفاتٍ معيّن، ثم تصله. عملية التقسيم والتهيئة تُجرى عادةً لمرة واحدة، لذا لن نناقشها هنا، وكما ذكرتُ في بداية هذا الدرس، تستطيع العثور على معلوماتٍ تفصيلية حول تقسيم قرص وتهيئة قسمٍ فيه في هذه المقالة.
أما الوصل (mounting) فهو أمرٌ تفعله كل حين، فوصل نظام ملفاتٍ يعني أنَّه أصبح متاحًا للاستخدام داخل النظام في نقطة الوصل المُحدَّدة. ونقطة الوصل هي مجلدٌ الذي يمكننا الوصول عبره إلى نظام الملفات.
يوجد أمرَين يُكمِّلان بعضها بعضًا ويستخدمان لإدارة عملية الوصل هما mount
و umount
. يُستعمَل الأمر mount
لوصل نظام ملفات إلى شجرة الملفات الحالية، ففي نظام لينكس هنالك شجرة ملفات وحيدة لكامل النظام بغض النظر عن عدد الأجهزة الفيزيائية التي تتألف منها. أما الأمر umount
(انتبه أنَّ اسم الأمر هو umount
وليس unmount
) فيُستعمَل لفصل نظام ملفات. إضافةً إلى الأمرين السابقين، يوجد أمرٌ باسم findmnt
الذي يفيد بجمع معلومات عن حالة أنظمة الملفات الموصولة.
استخدام الأمر mount
أبسط طريقة لاستخدام mount
هي تمرير مسار القسم ثم نقطة الوصل التي تريد وصله إليها:
sudo mount /dev/sda1 /mnt
نقطة الوصل –التي هي آخر وسيط والذي يُحدِّد أين يجب وصل نظام الملفات الجديد– يجب أن تُشير دائمًا إلى مجلدٍ فارغ.
يمكنك تحديد بعض الخيارات عند الوصل، وصحيحٌ أنَّ الأمر mount
سيحاول معرفة نوع نظام الملفات، لكن من الأفضل تمرير نوع نظام الملفات عبر الخيار -t
. فلنظام ملفات Ext4 نكتب:
sudo mount -t ext4 /dev/sda1 /mnt
هنالك الكثير من الخيارات الأخرى التي تُغيّر طريقة وصل نظام الملفات؛ حيث تتواجد خيارات الوصل العامة في قسم «FILESYSTEM INDEPENDENT MOUNT OPTIONS» في صفحة الدليل man mount
، ويوجد أيضًا أقسام لمختلف أنظمة الملفات تحت عنوان «FILESYSTEM SPECIFIC MOUNT OPTIONS» في نفس صفحة الدليل السابقة لشرح الخيارات الخاصة بأنظمة ملفات معيّنة.
يمكنك تمرير الخيارات الأخرى باستخدام -o
، فمثلًا يمكنك وصل القسم باستخدام الخيارات الافتراضية (والتي هي rw,suid,dev,exec,auto,nouser,async
) بكتابة -o defaults
، أما إذا أردتَ مثلًا أن تتجاوز إذن السماح بالقراءة والكتابة وتريد وصل القسم للقراءة فقط، فيكنك إضافة الخيار ro
والذي سيتجاوز الخيار rw
من defaults
:
sudo mount -t ext4 -o defaults,ro /dev/sda1 /mnt
لوصل جميع أنظمة الملفات الموجودة في ملف /etc/fstab
فمرِّر الخيار -a
:
sudo mount -a
عرض خيارات وصل أنظمة الملفات
يمكن عرض خيارات الوصل المستعملة مع قسمٍ معيّن بتمرير مسار نقطة الوصل إلى الأمر findmnt
، فمثلًا لو مررنا نقطة الوصل التي استعملناها في المثال السابق لوصل نظام الملفات للقراءة فقط إلى الأمر findmnt
فسيبدو الناتج شبيهًا بما يلي:
findmnt /mnt
TARGET SOURCE FSTYPE OPTIONS
/mnt /dev/sda1 ext4 ro,relatime,data=ordered
يمكن أن تستفيد من هذا خير استفادة إن كنت تجرِّب عدِّة خيارات ووجدت ضالتك في إحداها، فتستطيع حينها أن تستعمل findmnt
لمعرفة ما هي خيارات الوصل لإضافتها إلى ملف /etc/fstab
أو إذا أردتَ وصل القسم يدويًا في المستقبل.
فصل نظام الملفات
يستعمل الأمر umount
لفصل نظام ملفات معيّن، أكرِّر أنَّ الأمر هو umount
وليس unmount
.
الشكل العام للأمر بسيطٌ جدًا وهو تمرير نقطة الوصل أو الجهاز الموصول إلى الأمر umount
. تأكّد أنَّك لا تستخدم أيّة ملفات في نقطة الوصل ولا توجد أيّة برامج (بما في ذلك الصَدَفَة [shell] التي تستعملها) تعمل داخل نقطة الوصل:
cd ~
sudo umount /mnt
لن تحتاج غالبًا إلى أيّة خيارات خاصة عند فصل أنظمة الملفات.
الخلاصة
صحيحٌ أنَّ الأدوات التي شرحناها في مقالتنا هذه ليس كثيرةً، لكنها تكفي احتياجاتك اليومية بخصوص إدارة الأقسام وأجهزة التخزين.
ترجمة -وبتصرّف- للمقال How To Perform Basic Administration Tasks for Storage Devices in Linux لصاحبه Justin Ellingwood
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.