Primesc o listă de .deb
dintr-un serviciu (pe care nu-l controlez) și vreau să le instalez sau să le fac upgrade automat în bloc folosind un script/serviciu.
Lista conține pachetele și dependențele acestora, dar, din păcate, nu este întotdeauna în ordine.
Am incercat sa folosesc dpkg -i
plus parametrii de configurare automată, cu sau fără --forța-depinde
dar eșuează imediat, când începe procesul de decomprimare, deoarece dependențele nu sunt deja instalate sau configurate chiar dacă sunt în listă.
Apoi am încercat să folosesc apt-get
care instalează o parte din pachete dar pentru celelalte revine 0
așa cum există starea comenzii, dar nu face nimic.
Pachetele pe care le primesc din listă pot exista sau nu pe mașină (există mai multe mașini diferite), nu am aceste informații, așa că este instalarea sau actualizarea.
Ex:
apt-get (sau apt) instalează /local/pkg1_amd64.deb /local/pkg2_amd64.deb /local/pkg3_amd64.deb /local/pkg4_amd64.deb ....
Citirea listelor de pachete... Gata
Construirea arborelui de dependență
Citirea informațiilor despre stare... Gata
0 actualizate, 0 instalate nou, 0 de eliminat și 34 neactualizate.
Se pare că acest tip de comportament se întâmplă de obicei cu pachetele care trebuie actualizate.
Am încercat argumente diferite (cum ar fi -f, -y, --reinstall etc), același rezultat, adăugați opțiunea de depanare pentru a obține mai multe detalii, rezultatul nu se schimbă.
Ținând cont că am nici un control asupra ordinii pachetelor în lista primită, iar eu poate rula comenzi doar printr-un script/serviciu pe o mașină, ce opțiuni am pentru a rezolva această problemă.