# `/usr` – это не User? Истинное назначение каталога в Linux Любой, кто впервые сталкивается с [[Linux]], может ошибочно подумать: "Ага, `/usr` – это папка пользователя (User)!". Но при попытке сохранить свои файлы туда, вы, скорее всего, получите отказ из-за отсутствия прав доступа. Сразу к делу: **в современном Linux `/usr` – это не "домашний каталог пользователя", а "хранилище общих системных ресурсов".** ![Концептуальное изображение файловой системы Linux и каталога usr](/media/whitedec/blog_img/a8ec4afb63f44633bfe7d8ddc88d744b.webp) ## 1. `/usr`: заблуждение в названии и истинный смысл {#sec-b849ebed1aef} В ранние дни Unix действительно существовали времена, когда в `/usr` находились домашние каталоги пользователей. Однако по мере роста систем их роли разделились, и сегодня `/usr` уместнее интерпретировать как сокращение от **Unix System Resources**. Несмотря на то, что название происходит от "user", функционально оно больше не несет этого значения. - **Назначение:** Хранилище данных и программ, необходимых для работы системы в режиме "только чтение" (Read-only). - **Ключевая роль:** Большая часть исполняемых файлов, библиотек и общих данных, добавляемых после установки ОС, находится здесь. --- ## 2. Взгляд внутрь `/usr` (краткий обзор) {#sec-00d9f67269a8} Структура `/usr` напоминает миниатюрную [[Linux]] систему, целиком расположенную внутри. |**Каталог**|**Основное содержимое**|**Примечание**| |---|---|---| |**`/usr/bin`**|Исполняемые файлы для обычных пользователей|`python`, `curl`, `git` и т.д.| |**`/usr/sbin`**|Исполняемые файлы для системных администраторов|Настройка сети, управление демонами и т.д.| |**`/usr/lib`**|Библиотеки, необходимые для выполнения программ|Файлы `.so`, аналогичные `.dll` в Windows| |**`/usr/share`**|Общие данные, независимые от архитектуры|Руководства (man), иконки, шрифты и т.д.| |**`/usr/local`**|**Программы, установленные пользователем вручную**|Имеет приоритет при установке, например, из исходного кода| > **💡 Примечание: В чем разница между `/bin` и `/usr/bin`?** > > В прошлом в `/bin` помещались только минимально необходимые для загрузки инструменты. Однако современные дистрибутивы (Ubuntu, Fedora и др.) склонны объединять их, создавая символическую ссылку `/bin` на `/usr/bin` для упрощения управления. > Аналогичное отношение существует между `/sbin` и `/usr/sbin`. --- ## 3. Сравнение четырех часто путаемых каталогов {#sec-61ad2a15d2c6} Мы четко разграничиваем роли четырех каталогов, которые чаще всего вызывают путаницу. 1. **`/home` (Личное пространство):** Здесь хранятся личные документы пользователя, конфигурационные файлы (например, `~/.bashrc`). Если вы переустанавливаете ОС, достаточно сохранить этот каталог, чтобы ваши данные остались целы. 2. **`/usr` (Системные ресурсы):** Это репозиторий общих программ, которыми управляют менеджеры пакетов (apt, dnf и др.). 3. **`/opt` (Внешние приложения):** Пространство для сторонних приложений, которые устанавливаются "целиком" и не следуют системе управления пакетами, таких как Google Chrome или Discord. 4. **`/var` (Изменяющиеся данные):** Здесь накапливаются данные, содержимое которых постоянно меняется в процессе работы системы, например, файлы журналов (логов), файлы баз данных. --- ## 4. Практическое руководство: Куда сохранять свои файлы? {#sec-456fc34dbec8} Местоположение файлов зависит от ситуации. Соблюдая эти правила, вы сможете заслужить репутацию человека, "понимающего [[Linux]]". - **Простые скрипты для личного использования:** `~/bin` (создайте папку bin в домашнем каталоге) или `~/.local/bin` - **Программы, созданные вами и предназначенные для использования всей системой:** `/usr/local/bin` (безопасное общее пространство, не конфликтующее с менеджером пакетов) - **Крупное коммерческое программное обеспечение, загруженное извне:** `/opt/название_приложения` - **Места, которые никогда не следует трогать:** `/usr/bin` (управляется системным менеджером пакетов, поэтому прямое добавление или удаление файлов может привести к повреждению пакетов.) --- ### Краткое изложение в 4 пунктах {#sec-8f4228f1608f} 1. `/usr` – это **НЕ папка с пользовательскими данными (User).** 2. Это **хранилище программ и ресурсов,** используемых системой совместно. 3. Личные файлы храните в `/home`, а общедоступные приложения, установленные вручную, – в **`/usr/local`** или `/opt`. (Я, например, храню AppImages в `/opt`). 4. Для личных скриптов удобно создать каталог `~/.local/bin` и управлять ими оттуда — это помогает поддерживать порядок. Надеемся, что теперь ваши вопросы о каталоге `/usr` прояснились. Как пользователь, любящий [[Linux]], я искренне надеюсь, что эта статья поможет многим глубже понять Linux и полностью погрузиться в очарование этой операционной системы.