Мне интересно, почему такие каталоги, как /usr
и /usr/local/
, принадлежат и создаются root. Обычно я вошел в систему как обычный пользователь и хочу хранить программы, которые лично использую в этих каталогах. Например, Android Studio хранится там. Всякий раз, когда мне нужно сделать обновление или внести какие-либо изменения, разрешение не предоставляется, потому что я не вошел в систему как root.
Имя каталога «usr» уже подразумевает, что (обычные) пользовательские программы должны быть там.
Разве я не понял концепцию этого каталога?
Нет ничего, что мешает Вам установить и запущенные приложения локально без sudo полномочий. Локально, значение: в Вашем собственном корневом каталоге. Именно так это, как предполагается.
У Вас не должно быть тех же полномочий на каталогах, которые Вы совместно используете с возможными другими пользователями в своей системе.
Объяснение, на какой usr
буквально обозначает, варьируется от системных ресурсов Unix, к пользовательским системным ресурсам. Последний однако не должен быть интерпретирован, как принадлежится пользователям, но как служащие пользователи, напротив обслуживания системы. Здесь мы читаем о /usr
:
Вторичная иерархия для пользовательских данных только для чтения; содержит большинство (мульти-) пользовательские утилиты и приложения.
Нижняя строка - то, что все (современные) объяснения упоминают, что это о "совместно используемых, данных только для чтения", и: "не должен быть записан в"
Каталог для глобально установленного программного обеспечения администратора. Если Вы хотите установить программное обеспечение собой для себя, сделайте это в своем корневом каталоге. Проверьте FHS для получения дополнительной информации о стандартных местоположениях.
Имя каталога "usr" уже подразумевает, что (нормальные) основанные на пользователе программы, как предполагается, там.
Не со Средневековья истории Unix, если это когда-нибудь было. Что делает сокращения "и т.д." и средний "usr"?
Теперь, /usr
каталог - чтобы администратор обработал. Однако почти все содержание в /usr
обрабатывается пакетами, и /usr/local
то, где администратор может установить локальное программное обеспечение, за пределами системы управления пакета. Давайте консультироваться со Стандартом Иерархии Файловой системы:
/usr/local: Локальная иерархия
Цель
/usr/local
иерархия для использования системным администратором при установке программного обеспечения локально. Должно быть безопасно от того, чтобы быть перезаписанным, когда системное программное обеспечение обновляется. Это может использоваться для программ и данных, которые совместно используемы среди группы хостов, но не найденные в/usr
.Локально установленное программное обеспечение должно быть помещено в
/usr/local
вместо/usr
если это не устанавливается на замене или программном обеспечении обновления в/usr
.
Для обоих /usr
и /usr/local
в современной системе Linux у обычных пользователей не должно быть полномочий записи. В однопользовательской системе, уверенной, Вы могли дать доступ для записи к /usr/local
, но Вы имеете sudo
полномочия так или иначе (как часто необходимо записать в эти каталоги?).