Объяснение двоичных каталогов 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 и обеспечивать установку и запуск двоичных файлов из соответствующих мест.