Skip to content

04. Fayl tizimi modeli — 15 ta savol-javob

Avval javobni o'zingiz ayting, so'ng ochib solishtiring.

1. Inode nima va unda nimalar saqlanadi?

Javob

Inode — fayl tizimidagi fayl haqidagi metama'lumotlar yozuvi: turi, egasi, guruhi, ruxsatlari, hajmi, vaqt tamg'alari, havolalar soni va ma'lumot bloklariga ko'rsatkichlar. Fayl nomi inode'da saqlanmaydi: nom katalogda turadi va inode raqamiga ishora qiladi. Shu sabab bitta faylga bir nechta nom (hard link) bo'lishi mumkin.

2. Hard link va symbolic link farqi nima?

Javob

Hard link — shu inode'ga yana bir nom: ikkala nom teng huquqli, birini o'chirish ma'lumotni yo'qotmaydi (havolalar soni 0 bo'lgunga qadar). U boshqa fayl tizimiga o'tolmaydi va kataloglarga qo'yilmaydi. Symlink — alohida kichik fayl, ichida yo'l matni turadi; boshqa fayl tizimiga o'ta oladi, kataloglarga ham qo'yiladi, lekin nishon o'chsa "buzilgan" (dangling) bo'lib qoladi.

3. FHS nima? /etc, /var, /usr, /opt, /srv nimani saqlaydi?

Javob

FHS (Filesystem Hierarchy Standard) — kataloglar vazifasini belgilovchi standart. /etc — tizim va xizmat konfiguratsiyasi; /var — o'zgaruvchan ma'lumot (loglar, keshlar, navbatlar, DB); /usr — o'rnatilgan dasturlar va kutubxonalar; /opt — alohida paketlangan uchinchi tomon dasturlar; /srv — xizmat ko'rsatadigan ma'lumotlar (veb-sayt fayllari); /home — foydalanuvchilar, /root — root'ning uyi.

4. /proc, /sys va /dev nima?

Javob

Bular diskda saqlanmaydigan virtual fayl tizimlari. /proc — jarayonlar va kernel holati haqidagi ma'lumot (/proc/PID/..., /proc/cpuinfo, /proc/meminfo). /sys — kernel va qurilmalar tuzilishi, ba'zi parametrlarni o'zgartirish imkoni. /dev — qurilma fayllari (disk, terminal, null, random). Ular kernel bilan fayl interfeysi orqali muloqot qilish usuli.

5. VFS nima va nega kerak?

Javob

VFS (Virtual File System) — kernel ichidagi qatlam bo'lib, turli fayl tizimlari (ext4, xfs, nfs, tmpfs) uchun yagona interfeys beradi. Dastur open/read/write ni ishlatadi va qaysi fayl tizimi ostida turganini bilmaydi. Shu sabab bitta katalog daraxtida diskdagi, tarmoqdagi va xotiradagi fayl tizimlarini aralash ishlatish mumkin.

6. Mount nima? Mount nuqtasi nima?

Javob

Mount — fayl tizimini (qurilma, tarmoq resursi, tmpfs) umumiy katalog daraxtidagi biror katalogga ulash. Bu katalog mount nuqtasi deyiladi. Mount qilingach, nuqtadagi avvalgi mazmun vaqtincha ko'rinmay qoladi (yashirinadi). Linux'da C: kabi disk harflari yo'q: hamma narsa bitta daraxtda.

7. mount buyrug'i bilan o'rnatilgan holat va /etc/fstab farqi nima?

Javob

mount (yoki findmnt) — hozirgi holat, reboot'da yo'qoladi. /etc/fstab — yuklanish vaqtida qaysi fayl tizimlarni qayerga, qaysi parametrlar bilan o'rnatish doimiy ro'yxati. fstab dagi xato tizimni emergency mode'ga tushirishi mumkin, shu sabab o'zgarishdan keyin mount -a bilan tekshiriladi, nofail esa muhim bo'lmagan disk yo'q bo'lsa ham yuklanishni to'xtatmaydi.

8. Nima uchun fstab da qurilma nomi (/dev/sdb1) o'rniga UUID yaxshiroq?

Javob

/dev/sdX nomlari yuklanishda disklar aniqlanish tartibiga bog'liq va o'zgarishi mumkin (yangi disk qo'shilsa, nomlar siljiydi). UUID esa fayl tizimiga yozilgan noyob identifikator, qurilma qaysi nom olishidan qat'i nazar o'zgarmaydi. blkid yoki lsblk -f bilan ko'riladi.

9. Linux'da qanday fayl turlari bor?

Javob

ls -l birinchi belgisi turni bildiradi: - oddiy fayl, d katalog, l symlink, c belgili qurilma (terminal), b blok qurilma (disk), s socket, p named pipe (FIFO). Kengaytma turni belgilamaydi: haqiqiy turni file buyrug'i mazmunga qarab aytadi.

10. "Linux'da hamma narsa fayl" iborasi nimani anglatadi?

Javob

Qurilmalar, jarayon ma'lumotlari, tarmoq ulanishlari va kanallar ham fayl interfeysi (ochish, o'qish, yozish, yopish) orqali ishlatiladi. Shu tufayli bitta uniform buyruq to'plami (cat, echo, >) juda xilma-xil narsalar bilan ishlay oladi, masalan cat /proc/meminfo yoki echo ... > /sys/.... Bu aslida soddalashtirish: barcha narsa ham oddiy fayl emas, lekin fayl-ga o'xshash interfeysga ega.

11. /tmp, /var/tmp va /run orasidagi farq nima?

Javob

/tmp — vaqtinchalik fayllar, ko'pincha reboot'da yoki avtomatik tozalashda yo'qoladi, hamma yoza oladi (sticky bit). /var/tmp — reboot'dan keyin ham saqlanishi kerak bo'lgan vaqtinchalik fayllar. /run — ishlayotgan tizimning runtime ma'lumotlari (PID fayllar, socketlar), odatda xotirada (tmpfs) turadi va yuklanishda har safar yangidan yaratiladi.

12. No space left on device xatosi bo'lsa-yu, df -h joy bor desa, sabab nima?

Javob

Ko'pincha inodelar tugagan: juda ko'p mayda fayl bo'lsa, baytlar bo'sh qolsa ham yangi fayl yaratib bo'lmaydi. Tekshirish: df -i. Boshqa sabab: ajratilgan quota yoki o'chirilgan, lekin hali jarayon ochib turgan katta fayl (lsof +L1), yoki / va boshqa mount nuqtasida joy farqi.

13. fsck nima va journaling nima uchun kerak?

Javob

fsck — fayl tizimi izchilligini tekshiradi va tuzatadi; faqat o'rnatilmagan (unmounted) tizimda ishlatiladi. Journaling (ext4, xfs) esa o'zgarishlarni avval jurnalga yozadi, so'ng asosiy joyga: elektr o'chib qolganda tizim jurnalni qayta ijro etib, uzoq fscksiz izchil holatga qaytadi.

14. ext4, XFS va Btrfs orasidagi asosiy farqlar nimada?

Javob

ext4 — eng keng tarqalgan, barqaror, o'rnatilgan holda ham kattalashadi va kichraya oladi (kichraytirish o'chiq holda). XFS — katta fayllar va yuqori parallel I/O uchun yaxshi, RHEL standarti; kattalashadi, lekin kichraya olmaydi. Btrfs — snapshot, nusxa-yozish (copy-on-write), checksum kabi zamonaviy imkoniyatlari bor, lekin murakkabroq. Tanlov yuk va jamoa tajribasiga bog'liq.

15. Fayl ruxsatlari to'g'ri, lekin yozishda Permission denied yoki Read-only file system chiqsa, nimani tekshirasiz?

Javob

Mount parametrlarini: findmnt -T /yo'l bilan ro (faqat o'qish) yoki noexec borligini; fayl tizimi xato tufayli avtomatik ro ga o'tgan bo'lishi mumkin (dmesg). Yo'l bo'ylab har bir katalogda x huquqini (namei -l), ACL va SELinux/AppArmor kontekstini ham tekshiring. Oddiy chmod ko'pincha bunday muammoni hal qilmaydi.