Alterando o diretório de instalação de um pacote com o gerenciador de pacotes Apper ou o Software Center?

0

É possível alterar o diretório de instalação de um pacote específico e suas dependências com um gerenciador de pacotes, como o Apper ou o Centro de Software?

Além de modificar o arquivo .deb após verificação de hash ou criar links simbólicos, ele também precisa definir as permissões apropriadas (ou solicitar ao usuário uma GUI para configurá-las) e levar em conta o pacote de localização diferente ao atualizar pacotes incluindo mostrando um diálogo quando outros pacotes têm dependências que não residem no local padrão.

A instalação em locais separados parece ser necessária devido à falta de recursos de sandbox.

Como as pessoas costumam fazer isso, se não através de gerenciadores de pacotes?

    
por mYnDstrEAm 29.08.2017 / 15:44

1 resposta

1

Isso não é realmente suportado pelo gerenciador de pacotes - eles localizam tudo em / e o pacote pode colocar arquivos em qualquer lugar no seu sistema de arquivos - não há aplicação real além do que os mantenedores do pacote aceitarão (normalmente seguindo os padrões de onde os arquivos devem ser colocados).

Você tem algumas opções - compile o pacote você mesmo, então, normalmente, você escolhe o local a ser instalado, geralmente especificando PREFIX ou DESTDIR , mas isso depende inteiramente do que você está tentando instalar e como é criado .

Outra opção é usar chroots com um sistema mínimo que você pode colocar em qualquer lugar. Esta desvantagem é que este é basicamente um sistema separado dentro do seu sistema principal que tem que ser gerenciado separadamente (ou seja, você tem que ter o apt / yum ou o que estiver instalado dentro do chroot e atualizar o aplicativo de dentro do chroot.

Agora, dependendo do que você está realmente tentando fazer, você tem algumas outras opções.

  1. Docker - se o seu aplicativo for baseado em cli, você pode executá-lo em um ambiente isolado usando o docker - então você pode ter tantas versões diferentes do aplicativo em execução de uma vez todas isoladas umas das outras.

  2. Um sistema de agregação como flatpak ou snap que funcionam por pacotes de aplicativos em pacotes com todas as suas dependências, permitindo que você instale várias versões de coisas ao lado umas das outras (como o modo como o OS X lida com aplicativos).

Ambas são basicamente soluções de sandbox que soam mais como o que você procura.

    
por 30.08.2017 / 02:36