Необходимо использовать sudo -s для команды make в зависимости от версии Ubuntu

У нас есть Makefile для компиляции драйвера сетевого интерфейса. При вызове Makefile в установке Ubuntu 9.04 нам нужно вызывать просто 'make'. Однако при вызове Makefile в установке Ubuntu 10.04 нам нужно вызвать 'sudo -s make'.

В Ubuntu 9.04, если мы называем sudo -s make, компиляция завершается неудачно. И в Ubuntu 10.04, если мы вызываем 'make', компиляция также завершается неудачей.

Хотя компиляция может быть выполнена в обеих версиях Ubuntu, выпуская или не выпуская бит 'sudo -s', мы хотели бы иметь один скрипт .sh, который успешно вызывает Makefile независимо от того, какая версия Ubuntu это продолжается. Существуют ли какие-либо различия в способе обращения с sudo-s в 9.04 по сравнению с 10.04? И если таковые имеются, каково лучшее решение для обеспечения того, чтобы обе версии учитывались в одном скрипте .sh при вызове make?

0
задан 8 March 2012 в 03:44

1 ответ

Команда make должна компилировать исходный код. Это задача, которая не должна требовать каких-либо административных привилегий. Для общесистемной установки необходимы права суперпользователя. В вашем случае это означает, что make-файл неверен. Я не знаю, что он делает, но он не должен этого делать, так как для этого требуются права суперпользователя.

Рассмотрим следующий сценарий: пользователь хочет установить программное обеспечение. Он / она запускает

./configure --prefix=/home/joe/bin/usr && make && make install

Команда make не должна требовать root-доступа, это позволит избежать любого пользователя, устанавливающего вашу программу. Вы упоминаете, что это сетевой драйвер, который обычно не требуется для пользователей без полномочий root, в любом случае, вам следует исправить свою сборку.

0
ответ дан 8 March 2012 в 03:44

Другие вопросы по тегам:

Похожие вопросы: