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.