Não tenho acesso root nesta máquina.
Gostaria de saber se existe uma maneira de baixar pacotes do Ubuntu e instalá-los como não raiz?
Provavelmente em minha ~/bin
ou ~/usr/share
ou algo parecido? Isso funcionaria?
Não tenho acesso root nesta máquina.
Gostaria de saber se existe uma maneira de baixar pacotes do Ubuntu e instalá-los como não raiz?
Provavelmente em minha ~/bin
ou ~/usr/share
ou algo parecido? Isso funcionaria?
Respostas:
O Apt não o suporta diretamente, mas existem maneiras de fazê-lo.
Uma é usar schroot
para criar um chroot não raiz. Esse é um processo um pouco complicado , mas você deve encontrar ajuda da comunidade para tantos desenvolvedores que configuram ambientes chroot para compilar código.
A segunda maneira que conheço é instalar a partir de um pacote .deb. Você pode fazer o download disso em um site ou, se estiver nos repositórios do Ubuntu, pode fazer o download.
apt-get download package
Substitua package
pelo nome do pacote
Depois de ter seu arquivo deb chamado dpkg
diretamente da linha de comando. O exemplo a seguir instalará o package.deb no diretório inicial.
dpkg -i package.deb --force-not-root --root=$HOME
A desvantagem de usar o dpkg assim é que as mensagens de erro provavelmente serão enigmáticas; O dpkg não resolve dependências automaticamente nem cria a estrutura de diretórios que espera.
Por fim, você pode usar o apt-get source
comando para buscar a fonte do pacote e configurá-lo para instalar localmente. Normalmente, isso se parece com:
apt-get source package
cd package
./configure --prefix=$HOME
make
make install
A desvantagem dessa abordagem é que você precisa do ambiente de desenvolvimento disponível para que essa abordagem funcione e você pode se compilar dezenas de pacotes para resolver todas as dependências.
EDITAR:
Como dpkg -i
não funciona (ver comentários), sugiro esta alternativa:
dpkg -x package.deb dir
Isso extrairá o pacote .deb para dir. Em seguida, você pode exportar o CAMINHO onde está o binário. Desde que todas as dependências do binário estejam instaladas, ele deve funcionar normalmente.
sudo apt-get build-dep package
instalar tudo o que é necessário para criar um pacote (depois de obter sua fonte apt-get source
).
--force-not-root --root=$HOME
ou variações não funcionarão. Pacotes binários Debian não foram projetados para serem instalados no diretório home, período. Ou, em outras palavras, "O exemplo a seguir instalará o package.deb no seu diretório pessoal." Não, não vai.
--force-not-root --root=/your/custom/path
Presumo que você deseja instalar o jedit . Primeiro você precisa encontrar o pacote e fazer o download. Eu apenas pego o arquivo deb de algum espelho e abro um console / terminal:
mkdir /tmp/jedit && cd /tmp/jedit
- Cria um novo diretório tmp
e muda para ele.wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb
- Baixar pacotear x jedit_4.3.1.dfsg-0ubuntu1_all.deb
ou, fácil de digitar, ar x *.deb
- extrai o conteúdo do arquivotar xvzf data.tar.gz
- o arquivo data.tar.gz
tem todo o material necessário para executar o softwareusr/bin/jedit
abre o editorVocê pode mover os arquivos para algum ponto do diretório inicial e executá-los a partir daí.
Eu escrevi um programa chamado JuJu que basicamente permite ter uma distribuição linux realmente minúscula (contendo apenas o gerenciador de pacotes) dentro do diretório $ HOME / .juju.
Ele permite que seu sistema personalizado dentro do diretório inicial seja acessível via proot e, portanto, você pode instalar qualquer pacote sem privilégios de root. Ele funcionará corretamente em todas as principais distribuições do Linux, a única limitação é que o JuJu pode ser executado 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