Existe uma maneira fácil de instalar pacotes com uma grande árvore de dependência, desde que você não tenha acesso de superusuário? Por exemplo, digamos que eu queria instalar o Firefox. O Firefox possui várias dependências, cada uma com suas próprias dependências, etc.
Existe uma opção que eu possa dar ao apt-get para instalá-lo em um diretório pessoal? Ou existe uma maneira de hackear para fazer todo o trabalho pesado para mim?
Respostas:
Você pode instalar arquivos .deb individuais no diretório inicial com:
Mas isso não cuida das dependências como o aptitude ou o apt-get.
fonte
Confira NixOs ( LWN ). Os pacotes são isolados (às vezes a distribuição precisa corrigi-los) e podem ser instalados várias vezes, em versões diferentes ou por usuários diferentes.
O jhbuild pode automatizar um grande processo cmmi. Mas alguém precisa escrever um conjunto de módulos (um gráfico de dependência).
Se você estiver seguindo o processo de configuração / instalação manual, é possível usar o stow para simplificar a instalação de itens em sua casa. O armazenamento é útil para instalar coisas em vários prefixos, mas use apenas um prefixo para a resolução de dependências.
O dpkg pode ser coagido a instalar em um prefixo diferente com instdir / admindir / root, mas isso é útil apenas para ambientes chroot.
fonte
Não compile o Firefox a partir da fonte, apenas instale um pacote binário no diretório inicial.
Este artigo da Mozilla KnowledgeBase explica como fazê-lo. Basicamente, você precisa apenas extrair um tarball e executar um
firefox
arquivo nele; todas as dependências já estão incluídas, assim você não precisa instalar nadaapt
.EDIT: Não, não existe um método genérico, pelo menos porque a maioria dos aplicativos (e principalmente os da GUI) exige que muitos dos dados associados sejam colocados em locais conhecidos como / usr / share, e são codificados permanentemente (bem, ele pode ser configurado em tempo de compilação, mas você não deseja recompilar tudo como disse em questão). Assim, você pode apenas verificar se há pacotes binários pré-compilados que pesquisam recursos no diretório de inicialização e não no sistema.
fonte
Eu acho que a resposta é praticamente "não". Primeiro, o banco de dados do pacote só pode ser acessado pelo root e, em segundo lugar, alguns / muitos pacotes possuem caminhos codificados que tornam impossível realocá-los. Usar um chroot seria uma resposta possível, mas você também precisa de raiz para isso, ou pelo menos alguém com raiz para conceder direitos limitados.
fonte
Eu acredito que você tem que fazer um chroot, então você pode instalar seus pacotes lá.
ref: https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/appendix-chroot.html https://wiki.ubuntu.com/DebootstrapChroot
fonte