Existem maneiras de instalar o rpms em um diretório de usuários usando rpm
, mas não acredito que seja direto. Não acredito que exista uma maneira de fazê-lo yum
.
Minha prática padrão tornou-se compilar da fonte para um local
diretório em minha casa
$ mkdir ~/local
$ mkdir ~/local/bin
$ mkdir ~/local/lib
$ mkdir ~/local/include
Eu faço o download da fonte como faria /usr/local
quando tenho raiz, por exemplo, no ~/local/git
.
Ao compilar, defino o prefixo no local
diretório
$ configure --prefix=/home/user_name/local
$ make
$ make install
Em seguida, adiciono ~/local/bin
ao meu $ PATH no .bash_profile
.
Obviamente, o problema de instalar a partir do código-fonte é que você não obtém resolução de dependência automática. Se você achar que precisa instalar dependências, compile e instale-as como acima. Então, quando você compila git
, é necessário atualizar os sinalizadores de compilação para que eles procurem no local correto as bibliotecas da dependência e incluam arquivos:
./configure --prefix=/home/user_name/local LDFLAG='-L/home/user_name/local/lib' CFLAGS='-I/home/user_name/local/include' CPPFLAGS='-I/home/user_name/local/include' CXXFLAGS='-I/home/user_name/local/include'
Um arquivo .rpm é na verdade uma forma de
cpio
arquivamento, que é muito parecida com uma forma simples detar
. Orpm2cpio
utilitário provavelmente está instalado no sistema e não requer privilégios para uso; ele grava em padrão, para converter:Há um
man cpio
você pode olhar para si mesmo, mas o que agora quero fazer é alimentar o arquivo para cpio em "cópia em" modo:Muito provavelmente, o material está organizado em uma árvore de diretórios para que os arquivos entrem em locais apropriados (bin, etc, etc.). Se não existirem no seu pwd, você receberá um erro, mas isso listará os arquivos no arquivo morto (você pode obter o mesmo com a opção
-t
/--list
). Se você deseja criar os diretórios automaticamente, use-d
. Portanto, uma maneira rápida de descompactar uma rpm:Você pode usar isso para instalar no $ HOME. O único problema será se o programa espera encontrar coisas
/etc
, etc., pois muitas coisas têm seu local de instalação codificado para qualquer finalidade quando são compilados.Construir a partir da origem é provavelmente uma opção melhor (já que você pode fornecer o local correto), mas se você conseguir que isso funcione em qualquer caso, será rápido e simples.
Além disso, o navegador de arquivos do comandante da meia-noite (
mc
), e provavelmente outros navegadores de arquivos, permitirão que você navegue em uma hierarquia rpm ou cpio (ou tar compactado ou zip) e copie arquivos individuais como se o archive fosse descompactado (cria um arquivo sistema de arquivos temporário para navegar com o conteúdo do arquivo).fonte
Esta é uma alternativa (sem usar o yum) e a permissão será maluca, mas você poderá
chown
posteriormente para o usuário alvo: - também é um acerto ou um erro :-(Em seguida, adicione os locais apropriados ao seu caminho.
fonte