cria o arquivo deb final a partir de vários arquivos deb

5

Eu tenho um arquivo deb de pacotes com todas as dependências do arquivo deb.

É possível criar um arquivo final deb (um arquivo) usando todos. Digamos, por exemplo, firefox.deb tem 10 dependências em outro arquivo .deb . Portanto, há uma ordem para instalar todas as dependências e depois firefox.deb . Posso criar um arquivo fullFirefox.deb que mantém automaticamente tudo? Eu não tenho a fonte, apenas os arquivos deb.

    
por shantanu 29.08.2011 / 11:11

1 resposta

6

É possível , mas você provavelmente será executado em vários problemas. Primeiro, cada pacote tem seus próprios scripts e dependências de pré e pós-instalação no arquivo de controle. Mesmo se você fizer um pacote fornecer os pacotes contidos usando o campo Provides , futuras atualizações podem arruinar seu pacote de Deus:

  1. Você instala seu pacote God que fornece muitos pacotes
  2. Um dos pacotes está sendo atualizado, como libpango1.0-0
  3. Se você atualizar esse pacote, seu pacote de Deus será removido. Se houver alguma dependência, o apt-get tem um conflito insolúvel.

Portanto, é melhor não criar um pacote God, mas instalar cada pacote separadamente. Se você precisar instalar o software offline, consulte Como posso instalar software ou pacotes sem a Internet (offline)?

Como criar um pacote de Deus (não recomendado):

  1. Crie um diretório temporário, por exemplo "~ / godpackage" e cd nele
  2. Extraia cada arquivo .deb usando dpkg -x filename.deb .
  3. Extraia os arquivos control, postrm, ..., usando dpkg --control filename.deb tmpdeb . Um novo diretório será criado, denominado tmpdeb . Ajuste os arquivos de controle como mudar o nome para evitar conflitos mais tarde. Quando terminar, mova / mescle o diretório tmpdeb com o diretório DEBIAN (crie, se necessário). Repita isso para cada arquivo deb
  4. Afaste-se do diretório: cd ..
  5. Crie o novo debfile em ~/godpackage e armazene o arquivo .deb recém-criado no diretório atual: dpkg-deb --build ~/godpackage .
por Lekensteyn 29.08.2011 / 11:22

Tags