Куда мне следует помещать программное обеспечение, которое я скомпилировал самостоятельно?

Куда мне следует помещать программное обеспечение, которое я скомпилировал самостоятельно?

Мне нужно скомпилировать некоторое программное обеспечение на моей машине 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.

Такой подход помогает, когда вам нужно переключаться между версиями и документировать, какую версию вы используете.

Связанный контент