الفصل 3.8 - أنواع أنظمة الملفات
أهداف التعلم
في نهاية هذا الفصل، ستكون قادرًا على:
- فهم الأنواع المختلفة من أنظمة الملفات
- تحديد أنظمة الملفات الشائعة
- اختيار نظام الملفات المناسب حسب الحالة
- فهم أنظمة الملفات الخاصة
ما هو نظام الملفات؟
يحدد نظام الملفات (File System) كيفية تنظيم البيانات وتخزينها على القرص. يدعم لينكس العديد من أنواع أنظمة الملفات.
أنظمة الملفات المحلية
ext4 (Fourth Extended)
الأكثر شيوعًا في لينكس:
الخصائص:
- مدون: مقاوم للأعطال
- الحد الأقصى للحجم: 1EB (إكسابايت)
- الحد الأقصى للملف: 16TB
- مستقر وناضج
الاستخدام:
- نظام الملفات الافتراضي
- الأقراص المحلية
- الخوادم العامة
الأوامر:
# إنشاء
mkfs.ext4 /dev/sda1
# التحقق
fsck.ext4 /dev/sda1
# عرض المعلومات
tune2fs -l /dev/sda1
xfs
أداء عالي للملفات الكبيرة:
الخصائص:
- أداء عالي للملفات الكبيرة
- الحد الأقصى للحجم: 8EB
- الحد الأقصى للملف: 8EB
- تخصيص ديناميكي
الاستخدام:
- قواعد البيانات
- الملفات الضخمة
- الخوادم عالية الأداء
الأوامر:
# إنشاء
mkfs.xfs /dev/sda1
# التحقق
xfs_repair /dev/sda1
# عرض المعلومات
xfs_info /dev/sda1
btrfs (B-Tree File System)
وظائف متقدمة:
الخصائص:
- لقطات: فورية
- ضغط: شفاف
- نسخ عند الكتابة: فعال
- RAID مدمج
الاستخدام:
- الأنظمة التي تحتاج لقطات
- النسخ الاحتياطية
- بيئات التطوير
الأوامر:
# إنشاء
mkfs.btrfs /dev/sda1
# إنشاء لقطة
btrfs subvolume snapshot /mnt/data /mnt/data/snapshot1
# ضغط
mount -o compress=zlib /dev/sda1 /mnt
مقارنة
| FS | الحد الأقصى للحجم | الحد الأقصى للملف | مدون | الاستخدام |
|---|---|---|---|---|
| ext4 | 1EB | 16TB | نعم | عام |
| xfs | 8EB | 8EB | نعم | ملفات كبيرة |
| btrfs | 16EB | 16EB | نعم | متقدم |
أنظمة الملفات الشبكية
NFS (Network File System)
مشاركة الملفات عبر الشبكة:
# الخادم: التصدير
# /etc/exports
/home/user1 192.168.1.0/24(rw,sync)
# العميل: التركيب
mount -t nfs server:/home/user1 /mnt/nfs
الاستخدام:
- مشاركة الملفات بين أنظمة Unix/Linux
- خوادم الملفات المركزية
CIFS/SMB
متوافق مع Windows:
# تركيب مشاركة Windows
mount -t cifs //server/share /mnt/smb -o username=user
الاستخدام:
- مشاركة بين الأنظمة
- توافق مع Windows
أنظمة الملفات الخاصة
tmpfs
في الذاكرة (RAM):
# تركيب tmpfs
mount -t tmpfs -o size=1G tmpfs /mnt/tmpfs
# يستخدم لـ:
# - /tmp (غالبًا)
# - /dev/shm (ذاكرة مشتركة)
الخصائص:
- سريع جدًا (RAM)
- مؤقت (يفقد عند إعادة التشغيل)
- الحجم محدود بالـ RAM
procfs
واجهة إلى النواة:
# مركب تلقائيًا على /proc
# يحتوي على:
# - /proc/cpuinfo: معلومات المعالج
# - /proc/meminfo: معلومات الذاكرة
# - /proc/pid/: تفاصيل العمليات
الخصائص:
- نظام ملفات افتراضي
- بيانات في الوقت الحقيقي
- للقراءة فقط (عادة)
sysfs
معلومات النظام:
# مركب تلقائيًا على /sys
# يحتوي على:
# - /sys/class/: فئات الأجهزة
# - /sys/devices/: الأجهزة
الخصائص:
- واجهة الأجهزة
- تكوين الأجهزة
- افتراضي
أوامر الإدارة
عرض أنظمة الملفات المركبة
# قائمة بسيطة
mount
# تنسيق قابل للقراءة
df -h
# أنواع أنظمة الملفات
mount | grep -E '^/dev' | awk '{print $5}' | sort -u
التركيب/الفك
# التركيب
mount /dev/sda1 /mnt
mount -t ext4 /dev/sda1 /mnt
# التركيب مع الخيارات
mount -o rw,noexec /dev/sda1 /mnt
# الفك
umount /mnt
umount /dev/sda1
# إجبار الفك (إذا كان مشغولًا)
umount -f /mnt
umount -l /mnt # فك مؤجل
التكوين الدائم (/etc/fstab)
# التنسيق: device mountpoint fstype options dump pass
/dev/sda1 / ext4 defaults 0 1
/dev/sda2 /home ext4 defaults 0 2
/dev/sda3 /var xfs defaults 0 2
server:/export /mnt/nfs nfs defaults 0 0
الخيارات الشائعة:
defaults: rw, suid, dev, exec, auto, nouser, asyncnoexec: عدم التنفيذnosuid: تجاهل SUIDro: للقراءة فقطnoatime: عدم تحديث atime
التحقق والإصلاح
fsck
التحقق والإصلاح:
# التحقق (بدون إصلاح)
fsck /dev/sda1
# الإصلاح تلقائيًا
fsck -a /dev/sda1
# إجبار التحقق
fsck -f /dev/sda1
# خاص بـ ext4
fsck.ext4 /dev/sda1
مهم:
- فك قبل fsck (إذا أمكن)
- وضع المستخدم الفردي لنظام الجذر
ملخص
في هذا الفصل، تعلمت:
الأنواع المحلية: ext4 (قياسي)، xfs (ملفات كبيرة)، btrfs (متقدم)
الأنواع الشبكية: NFS (يونكس)، CIFS/SMB (ويندوز)
الأنواع الخاصة: tmpfs (RAM)، procfs (النواة)، sysfs (النظام)
الإدارة: mount، umount، /etc/fstab للتركيب الدائم
التحقق: fsck لإصلاح أنظمة الملفات
الخطوات التالية
المعمل 3.4: ممارسة شاملة
الوحدة 4: إدارة العمليات
تم إنشاء الفصل في: ديسمبر 2024