Usando o Yum para instalar pacotes somente para meu usuário

23

Eu gostaria de poder instalar pacotes usando um gerenciador de pacotes (o Yum está disponível no meu servidor), mas não tenho acesso root. Tecnicamente, não preciso de acesso root, apenas quero que os pacotes sejam instalados no meu diretório pessoal.

Existe alguma maneira de fazer isso?

Olivier Tremblay
fonte

Respostas:

9

Como Ignacio aponta, você pode usar yumdownloader.

Mas para o segundo passo

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

ou

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

provavelmente é mais fácil.

Se o RPM tiver algum script que suponha que esteja sendo executado como raiz, também será necessário adicionar a --noscriptsopção

Além disso, você pode adicionar a --aidopção para resolver dependências.

Ainda outras opções úteis nesse caso são --rootevitar o rpm para gravar no /varcaminho (já que você não é root), portanto o comando será algo como:

rpm -ivh --relocate /=/home/username/progname --root /home/username/progname
Mikel
fonte
11
Por favor, observe a seguinte diretriz do Fedora : "O uso do recurso do RPM para gerar pacotes relocáveis ​​é fortemente desencorajado. É difícil fazer o trabalho corretamente, impossível de usar pelo instalador ou pelo yum, e geralmente não é necessário se outras diretrizes de empacotamento No entanto, no caso improvável de você ter um bom motivo para tornar um pacote realocável, DEVE declarar essa intenção e raciocínio no pedido de revisão do pacote. ".
Cristian Ciupitu 21/10
Bem, bem, bem. A primeira opção com realocação não funcionou, porque precisa acessar / var como raiz. A segunda opção não funcionou porque parece que você precisa de acesso root para fazer isso. A seguinte mensagem de erro é exibida: erro: Não é possível alterar o diretório raiz: Operação não permitida
Sylvain
11

Não estou usando yum. No entanto, você pode usar yumdownloadere, em seguida, colocar os pacotes rpm2cpio ... | cpio -idpara extrair seu conteúdo e colocar os arquivos nos locais apropriados.

Ignacio Vazquez-Abrams
fonte