При установке ПО в Unix используется один из трех вариантов:
Первый вариант -- самый удобный и предпочтительный. Но при этом надо, чтобы нужное ПО существовало именно в виде .rpm-пакета.
Второй вариант очень часто используется с программами "от третьих поставщиков". К примеру, самая последняя версия Netscape обычно становится доступна в виде .tar.gz-архива (и лишь несколько позже появляется .rpm-пакет).
Третий вариант до недавнего времени был самым распространенным, да и до сих пор множество программ научного и развлекательного назначения распространяются именно в виде исходных текстов. Достоинство этого способа -- то, что собрать программу из исходных текстов можно практически под любым Unix, даже если сам автор этого не сделал. К недостаткам же относится то, что "сходу" программа может и не откомпилироваться (или даже просто не заработать), так что могут потребоваться навыки программиста.
Если дистрибутив берется из .tar.gz-архива, то чаще всего его может установить не только "root", но и любой пользователь (естественно, в свою личную директорию, а не в системную). В случае же .rpm-пакета обычному пользователю придется повозиться, чтобы извлечь оттуда файлы для "ручной" установки.
При установке из готового пакета rpm автоматически выбирает директории (они проросту зашиты в .rpm-файле). При установке же из бинарных дистрибутивов или из исходных текстов обычно есть выбор, в какое место дерева директорий поместить файлы.
Директория | Назначение |
---|---|
/usr/ | Стандартное ПО, поставляемое с системой. |
/usr/X11R6/ | Система X-Window и разнообразное ПО для нее. |
/usr/local/ | Локальное ПО (обычно от третьих поставщиков), установленное администратором отдельно после инсталляции системы. Здесь может располагаться также отдельно установленное ПО под X-Window. |
Как очевидно, "вручную" программы надо устанавливать именно в /usr/local/.
В каждой из этих иерархий имеются поддиректории bin/, lib/, man/ и doc/, служащие для исполняемых файлов, библиотек, man-страниц и документации соответственно.
/usr/ | +--bin/ +--doc/ +--lib/ +--man/ | +--X11R6/ | | | +--bin/ | +--doc/ | +--lib/ | +--man/ | +--local/ | +--bin/ +--doc/ +--lib/ +--man/
В переменной окружения PATH есть ссылки на /usr/bin, /usr/X11R6/bin и /usr/local/bin, так что все программы запускаются просто по имени. Команда man же, соответственно, ищет man-страницы также во всех трех man-директориях.
Естественно, весь дистрибутив следует ставить внутрь одной иерархии. Так, если исполняемые файлы располагаются в /usr/local/bin/, то man-страницы -- в /usr/local/man/, а библиотечные файлы -- в /usr/local/lib/.
Некоторые пакеты (например, Wabi -- эмулятор Windows 3.x) устанавливаются в директорию /opt/. В этом случае создается директория вида /opt/имя-программы/ (например, /opt/wabi/), и в ней размещаются все файлы пакета. Такие пакеты обычно не предлагают выбор директории, а просто сами ставятся в /opt/.
Подробно про то, какие директории в файловой системе для чего предназначены, можно прочитать в "Filesystem Hierarchy Standard" (прежнее название -- "Linux FSSTND") по адресу
http://www.pathname.com/fhs/
Установку ПО из .rpm-пакетов может выполнять только "root".
При установке же из бинарного дистрибутива или из исходных текстов следует придерживаться следующих правил: