Использование Yum для установки пакетов только для моего пользователя

26004
Olivier Tremblay

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

Есть ли способ, которым я могу сделать это?

20

2 ответа на вопрос

11
Ignacio Vazquez-Abrams

Не используя ням. Однако вы можете использовать их yumdownloader, а затем пропустить пакеты rpm2cpio ... | cpio -id, чтобы извлечь их содержимое, а затем поместить файлы в соответствующие места.

9
Mikel

Как указывает Игнасио, вы можете использовать yumdownloader.

Но для второго шага

rpm -ivh --relocate /usr=/home/username/usr --relocate /etc=/home/username/etc 

или же

rpm -ivh --relocate /=/home/username/progname 

наверное проще.

Если в RPM есть какие-либо сценарии, предполагающие, что они выполняются от имени пользователя root, вам также может понадобиться добавить эту --noscriptsопцию.

Плюс вы можете добавить --aidопцию для разрешения зависимостей.

Еще одна полезная опция в этом случае - --rootизбегать rpm для записи в /varpath (так как вы не root), поэтому команда будет выглядеть примерно так:

rpm -ivh --relocate /=/home/username/progname --root /home/username/progname 
Обратите внимание на следующее [руководство от Fedora] (http://fedoraproject.org/wiki/Packaging:Guidelines#Relocatable_packages): «Настоятельно не рекомендуется использовать средства RPM для создания перемещаемых пакетов. Трудно заставить работать должным образом Его невозможно использовать из установщика или из yum, и, как правило, не нужно, если соблюдаются другие рекомендации по упаковке. Однако в маловероятном случае, если у вас есть веская причина для перемещения пакета, вы ДОЛЖНЫ указать это намерение и обоснование в запросе. для обзора пакета. Cristian Ciupitu 10 лет назад 1
Ну, хорошо, хорошо. Первый вариант с relocate не сработал, потому что ему нужен доступ к / var от имени root. Второй вариант не сработал, потому что, кажется, для этого вам нужен root-доступ. Я получаю следующее сообщение об ошибке: ошибка: невозможно изменить корневой каталог: операция не разрешена Sylvain 8 лет назад 0

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