A fost format un release al instrumentului pentru gestionarea pachetelor APT 3.0.0 (Advanced Package Tool), care include modificările acumulate în ramura experimentală 2.9. Noul release a fost acceptat în ramura Debian Unstable și va fi integrat în curând în repository-ul Debian Testing, care dezvoltă release-ul Debian 13 și utilizează deja ramura experimentală APT 2.9, precum și va fi adăugat în baza de date a pachetelor Ubuntu.
Printre cele mai importante schimbări:
- Interfața utilizatorului a fost reproiectată, oferind o afișare mai clară a listei de dependențe necesare pentru descărcare în timpul instalării pachetului. Dacă anterior numele pachetelor cu dependențe erau afișate într-o listă continuă, acum acestea sunt împărțite pe coloane în stilul utilitarului „ls -C”, iar diferitele blocuri de iesire sunt evidențiate prin culori specifice (de exemplu, pachetele care sunt șterse sunt evidențiate cu roșu, iar cele care sunt instalate cu verde). A fost eliminată menționarea duplicată a pachetelor suplimentare și noi (secțiunile „NEW packages” și „additional packages” au fost unite). Pentru gestionarea colorării, au fost adăugate setări „APT::Color::*” și „APT::Configuration::color”, precum și opțiuni „—color” și „—no-color”.

- A fost implementată împărțirea automată pe pagini pentru ieșirea comenzilor „show”, „policy”, „list”, „search” și „showsrc”. Împărțirea pe pagini este activată prin setarea Binary::apt::Pager, iar aplicația pentru împărțirea paginilor este definită prin variabila de mediu PAGER.
- A fost realizat un motor îmbunătățit de rezolvare a dependențelor Solver3 (care este activat prin opțiunea „—solver 3.0”), care utilizează un algoritm de căutare cu întoarcere (backtracking) pentru a rezolva conflictele dintre dependențe. În noul motor, de asemenea, a fost îmbunătățit selecția versiunilor, a fost asigurată suportul pentru efectuarea actualizărilor în mai multe etape, a fost semnificativ crescută performanța (apt-test acum rulează de două ori mai repede), a fost adăugată opțiunea „—no-strict-pinning” pentru instalarea versiunilor experimentale, a fost implementată protecția împotriva ștergerii manuale a pachetelor instalate, iar agresivitatea eliminării automate a dependențelor neutilizate a fost crescută. Au fost adăugate explicații mai clare pentru utilizatorii obișnuiți pentru erorile legate de dependențe.
- Utilizarea utilitarului apt-key pentru gestionarea cheilor utilizate pentru verificarea semnăturilor digitale ale pachetelor a fost întreruptă. Utilitarul apt-key a fost declarat învechit în urmă cu câțiva ani, din cauza tranziției de la vechea model de verificare a integrității pachetelor, în care se folosea un depozit comun de chei (\/etc\/apt\/trusted.gpg) și nu exista o legătură a cheilor cu repository-urile, adică o cheie adăugată pentru un anumit repository terț putea verifica pachetele din toate repository-urile. Metoda de lucru cu cheile care a venit în locul apt-key implică separarea depozitelor de chei pentru fiecare repository (\/etc\/apt\/trusted.gpg.d\/ sau \/etc\/apt\/keyrings\/).
- A fost adăugată posibilitatea de a utiliza utilitarul sqv din proiectul Sequoia pentru a verifica semnăturile digitale în loc de apelul gpgv. În lista de căi pentru apelarea gpg a fost adăugat utilitarul gpg-sq, scris în limbajul Rust, care acceptă aceleași argumente ca utilitarul gpg, dar imită funcționarea acestuia prin Sequoia, o implementare OpenPGP în limbajul Rust. Apelul gpg-sq are prioritate față de gpg, adică pentru a utiliza gpg-sq în loc de gpg, este suficient să instalați pachetul corespunzător.
- A fost adăugat un backend criptografic pentru biblioteca OpenSSL, care a înlocuit GnuTLS și Gcrypt.
- A fost asigurată legătura dintre tipurile de chei și extensiile de fișiere: extensia „.asc” este asociată cu cheile ascii-armored, „.gpg” — întotdeauna cu cheile binare, iar toate celelalte extensii de fișiere vor genera o eroare. De exemplu, atunci când folosiți un fișier cu cheia „\/etc\/apt\/keyrings\/winehq-archive.key”, acesta trebuie redenumit în „\/etc\/apt\/keyrings\/winehq-archive.gpg” și corectat calea în fișierul din „\/etc\/apt\/sources.list.d\/”. A fost implementată suportul pentru verificarea independentă a depozitelor de chei (keyring) și pentru efectuarea operației de dearmor (transformarea unei chei în format ASCII-armored în format binar) fără a apela la apt-key.
- Multe funcții au fost migrate pentru a utiliza clasa „std::string” în loc de „const char *” (clasa std::string_view definita în standardul C++17, care funcționează mai eficient cu șiruri datorită utilizării referințelor la datele existente și excluderii copieri inutile a datelor, până când nu este utilizată în cod).
- A fost propus un interfață abstractă pentru lucrul cu hash-uri, implementată în cadrul eforturilor de a elimina legătura strictă cu o singură bibliotecă criptografică.
- În ieșirea comenzii „apt show —full” a fost adăugată informația despre fixarea pachetelor (pinning), obținută din câmpurile APT-Pin, APT-Candidate și APT-Release.
- Se recomandă oficial numirea fișierelor din directorul \/etc\/apt\/sources.list.d\/ cu numele furnizorului actual în litere mici („$(dpkg-vendor —query Vendor | tr A-Z a-z).sources”).
- În pkgDepCache a fost adăsupported suport pentru tranzacții și contoare de actualizări.
- A fost adăugată opțiunea „—comment” pentru a lăsa un comentariu, păstrat în istoria operațiunilor efectuate.
- A fost adăugat suport pentru antetul HTTP Retry-After pentru optimizarea reluării descărcărilor întrerupte.
- Comenzii „apt list” i s-a adăugat opțiunea „—target-release”.
- A fost adăugat un nou nivel de erori „audit”, activat prin opțiunea „—audit”.
Se pot menționa, de asemenea, modificările apărute în ramura experimentală APT 2.7 (dezvoltarea ramurii 2.7 a trecut lin pe dezvoltarea ramurii 2.9), care vor deveni disponibile în Debian 13 (în Debian 12 se folosește versiunea APT 2.6):
- A fost adăugat suport pentru instantanee, gestionat prin opțiunea „—snapshot” („-S”), prin care se pot accesa servere de repo care susțin instantanee și se poate alege un anumit stadiu al arhivei repo. De exemplu, specificând „—snapshot 20250405T081400Z” se poate lucra cu o instantanee a stării repo, înregistrată pe 5 aprilie 2025 la 08:14:00. Instantanțele sunt configurate în secțiunea APT::Snapshot din fișierele sources-list.
- A fost implementată opțiunea „—update” („-U”), care permite, în timpul executării comenzilor de instalare sau actualizare a pachetelor (apt install sau apt upgrade), să se lanseze automat operația „apt update” pentru a sincroniza indexurile înainte de deschiderea cache-ului și procesarea sources.list.
- A fost adăugată comanda ‘dist-clean’ pentru a elimina pachetele și listele de pachete descărcate păstrate în cache.
Sursa: opennet.ro

