2
 sudo yum install automake libtool flex bison pkgconfig gcc-c++ 
     boost-devel libevent-devel zlib-devel python-devel ruby-devel

для установки необходимых пакетов для Thrift на CentOS 5 ..

возможно ли запустить его версию без sudo?

РЕДАКТИРОВАТЬ: У меня нет корневого доступа, и я не в файле sudoers. Я хочу знать, могу ли я сделать что-то вроде yum install automake ....... не дожидаясь и не прося добавить меня в файл sudoers

5 ответов5

2

Да, это возможно, но не без корневого доступа. Команда sudo не потребуется, если у вас достаточно прав для доступа к тому, что нужно вашей полной команде.

Например, если вы вошли в систему как root. Или сначала станьте суперпользователем, введя команду:

su 

Это на самом деле потребует пароль root. Ни то, ни другое не рекомендуется. Лучше всего использовать систему с наименьшими необходимыми привилегиями и использовать sudo, когда это необходимо, так же, как ваша полная команда уже делает.

Для установки чего-либо важного (инструменты разработчика) почти всегда требуется доступ к папкам вне вашей домашней папки ~/

* Это относится ко всем дистрибутивам Linux, а не только к CentOS, который вы используете.

2

Никогда не пытался сделать что-то подобное сам, но пакеты afaik rpm (по крайней мере, правильно упакованные) поддерживают перемещение. Но для того, чтобы установить пакеты без root-доступа, необходимо выполнить несколько шагов.

Следующее взято из linuxquestions.org:

Настройка частной базы данных RPM

mkdir -p /home/username/local/lib/rpm
rpm --initdb --root /home/username/local --dbpath /home/username/local/lib/rpm

Если вам не нравится ~/local/lib/rpm, вы можете выбрать другую структуру подкаталога.

Проверьте наличие пакетов

rpm -ivh package.rpm

Если обнаружены зависимости, установите зависимые RPM перед установкой RPM пакета.

Наконец, установите пакет

rpm --root /home/username/local --dbpath /home/username/local/lib/rpm \
--relocate /usr=/home/username/local --nodeps -ivh package.rpm

Чтобы использовать пакет, вам придется поиграться с LD_LIBRARY_PATH, чтобы сообщить загрузчику, где находятся необходимые общие библиотеки, и изменить ваш PATH, включив в него все необходимые сценарии и исполняемые файлы.


1

sudo предоставляет полномочия root для команды, если текущему пользователю разрешено использовать sudo .

Если у вас уже есть root-доступ, нет причин ставить его перед командой, кроме ведения журнала. Просто удалите sudo если у вас нет sudo установленного и уже работающего от имени root:

yum install automake libtool flex bison pkgconfig gcc-c++ 
     boost-devel libevent-devel zlib-devel python-devel ruby-devel

Если вы еще не являетесь пользователем root и для учетной записи root задан пароль, запустите su и используйте свой пароль root для входа в систему.

0

Команда Sudo используется для предоставления одной операции в аутентификации суперпользователя. Если вы хотите пропустить команду sudo, вы должны войти в систему как суперпользователь с помощью команды "su".

0

Это. Предполагая, что вы удалили эту строку установки с какого-либо веб-сайта, принято включать строку sudo на тот случай, если пользователь сам этого не сделал. Однако в любом случае это, как правило, хорошая идея, потому что предоставление программе, которой вы доверяете, root-доступа позволяет ей вносить необходимые изменения на глобальном уровне.

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