Adicionando um arquivo de biblioteca a um arquivo de pacote debian já existente .deb

0

Eu tenho um arquivo de pacote debian (.deb) que não possui uma biblioteca de chaves. Eu não sei detalhes da criação de um pacote Debian. É possível adicionar apenas este arquivo de biblioteca no pacote debian?

    
por simplename 15.09.2016 / 17:52

1 resposta

2

Se a cópia desse arquivo de biblioteca específico no seu sistema instalado funcionar, ele também deve funcionar se você inserir a biblioteca em seu pacote deb privado.

Um arquivo de pacote debian nada mais é do que um arquivo de alguns arquivos, com metadados sobre esses arquivos e alguns scripts (opcionais) que são executados quando os arquivos são copiados no sistema, por exemplo, / .

Digamos que o seu sistema /usr/lib esteja sem a biblioteca ausente, necessary-lib.so

├── usr
│   ├── lib 
│   │   ├── lib1.so
│   │   ├── lib2.so
│   │   ├── <missing lib necessary-lib.so> 
│   │   ├── lib3.so

e copiando o arquivo da biblioteca em /usr/lib/ funcionou.

Depois, você pode extrair o arquivo deb, colocar o arquivo da biblioteca no diretório usr/lib dos arquivos extraídos e empacotá-lo novamente.

Como você injetar a biblioteca

Primeiro faça uma pasta para extrair o arquivo deb

mkdir extracted

Em seguida, extraia seu arquivo deb. Estou assumindo que seu nome é mypackage.deb .

dpkg-deb -R mypackage.deb extracted/

Isso extrairá o pacote na pasta extracted . Haverá uma pasta chamada DEBIAN com algumas outras pastas como aquelas em / . Você deve encontrar uma pasta usr e uma pasta lib . Você copiaria seu arquivo de biblioteca lá.

A teoria é que você copiará o arquivo da biblioteca no mesmo local da pasta extraída, assumindo-o como a raiz do seu sistema. Então, você copia em extracted/usr/lib

cp necessary-lib.so extracted/usr/lib

Agora, reconstrua o pacote deb usando este comando.

dpkg-deb -b extracted

Ele criará um novo arquivo extracted.deb . É o seu novo arquivo deb. Você deve ser capaz de instalá-lo em vários sistemas agora sem ter que copiar o arquivo da biblioteca a cada vez após a instalação.

    
por Anwar 17.09.2016 / 18:13