Кіріспе

Linux каталогтар құрылымы стандарты

Файл жүйесінің иерархиялық стандарты (FHS) – Unix-қа ұқсас жүйелердің құрылымын анықтайтын конвенцияларды сипаттайтын анықтамалық құрал. Ол Linux дистрибутивтерінде кеңінен қолданылуымен танымал, бірақ басқа Unix сияқты жүйелерде де қолданылады. Оны Linux Foundation күзетеді. Соңғы нұсқасы – 3.0, ол 2015 жылдың 3 маусымында жарияланды.

Тізімдер құрылымы

FHS-де барлық файлдар мен каталогтар / түбір каталогында орналасады, тіпті олар әртүрлі физикалық немесе виртуалды құрылғыларда сақталса да. Бұл каталогтардың кейбіреулері тек белгілі бір жүйеде, егер X терезесі жүйесі сияқты нақты кіші жүйелер орнатылған болса ғана болады. Көптеген каталогтар барлық Unix-тәрізді операциялық жүйелерде кездеседі және көбінесе бірдей мақсатта қолданылады. Алайда, мұнда келтірілген сипаттамалар FHS үшін ерекше және Linux емес платформалар үшін авторитетті болып саналмайды.

/bin Жүйені іске қосу немесе жөндеу үшін, сондай-ақ жалғыз пайдаланушы режимінде қажетті негізгі командалардың орындалатын файлдары (мысалы, cat, ls, cp).
/boot Жүктеуіш файлдары (мысалы, ядролар, initrd).
/dev Құрылғы файлдары (мысалы, /dev/null, /dev/disk0, /dev/sda1, /dev/tty, /dev/random).
/etc Жүйеге қатысты конфигурация файлдары. Атының мағынасы туралы пікірталас болған. UNIX Implementation Document-тің алғашқы нұсқаларында /etc «etcetera» каталогы деп аталған, себебі ол тарихи тұрғыдан басқа жерге жатпайтын барлық нәрсені сақтаған (бірақ FHS /etc-ті статикалық конфигурация файлдарымен шектейді және орындалатын файлдарды қамтуға болмайды). Алғашқы құжаттама жарияланғаннан бері каталог атауы әртүрлі түсіндірілген. Жақындағы түсіндірмелерге «Editable Text Configuration» немесе «Extended Tool Chest» сияқты кері акронимдер кіреді.
/etc/opt /opt каталогында сақталған қосымша пакеттердің конфигурациялық файлдары.
/etc/sgml SGML құжаттарын өңдейтін бағдарламалық жасақтама үшін каталогтар сияқты конфигурациялық файлдар.
/etc/X11 X Window System, 11 нұсқасы үшін конфигурациялық файлдар.
/etc/xml XML құжаттарын өңдейтін бағдарламалық жасақтама үшін каталогтар сияқты конфигурациялық файлдар.
/home Пайдаланушылардың үй каталогтары, сақталған файлдарды, жеке параметрлерді және т.б. қамтиды.
/lib /bin және /sbin каталогтарындағы орындалатын файлдар үшін қажетті кітапханалар.
/lib<qual> Балама пішімдегі қажетті кітапханалар. Бұл әдетте бірнеше орындалатын код форматтарын қолдайтын жүйелерде қолданылады, мысалы, 32 биттік және 64 биттік нұсқаулар жиынтығын қолдайтын жүйелер. Мұндай каталогтар міндетті емес, бірақ егер олар болса, онда белгілі бір талаптар бар.
/media CD-ROM сияқты алынып қойылатын медиа үшін орнату нүктелері (2004 жылы FHS 2.3 нұсқасында пайда болды).
/mnt Уақытша орнатылған файлдық жүйелер.
/opt Қосымша бағдарламалық қамтамасыз ету пакеттері.
/proc Процесс және ядро туралы ақпаратты файлдар түрінде ұсынатын виртуалды файлдық жүйе. Linux-та, procfs орнатуына сәйкес келеді. Әдетте жүйе автоматты түрде жасайды және толтырады.
/root Түбір пайдаланушының үй каталогы.
/run Жұмыс уақытында өзгеретін деректер: соңғы жүктелуден бері жүйе туралы ақпарат, мысалы, қазіргі уақытта жүйеге кірген пайдаланушылар және жұмыс істеп тұрған демон-бағдарламалар. Бұл каталогтағы файлдар жүйе іске қосылғанда жойылуы немесе қысқартылуы керек, бірақ бұл каталогты уақытша файлдық жүйе (tmpfs) ретінде ұсынатын жүйелерде қажет емес.
/sbin Жүйеге қажетті негізгі командалар (мысалы, fsck, init, route).
/srv Бұл жүйе қызмет көрсететін сайтқа қатысты деректер, мысалы, веб-серверлер үшін деректер мен скрипттер, FTP серверлері ұсынатын деректер және нұсқаны басқару жүйелері үшін репозиторийлер (2004 жылы FHS 2.3 нұсқасында пайда болды).
/sys Құрылғылар, драйверлер және ядроның кейбір мүмкіндіктері туралы ақпаратты қамтиды.
/tmp Уақытша файлдар үшін каталог (сонымен қатар /var/tmp қараңыз). Жүйені қайта іске қосу кезінде көбінесе сақталмайды және өлшемі шектелуі мүмкін.
/usr Оқуға ғана арналған пайдаланушы деректері үшін екінші деңгейлі иерархия; көптеген (көп пайдаланушы) утилиталар мен қосымшаларды қамтиды. Ортақ пайдалануға және оқуға арналған болуы керек.
/usr/bin Жүйені жалғыз пайдаланушы режимінде іске қосу үшін қажет емес, бірақ барлық пайдаланушылар үшін қолжетімді командалардың орындалатын файлдары.
/usr/include Стандартты кіріспе файлдары.
/usr/lib /usr/bin және /usr/sbin каталогтарындағы орындалатын файлдар үшін кітапханалар.
/usr/libexec Басқа бағдарламалармен орындалатын, бірақ пайдаланушылар немесе қабықша скрипттерімен тікелей орындауға арналмаған орындалатын файлдар (міндетті емес).
/usr/lib<qual> Балама пішімдегі кітапханалар (мысалы, 64 биттік машинада 32 биттік кітапханалар үшін /usr/lib32 (міндетті емес)).
/usr/local Осы хостқа тән жергілікті деректер үшін үшінші деңгейлі иерархия. Әдетте қосымша кіші каталогтар бар (мысалы, bin, lib, share).
/usr/sbin Жүйеге қажет емес, бірақ әртүрлі желілік қызметтер үшін демон-бағдарламалар (мысалы).
/usr/share Архитектураға тәуелсіз (ортақ) деректер.
/usr/src Көздік код (мысалы, ядроның көздік коды және оның бас файлдары).
/usr/X11R6 X Window System, 11 нұсқасы, 6 шығарылымы (FHS 2.3 нұсқасына дейін, міндетті емес).
/var Жұмыс істеп тұрған жүйе кезінде мазмұны үздіксіз өзгеретін файлдар: журналдар, кезек файлдары және уақытша электрондық пошта файлдары.
/var/cache Қосымшаның кэш деректері. Мұндай деректер уақытты көп алатын I/O немесе есептеулер нәтижесінде жергілікті түрде жасалады. Қосымша деректерді қайта жасау немесе қалпына келтіру мүмкіндігіне ие болуы керек. Кэштелген файлдар деректерді жоғалтпастан жойылуы мүмкін.
/var/lib Бағдарламалар жұмыс істеген кезде өзгеретін күй туралы ақпарат. Тұрақты деректер (мысалы, дерекқоры, пакеттік жүйе метадеректері және т.б.).
/var/lock Құлыптау файлдары. Қазіргі уақытта қолданылып жатқан ресурстарды қадағалайтын файлдар.
/var/log Журнал файлдары. Әртүрлі журналдар.
/var/mail Пошта жәшігі файлдары. Кейбір дистрибутивтерде бұл файлдар ескірген /var/spool/mail орнында болуы мүмкін.
/var/opt /opt каталогында сақталған қосымша пакеттерден алынған өзгермелі деректер.
/var/run Жұмыс уақытында өзгеретін деректер. Бұл каталог жүйе іске қосылғаннан бері жүйе туралы ақпаратты қамтиды. FHS 3.0 нұсқасында /var/run /run-мен алмастырылды; жүйе кері үйлесімділік үшін /var/run каталогын сақтауға немесе /var/run-нан /run-ға символдық сілтеме жасауға тиіс.
/var/spool Өңделуді күтіп тұрған тапсырмалардың кезектері (мысалы, басып шығару кезектері және шығатын пошта кезектері).
/var/spool/mail Пайдаланушылардың пошта жәшіктерінің ескірген орны.
/var/tmp Жүйені қайта іске қосу кезінде сақталатын уақытша файлдар.

