Что такое каталог /usr в файловой системе Linux

usr не означает «пользователь»

Если вы хоть раз использовали Linux, то наверняка столкнулись с каталогом /usr.

Когда я впервые начал работать с Linux, я думал:

«А, /usr значит user, значит здесь что‑то, связанное с пользователями. Наверное, сюда кладут данные о пользователях».

Многие начинающие пользователи Linux делают такую же ошибку. Но давайте сразу к выводу:

/usr не предназначен для хранения данных отдельных пользователей. Домашние каталоги находятся в /home, а /usr выполняет совсем другую роль.

В этой статье разберёмся, какая реальная сущность и назначение каталога /usr, а также как он отличается от таких каталогов, как /home, /opt и /var.


1. Суть: /usr — это не «пользовательские» данные



В современном Linux можно обобщить роль /usr так:

/usr = область, где находятся «общие» и (в большинстве случаев) только‑читаемые программы, библиотеки и данные, используемые системой и приложениями.

То есть в /usr находятся:

  • исполняемые файлы ОС и приложений;
  • библиотеки, которые используют эти файлы;
  • общие данные: руководства, иконки, языковые файлы и т.д.

В противоположность этому, «пользовательские» файлы, такие как документы, настройки и загрузки, находятся в:

  • /home/имя_пользователя.

Поэтому считать /usr «папкой пользователя» — ошибка.


2. Что означает usr?

История и споры вокруг названия:

  • В ранних версиях Unix в /usr действительно хранились домашние каталоги пользователей.
  • Поэтому многие видят в usr сокращение от user.
  • Позднее появилось толкование Unix System Resources.

Но для современного пользователя важнее текущая роль, а не исторический смысл.

Файловая система Linux (FHS) определяет /usr как:

  • область, где находятся общие данные, доступные всему миру системы;
  • программы, библиотеки, руководства и прочие общие ресурсы.

Таким образом, в современном Linux важно понимать, что /usr — это «общий склад» для системных и приложенческих ресурсов.


3. Что находится в /usr?



Если открыть терминал и выполнить ls /usr, вы увидите типичные каталоги:

$ ls /usr
bin  lib  lib64  local  sbin  share  include  ...

Краткое описание:

  • /usr/bin – исполняемые файлы для обычных пользователей (например, /usr/bin/python, /usr/bin/grep).
  • /usr/sbin – системные утилиты, обычно запускаемые root (например, /usr/sbin/sshd).
  • /usr/lib, /usr/lib64 – общие библиотеки (.so).
  • /usr/share – архитектурно‑независимые данные: руководства (/usr/share/man), иконки, локализации.
  • /usr/include – заголовочные файлы C/C++.
  • /usr/local – место для программ, установленных вручную, а не через менеджер пакетов.

Итого, /usr – это «большой склад» системных и приложенческих ресурсов.


4. Сравнение /usr, /home, /opt и /var

Различия между этими каталогами часто путают. Давайте разберём их по ролям.

4.1 /home – настоящий «дом» пользователя

  • Примеры путей: /home/alice, /home/bob.
  • Содержит документы, фотографии, загрузки, проекты и пользовательские настройки (~/.config, ~/.ssh).
  • При переустановке ОС обычно сохраняется только /home.

Личные данные и настройки находятся почти полностью в /home.

4.2 /usr – «общие» ресурсы системы и приложений

  • Исполняемые файлы: /usr/bin, /usr/sbin.
  • Библиотеки: /usr/lib*.
  • Общие данные: /usr/share.

Это область, где находятся общие программы, библиотеки и данные, используемые всей системой.

4.3 /opt – «пакет» отдельного приложения

  • Здесь размещаются сторонние коммерческие или сторонние приложения, которые не входят в репозиторий дистрибутива.
  • Пример: /opt/google/chrome, /opt/mycompany/app.

Каждый каталог в /opt обычно содержит целое приложение.

4.4 /var – «изменяемые» данные

  • Журналы: /var/log.
  • Кеш: /var/cache.
  • Очереди, спулы: /var/spool.
  • Базы данных, файлы состояния.

Это область, где находятся данные, которые часто меняются во время работы системы.


5. Почему /bin теперь часто является ссылкой на /usr/bin?

В старых документах объясняют различие между /bin и /usr/bin. Современные дистрибутивы упрощают структуру:

  • /bin → символическая ссылка на /usr/bin;
  • /sbin → символическая ссылка на /usr/sbin.

Таким образом, в реальной системе большинство исполняемых файлов находятся в /usr/bin и /usr/sbin. Каталоги /bin и /sbin остаются лишь для совместимости с устаревшими скриптами.


6. Как не запутаться новичку

Типичные вопросы:

  • «/usr значит user, значит я должен ставить туда свои программы?»
  • «А что отличает /home от /usr

Ниже несколько простых правил:

6.1 Личные скрипты и утилиты

  • Храните их в ~/bin или ~/scripts.
  • Добавьте в PATH.
mkdir -p ~/bin
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc

6.2 Приложения, которые должны быть доступны всем

  • Скомпилируйте и установите в /opt/имя_приложения.
  • Создайте символическую ссылку в /usr/local/bin.

Это стандартный способ установки сторонних приложений.

/usr/local предназначен для программ, которые не устанавливаются через менеджер пакетов.


7. Итог: /usr – это «склад» системы, а не «дом» пользователя

  • /usr не каталог пользовательских данных.
  • В нём находятся общие исполняемые файлы, библиотеки, руководства и прочие ресурсы.
  • Личные данные находятся в /home/имя_пользователя.
  • Приложения, установленные вручную, обычно размещаются в /opt или /usr/local.

Понимание структуры файловой системы Linux позволяет быстро определить, куда поместить конкретный файл или приложение, и какие каталоги сохранять при переустановке ОС.