Instalando o software no Linux sem privilégios de root

6

No meu local de trabalho, tenho uma conta de usuário comum nas máquinas RedHat e Suse. Eu não tenho privilégios de root.

Como posso instalar software que eu baixo da internet (de fontes ou binários)?

Por exemplo, agora quero instalar o Geany IDE para uso próprio. Eu tentei baixar fontes e compilar e tentei instalar o RPM, mas não um desses trabalhos porque requer a raiz.

    
por Igor Oks 22.05.2009 / 16:19

7 respostas

11

Você pode instalar o software em seu próprio diretório pessoal. Se você se sentir confortável compilando a partir do código-fonte, e o pacote usar o automake, então você pode usar a seguinte opção no configure:

--prefix=$HOME/install

ou qualquer outra coisa. Da mesma forma, o rpm tem uma opção de prefixo também. No entanto, isso só funciona se o rpm foi construído para ser relocável.

    
por 22.05.2009 / 16:24
7

Eu uso JuJu que basicamente permite ter uma distribuição linux realmente pequena (contendo apenas o gerenciador de pacotes) dentro do seu $ HOME / diretório .juju.

Permite ter seu sistema customizado dentro do diretório home acessível via proot e, portanto, você pode instalar quaisquer pacotes sem privilégios de root. Ele será executado corretamente para todas as principais distribuições de Linux, a única limitação é que o JuJu pode rodar no kernel do linux com a versão 2.6.32 recomendada.

Por exemplo, após instalar o JuJu para instalar o pip, basta digitar o seguinte:

$>juju -f
(juju)$> pacman -S python-pip
(juju)> pip
    
por 02.11.2014 / 19:29
5

Na maioria das vezes, você pode passar PREFIX para configurar para instalá-lo em seu diretório pessoal:

./configure --prefix=/home/ioks/bin

Isso pode contornar os problemas de permissões.

    
por 22.05.2009 / 16:22
3

Aqui está um documento muito bom explicando o uso não-raiz do RPM:

"Você foi informado de que trabalhar com RPMs requer privilégios de administrador do sistema? Você foi enganado."

link

    
por 02.04.2010 / 09:25
2

Se você quiser instalá-lo no local padrão (/ usr / bin, etc), a resposta curta é que você não o fará, a menos que o administrador do sistema configure algo especial para permitir que você o faça.

Se você estiver compilando a partir do código-fonte, a maioria dos pacotes possui uma opção --prefix que permitirá que você defina um destino de instalação não padrão. Isso permite que você instale coisas em seu diretório pessoal, incluindo bibliotecas que você pode usar para outros pacotes de software.

    
por 22.05.2009 / 16:23
0

Hmmm. Não que isso seja algo provável que um usuário poderia fazer, mas gostaria de saber se pode haver sistemas de arquivos "overlay" por usuário (union-fs, etc) que sobreponham os diretórios de instalação do sistema "padrão" e, assim, permitir usuários desprivilegiados para instalar software nos lugares 'normais'.

Você também pode usar um sistema de arquivos global union-fs para separar o SW não-padrão instalado pelo administrador (que geralmente fica em / usr / local / * em muitos sistemas) dos pacotes de distribuição. (Talvez também para separar as atualizações também, e até mesmo permitir "reversão" ala XP System Restore).

Hmmm

    
por 22.05.2009 / 17:55
0

Estou tendo o mesmo problema que você. Eu não tentei ainda, mas parece que Linuxbrew pode ser útil sobre esta questão.

    
por 19.02.2017 / 17:27