Правильный способ сборки из исходников

Правильный способ сборки из исходников

Я вошел как обычный пользователь. Мне следует использовать:

./configure && make && make install

или

sudo ./configure && sudo make && sudo make install

или

./configure && make && sudo make install

при установке пакетов.

И может ли кто-нибудь объяснить разницу?

Я хочу, чтобы все пользователи могли им пользоваться.

решение1

Ваша третья версия верна ./configure && make && sudo make install. Сборку и настройку можно выполнить от имени обычного пользователя, поскольку вы не пытаетесь записывать файлы в системный каталог, make installчасто будут пытаться скопировать двоичные файлы в /usr/bin или /bin, для записи которых требуются права root.

решение2

Вам нужна последняя версия:

./configure && make && sudo make install

Конфигурация и сборка могут происходить в вашей локальной папке, но для установки вам понадобятся права root. Эта команда выполняет это.

Убедитесь, что устанавливаемое вами приложение еще не находится в менеджере пакетов. Обычно гораздо проще использовать предварительно скомпилированное программное обеспечение для вашей системы, чем пытаться найти все зависимости для компиляции чего-либо.

решение3

Вам следует использовать наименьшие привилегии, которые работают. Обычно это:

./configure && make && sudo make install

решение4

&& анализируются вашей оригинальной оболочкой. Размещение одного sudo в начале влияет только на конфигурацию. Последний вариант имеет наибольший смысл, поскольку он настроит и скомпилирует как обычный пользователь, а затем установит результаты для использования всеми.

Одно предостережение заключается в том, что некоторые скрипты конфигурации определят, что они запущены как не-root пользователи, и создадут makefiles, которые устанавливаются в $HOME или что-то подобное. В этом случае вам также понадобится 'sudo ./configure'. Если вы запустите configure или make как root, то у вас возникнет досада от некоторых файлов, принадлежащих root, в вашем каталоге обычного пользователя.

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