En version af værktøjet til at administrere APT-pakker 3.0.0 (Advanced Package Tool) er blevet udviklet, som har samlet ændringerne fra den eksperimentelle version 2.9. Den nye udgave er godkendt til Debian Unstable og vil snart blive integreret i Debian Testing-repositoriet, som understøtter udviklingen af Debian 13, og hvor den eksperimentelle version APT 2.9 allerede anvendes. Den vil også blive tilføjet til Ubuntu-pakkegrundlaget.
Blandt de vigtigste ændringer:
- Brugergrænsefladen er blevet redesignet, så visningen af listen over afhængigheder, der skal downloades ved installation af pakker, er blevet mere overskuelig. Tidligere blev pakke-navnene med afhængigheder vist i en sammenhængende liste, men nu opdeles de i kolonner i stil med kommandoen «ls -C», og forskellige output-sektioner fremhæves med farver (for eksempel fremhæves fjernede pakker med rødt, mens installerede pakker vises med grønt). Dublerede omtaler af yderligere og nye pakker er blevet fjernet (sektionerne «NEW packages» og «additional packages» er blevet slået sammen). Der er tilføjet indstillinger til styring af farver som «APT::Color::*» og «APT::Configuration::color», samt mulighederne «—color» og «—no-color».

- Automatisk paginering af output fra kommandoerne «show», «policy», «list», «search» og «showsrc» er blevet implementeret. Pagineringen aktiveres gennem indstillingen Binary::apt::Pager, og det program, der anvendes til paginering, bestemmes af miljøvariablen PAGER.
- En forbedret afhængighedsopløsningsmotor Solver3 (aktiveres med indstillingen «—solver 3.0») er blevet implementeret, hvor backtracking-algoritmen anvendes til at løse konflikter mellem afhængigheder. Den nye motor har også forbedret versionsvalget, understøtter udførelse af opdateringer i flere faser, øger ydeevnen betydeligt (apt-test udføres nu dobbelt så hurtigt), tilføjer muligheden «—no-strict-pinning» for installation af eksperimentelle versioner, beskytter mod manuel fjernelse af installerede pakker og øger aggressiviteten i automatisk fjernelse af ubrugte afhængigheder. Der er tilføjet mere forståelige forklaringer for almindelige brugere vedrørende fejl relateret til afhængigheder.
- Brugen af apt-key til at håndtere nøgler anvendt til verifikation af digitale signaturer af pakker er blevet ophørt. Apt-key blev for flere år siden erklæret forældet i forbindelse med overgangen fra den gamle model for integritetskontrol af pakker, hvilket brugte et fælles lager af nøgler (/etc/apt/trusted.gpg) og manglede tilknytning af nøgler til repositories. Det vil sige, at en nøgle, der blev tilføjet til et tredjepartsrepository, kunne bruges til at verificere pakker i alle repositories. Den nye metode til arbejde med nøgler indebærer en opdeling af nøglelagrene for hvert repository (/etc/apt/trusted.gpg.d/ eller /etc/apt/keyrings/).
- Muligheden for at anvende sqv-værktøjet fra Sequoia-projektet til at verificere digitale signaturer i stedet for at kalde gpgv er blevet tilføjet. Rust-skreven gpg-sq-utility er blevet tilføjet til stien for at kalde gpg, som accepterer de samme argumenter som gpg-værktøjet, men simulerer dets funktionalitet gennem Sequoia, en OpenPGP-implementering på Rust. Kaldet til gpg-sq har højere prioritet end gpg, hvilket betyder, at det er tilstrækkeligt at installere den tilsvarende pakke for at bruge gpg-sq i stedet for gpg.
- En kryptografisk backend til OpenSSL-biblioteket, der erstatter GnuTLS og Gcrypt, er blevet tilføjet.
- Der er sikret en tilknytning af nøgletyper til filtypers udvidelser: '.asc' er knyttet til ASCII-armored nøgler, '.gpg' — altid til binære nøgler, og alle andre filudvidelser vil forårsage en fejl. For eksempel, når der bruges en nøglefil '/etc/apt/keyrings/winehq-archive.key', skal den omdøbes til '/etc/apt/keyrings/winehq-archive.gpg', og stien skal rettes i filen '/etc/apt/sources.list.d/'. Støtte til selvstændig kontrol af nøglelagre (keyring) og udførelse af dearmor-operationen (omdannelse af en nøgle fra ASCII-armored format til binært format) er blevet implementeret uden at skulle henvise til apt-key.
- Mange funktioner er blevet ændret til at bruge klassen 'std::string' i stedet for 'const char *' (den i C++17 standard definerede klasse std::string_view, der mere effektivt arbejder med strenge ved hjælp af referencer til eksisterende data og undgår overflødig datakopiering, indtil det anvendes i koden).
- Et abstrakt grænseflade til arbejde med hashes er blevet foreslået i forbindelse med arbejdet med at eliminere den hårde tilknytning til ét kryptografisk bibliotek.
- I kommandoen «apt show —full» er der tilføjet information om pakke-pinning, som hentes fra felterne APT-Pin, APT-Candidate og APT-Release.
- Det anbefales officielt at navngive filer i kataloget /etc/apt/sources.list.d/ med navnet på den nuværende leverandør i små bogstaver (»$(dpkg-vendor —query Vendor | tr A-Z a-z).sources«).
- Støtte til transaktioner og opdaterings tællere er blevet tilføjet i pkgDepCache.
- Tilføjet en mulighed for «—comment» for at efterlade en kommentar, som gemmes i historikken over udførte operationer.
- Støtte til HTTP-headeren Retry-After er blevet tilføjet for at optimere genoptagelse af afbrudte downloads.
- Der er tilføjet en mulighed «—target-release» til kommandoen «apt list».
- Et nyt fejlniveau «audit» er blevet tilføjet og kan aktiveres med indstillingen «—audit».
Derudover kan ændringerne, der er dukket op i den eksperimentelle gren APT 2.7 (udviklingen af gren 2.7 er glidende overgået til udviklingen af gren 2.9), som vil være tilgængelige i Debian 13 (Debian 12 bruger APT 2.6 versionen):
- Støtte til snapshots, styret af indstillingen «—snapshot» («-S»), er blevet tilføjet, hvilket giver mulighed for at tilgå repository-servere, der understøtter snapshots, og vælge en bestemt tilstand af repository-arkivet. For eksempel kan man med «—snapshot 20250405T081400Z» arbejde med en tilstand af repository'et, som blev fastsat den 5. april 2025 kl. 08:14:00. Snapshots konfigureres i APT::Snapshot-sektionen i sources-list filer.
- Muligheden «—update» («-U») er blevet implementeret, så den automatisk kan starte operationen «apt update» for at synkronisere indekserne før åbningen af cachen og behandlingen af sources.list under installation eller opdatering af pakker (apt install eller apt upgrade).
- En kommando ‘dist-clean’ er blevet tilføjet til at fjerne gemte pakker og lister over downloadede pakker fra cachen.
Kilde: opennet.ru

