
Мне нужно скомпилировать некоторое программное обеспечение на моей машине Fedora. Где лучше всего разместить его, чтобы не мешать упакованному программному обеспечению?
решение1
Практическое правило, по крайней мере, в системах на базе Debian:
/usr/local
для вещей, которые являются «общесистемными» — т. е., как/usr/local
правило, находятся в каталоге по умолчанию дистрибутива$PATH
и следуют стандартной иерархии каталогов UNIX с/usr/local/bin
,/usr/local/lib
и т. д./opt
для вещей, которые вы не доверяете делать общесистемными, с префиксами для каждого приложения — например/opt/firefox-3.6.8
,/opt/mono-2.6.7
, и т. д. Вещи здесь требуют более тщательного управления, но также с меньшей вероятностью сломают вашу систему — и их легче удалить, поскольку вы просто удаляете папку, и она исчезает.
решение2
Если вы действительно не хотите, чтобы он вообще мешал, не помещайте его в свой $PATH
.
Если вы хотите его в $PATH
, по крайней мере убедитесь, что не устанавливаете его в /usr/local
. Я обнаружил, что много программного обеспечения ищет его там, даже если оно установлено дистрибутивом в /usr
.
Мой любимый способ установки скомпилированного ПО — в моем $HOME
каталоге. Таким образом, вам не придется использовать sudo
что-либо, и это будет очень хорошо отделено от остальной части вашей системы. Например:
mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install
И если вы захотите, вы можете добавить /home/username/stage/bin
в свой $PATH
.
решение3
FHS говорит, что нужно поместить его в /usr/localгде дистрибутивы не должны его касаться. /usr/local/bin
для двоичных файлов /usr/local/src
для исходников и /usr/local/lib
для библиотек. СмотритеСпецификация FHSдля получения дополнительной информации
решение4
Поместите их в /usr/local/src
.
Что я делаю, так это извлекаю исходник в этот каталог. Он создаст путь типа
/usr/local/src/postgresql-8.3.7
Затем я создаю на него символическую ссылку:
/usr/local/src # ln -s postgresql-8.3.7 postgresql
Выполняйте все строительные работы в /usr/local/src/postgresql
.
Такой подход помогает, когда вам нужно переключаться между версиями и документировать, какую версию вы используете.