Advanced Packaging Tool
| APT | |
| Az APT a Seamonkey telepítése közben | |
| Legfrissebb stabil kiadás | 3.3.2 (stabil verzió, 2026. július 30.)[1] |
| Programozási nyelv | |
| Operációs rendszer |
|
| Platform | Unix-szerű |
| Kategória | rendszerszintű csomagkezelő |
| Licenc | GNU General Public License, version 2.0 or later[2][3] |
| Kódtár | https://salsa.debian.org/apt-team/apt.git |
Az Advanced Packaging Tool, vagy röviden APT egy ingyenes és nyílt forráskódú csomagkezelő szoftver Debian GNU/Linux rendszereken.[4] A szoftver használata jelentősen megkönnyíti a szoftverek telepítését ezen rendszereken, azáltal, hogy a szükséges csomagokat függőségekkel együtt letölti, konfigurálja, és telepíti a számítógépre akár előre lefordított állományokből, akár forráskódból fordítva.[4]
Az eredetileg a Debian által bevezetett dpkg csomagkezelőre épülő frontend számos másik Linux terjesztésben is használatos. A Debianos verziója csak DEB csomagokat kezel, de létezik apt4rpm is az RPM alapú terjesztésekhez,[5] és elérhető Mac OS X[6] és OpenSolaris rendszereken is.
Használat
[szerkesztés | forrásszöveg szerkesztése]Az apt alapvetően egy szoftvergyűjtemény, az apt nevű csomagban terjesztve. A csomag jelentős részét egy C++ nyelven írt könyvtár teszi ki, melyet a legtöbb, csomagban mellékelt konzolos program használ, például az apt, apt-get és az apt-cache. Az apt csomag alapvető szoftvernek minősül, melyet alapértelmezésben tartalmaz a Debian operációs rendszer. Az apt-ot lehet akár a dpkg frontendjének is tekinteni, mintegy a dselect egy barátságosabb verzióját. Amíg a dpkg a csomagokat egyesével kezeli, az apt ennél összetettebb: kezeli a különböző csomagösszefüggéseket is (különösképpen a függőségeket).
Az APT-ot sokszor a Debian legnagyobb előnyeként tartják számon,[7][8][9][10] melynek indokaként sokszor a Debian szigorú minőségkövetelményeit hozzák fel.[11][12]
Az APT egyik legfontosabb jellemzője az, ahogy a dpkg-t használja: a telepítendő/eltávolítandó csomagokat topologikus sorrendbe állítja, és ennek megfelelően kezeli a csomagokat a lehető legoptimálisabb sorrendben a dpkg használatával.
Szoftver telepítés
[szerkesztés | forrásszöveg szerkesztése]A felhasználó egyszerre egy vagy több csomagot is telepíthet. Minden csomagot csak a csomag név részével kell jelölni a teljes név helyett (például Debian rendszeren libc6 csomaghoz csak az előbbi, rövid nevet kell használni a teljes libc6_1.9.6-2.deb helyett). Az apt szoftver telepíti a csomag függőségeit (ha vannak ilyenek), majd a csomagot is. Eredetileg ez volt az apt alapú csomagkezelő szoftverek legfontosabb tulajdonsága, mellyel elkerülték az adott csomag telepíthetetlenségét hiányzó csomag(ok) miatt.
Az apt egy másik fontos tulajdonsága a csomagok automatikus letöltése egy távoli csomagtárból (vagy repository-ból). A helyeket (repository-kat), ahol a csomagokat keresi a szoftver egy konfigurációs fájlban lehet tárolni (/etc/apt/sources.list) - ezek a helyek lehetnek a hálózaton (például az interneten), vagy akár egy helyi tárolón is. Az apt képes ezen helyekről letölteni kívánt csomagokat (amennyiben azok elérhetőek a megadott helyek valamelyikén), illetve képes lekérdezni hogy ezeken a helyeken mely, esetleg eddig nem telepített csomagok érhetőek el.
Az apt lehetőséget ad arra, hogy az automatikus szoftver ütközést elkerülő döntéseket felülírja a felhasználó, például lehetséges egy bizonyos verziót telepíteni egy csomagból, ezzel régebbi verzióra "vissza-frissíteni", downgrade-elni egy csomagot. Ezzel azonban érdemes óvatosan bánni, hisz más, ettől a downgrade-elt csomagtól függő programok meghibásodhatnak.
Az apt_preferences (/etc/apt/preferences) segítségével csomagszinten is meg lehet határozni, hogy mely verziók legyenek telepítve (pl. stabil vagy béta változat).
A felhasználók meghatározhatnak csomagneveket POSIX reguláris kifejezésekkel is.
Update, upgrade és dist-upgrade
[szerkesztés | forrásszöveg szerkesztése]- Az update parancsot a helyi csomag indexek frissítésére lehet használni. Használatakor a program betölti az összes elérhető csomag listát az
/etc/apt/sources.listfájlban meghatározott helyekről. Például Debian alapú rendszerek esetében letölti és feldolgozza a Packages.gz fájlt az összes meghatározott helyről, így szerezve információt új illetve frissített csomagokről. - Az upgrade parancs segítségével az összes telepített csomag frissítésre kerül a legfrissebb verzióra, ami az
/etc/apt/sources.listfájlban meghatározott helyeken elérhető. Amennyiben egy csomagból elérhető frissebb verzió, az telepítésre kerül - de előzőleg telepített csomagok soha nem kerülnek törlésre. Amennyiben egy csomaghoz nem érhető el frissítés, úgy az változatlanul telepítve marad. - A dist-upgrade parancs az upgrade tulajdonságain felül intelligensen kezeli a függőségek változásait is. Az apt-get fejlett ütközés-megoldó rendszerrel rendelkezik, amely először mindig a legfontosabb csomagok függőségeit próbálja meg frissíteni, esetenként egy kevésbé kritikus csomag használhatatlanná tételével (például ha a fontos A csomag egy új verziót használ egy függőségből, de a nem kritikus B csomag egy régebbi verziót használ ugyanabból a függőségből). A csomagok a dist-upgrade esetében is az
/etc/apt/sources.listfájlban meghatározott helyekről kerülnek frissítésre.[13]
Konfiguráció és fájlok
[szerkesztés | forrásszöveg szerkesztése]Az apt konfigurációs fájljai és könyvtárai az /etc/apt könyvtárban találhatóak.
Az APT konfigurációs programja az apt-config.[14] Az apt-config dump megmutatja az apt teljes konfigurációját.[15]
Fájlok
[szerkesztés | forrásszöveg szerkesztése]/etc/apt/sources.list: A források listája, ahonnan a csomagok letöltésre kerülnek./etc/apt/sources.list.d/: További csomag letöltő helyek listái./etc/apt/apt.conf: APT konfigurációs fájl/etc/apt/apt.conf.d/: További konfigurációs fájlok./etc/apt/preferences: Csomagok letöltendő verzióinak meghatározása. Itt lehet rögzíteni például, ha egy csomagok nem kell frissíteni, vagy ha egy csomagot egy bizonyos forrásból szeretnénk letölteni./var/cache/apt/archives/: az eddig letöltött csomagok tárolókönyvtára./var/cache/apt/archives/partial/: az éppen letöltés alatt álló csomagok könyvtára./var/lib/apt/lists/: ebben a könyvtárban vannak asources.listfájlban levő források csomaglistái./var/lib/apt/lists/partial/: ideiglenes könyvtár az épp letöltés alatt álló csomaglistáknak.
Források
[szerkesztés | forrásszöveg szerkesztése]Az APT a csomagtárak (repository) rendszerére támaszkodva találja meg a csomagokat és a függőségeket. Az apt csomagtár tulajdonképpen egy könyvtár melyben a csomagok, illetve egy index fájl található. A csomagtár lehet a hálózaton vagy akár CDROM-on is. A Debian projekt központi csomagtárában több, mint 25000 csomag áll telepítésre készen.
Akárhány további csomagtár címet meg lehet adni a sources.list konfigurációs fájlban (/etc/apt/sources.list), melyeket utána az APT használni fog. Több grafikus felület is lehetőséget ad a fájl egyszerűbb módosítására (apt-setup). Miután egy csomagtár hozzá lett adva a listához, a csomagokat külön forrásmeghatározás nélkül lehet telepíteni, és a telepített csomagok automatikusan frissítésre kerülnek.
A hálózati csomagtárakon felül más média is meghatározható (például CD, pendrive, merevlemez) az apt-cdrom[16] segítségével, vagy a file:/[17] előtag használatával a források listájában. Az apt-cdrom is használható cd-rom-on kívüli tárolók meghatározására a -d kapcsoló használatával (például merevlemez, pendrive). A Debian telepítőlemezek is tartalmaznak egy csomagtárat, mellyel hálózat nélkül lehet csomagokat frissíteni.
Probléma merülhet fel, amikor több forrás is letöltésre kínálja fel ugyanazokat a csomagokat. Ezen gond megoldható rögzítéssel (pinning) - meg lehet határozni, hogy egy csomag melyik forrásból kerüljön mindig letöltésre.
Csomagrögzítés - Pinning
[szerkesztés | forrásszöveg szerkesztése]Amennyiben egy csomagot több forrásból is le lehet tölteni (esetleg különböző verziókkal), lehetőség van arra, hogy meghatározzuk, hogy melyik forrásból legyen az adott csomag letöltve. Ezzel biztosítani lehet, hogy a csomagok nem lesznek frissítve inkompatibilis vagy instabil verziókra, mely esetleg tönkre tehetne más csomagokat.
Ezeket az /etc/apt/preferences fájlban kell meghatározni,[18] bár létezik több grafikus felület is a munka megkönnyítésére.
Frontendek
[szerkesztés | forrásszöveg szerkesztése]Többféle frontend is létezik az APT-hoz, melyek fejlett funkciókkal, és könnyebb kezeléssel rendelkeznek. Néhány példa:
- Synaptic Package Manager, egy GTK+ alapú grafikus felület
- Ubuntu Software Center, egy GTK+ alapú grafikus felület, az Ubuntu által fejlesztve
- aptitude, egy konzolos felület
- dselect, szintén konzolos, karaktergrafikus felület - talán az első
- KPackage, a KDE része
- Adept Package Manager, egy grafikus felület KDE-hez
- PackageKit, egy daemon, a freedesktop.org által fejlesztve
- GDebi, egy GTK+ alapú grafikus felület, főként Ubuntuhoz
- apt-cdrom, mellyel cd-rom csomagtárakat lehet hozzáadni a rendszerhez (cd-rom csomagtárként való meghatározásához az apt-cdrom-ot kell használni, manuálisan nem lehetséges)
- apt-zip, mellyel eltávolítható lemezeket (például pendrive) lehet csomagtárként meghatározni
- apt-foo, mellyel egy internetes linkre kattintva lehet csomagokat telepíteni (kísérleti)[19]
- Cydia, egy APT alapú csomagkezelő jailbreakelt iOS rendszerekhez[20][21]
- gnome-apt, egy GTK+/GNOME widget alapú grafikus felület
- Muon Software Center, egy Qt alapú grafikus felület
- apticron, egy cron által futtatott szolgáltatás, ami rendszeradminisztrátoroknak küld e-mailt a függőben levő frissítésekről
- orphaner és gtkorphan, a deborphan karaktergrafikus és gtk-s frontendje. Nem telepítésre szolgál, hanem az "árván" maradt csomagok, lib-ek leszedésére.
Az APT frontendek általában tudnak
- új, telepítendő csomagokat keresni
- telepített csomagokat frissíteni
- új csomagokat telepíteni, vagy meglevőket törölni
- teljes rendszert frissíteni.
Az APT frontendek ki tudják listázni a telepített/frissített csomagok függőségeit; megkérdezni a felhasználót, hogy az újonnan telepített csomag által javasolt csomagok is telepítve legyenek-e; automatikusan telepíteni a szükséges függőségeket, illetve egyéb műveletekre is képesek, például el tudják távolítani a nem használt/elavult csomagokat.
Történet
[szerkesztés | forrásszöveg szerkesztése]Az apt-get program kialakulásához a dselect leváltására készített deity[22] kódnevű program vezetett. A projekttel Brian White, az akkori Debian Release Manager volt megbízva. A legelső működőképes apt-get programot még dpkg-get-nek hívták, és csak az alapfunkciók tesztelésére volt benne lehetőség, melyek az új felhasználói felület alapjait képezték volna.[23]
Az APT kezdeti fejlesztésekor a kommunikáció IRC-en keresztül folyt, így ezek elvesztek. A "Deity Creation Team" levelezőlistájának az archívuma is csak pár mérföldkövet említ.
A Deity (Isten) nevet végül elvetették a szó vallásos vonatkozása miatt. Az APT nevet végül egy hosszas megbeszéléseket követően fogadták el. A nevet IRC-en vetették fel, és a levelezőlistán véglegesítették és fogadták el.[24] Eredetileg az APT nem egy betűszó volt, hanem a program teljes neve. IRC-n sok megbeszélés folyt, hogy mit jelöljön az APT név, azonban végül a fejlesztő csapat úgy döntött, hogy az APT nem rövidítés, és soha nem lesz betűszóként feloldva hivatalosan.
Az első hivatalos teszt verziókat 1998-ban kezdték terjeszteni IRC-en keresztül. Az első Debian verzió a Debian 2.1-ben debütált 1999. Március 9-én.[25]
Végső soron az eredeti ötlet, hogy leváltsák a dselect felületet kudarcba fulladt. A felhasználói felület fejlesztése teljesen leállt az apt-get első hivatalos verziójának megjelenése után. A felhasználói visszajelzések a konzolos használatról annyira pozitívak voltak, hogy a csapat minden erejével az alap funkciók továbbfejlesztésére koncentrált. De nem kellett sokat várni, amíg független fejlesztők megalkották az első felhasználói felületeket a libapt-pkg-re alapozva.
Az "első" APT éra utolsó nagy próbálkozása volt, hogy teljesen leváltsák a dpkg-t (libapt-inst). Bár ez is kudarcba fulladt, a megírt kód egy része bekerült a hatékony apt-ftparchive és libapt Python könyvtárakba. Ezután az eredeti fejlesztőkről nem hallottak többet, és az APT karbantartása szinte megszűnt létezni.
Végül egy új csapat kezdett dolgozni a szoftveren új funkciókat hozzáadva. Kiadták az APT 0.6-os verzióját olyan újításokkal, mint a Secure APT, ami erős kriptografikus aláírással hitelesíti csomagtárakat.[26]
Jegyzetek
[szerkesztés | forrásszöveg szerkesztése]- ↑ "3.3.2". 2026. július 30. Hozzáférés: 2026. július 31.
- ↑ "salsa.debian.org/apt-team/apt/blob/1.6.3/COPYING". Hozzáférés: 2018. július 20.
- ↑ "The apt Open Source Project on Open Hub: Licenses Page". Open Hub. Hozzáférés: 2018. augusztus 10.
- 1 2 "apt-get(8) - Linux man page". linux.die.net. 2008. május 16. dátummal az eredeti címről archiválva. Hozzáférés: 2008. május 12.
- ↑ "APT-RPM". apt-rpm.org. 2008. április 21. dátummal az eredeti címről archiválva. Hozzáférés: 2008. május 12.
- ↑ "Fink - About". www.finkproject.org. 2008. május 11. dátummal az eredeti címről archiválva. Hozzáférés: 2008. május 12.
- ↑ Byfield, Bruce (2004. december 9.). "An apt-get primer". 2010. április 19. dátummal az eredeti címről archiválva. Hozzáférés: 2010. április 19.
- ↑ "From the archives: the best distros of 2000". Tux Radar. 2013. április 24. dátummal az eredeti címről archiválva. Hozzáférés: 2015. január 17.
- ↑ Dorgan, David (2004. január 19.). "Migrating to Debian". linux.ie. 2010. április 19. dátummal az eredeti címről archiválva. Hozzáférés: 2009. április 10.
- ↑ "Mobile Linux development with Familiar and a minimal Debian". Mobile Tux. 2008. szeptember 15. dátummal az eredeti címről archiválva. Hozzáférés: 2015. január 17.
- ↑ "Why Debian".
- ↑ "Debian policy manual".
- ↑ die.net "Linux Man pages".
{{cite web}}: Check|url=value (súgó) - ↑ "Apt-Config".
- ↑ "Query APT Configuration Using apt-config - Debian Admin".
- ↑ "apt-cdrom".
- ↑ i.e. Deb file:/mnt/install stable main contrib. non-free.
{{citation}}: Unknown parameter|separator=ignored (súgó) - ↑ "Apt Pinning". Debian Wiki. 2006. október 4. dátummal az eredeti címről archiválva. Hozzáférés: 2006. szeptember 19.
- ↑ "OzOS | apt:foo". 2008. február 10. dátummal az eredeti címről archiválva. Hozzáférés: 2015. január 17.
- ↑ Jurick, David (2009). iPhone Hacks: Pushing the iPhone and iPod touch Beyond Their Limits. O'Reilly Media, Inc. 20. o. ISBN 9780596516642. Hozzáférés: 2013. január 18.
- ↑ Adhikari, Richard (2008. március 20.). "Android, Schmandroid: Linux on the iPhone". LinuxInsider. 2015. január 17. dátummal az eredeti címről archiválva. Hozzáférés: 2013. január 18.
- ↑ "Deity Mailing List, 1997-04".
- ↑ "Deity Mailing List, 1998-03".
- ↑ "Deity Mailing List, 1998-03".
- ↑ "A Brief History of Debian". Debian.org. 2014. augusztus 19. dátummal az eredeti címről archiválva. Hozzáférés: 2015. január 17.
- ↑ "Secure APT". Debian Wiki. 2006. szeptember 1. dátummal az eredeti címről archiválva. Hozzáférés: 2006. szeptember 5.
Források
[szerkesztés | forrásszöveg szerkesztése]Fordítás
[szerkesztés | forrásszöveg szerkesztése]- Ez a szócikk részben vagy egészben az Advanced_Packaging_Tool című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.