it-swarm-pt.tech

Como posso instalar um pacote sem acesso root?

Eu tenho sem acesso root nesta máquina.

Eu gostaria de saber se existe uma maneira que eu pode baixar pacotes do Ubuntu e instalá-los como não-root?

Provavelmente no meu ~/bin ou ~/usr/share ou algo assim? Isso funcionaria?

120
Weboide

O Apt não suporta diretamente, mas existem maneiras de fazer isso.

Uma é usar schroot para criar um chroot não-raiz. Este é um pouco processo envolvido , mas você deve poder encontrar ajuda da comunidade para quantos desenvolvedores configurarem ambientes chroot para compilar código.

A segunda maneira que eu sei é instalar a partir de um pacote .deb. Você pode fazer o download de um site ou dos repositórios do Ubuntu com os quais você pode fazer o download.

apt-get download package

Substitua package pelo nome do pacote

Depois de ter seu arquivo deb chamar dpkg diretamente da linha de comando. O exemplo a seguir instalará o package.deb em seu diretório inicial.

dpkg -i package.deb --force-not-root --root=$HOME 

A desvantagem de usar o dpkg como este é que as mensagens de erro provavelmente são enigmáticas; O dpkg não resolve automaticamente as dependências ou cria a estrutura de diretórios esperada.

Finalmente, você pode usar o comando apt-get source para buscar a origem do pacote e configurá-lo para instalar localmente. Geralmente isso parece algo como:

apt-get source package
cd package
./configure --prefix=$HOME
make
make install

A desvantagem dessa abordagem é que você precisa que o ambiente de desenvolvimento disponível para essa abordagem funcione, e você pode se encontrar compilando dezenas de pacotes para resolver todas as dependências.

EDIT:

Como dpkg -i não funciona (veja comentários), sugiro esta alternativa:

dpkg -x package.deb dir

Isso irá extrair o pacote .deb para dir. Então você pode exportar o PATH onde o binário está. Contanto que todas as dependências do binário estejam instaladas, ele deve ser executado normalmente.

103
jbowtie

Eu suponho que você deseja instalar jedit . Primeiro você tem que encontrar o pacote e baixá-lo. Eu apenas peguei o arquivo deb de algum mirror e abri um console/terminal:

  1. mkdir /tmp/jedit && cd /tmp/jedit - Faz um novo diretório em tmp e muda para ele.
  2. wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb - Download do pacote
  3. ar x jedit_4.3.1.dfsg-0ubuntu1_all.deb ou, fácil de digitar, ar x *.deb - extrai o conteúdo do arquivo
  4. tar xvzf data.tar.gz - o arquivo data.tar.gz tem todas as coisas que você precisa para executar o software
  5. usr/bin/jedit abre o editor
  6. feito :-)

Você pode mover os arquivos para algum ponto em seu diretório pessoal e executá-los a partir daí.

16
qbi

Eu escrevi um programa chamado JuJ que basicamente permite ter uma distribuição linux realmente pequena (contendo apenas o gerenciador de pacotes) dentro do diretório $ HOME/.juju.

Ele 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 mínima recomendada 2.6.32.

Por exemplo, depois de instalar o JuJu para instalar o jedit:

$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit
9
user967489