Formirano je izdanje alata za upravljanje paketima APT 3.0.0 (Advanced Package Tool), koji uključuje promjene prikupljene u eksperimentalnoj grani 2.9. Nova verzija je prihvaćena u granu Debian Unstable i uskoro će biti integrirana u repozitorij Debian Testing, gdje se razvija izdanje Debian 13 i već koristi eksperimentalna grana APT 2.9, a također će biti dodana u paketnu bazu Ubuntu.
Među najvažnijim promjenama su:
- Redizajniran je korisnički interfejs, u kojem je implementirano jasnije prikazivanje popisa zavisnosti potrebnih za preuzimanje prilikom instalacije paketa. Dok su ranije imena paketa sa zavisnostima bila prikazana u kontinuiranom popisu, sada su razdvojena u kolone u stilu alata „ls -C”, a različiti blokovi izlaza su obojeni svojim bojama (na primjer, uklanjani paketi su označeni crvenom, dok su instalirani označeni zelenom bojom). U izlazu su uklonjena ponovljena spominjanja dodatnih i novih paketa (sekcije „NEW packages” i „additional packages” su spojene). Za upravljanje bojama dodane su opcije „APT::Color::*” i „APT::Configuration::color”, kao i opcije „—color” i „—no-color”.

- Implementirano je automatsko paginiranje izlaza komandi „show”, „policy”, „list”, „search” i „showsrc”. Paginacija se uključuje putem postavke Binary::apt::Pager, a aplikacija za paginaciju se određuje putem varijable okruženja PAGER.
- Implementiran je poboljšani motor za rješavanje zavisnosti Solver3 (uključuje se putem opcije „—solver 3.0”), u kojem je za rješavanje sukoba između zavisnosti primijenjen algoritam pretraživanja s povratkom (backtracking). U novom motoru također je poboljšan odabir verzija, osigurana je podrška za izvođenje ažuriranja u više faza, značajno je poboljšana učinkovitost (apt-test se sada izvršava dvostruko brže), dodana je opcija „—no-strict-pinning” za instalaciju eksperimentalnih verzija, uključena je zaštita od ručnog uklanjanja instaliranih paketa, a povećana je agresivnost automatskog uklanjanja neiskorištenih zavisnosti. Dodana su jasnija objašnjenja za korisničke greške vezane uz zavisnosti.
- Korištenje alata apt-key za upravljanje ključevima koji se koriste za verifikaciju digitalnih potpisa paketa je obustavljeno. Alat apt-key je prije nekoliko godina proglašen zastarjelim zbog prelaska s ranijeg modela verifikacije integriteta paketa, koji je koristio zajedničko spremište ključeva (/etc/apt/trusted.gpg) i nije imao vezu ključeva s repozitorijima, tj. ključ dodat za neki vanjski repozitorij bio je prikladan za verifikaciju paketa u svim repozitorijima. Novi pristup upravljanju ključevima podrazumijeva odvajanje spremišta ključeva za svaki repozitorij (/etc/apt/trusted.gpg.d/ ili /etc/apt/keyrings/).
- Dodana je mogućnost korištenja alata sqv iz projekta Sequoia za verifikaciju digitalnih potpisa umjesto poziva gpgv. U listu putanja za pozivanje gpg dodan je alat gpg-sq, napisan u Rustu, koji prima iste argumente kao alat gpg, ali simulira njegov rad putem Sequoia, OpenPGP implementacije napisanog u Rustu. Poziv gpg-sq ima veći prioritet od gpg, tj. za korištenje gpg-sq umjesto gpg potrebno je samo instalirati odgovarajući paket.
- Dodana je kripto-biblioteka za OpenSSL koja je zamijenila GnuTLS i Gcrypt.
- Osigurana je veza tipova ključeva s ekstenzijama datoteka: ekstenzija '.asc' povezana je s ascii-armored ključevima, '.gpg' — uvijek s binarnim ključevima, a sve ostale ekstenzije datoteka će izazvati grešku. Na primjer, pri korištenju datoteke s ključem '/etc/apt/keyrings/winehq-archive.key', trebalo bi je preimenovati u '/etc/apt/keyrings/winehq-archive.gpg' i ispraviti putanju u datoteci u '/etc/apt/sources.list.d/'. Implementirana je podrška za samostalnu verifikaciju spremišta ključeva (keyring) i izvršenje operacije dearmor (pretvorba ključa u ASCII-armored formatu u binarni format) bez pozivanja na apt-key.
- Mnoge funkcije su prebačene na korištenje klase 'std::string' umjesto 'const char *' (definirana u standardu C++17, klasa std::string_view koja efikasnije radi sa stringovima koristeći reference na postojeće podatke i izbjegavajući nepotrebno kopiranje podataka, osim kada se koristi u kodu).
- Predložen je apstraktni interfejs za rad s hešovima, implementiran u okviru rada na oslobađanju od čvrste vezanosti za jednu kriptografsku biblioteku.
- Informacije o pinovanju paketa dodane su u izlazu komande «apt show —full», koje se dobijaju iz polja APT-Pin, APT-Candidate i APT-Release.
- Zvanično se preporučuje da imena datoteka u direktoriju /etc/apt/sources.list.d/ budu ime trenutnog dobavljača u malim slovima («$(dpkg-vendor —query Vendor | tr A-Z a-z).sources»).
- U pkgDepCache dodana je podrška za transakcije i brojače ažuriranja.
- Dodana je opcija «—comment» za ostavljanje komentara koji se čuva u istoriji izvršenih operacija.
- Dodana je podrška za HTTP zaglavlje Retry-After radi optimizacije ponovnog preuzimanja prekinutih preuzimanja.
- Opcija «—target-release» dodata je u komandu «apt list».
- Dodana je nova razina grešaka «audit» koja se uključuje opcijom «—audit».
Dodatno se mogu primetiti promene koje su se pojavile u eksperimentalnoj grani APT 2.7 (razvoj grane 2.7 glatko je prešao u razvoj grane 2.9), koje će biti dostupne u Debian 13 (u Debian 12 koristi se izdanje APT 2.6):
- Dodana je podrška za snimke, kojom upravlja opcija «—snapshot» («-S»), pomoću koje možete pristupiti serverima repozitorija koji podržavaju snimke i izabrati određeno stanje arhive repozitorija. Na primer, navodeći «—snapshot 20250405T081400Z» možete raditi sa rezom stanja repozitorija, koji je zabeležen 5. aprila 2025. godine u 08:14:00. Snimci se konfigurišu u sekciji APT::Snapshot u datotekama sources-list.
- Implementirana je opcija «—update» («-U»), koja automatski pokreće operaciju «apt update» za sinhronizaciju indeksa pre nego što otvori keš i obradi sources.list tokom izvršavanja komandi za instalaciju ili ažuriranje paketa (apt install ili apt upgrade).
- Dodata je komanda ‘dist-clean’ za brisanje paketa i lista preuzetih paketa sa keša.
Izvor: opennet.ru

