Мне нужно скомпилировать программное обеспечение на моей машине Fedora. Где лучшее место, чтобы положить его так, чтобы не мешать упакованному программному обеспечению?
package-management
compiling
software-installation
directory-structure
fhs
theotherreceive
источник
источник
Ответы:
Практическое правило, по крайней мере, в системах с Debian:
/usr/local
для вещей, которые являются "общесистемными" - то есть,/usr/local
как правило, в дистрибутиве по умолчанию$PATH
, и следует стандартной иерархии каталогов UNIX с/usr/local/bin
,/usr/local/lib
и т.д./opt
для чего вы не доверяете , чтобы сделать в масштабах всей системы, с в приложение префиксов-то/opt/firefox-3.6.8
,/opt/mono-2.6.7
и так далее. Вещи здесь требуют более тщательного управления, но также с меньшей вероятностью сломают вашу систему - и их легче удалить, так как вы просто удаляете папку, и она исчезла.источник
/opt
если вы делаетеsudo
установку.Если вы действительно не хотите, чтобы это вообще мешало, не кладите это нигде
$PATH
.Если вы хотите, чтобы
$PATH
, по крайней мере, убедитесь, что не установить в/usr/local
. Я обнаружил, что многие программы смотрят туда, даже если они установлены дистрибутивом/usr
.Мой любимый способ установки специально скомпилированного программного обеспечения находится в моем
$HOME
каталоге. Таким образом, вам не нужноsudo
ничего использовать , и он очень хорошо отделен от остальной части вашей системы. Например:И если вы хотите, вы можете добавить
/home/username/stage/bin
в свой$PATH
.источник
/usr/local
).FHS говорит поместить его в / usr / local, где дистрибутивы не должны касаться его.
/usr/local/bin
для двоичных файлов/usr/local/src
для исходного кода и/usr/local/lib
для библиотек. Смотрите спецификации FHS для получения дополнительной информацииисточник
/etc/mysql
для конфигурации?/usr/local/etc
по умолчанию есть папка, я думаю, что я должен использовать это ... :-)Большую часть времени я люблю размещать свои собственные скомпилированные материалы
/opt
. Это своего рода псевдостандартное место. Вы также можете рассмотреть/usr/local
, но я предпочитаю держать свои вещи на 100% изолированными.источник
/opt
, однако я много раз видел, где много/usr/local
мусора, который исходит из дистрибутива/usr/local
- это иерархии каталогов, параллельные иерархии в стандартном дереве, и, возможно, индексные файлы для таких вещей, как TeX.Поместите их в
/usr/local/src
.Что я делаю, так это извлекаю исходный код из этого каталога. Это создаст путь как
Затем я создаю символическую ссылку на него:
Сделайте все ваше здание в
/usr/local/src/postgresql
.Подобные действия помогают, когда вам нужно переключиться между версиями и документами, какую версию вы используете.
источник
Это напоминает мне, мне нужно чаще использовать checkinstall ! Таким образом, я просто делаю как обычно
с последующим
создать файл .deb ...
источник
Если есть возможность - я бы предложил скомпилировать ваше программное обеспечение, а затем создать пакет FC (я полагаю, он использует yum для установки пакетов программного обеспечения). Затем вы можете установить этот пакет вашего собственного скомпилированного программного обеспечения и удалить его, не испортив всю систему.
источник
Если вы хотите легко устанавливать и удалять несколько созданных вами приложений, вы можете использовать Stow в качестве простого менеджера пакетов.
источник
Согласно FHS ,
/usr/local/
используется для приложений, скомпилированных из исходного кода, в то время/opt/
как используется для сторонних приложений, не поддерживаемых поставщиком операционной системы.источник
Две вещи, которые я бы рекомендовал:
Для всей системы: используйте stow и установите в / usr / local / stow / package-version. Тогда вы можете легко переключаться между версиями.
У меня дома или, если у меня нет разрешений на запись / usr / local, я лично устанавливаю программы в ~ / .local, на что намекает стандарт XDG .
Вы также можете использовать Stow локально, хотя я никогда не делал :)
источник
У меня немного другие настройки, чем у большинства людей, потому что я много занимаюсь разработкой. У меня есть каталог / home / jackson / bin /, в который я устанавливаю материал, и я отредактировал свой .bashrc, добавив это:
Я бы так не делал, но это приятно во время разработки.
источник
На самом деле не так сложно создать deb или rpm из исходного архива. Таким образом, вы можете использовать средства диспетчера пакетов вашего дистрибутива для поддержания вашей системы в чистоте. Это то, что я делаю большую часть времени: просто создайте немного оборотов.
источник
если вы компилируете приложение, вы можете добавить его путь к исполняемым файлам в переменную PATH env. это не повлияет на других пользователей.
источник
Всегда есть возможность «положить его туда, где он принадлежит», но сначала нужно написать простой rpm.
источник
Если вы хотите, чтобы ваше приложение было доступно для всех пользователей системы, и у вас есть необходимые разрешения, используйте / opt. Если вы хотите, чтобы приложение было доступно только вам (и пользователю root), используйте / home / username
источник
Самый простой способ сделать это - взять пакет с исходным кодом (
.src.rpm
для RPMites), распаковать его, взломать новый источник / конфигурацию / что угодно в нем, изменить подходящую версию и собрать. Установка этого позволяет вашему менеджеру пакетов узнать о новом пакете, позволяет рассмотреть его на наличие зависимостей и удалить / обновить.Это тяжелая работа в первый раз, но если выйдет новая версия (или какой-то критический патч), тогда будет проще ее обновить. Еще одним преимуществом является то, что вы можете создать свой собственный репозиторий с локальным программным обеспечением, которое будет использоваться, например, компьютерами в лаборатории.
источник
Писать RPM, это не сложно, есть руководство по тому, куда положить вещи и делает удаление оснастки.
Если вы сделаете это, установите файлы под,
/usr
а не под/usr/local
, как и все другие файлы, которые проходят через систему упаковки.источник