Обяснение на двоичните директории на Linux
В Linux бинарните файлове са изпълними файлове, които съдържат компилиран код, който може да бъде стартиран в системата. Тези двоични файлове, заедно с други системни инструменти, се съхраняват в определени директории във файловата система. Разбирането на тези директории е от съществено значение за управлението на софтуера и за разбирането на това как са структурирани командите и приложенията. Ето обяснение на основните двоични директории на Linux:
1. /bin (Основни бинарни файлове на потребителя)
- Описание: Директорията /bin съдържа основни двоични изпълними файлове, които са необходими за зареждането на системата и за работата на потребителя със системата в режим на един потребител. Тези команди обикновено се използват за основни операции, като управление на файлове, шел скриптове и диагностика на системата.
- Примери за команди: ls, cp, mv, cat, bash, echo, grep.
- Употреба: Тези двоични файлове са необходими за основната функционалност на системата и са достъпни дори когато други файлови системи (като /usr) не са монтирани.
Забележка: В много съвременни Linux системи /bin е символична връзка към /usr/bin, което е част от движението към по-унифицирана структура на файловите системи.
2. /sbin (Системни двоични файлове)
- Описание: Директорията /sbin съдържа основни системни двоични файлове, използвани за задачи по администриране на системата, като мрежова конфигурация, управление на файлови системи и поправка на системата. Тези команди се използват предимно от системния администратор (потребител root).
- Примери за команди: fsck, ifconfig, reboot, shutdown, mkfs, mount.
- Употреба: Тези двоични файлове са от решаващо значение за зареждането и ремонта на системата, което ги прави достъпни дори ако файловата система /usr не е монтирана.
Забележка: Подобно на /bin, много системи вече свързват /sbin с /usr/sbin.
3. /usr/bin (потребителски двоични файлове)
- Описание: Директорията /usr/bin съдържа повечето от стандартните потребителски команди и помощни програми, които не са от съществено значение за стартирането на системата или за еднопотребителския режим. Това включва широк набор от приложения и софтуер, инсталирани от потребителя или от мениджъра на пакети.
- Примери за команди: vim, nano, git, python, perl, gcc, curl.
- Употреба: Тази директория е мястото, където ще намерите по-голямата част от програмите от командния ред на потребителско ниво. Често това е най-голямата колекция от двоични файлове в системата.
4. /usr/sbin (двоични файлове, които не са от съществено значение за системата)
- Описание: Директорията /usr/sbin съдържа несъществени двоични файлове за системна администрация. Тези двоични файлове обикновено са предназначени за използване от системния администратор, но не са необходими за работата на системата в режим на един потребител.
- Примери за команди: apache2, nginx, useradd, userdel, iptables.
- Употреба: Тези двоични файлове обикновено се използват за управление на потребителски акаунти, мрежови услуги и други конфигурации на системно ниво. Те не са необходими за основните потребителски задачи, но са важни за поддръжката и администрирането на системата.
5. /usr/local/bin (Локално инсталирани потребителски двоични файлове)
- Описание: Директорията /usr/local/bin се използва за съхранение на инсталиран от потребителя софтуер и скриптове, които са предназначени да бъдат достъпни за цялата система. Обикновено тя се използва за двоични файлове, които не се управляват от системния мениджър на пакети.
- Примери: Потребителски скриптове, софтуер на трети страни или програми, компилирани и инсталирани ръчно (напр. софтуер, който сте компилирали от изходния код).
- Употреба: Тази директория често се включва в променливата на средата PATH на потребителя, което улеснява стартирането на потребителски команди или ръчно инсталирани приложения.
6. /usr/local/sbin (Локално инсталирани системни двоични файлове)
- Описание: Директорията /usr/local/sbin е подобна на /usr/local/bin, но е предназначена за двоични файлове за системна администрация, инсталирани ръчно от потребителя.
- Примери: Собствени скриптове за управление, административни помощни програми или ръчно компилирани системни инструменти.
- Употреба: Обикновено се използва от системни администратори, които искат да държат ръчно инсталираните инструменти отделно от тези, управлявани от системния мениджър на пакети.
7. /opt (Допълнителен софтуер или софтуер на трети страни)
- Описание: Директорията /opt се използва за инсталиране на допълнителни софтуерни пакети или пакети на трети страни. Софтуерът, инсталиран тук, обикновено е самостоятелен, със собствени библиотеки и двоични файлове. Всяко приложение или пакет често се поставя в собствена поддиректория в /opt.
- Примери: /opt/google/chrome, /opt/lampp (инсталация на XAMPP) или друг собствен софтуер.
- Употреба: Често се използва за софтуер, който не следва стандартната подредба на директориите на Linux, или когато потребителят иска да запази определени приложения отделно от основната система.
8. /lib, /usr/lib, /lib64 и /usr/lib64 (Библиотеки)
- Описание: Тези директории съдържат споделени библиотеки, необходими на двоичните програми в /bin, /sbin, /usr/bin и /usr/sbin. Библиотеките осигуряват основни функции и процедури, които могат да се използват от различни програми.
- Примери: .so файлове (споделени обекти) като libc.so, libssl.so.
- Употреба: Библиотеките, съхранявани в тези директории, се използват от приложенията по време на изпълнението им, за да осигурят допълнителна функционалност, като например работа с мрежови връзки или взаимодействие с хардуер.
Забележка: Разликата между /lib и /usr/lib е главно историческа. В много съвременни системи съдържанието на /lib може да бъде символична връзка към аналогичните файлове в /usr/lib.
Заключение
Разбирането на двоичните директории на Linux е от решаващо значение за управлението на софтуера, отстраняването на проблеми и осигуряването на подходящо използване на системните ресурси. Всяка от тези директории има различна цел, като помага за логичното организиране на командите на потребителско ниво, командите на системно ниво и библиотеките. С тези знания потребителите и администраторите могат да управляват по-добре своята Linux среда и да гарантират, че двоичните файлове са инсталирани и се изпълняват от подходящите места.