ASE_DAG
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору shylExSSchumi> для чего используются Я имею ввиду /opt, ~/bin, ~/.local/bin, ~./local/share, /usr / — корень, первичное дерево, в каталогах bin, sbin, lib в нем лежит минимально необходимый набор программ, чтоб система вообще могла запустится. /usr — вторичное дерево, исторически его часто подмонтировали по сети (одно и то же на много машин) или по крайней мере просто держали на отдельном разделе. Но сейчас в systemd это сломали, и не починили, аргументируя тем, что им это не нужно. /usr/local — третичное дерево, которое исторически использовалось для установки локальных для машины программ (когда /usr коллективный). Сейчас переосмыслено как место свалки всего, что устанавливается не через нормальные механизмы вашей поставки. Поиск исполняемостей (как по-умолчанию должна устанавливать переменная $PATH) идет в порядке: /usr/local/bin, /usr/bin, /bin, так что можно оттенить /usr/bin/foo, установив новую версию в /usr/local/bin/. Всего описанного далее в $PATH по-умолчанию его нет, нужно добавлять. /opt — каталог туманного назначения, в некоторых юникс-подобных системах это дерево, где так же есть bin, lib, share, и т. д. В большинстве поставок ГНУ из коробки — ничего. Многие (и я в их числе) создают в нем по ветке на каждую собранную из исходников программу, к примеру: $ ls /opt/bash-4.4 bin include lib share $ ls /opt/emacs-gtk2-24.5 bin libexec share var ~ — ваш домашний каталог, и никто не запрещает устанавливать исполняемости и туда (если он, конечно, не монтируется с noexecом). Отчего создаются каталоги ~/bin, ~/share и т. д. Я вижу в этом две проблемы. Во-первых, я не хочу, чтоб у меня на глазах в домашнем каталоге валялись служебные каталоги. При сборке программ с качественной системой сборки еще можно вместо --prefix="$HOME" указать --bindir="$HOME/.bin" --sysconfdir="$HOME/.etc" и так далее; но не у всех она такая. А во-вторых, по-идее же домашний каталог должен быть еще более переносимым между машинами, чем /usr. Установка же в него собранных программ этому противоречит. Таким образом, лично у меня есть ~/.bin, где лежат в основном самописные сценарии на ГНУ Баше и Перле, то есть весьма портативные вещи. Описанные же проблемы при установке сложных программ с пользовательскими правами вполне красиво решаются указанием при сборке префикса $HOME/.local — и точка есть, и по смыслу он локальный. Таким образом появляется в частности ~/.local/bin.
| Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 17:49 10-11-2016 | Исправлено: ASE_DAG, 17:52 10-11-2016 |
|