rilascio dello strumento di gestione dei pacchetti (Advanced Package Tool), sviluppato dal progetto Debian. Oltre a Debian e alle distribuzioni ad esso derivate, APT è utilizzato anche in alcune distribuzioni basate sul gestore di pacchetti rpm, come PCLinuxOS e ALT Linux. Il nuovo ramo ha incorporato le modifiche accumulate durante lo sviluppo del ramo sperimentale 1.9.x. La nuova versione sarà disponibile a breve nel ramo Debian Unstable e nel database dei pacchetti (in Ubuntu 19.10 è stato utilizzato il ramo sperimentale 1.9).
Da si possono evidenziare:
- Nei comandi che accettano nomi di pacchetti, è stato aggiunto il supporto . La sintassi dei modelli riprende principalmente lo stile dei modelli di aptitude. Il supporto per le maschere e le espressioni regolari negli argomenti del comando apt è stato rimosso; al loro posto ora si dovrebbero utilizzare i modelli. Ad esempio, per elencare tutti i pacchetti installati manualmente nelle sezioni contenenti le parole libs, perl e python:
apt list '~i !~M (~slibs|~sperl|~spython)'
- Sono stati aggiunti i comandi «apt satisfy» e «apt-get satisfy», che consentono di installare i pacchetti necessari per soddisfare le dipendenze specificate nella stringa passata come argomento. È possibile elencare più stringhe e specificare blocchi «Conflicts:» per escludere le dipendenze. Ad esempio:
apt-get satisfy «foo» «Conflicts: bar» «baz (>> 1.0) | bar (= 2.0), moo»
- È stata aggiunta la possibilità di ancorare un pacchetto con codice attraverso l'aggiunta del prefisso «src:» davanti al nome del pacchetto (, consente di aggiungere pacchetti da altri rami senza aggiornare l'intero sistema, ad esempio, installare pacchetti da testing o unstable in stable). Per ancorare tutti i pacchetti binari raccolti dal pacchetto con codice apt 2.0.0 si può specificare:
Package: src:apt
Pin: version 2.0.0
Pin-Priority: 990 - Nel comando apt è stata implementata l'attesa per lo sblocco di dpkg. Di default, quando avviato da console, l'attesa non è limitata nel tempo, mentre negli altri casi il timeout è di 120 secondi.
- Se apt non riesce a acquisire il blocco, ora viene visualizzato un errore che mostra il nome e il pid del processo che tiene bloccato il file di lock.
- Sono stati aggiunti i comandi merge-translations e bump-abi.
- Per l'hashing crittografico sono state utilizzate le implementazioni MD5, SHA1 e SHA2 dalla libreria libgcrypt.
- È stata potenziata la parallelizzazione dell'avvio dei gestori e dello sfoglio durante l'esecuzione del comando update.
- Le credenziali elencate nel file auth.conf vengono ora trasferite solo durante la connessione HTTPS per evitare perdite nel caso di intercettazione di una connessione HTTP.
- Il requisito per la versione dello standard C++ è stato elevato a C++14.
- In apt-helper è stato aggiunto il supporto per specificare più hash per un singolo file.
- È stata effettuata la fusione della libreria libapt-inst con libapt-pkg.
- Il formato della cache è stato modernizzato, consentendo ora di aggiungere nuove registrazioni senza violare l'ABI. I puntatori nella cache sono ora staticamente tipizzati e non possono essere confrontati con numeri interi (eccetto 0 tramite nullptr).
- È stata effettuata una pulizia dai flag obsoleti e sono stati fusi diversi prototipi di funzioni. Sono state rimosse implementazioni proprie degli algoritmi CRC16, MD5, SHA1 e SHA2.
Fonte: opennet.ru
