От rpm
страница справочника:
--prefix NEWPATH
For relocatable binary packages, translate all file paths that
start with the installation prefix in the package relocation
hint(s) to NEWPATH.
--relocate OLDPATH=NEWPATH
For relocatable binary packages, translate all file paths that
start with OLDPATH in the package relocation hint(s) to NEWPATH.
This option can be used repeatedly if several OLDPATH's in the
package are to be relocated.
Существует опция тайм-аута, которой предоставляют sudo.
/etc/sudoers:
Defaults:username timestamp_timeout=time_in_minutes
Если Вы хотите сохранить корневые права, просто запустить Ваш сценарий как корень. Я соглашаюсь, это не оптимально, но это на самом деле, что Вы уже делаете.
Вместо этого я сгруппировал бы весь материал, который может быть сделан без полномочия пользователя root вместе и тех запрашивающих полномочие пользователя root вместе и запустить их в два отдельных раза... Это - то, что обычно делается:
./configure
make
sudo make install
BTW, если Ваш находятся на поле с Xorg, Вы могли бы использовать gksudo вместо sudo. Но снова, прокладывание под землей "sudo" s в сценарии не является хорошей практикой.
Что Вы просите выполнимые звуки, объединяясь -A
опция sudo
и программа gnome-keyring-query
.
В основном, если Вы используете опцию -A
, вместо того, чтобы читать пароль из stdin, sudo
читает пароль из внешней программы, которую можно указать с SUDO_ASKPASS
переменная среды.
Эта внешняя программа могла быть gnome-keyring-query
, инструмент командной строки для хранения/получения паролей от gnome-keyring
. Вот справка gnome-keyring-query
:
Usage:
gnome-keyring-query <mode> <name>
Parameters:
mode - either 'get' or 'set' (without quotes)
name - a name to identify the key
Notes:
If mode is 'get', then the password is dumped to stdout.
If mode is 'set', then the password is read from stdin.
Вот то, как можно продолжить двигаться (я просто попробовал, это работает).
gnome-keyring-query get sudo
export SUDO_ASKPASS=/usr/bin/sudo_askpass
sudo -A
вместо sudo.Однако знайте, что, если Вы сохраняете свой пароль в брелоке для ключей и оставляете этот брелок для ключей открытым, любой может считать Ваш sudo пароль очень легко, или использующий это инструментальное средство формирования запросов брелока для ключей гнома, или просто путем запуска морского конька. Так будьте очень осторожны.
Я использую пароль для предоставления пароля моим командам sudo. Если вы хотите сделать то же самое:
Сохраните следующий скрипт как~/.local/bin/sudo-askpass
#!/bin/bash
pass show hosts/$(whoami)@$(hostname) | head -n1
Псевдоним с sudo
по sudo --askpass
в rc-файле оболочки
# bashrc or zshrc
export SUDO_ASKPASS=sudo-askpass
alias sudo='sudo --askpass'
Сохраните пароль с помощьюpass edit hosts/$(whoami)@$(hostname)
gksudo
, но после того, как я изменил дистрибутив на Fedoragksudo
больше не было доступно. Я соглашаюсь, лучшее решение состояло бы в том, чтобы собрать в группу вещи, чтобы смочь работатьsudo make install
. Но система сборки, я продолжаю работать, довольно сложна и существует группа людей, уже использующая ее, таким образом, переписыванием не является действительно выполнимый ATM. Но способность сохранить пароль с помощью некоторого брелока для ключей походила на "достаточно хорошее" решение меня. Знание, что sudo является не зная брелоками для ключей, является достаточно хорошим ответом для меня ATM. – Kotte 10.01.2013, 13:04