Como posso instalar um pacote sem acesso root?

96

Não tenho acesso root nesta máquina.

Gostaria de saber se existe uma maneira pela qual eu possa baixar os pacotes do Ubuntu e instalá-los como não-raiz?

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

    
por Weboide 29.07.2010 / 13:17

3 respostas

90

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

Um é usar schroot para criar um chroot não-raiz. Este é um pouco processo envolvido , mas você deve 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

Uma vez que você tenha o seu arquivo deb, chame dpkg diretamente da linha de comando. O exemplo a seguir instalará o package.deb em seu diretório pessoal.

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 que espera.

Por fim, 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 desta 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.

EDITAR:

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

dpkg -x package.deb dir

Isto 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.

    
por jbowtie 29.07.2010 / 13:56
14

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

  1. mkdir /tmp/jedit && cd /tmp/jedit - Cria um novo diretory 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 - isso 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. concluído: -)

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

    
por qbi 29.07.2010 / 13:32
8

Eu escrevi um programa chamado JuJu que basicamente permite ter uma distribuição linux realmente pequena (contendo apenas o gerenciador de pacotes) dentro do seu Diretório $ HOME / .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 mínima recomendada 2.6.32.

Por exemplo, após o JuJu instalado para instalar o jedit:

$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit
    
por user967489 02.11.2014 / 19:17