Készült el az APT 3.0.0 (Advanced Package Tool) csomagkezelő eszköz kiadása, amely magában foglalja a 2.9-es kísérleti ágban felhalmozott változásokat. Az új kiadás bekerült a Debian Unstable ágába, és a közeljövőben integrálásra kerül a Debian Testing tárolóba, amely a Debian 13-as kiadás fejlesztésénél használatos, és már tartalmazza az APT 2.9-es kísérleti ágat, valamint bekerül az Ubuntu csomaglistájába.
A legfontosabb változások közül:
- Át lett dolgozva a felhasználói felület, amely áttekinthetőbben jeleníti meg a csomag telepítésekor szükséges függőségek listáját. Míg korábban a függőségek nevei folyamatos listaként jelentek meg, mostantól oszlopokba rendeződnek, a "ls -C" utilitás stílusában, és a különböző kimeneti blokkok saját színekben kerülnek kiemelésre (például a törlendő csomagok pirossal, míg a telepítendők zöld színnel vannak megjelölve). A kimenetből eltávolították a duplán említett további és új csomagokat (a „NEW packages” és az „additional packages” szekciókat egyesítették). A színezéssel kapcsolatos beállításokat hozzáadták az „APT::Color::*” és „APT::Configuration::color” opciókhoz, valamint a „—color” és „—no-color” lehetőségekhez.

- Automatikusan elvégezhető a kimenet oldalra bontása a „show”, „policy”, „list”, „search” és „showsrc” parancsok esetén. Az oldalra bontás a Binary::apt::Pager beállításon keresztül engedélyezhető, míg az oldalmegosztó alkalmazás a PAGER környezeti változóval van meghatározva.
- Megvalósult a fejlettebb Solver3 függőség-megoldó motor (az „—solver 3.0” opcióval aktiválható), amely a függőségek közötti konfliktusok megoldásához visszalépős keresési algoritmust alkalmaz. Az új motorban javították a verziók kiválasztását, támogatja a több lépésben végrehajtott frissítéseket, jelentősen növeli a teljesítményt (az apt-test mostantól kétszer gyorsabban fut), hozzáadták a „—no-strict-pinning” opciót a kísérleti verziók telepítéséhez, védelmet implementáltak a kézzel telepített csomagok eltávolítása ellen, és agresszívebben törlik a nem használt függőségeket. Az egyszerű felhasználók számára is érthető magyarázatok kerültek hozzáadásra a függőségekkel kapcsolatos hibákhoz.
- Az apt-key segédprogram használatának megszüntetése a digitális aláírások hitelesítéséhez használt kulcsok kezelésében. Az apt-key eszközt néhány évvel ezelőtt elavultnak nyilvánították, mivel áttértek a csomagok integritásának ellenőrzésére szolgáló régi modellről, amely egy közös kulcstárolót ( /etc/apt/trusted.gpg ) használt, és nem volt kulcsok és tárolók közötti kötés, azaz egy adott harmadik féltől származó tárolóhoz hozzáadott kulcs alkalmas volt a csomagok ellenőrzésére minden tároló esetén. Az apt-key helyébe lépő kulcskezelési módszer a kulcstárolók megosztását jelenti minden tárolóhoz ( /etc/apt/trusted.gpg.d/ vagy /etc/apt/keyrings/ ).
- Bevezették a Sequoia projekt sqv segédprogramjának használatát a digitális aláírások ellenőrzésére a gpgv hívása helyett. A gpg hívási útvonalak listájához hozzáadódott a Rust nyelven írt gpg-sq segédprogram, amely ugyanolyan argumentumokat fogad el, mint a gpg, de a Sequoia-n keresztül imitálja annak működését, amely az OpenPGP Rust implementációja. A gpg-sq hívása nagyobb prioritást élvez, mint a gpg, azaz a gpg-sq használatához a gpg helyett elegendő a megfelelő csomag telepítése.
- Kibővítették az OpenSSL könyvtár kriptográfiai háttérprogramját, amely a GnuTLS-t és a Gcrypt-ot váltja fel.
- Biztosítva van a kulcstípusok kötése a fájlkiterjesztésekhez: az „.asc” kiterjesztés az ascii-armored kulcsokhoz, a „.gpg” mindig bináris kulcsokhoz van kötve, míg minden egyéb fájlformátum hibát eredményez. Például, ha a kulcsfájl neve „/etc/apt/keyrings/winehq-archive.key”, akkor át kell nevezni „/etc/apt/keyrings/winehq-archive.gpg” névre, és ki kell javítani az utat a „/etc/apt/sources.list.d/” fájlban. Megvalósították a kulcstárolók (keyring) önálló ellenőrzését és a dearmor műveletet (kulcs ASCII-armored formátumból bináris formátumba való átalakítása) az apt-key megkerülésével.
- Sok funkciót átállítottak a „std::string” osztály használatára a „const char *” helyett (az C++17 szabványban definiált std::string_view osztály, amely hatékonyabban kezeli a szövegeket, mert hivatkozásokat használ a meglévő adatokra, elkerülve a felesleges adatok másolását, amíg a kódban nem használják).
- Javasolt egy absztrakt interfész a hash-ek kezelésére, amely a szigorú kötelékek feloldásának keretében valósult meg egyetlen kriptográfiai könyvtárral.
- Az „apt show —full” parancs kimenetéhez hozzáadva a csomagok rögzítésére vonatkozó információ (pinning), mely az APT-Pin, APT-Candidate és APT-Release mezőkből származik.
- Hivatalosan ajánlott a fájlok elnevezése a /etc/apt/sources.list.d/ könyvtárban az aktuális szolgáltató nevével kisbetűkkel („$(dpkg-vendor —query Vendor | tr A-Z a-z).sources”).
- A pkgDepCache hozzáadta a tranzakciók és a frissítési számlálók támogatását.
- Hozzáadva a „—comment” opció, amely lehetővé teszi a megjegyzés rögzítését a végrehajtott műveletek történetében.
- Hozzáadva a HTTP „Retry-After” fejléc támogatása a megszakított letöltések folytatásának optimalizálása érdekében.
- Az „apt list” parancshoz hozzáadva a „—target-release” opció.
- Új hiba szint hozzáadva: „audit”, amely az „—audit” opcióval engedélyezhető.
További megjegyzésként említhetjük a 2.7-es APT kísérleti ágában megjelent változásokat (a 2.7-es ág fejlesztése simán átment a 2.9-es ág fejlesztésébe), melyek elérhetővé válnak a Debian 13-ban (a Debian 12 a 2.6-os APT kiadást használja):
- Hozzáadva a snapshotok támogatása, amely az „—snapshot” („-S”) opcióval vezérelhető, lehetővé téve a snapshotot támogató tárolószverekhez való hozzáférést és egy adott tárolóállapot kiválasztását. Például a „—snapshot 20250405T081400Z” megadásával a 2025. április 5-én 08:14:00-kor rögzített tárolóállapot szeletével dolgozhatunk. A snapshotok az APT::Snapshot szekcióban állíthatók be a sources-list fájlokban.
- Megvalósítva az „—update” („-U”) opció, amely lehetővé teszi a csomagok telepítése vagy frissítése közben (apt install vagy apt upgrade) automatikusan az „apt update” művelet elindítását az indexek szinkronizálására a gyorsítótár megnyitása és a sources.list feldolgozása előtt.
- Hozzáadva a „dist-clean” parancs a gyorsítótárban tárolt csomagok és a letöltött csomagok listáinak eltávolítására.
Forrás: opennet.ru

