У меня есть отдельный домашний раздел, поэтому я хочу установить некоторое программное обеспечение из исходного кода в другой иерархии — не в моей учетной записи пользователя, а желательно в /home
.
Перефразируя, предположим, что у меня есть домашний каталог, /home/myuser
и я хочу, чтобы моя новая иерархия (т. е. /bin, /lib, /include, /share, /local, /src
вложенная в фиктивный каталог пользователя) /home/myprograms
находилась в отдельном каталоге, например, чтобы все программное обеспечение, которое я устанавливаю из исходного кода или просто хочу установить из /usr.
Я могу устанавливать программы в этот каталог, но как сделать эти программы доступными для всех пользователей моего ПК?
Если у кого-то есть другие предложения по поддержанию двух иерархий, пожалуйста, также оставьте комментарий.
решение1
Соглашение для сторонних программ заключается в том, что их необходимо установить, после /usr/local
чего они станут доступны другим пользователям (в большинстве дистрибутивов).
Конечно, вы можете использовать любой другой каталог, например /home/myuser
, но вам придется обновить PATH
переменную окружения. Вы можете сделать это, создав /etc/profile.d/mypath.sh
со следующим содержимым:
PATH="/home/myuser/bin:$PATH"
Другой вариант — установить их в /opt
подкаталоге для каждой программы, например: /opt/foo/{bin,lib,share}
и /opt/bar/{bin,lib,share}
т. д. Преимущество этого варианта в том, что можно быстро удалить или скопировать установку программы, но недостаток в том, что все разделено на несколько мест, поэтому вам придется добавить несколько каталогов в PATH
.
Для более подробной информации читайтеСтандарт иерархии файловой системы.