В каком каталоге linux содержатся основные конфигурационные файлы
Операционная система Linux в отличие от Windows не имеет общего реестра для хранения настроек системы, все настройки хранятся в конфигурационных файлах. Большинство этих файлов размещено в папке /etc/.
Настройки большинства системных и сторонних программ находятся в этих файлах, это могут быть настройки графического сервера, менеджера входа, системных служб, веб-сервера, системы инициализации.
Только часть файлов конфигурации находятся в других папках, например, файлы настройки рабочего окружения в домашнем каталоге пользователя. Новичкам очень важно понимать, за что отвечают те или иные конфигурационные файлы, чтобы при необходимости очень быстро сориентироваться. В этой статье мы рассмотрим основные конфигурационные файлы Linux, их расположение и предназначение.
Конфигурационные файлы Linux
На самом деле в самой системы Linux конфигурационных файлов нет. Поскольку операционная система — это всего лишь набор программ и ядро, то все эти файлы были созданы определенными программами и читаются ими же для настройки поведения. Большинство файлов, которые мы привыкли считать стандартными, относятся к системе инициализации или к другим системным утилитам.
Как я уже сказал, большинство файлов размещено в /etc. Название этой папки расшифровывается как «et cetera», что с латинского означает «и другие» или «и так далее». Сначала давайте посмотрим содержимое каталога /etc Linux:
ls -l /etc/
Здесь достаточно много различных файлов. Дальше мы рассмотрим назначение многих из них. Список отсортирован по алфавиту.
1. /etc/adjtime
Этот конфигурационный файл отвечает за настройку формата системного времени и читается службой systemd-timedated. Время может быть представлено в двух вариантах: LOCAL — время текущего часового пояса и UTC — время по Гринвичу. Вы можете вручную менять значение или воспользоваться утилитой timedatectl.
2. /etc/bash.bashrc
Этот файл принадлежит командной оболочке bash. Это не совсем конфигурационный файл — а скрипт, его содержимое выполняется при запуске каждого экземпляра bash для настройки оболочки. Точно так же выполняется содержимое файла ~/.bashrc для каждого пользователя.
3. /etc/crontab
Crontab — файл настройки планировщика cron. Здесь записываются все задания, которые должен выполнить планировщик, а также время и периодичность. Этот файл не принято редактировать напрямую. Для этого используется утилита crontab -e.
4. /etc/environment
Здесь содержатся переменные окружения, которые будут загружены для каждого сеанса терминала, независимо от того запущен он на локальной машине или по ssh. Файл читается скриптами Bash во время инициализации оболочки.
5. /etc/fstab
Наверное, все уже знают файл /etc/fstab. Здесь выполняется настройка монтирования файловых систем во время загрузки. В современных системах он читается systemd и все записи на ходу транслируются в юнит-файлы, с помощью которых уже выполняется монтирование. Смотрите также: автоматическое монтирование fstab.
6. /etc/group
В этом файле хранятся все группы пользователей, которые есть в системе. С помощью него вы можете посмотреть список групп, их идентификаторы или добавить новые. Но добавлять группы с помощью редактирования файла не принято, для этого есть утилита usermod.
7. /etc/hostname
В этом файле содержится имя хоста, файл будет прочитан во время загрузки системы и указанное имя компьютера установится в системе. Вы будете его видеть в приглашении ввода терминала или в информации о системе.
8. /etc/hosts
Файл /etc/hosts позволяет задавать псевдонимы для различных сетевых узлов. Таким образом, компьютер не обращается к DNS для получения IP домена, а берет его из hosts. Это позволяет, например, заблокировать доступ к нежелательным сайтам просто перенаправив их на localhost или же получить доступ к сайту по ip, которому еще не присвоен домен.
9. /etc/hosts.allow и /etc/hosts.deny
С помощью этих двоих файлов можно настраивать права доступа ко всем локальным службам. Например, вы можете разрешить доступ к службе apache только с локального компьютера. Это очень сильно повысит безопасность системы, если ваш компьютер подключен к публичной сети.
10. /etc/issue и /etc/issue.net
Баннер, который будет выводиться при входе в командную оболочку локально или по SSH. Обычно там выводится версия ядра и дистрибутива Linux, но вы можете заменить эту информацию по своему усмотрению.
11. /etc/ld.so.conf
В этом файле содержатся пути к папкам, в которых компоновщик linux ld.so будет искать динамические библиотеки во время запуска программ. Папки /lib64, /lib, /usr/lib64 и /usr/lib будут проверены автоматически.
12. /etc/localtime
Это символическая ссылка, которая указывает на файл часового пояса в папке /usr/share/zoneinfo/. Редактировать файл не нужно, а для изменения настроек нужно создать символическую ссылку на другую временную зону.
13. /etc/login.defs
Файл /etc/login.defs отвечает за настройку поведения утилиты управления пользователями и параметры входа в систему. Вы можете настроить какой минимальный и максимальный id нужно выдавать, что делать с папкой пользователя при удалении и многое другое, количество попыток входа и таймаут, а также многое другое.
14. /etc/mime.types
В этом файле содержатся общесистемные правила преобразования расширений файлов в понятные системе MIME типы данных. Затем уже система выбирает, чем открыть тот или иной тип данных.
15. /etc/modprobe.d/
Папка /etc/modprobe содержит конфигурационные файлы со списками модулей ядра, которые не нужно загружать при старте системы, псевдонимами для существующих модулей, а также позволяет задавать настройки для модулей.
16. /etc/modules-load.d/
Папка /etc/modules-load.d/ содержит файлы со списками модулей, которые должны быть загружены при запуске системы. Имя файла не важно, но он должен иметь расширение .conf.
17. /etc/nsswitch.conf
Этот файл задает настройки порядка разрешения имен в системе для всех программ, написанных на Си или С++. Например, нужно сначала просматривать локальную сеть и систему, или сразу же отправлять запрос к DNS.
18. /etc/ntp.conf
Файл ntp.conf отвечает за настройку службы синхронизации времени — ntpd. В файле указаны адреса ntp серверов, с которых служба будет получать время, а также общие настройки.
19. /etc/os-release
Отображает очень подробную информацию об установленном дистрибутиве:
20. /etc/passwd
Файл содержит список всех зарегистрированных в системе пользователей, а также дополнительные настройки для них, например, оболочку, дату смены пароля и дату отключения аккаунта, кроме самого пароля. Напрямую файл лучше не редактировать, а использовать утилиту для управления пользователями adduser или deluser.
21. /etc/profile
Файл /etc/profile, точно так же как и /etc/environment загружается и выполняется при запуске любой командной оболочки в системе. Но в отличие от environment, это скрипт, а значит, он может задавать не только переменные, но и выполнять различные команды для инициализации оболочки.
22. /etc/resolv.conf
В этом файле содержатся IP адреса DNS серверов, которые будет использовать компьютер. В большинстве дистрибутивов вы можете редактировать файл вручную или же использовать специальные утилиты.
23. /etc/sddm.conf
Это конфигурационный файл Linux для настройки менеджера входа sddm, для других менеджеров входа будут свои файлы настройки. Здесь можно изменить максимальный и минимальный ID пользователя, который может войти в систему, например, чтобы разрешить авторизацию root, изменить тему, добавить вход без пароля и многое другое.
24. /etc/shadow
Раньше пароли пользователя содержались в файле /etc/passwd, но поскольку к нему мог получить доступ любой пользователь, это было небезопасно, несмотря на то, что пароли зашифрованы. Поэтому все пароли были вынесены в /etc/shadow. Вы можете изменить пароль пользователя.
25. /etc/sudoers
/etc/sudoers — это файл настройки прав доступа к утилите sudo. Эта утилита позволяет выполнять команды от имени других пользователей, в том числе от имени суперпользователя. Но использовать ее могут только те пользователи, которые прописаны в этом файле.
26. /etc/sysctl.conf
Этот файл отвечает за настройку параметров ядра во время выполнения. Тут вы можете задать все параметры из подсистемы /sys/ и они будут сохранены после перезагрузки.
27. /etc/vconsole.conf
У этого файла только одна цель — задать кодировку, раскладку клавиатуры и шрифт по умолчанию для всех виртуальных консолей, запускаемых на машине.
28. /boot/grub/grub.cfg
Этот конфигурационный файл Linux находится не в /etc из-за своего особого предназначения. Здесь содержатся все настройки загрузчика, пункты меню и другие параметры, поэтому он должен быть доступен еще до того как была подключена корневая файловая система.
Выводы
В этой статье мы рассмотрели основные конфигурационные файлы Linux, которые находятся в папке /etc/. Возможно, какие-либо важные файлы, по вашему мнению, упущены, тогда обязательно расскажите о них и их предназначении в комментариях!
Понимание файловой системы Linux, структуры каталогов, размещения конфигурационных, исполняемых и временных файлов поможет вам лучше разбираться в своей системе и стать успешным системным администратором. Файловая система Linux будет непривычна именно для новичка, только что перешедшего с Windows, ведь здесь все совсем по-другому. В отличие от Windows, программа не находится в одной папке, а, как правило, распределена по корневой файловой системе. Это распределение поддается определенным правилам. Вы когда-нибудь задавались вопросом, почему некоторые программы находятся в папке /bin, или /sbin, /usr/sbin, /usr/local/bin, в чем разница между этими каталогами?
Например, программа less, находится в каталоге /usr/bin, но почему не в /sbin или /usr/sbin. А такие программы, как ifconfig или fdisk находятся в каталоге /sbin и нигде иначе.
В этой статье будет полностью рассмотрена структура файловой системы Linux, после ее прочтения вы сможете понять смысл использования большинства папок в корневом каталоге Linux.
/ — корень
Это главный каталог в системе Linux. По сути, это и есть файловая система Linux. Здесь нет дисков или чего-то подобного, как в Windows. Вместо этого, адреса всех файлов начинаются с корня, а дополнительные разделы, флешки или оптические диски подключаются в папки корневого каталога.
Только пользователь root имеет право читать и изменять файлы в этом каталоге.
Обратите внимание, что у пользователя root домашний каталог /root, но не сам /.
/bin — (binaries) бинарные файлы пользователя
Этот каталог содержит исполняемые файлы. Здесь расположены программы, которые можно использовать в однопользовательском режиме или режиме восстановления. Одним словом, те утилиты, которые могут использоваться пока еще не подключен каталог /usr/. Это такие общие команды, как cat, ls, tail, ps и т д.
/sbin — (system binaries) системные исполняемые файлы
Так же как и /bin, содержит двоичные исполняемые файлы, которые доступны на ранних этапах загрузки, когда не примонтирован каталог /usr. Но здесь находятся программы, которые можно выполнять только с правами суперпользователя. Это разные утилиты для обслуживания системы. Например, iptables, reboot, fdisk, ifconfig,swapon и т д.
/etc — (etcetera) конфигурационные файлы
В этой папке содержатся конфигурационные файлы всех программ, установленных в системе.
Кроме конфигурационных файлов, в системе инициализации Init Scripts, здесь находятся скрипты запуска и завершения системных демонов, монтирования файловых систем и автозагрузки программ. Структура каталогов linux в этой папке может быть немного запутанной, но предназначение всех их — настройка и конфигурация.
/dev — (devices) файлы устройств
В Linux все, в том числе внешние устройства являются файлами. Таким образом, все подключенные флешки, клавиатуры, микрофоны, камеры — это просто файлы в каталоге /dev/. Этот каталог содержит не совсем обычную файловую систему. Структура файловой системы Linux и содержащиеся в папке /dev файлы инициализируются при загрузке системы, сервисом udev. Выполняется сканирование всех подключенных устройств и создание для них специальных файлов. Это такие устройства, как: /dev/sda, /dev/sr0, /dev/tty1, /dev/usbmon0 и т д.
/proc — (proccess) информация о процессах
Это тоже необычная файловая система, а подсистема, динамически создаваемая ядром. Здесь содержится вся информация о запущенных процессах в реальном времени. По сути, это псевдофайловая система, содержащая подробную информацию о каждом процессе, его Pid, имя исполняемого файла, параметры запуска, доступ к оперативной памяти и так далее. Также здесь можно найти информацию об использовании системных ресурсов, например, /proc/cpuinfo, /proc/meminfo или /proc/uptime. Кроме файлов в этом каталоге есть большая структура папок linux, из которых можно узнать достаточно много информации о системе.
/var (variable) — Переменные файлы
Название каталога /var говорит само за себя, он должен содержать файлы, которые часто изменяются. Размер этих файлов постоянно увеличивается. Здесь содержатся файлы системных журналов, различные кеши, базы данных и так далее. Дальше рассмотрим назначение каталогов Linux в папке /var/.
/var/log — Файлы логов
Здесь содержатся большинство файлов логов всех программ, установленных в операционной системе. У многих программ есть свои подкаталоги в этой папке, например, /var/log/apache — логи веб-сервера, /var/log/squid — файлы журналов кеширующего сервера squid. Если в системе что-либо сломалось, скорее всего, ответы вы найдете здесь.
/var/lib — базы данных
Еще один тип изменяемых файлов — это файлы баз данных, пакеты, сохраненные пакетным менеджером и т д.
/var/mail — почта
В эту папку почтовый сервер складывает все полученные или отправленные электронные письма, здесь же могут находиться его логи и файлы конфигурации.
/var/spool — принтер
Изначально, эта папка отвечала за очереди печати на принтере и работу набора программ cpus.
/var/lock — файлы блокировок
Здесь находятся файлы блокировок. Эти файлы означают, что определенный ресурс, файл или устройство занят и не может быть использован другим процессом. Apt-get, например, блокирует свою базу данных, чтобы другие программы не могли ее использовать, пока программа с ней работает.
/var/run — PID процессов
Содержит файлы с PID процессов, которые могут быть использованы, для взаимодействия между программами. В отличие от каталога /run данные сохраняются после перезагрузки.
/tmp (temp) — Временные файлы
В этом каталоге содержатся временные файлы, созданные системой, любыми программами или пользователями. Все пользователи имеют право записи в эту директорию.
Файлы удаляются при каждой перезагрузке. Аналогом Windows является папка WindowsTemp, здесь тоже хранятся все временные файлы.
/usr — (user applications) Программы пользователя
Это самый большой каталог с большим количеством функций. Тут наиболее большая структура каталогов Linux. Здесь находятся исполняемые файлы, исходники программ, различные ресурсы приложений, картинки, музыку и документацию.
/usr/bin/ — Исполняемые файлы
Содержит исполняемые файлы различных программ, которые не нужны на первых этапах загрузки системы, например, музыкальные плееры, графические редакторы, браузеры и так далее.
/usr/sbin/
Содержит двоичные файлы программ для системного администрирования, которые нужно выполнять с правами суперпользователя. Например, таких как Gparted, sshd, useradd, userdel и т д.
/usr/lib/ — Библиотеки
Содержит библиотеки для программ из /usr/bin или /usr/sbin.
/usr/local — Файлы пользователя
Содержит файлы программ, библиотек, и настроек созданные пользователем. Например, здесь могут храниться программы собранные и установленные из исходников и скрипты, написанные вручную.
/home — Домашняя папка
В этой папке хранятся домашние каталоги всех пользователей. В них они могут хранить свои личные файлы, настройки программ и т д. Например, /home/sergiy и т д. Если сравнивать с Windows, то это ваша папка пользователя на диске C, но в отличии от WIndows, home как правило размещается на отдельном разделе, поэтому при переустановке системы все ваши данные и настройки программ сохранятся.
/boot — Файлы загрузчика
Содержит все файлы, связанные с загрузчиком системы. Это ядро vmlinuz, образ initrd, а также файлы загрузчика, находящие в каталоге /boot/grub.
/lib (library) — Системные библиотеки
Содержит файлы системных библиотек, которые используются исполняемыми файлами в каталогах /bin и /sbin.
Библиотеки имеют имена файлов с расширением *.so и начинаются с префикса lib*. Например, libncurses.so.5.7. Папка /lib64 в 64 битных системах содержит 64 битные версии библиотек из /lib. Эту папку можно сравнить с WIndowssystem32, там тоже сгружены все библиотеки системы, только там они лежат смешанные с исполняемыми файлами, а здесь все отдельно.
/opt (Optional applications) — Дополнительные программы
В эту папку устанавливаются проприетарные программы, игры или драйвера. Это программы созданные в виде отдельных исполняемых файлов самими производителями. Такие программы устанавливаются в под-каталоги /opt/, они очень похожи на программы Windows, все исполняемые файлы, библиотеки и файлы конфигурации находятся в одной папке.
/mnt (mount) — Монтирование
В этот каталог системные администраторы могут монтировать внешние или дополнительные файловые системы.
/media — Съемные носители
В этот каталог система монтирует все подключаемые внешние накопители — USB флешки, оптические диски и другие носители информации.
/srv (server) — Сервер
В этом каталоге содержатся файлы серверов и сервисов. Например, могут содержаться файлы веб-сервера apache.
/run — процессы
Еще один каталог, содержащий PID файлы процессов, похожий на /var/run, но в отличие от него, он размещен в TMPFS, а поэтому после перезагрузки все файлы теряются.
/sys (system) — Информация о системе
Назначение каталогов Linux из этой папки — получение информации о системе непосредственно от ядра. Это еще одна файловая система организуемая ядром и позволяющая просматривать и изменить многие параметры работы системы, например, работу swap, контролировать вентиляторы и многое другое.
Выводы
Теперь структура файловой системы Linux не кажется вам темным лесом. Конечно еще есть с чем разбираться, одна только подсистема /proc, /sys или /dev чего стоит. Но база уже заложена. Если я что-то упустил — напишите в комментариях.
Оригинал:
«The Linux Directory Structure Explained»
Автор: Chris Hoffman
Дата публикации: June 6th, 2012
Перевод: Н.Ромоданов
Дата перевода: июдь 2012 г.
Если вы перешли с системы Windows, то структура файловой системы Linux может показаться особенно странной. Исчезло устройство C: и буквы остальных устройств, уступив место каталогу / и другим каталогам с загадочными названиями, большинство из которых трехбуквенные
Структура файловой системы в Linux и в других UNIX-подобных операционных системах определяется стандартом Filesystem Hierarchy Standard (FHS). Однако в файловых системах Linux также есть некоторые каталоги, которые еще не определены в этом стандарте.
Корневой каталог — /
Все на вашей системе Linux находится в каталоге /, известном как корневой каталог. Вы можете рассматривать каталог / как аналог устройства C: в системе Windows — но это не совсем верно, поскольку в Linux для устройств не используются буквы. Если в Windows другой раздел диска может находиться в D:, такой другой раздел в Linux появится в виде другого подкаталога в каталоге /.
/bin – основные двоичные пользовательские модули
В каталоге /bin находятся основные двоичные пользовательские модули (программы), которые должны присутствовать, если система монтируется в однопользовательском режиме. Приложения, например, Firefox, хранятся в /usr/bin, в то время как важные системные программы и утилиты, такие как командная оболочка bash, расположены в каталоге /bin. Каталог /usr может храниться в другом разделе — размещение этих файлов в каталоге /bin гарантирует, что в системе эти важные утилиты будут даже в случае, если другие файловые системы не смонтированы. Каталог /sbin аналогичен — в нем находятся основные двоичные модули, используемые для системного администрирования.
/boot – файлы статической загрузки
В каталоге /boot находятся файлы, необходимые для загрузки системы — например, здесь хранятся файлы загрузчика GRUB и ваши ядра Linux. Здесь нет конфигурационных файлов, используемых загрузчиком — они находятся в каталоге /etc вместе с другими конфигурационными файлами.
/cdrom – исторически выбранная точка монтирования для CD-дисков
Каталог /cdrom не является частью стандарта FHS, но вы по-прежнему можете найти его в Ubuntu и в других операционных системах. Это временное место, где монтируются диски CD-ROM, когда они вставляются в компьютер. Однако, стандартное место для подключаемого носителя находится внутри каталога /media.
/dev – файлы устройств
В Linux устройства предоставлены в виде файлов и в каталоге /dev находится ряд специальных файлов, с помощью которых представлены устройства. Это не те файлы, которые мы знаем, но здесь они выглядят в виде файлов — например, с помощью /dev/sda представлен первый диск SATA, имеющийся в системе. Если вам на нем нужен раздел, вам нужно запустить редактор разделов и сообщить ему, что нужно отредактировать /dev/sda.
В этом каталоге также находятся псевдо-устройства, которые являются виртуальными устройствами и для которых, на самом деле, нет соответствующего реального устройства. Например, файл /dev/random генерирует случайные числа. Файл /dev/null является специальным устройством, которое не выдает никаких выходных данных и автоматически удаляет все входные данные — когда вы перенаправляете выходные данные команды на /dev/null, то вы их удаляете.
/etc – конфигурационные файлы
В каталоге /etc находятся конфигурационные файлы, которые обычно можно отредактировать вручную в текстовом редакторе. Обратите внимание, что в каталоге /etc/ размещены общесистемные конфигурационные файлы; пользовательские конфигурационные файлы находятся в домашнем каталоге каждого пользователя.
/home – домашние каталоги
В каталоге /home находятся домашние каталоги каждого пользователя. Например, если ваше имя как пользователя bob, то у вас есть домашний каталог, который находится в /home/bob. В этом каталоге находятся файлы с пользовательскими данными и конфигурационные файлы конкретного пользователя. Каждый пользователь имеет доступ на запись только в своем домашнем каталоге и для того, чтобы он мог изменять другие файлы в системе, он должен получить более высокие права доступа (стать пользователем root).
/lib – основные разделяемые библиотеки
В каталоге /lib находятся библиотеки, необходимые для основных двоичных файлов, находящихся в каталогах /bin и /sbin. Библиотеки, необходимые двоичным файлам, находящимся в каталоге /usr/bin, находятся в каталоге /usr/lib.
/lost+found – восстановленные файлы
В каждой файловой системе Linux есть каталог lost+found. Если произошел сбой в работе файловой системы, то при следующей загрузке будет выполнена проверка файловой системы. Все найденные поврежденные файлы будут размещены в каталоге lost+found, так что вы можете попытаться восстановить данные настолько, насколько это можно будет сделать.
/media – подключаемые носители
В каталоге находятся подкаталоги, в которых монтируются съемные носители, вставляемые в компьютер. Например, когда вы в системе Linux вставляете диск CD, в каталоге /media будет автоматически создан соответствующий подкаталог. В этом подкаталоге вы можете получить доступ к содержимому диска CD.
/mnt – точки временного монтирования
Исторически сложилось, что каталог /mnt является тем местом, где системные администраторы монтируют временные файловые системы, когда они их используют. Например, если вы монтируете раздел Windows для того, чтобы выполнить некоторые операции восстановления файлов, вы можете смонтировать его в /mnt/windows. Но другие файловые системы вы можете монтировать в любом другом месте.
/opt – вспомогательные пакеты
В каталоге /opt находятся подкаталоги для дополнительных пакетов программного обеспечения. Этот каталог широко используется проприетарным программным обеспечением, которое не подчиняется стандартной иерархии файловых систем — например, проприетарная программа может при установке записывать дампы своих файлов в /opt/application.
/proc – файлы ядра и процессов
Каталог /proc похож на каталог /dev, поскольку он не содержит стандартных файлов. В нем находятся специальные файлы, в которых представлена информация о системе и о процессах.
/root – домашний каталог пользователя root
Каталог /root является домашним каталогом пользователя root. Вместо того, чтобы находиться в /home/root, он помещается в /root. Этот каталог отличается от каталога /, который является корневым каталогом системы.
/run – файлы состояния приложений
Каталог /run является достаточно новым каталогом, в котором приложениям предоставляется возможность стандартным образом хранить вспомогательные файлы, которые им требуются, например, сокеты и идентификаторы процессов. Эти файлы нельзя хранить в каталоге /tmp поскольку файлы в каталоге /tmp могут быть удалены.
/sbin –двоичные файлы администрирования системы
Каталог /sbin похож на каталог /bin. В нем находятся важные двоичные файлы, которые, как правило, предназначены для их запуска пользователем при администрировании системы.
/selinux – виртуальная файловая система SELinux
Если в вашем дистрибутиве для обеспечения безопасности используется пакет SELinux (например, в Fedora и Red Hat), то в каталоге /selinux будут находиться специальные файлы, используемые SELinux. Этот каталог похож на каталог /proc. В Ubuntu SELinux не используется, поэтому наличие этой папки в Ubuntu, возможно, является ошибочным.
/srv – данные сервисных служб
В каталоге /srv находятся «данные для сервисов, предоставляемых системой». Если вы пользуетесь сервером Apache HTTP для обслуживания веб-сайта, то, скорее всего, вы будете хранить файлы вашего сайта в каталоге, расположенном внутри каталога /srv.
/tmp – временные файлы
Приложения хранят временные файлы в каталоге /tmp. Такие файлы обычно удаляются всякий раз, когда ваша система перезагружается, и их можно удалить в любой момент с помощью утилит, например, с помощью утилиты tmpwatch.
/usr – пользовательские двоичные файлы и данные, используемые только для чтения
В каталоге /usr находятся приложения и файлы, используемые пользователями, в отличие от приложений и файлов, используемых системой. Например, не очень важные приложения находятся в каталоге /usr/bin, а не в каталоге /bin, а не очень важные двоичные файлы, предназначенные для системного администрирования, находятся в каталоге /usr/sbin, а не в каталоге /sbin. Библиотеки для них находятся внутри каталога /usr/lib. В каталоге также есть другие подкаталоги — например, в каталоге /usr/share расположены файлы, независимые от архитектуры системы, например, используемые для работы с графикой.
Каталог /usr/local является местом, где по умолчанию устанавливаются приложения, откомпилированные локально — это позволит им не смешиваться с остальной частью системы.
/var – файлы для хранения изменяющихся данных
Каталог /var является аналогом каталога /usr, но в каталог /var можно делать запись, а каталог /usr в обычном режиме предназначен только для чтения. Журнальные файлы и все остальное, что должно было бы записываться в обычном режиме в каталог /usr, записывается в каталог /var. Например, журнальные файлы вы сможете найти в каталоге /var/log.
Для получения более подробной технической информации о иерархии файловой системы в Linux обратитесь к документации стандарта иерархии файловых систем Filesystem Hierarchy Standard, ver.2.3.
Примечание: На нашем сайте имеется перевод FHS версии 2.2, а также
перевод статьи, в которой
делается попытка объяснить причины, почему появился именно такой вариант структуры каталогов UNIX.