Я вошел как обычный пользователь. Мне следует использовать:
./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, в вашем каталоге обычного пользователя.