1 ottobre 2016

Modificare dipendenze di un file DEB: Esempio pratico con TeamViewer su Ubuntu 16.10


Nella vita di ogni pinguino può capitare di incontrare un file DEB di un programma di terze parti che non si riesce ad installare perché manca qualche dipendenza o perché nella propria distro la suddetta dipendenza ha un altro nome in quanto variata.
In questi giorni mi è capitato di non riuscire ad installare TeamViewer 11.0.57095 su Ubuntu 16.10 perché mi veniva segnalata una dipendenza non soddisfatta e precisamente libpng12-0


Andando a controllare nel sistema mi sono accorto che la libreria libpng12-0 non è più presente nei repository di Ubuntu 16.10 in quanto è stata sostituita dalla versione libpng16-16
Mi sono posto dunque il problema di come fare a indicare a TeamViewer di usare la nuova versione anziché la vecchia.
Siccome a me serviva installare TeamViewer in quel momento e non potevo aspettare una nuova release di TeamViewer compatibile con Ubuntu 16.10 mi sono messo all'opera per fixare il problema.

La procedura è abbastanza semplice. Come prima cosa andiamo a creare una nuova cartella, io l'ho chiamata teamviewer_mod ma voi potete mettere il nome che preferite.
Una volta fatto andiamo ad estrarre il pacchetto DEB nella cartella appena creata.


All'interno della sotto cartella troveremo una sotto cartella chiamata DEBIAN che al suo interno contiene un file chiamato control
Apriamo il file control con un editor di testo e andiamo a cercare la dipendenza che vogliamo sostituire. Nel nostro caso dobbiamo sostituire libpng12-0


con libpng16-16



e salviamo il tutto.

Bene, ora non ci resta altro da fare che generare il nuovo file DEB che conterrà al suo interno le modifiche che abbiamo fatto.

Da terminale posizioniamoci nella directory che contiene la nostra cartella e diamo il comando

dpkg -b nomecartella

Nel mio caso sarà dunque

dpkg -b teamviewer_mod

e diamo invio. Verrà ora generato il nuovo file DEB. Potrebbe volerci un po', il tempo dipende dalla vostra macchina.


Una volta terminata la procedura troveremo nella directory dove stavamo operando il nuovo file DEB. Procediamo ora con l'installazione e verifichiamo se il tutto funziona correttamente


Nessun commento:

Posta un commento

Licenza
Licenza Creative Commons

Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Unported. Questo blog non rappresenta una testata giornalistica, in quanto viene aggiornato senza alcuna periodicità. Non può, pertanto, considerarsi un prodotto editoriale, ai sensi della legge n. 62 del 7/03/2001

Disclaimer immagini

Le immagini utilizzate in questo blog appartengono ai loro rispettivi autori e sono utilizzati per scopi educativi, personali e senza scopo di lucro. Ogni eventuale violazione del copyright non è intenzionale, ma se si riconosce un'immagine protetta da copyright, fatemelo sapere qui, e sarò lieto di aggiungere i credits o modificarla o rimuoverla.

Disclaimer images

Images used on this blog belong to their respective authors and are used for educational, personal and no profit purposes. Any eventual copyright infringement is not intentional, but if you recognize a copyrighted image, please let me know here, and I'll happily provide to add the right credits or modify or remove it.