3

Я часто нахожу инструкции по сборке так:

./configure
make
make install

в то время как на самом деле мне нужно напечатать

sudo make install

Почему это не указано в инструкции по установке? Или это должно быть настолько общеизвестно, что не стоит упоминать? Или предполагается, что вы вошли в систему как root?

5 ответов5

10

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

9

"sudo" может не потребоваться, если, например, вы уже запустили "su" и ваш сеанс работает с повышенными разрешениями. Это отрицает необходимость запуска sudo. Обычно использование sudo является предпочтительным, но это не единственный способ достичь той же цели.

7

На самом деле вам могут не понадобиться права root для установки данного программного пакета, или у вас может не быть доступа к привилегиям root с помощью sudo или su или другими способами.

Одним из общих параметров скрипта ./configure является --prefix , который изменяет каталог базовой установки с того, что используется по умолчанию. Таким образом, в системе, где у меня вообще нет прав доступа root, я все еще могу установить это программное обеспечение в свой домашний каталог:

./configure --prefix=$HOME
make
make install

Скрипт ./configure имеет множество других опций, некоторые общие для всех, некоторые зависят от конкретного пакета, который вы компилируете. Используйте ./configure --help чтобы увидеть их все.

4

sudo доступно только в определенных дистрибутивах. В других случаях вы должны использовать su чтобы переключиться на пользователя root, запустите команду. Они НЕ предполагают, что вы уже вошли в систему как root, так как вы никогда не должны просто запускать вещи как root. Они предполагают, что вы достаточно знаете о своей системе, чтобы знать, как запустить что-то от имени пользователя root. Довольно часто нужно запускать установки с правами суперпользователя, так что будьте привыкли к тому, как это сделать в вашей системе.

3

Возможно, ваши инструкторы выглядели так. Я видел следующее много раз:

$ ./configure
$ make
# make install

Обратите внимание на знак хеш / фунт. Почти во всех дистрибутивах Linux, которые я использовал, этот знак указывает, что вы находитесь в корневой оболочке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .