Есть ли Ubuntu, эквивалентный системе портов BSD? Я понимаю, что культура Linux и Ubuntu имеет тенденцию устанавливать новое программное обеспечение из двоичных файлов, но, использовав порты BSD в BSD и Mac OS XI, я нахожу это очень простым и элегантным, и идея компиляции из исходного кода по требованию со всеми зависимостями выяснена для Вы очень сильны.
Большинство дистрибутивов Linux, включая Ubuntu, распространяют пакеты в виде двоичных файлов. Если у вас нет особых потребностей, IMO, здание из источника переоценено.
IMO, если вы хотите скомпилировать из исходного кода, вам лучше использовать LFS или Gentoo .
Конечно, вы можете достичь того же с Ubuntu, собирая из исходного кода. Вам следует избегать установки пакетов вне apt, насколько это возможно.
здесь хороший обзор того, почему (fedora wiki).
Итак, что вы будете делать в Ubuntu, это загрузить исходный код из репозиториев Ubuntu, внести любые необходимые изменения, собрать пакет и установить его с помощью apt (dpkg). Это плохо поддерживается, и, как и в случае с LFS и Gentoo, вам придется немного почитать.
Документация немного разбросана.
Необходимо включить исходные репозитории для загрузки исходного кода.
Подробнее см. В Ubuntu wiki репозитории .
apt-build будет собираться из исходного кода и, вероятно, является лучшим способом достижения того, что вы хотите в Ubuntu или Debian (или Mint ...)
sudo apt-get install apt-build auto-apt
Сконфигурируйте ваши параметры
dpkg-reconfigure apt-build
Вы, вероятно, захотите использовать -jx, где x = число ЦП +1
Чтобы предотвратить перезапись ваших скомпилированных пакетов / библиотек, поместите эти параметры в [ 115]
Package: *
Pin: release o=apt-build
Pin-Priority: 990
Build
apt-build install <package>
см. man apt-build
apt-get загрузит исходный код и установит зависимости (двоичные файлы)
# build-deb installs the dependencies (binary)
sudo apt-get build-dep <package>
apt-get source <package>
Затем вы можете собрать и упаковать любое количество инструментов.
См .:
На странице компиляции ядра есть больше деталей и альтернативных опций (fakeroot,
Это должно помочь вам начать;)