USR атауы

/usr бастапқыда "user" дегенді білдіреді. Бұл Unix бағдарламалаудың ерте кезеңдерінен қалған нәрсе. Атап айтқанда, Кен Томпсон мен Деннис Ричи Unix-ті PDP 11 платформасына көшірген кезде, жүйелік құрылымды іске қосу кезінде бірінші болып орнатылатын /bin және /lib каталогтары, сондай-ақ операциялық жүйенің жұмыс істеуі үшін қажетті барлық элементтерді қамтитын каталогтар RK05 дискісінен асып кетті. Сондықтан олар осы каталогтардың бір бөлігін, екінші RK05 дискісін жүктеу үшін қажетті элементтерді қоса, бірінші RK05 дискісіне орналастырды. Ал қалғандары /usr каталогына салынды. Үшінші дискіні алғаннан кейін пайдаланушылардың файлдары /home деп аталған жаңа каталогқа көшірілді. FHS (Файл жүйесінің стандарты) FSSTND (Filesystem Standard) ретінде құрылды, ол негізінен басқа Unix сияқты операциялық жүйелер үшін жасалған ұқсас стандарттарға негізделген. Назар аударуға лайық мысалдар: Unix 7-ші нұсқасының (1979 жылы) шығуынан бері қолданылып келе жатқан файлдық жүйе құрылымын сипаттау; SunOS және оның ізбасары Solaris.

Шығару тарихы

Версиясы Шығарылған күні Ескертулер 1994 02 14 FSSTND 1994 10 09 FSSTND 1995 03 28 FSSTND 1997 10 26 FHS 2.0 – FSSTND 1.2 нұсқасының тікелей жалғасы. Стандарттың атауы Filesystem Hierarchy Standard деп өзгертілді. 2000 04 12 FHS 2001 05 23 FHS 2004 01 29 FHS 2015 05 18 FHS