Advanced Packaging Tool

**Advanced package tool (APT)** software libreko erabiltzaile-interfazea da,  Debian eta Debianen oinarritutako Linux-en banaketetan softwarea instalatzeko, eguneratzeko eta ezabatzeko. APTk Unix sistemaren antzeko sistema informatikoetan programak kudeatzeko prozesua sinplifikatzen du, eta software-paketeen berreskurapena, konfigurazioa eta instalazioa automatizatzen ditu, bai aurrez konpilatutako fitxategietatik abiatuta, bai iturburu-kodea konpilatuta.

## Erabilera 
APT *apt* izeneko pakete batean banatutako tresnen bilduma da. APT-ren zati esanguratsu bat C++ funtzioen liburutegi batean definitzen da; paketeak kudeatzeko komando lerroko programak ere biltzen ditu APT-k. Horrelako hiru programa `apt`, `apt-get` eta `apt-cache` dira.  *Apt* paketeak lehentasun handia du egungo Debian bertsio guztietan. APT `dpkg`-ren  edo erabiltzaile-interfazea kontsidera daiteke, `dselect` *frontend* zaharra baino atseginagoa. `dpkg`-k pakete indibidualetan ekintzak egiten dituen bitartean, APT-k haien arteko erlazioak (batez ere mendekotasunak) kudeatzen ditu, baita maila altuagoko bertsioen erabakien iturria eta kudeaketa (argitalpenen jarraipena eta bertsioen ainguraketa).

APT Debian-en ezaugarri onenetariko bat dela esan ohi da,     Debian-en garatzaileek Debian-en politikaren kalitate-kontrol zorrotzei egozten dietena.  

APTren ezaugarri garrantzitsu bat da `dpkg` zein eran deitzen duen: instalatu edo desinstalatu behar diren paketeen zerrendaren sailkapen topologikoa egiten du, eta `dpkg` deitzen du ahal den segidarik onenean. 

APT azkar zabaldu zen .deb paketeekin lan egiteko, Debian sistemetan eta banaketa eratorrietan, baina harrezkero RPM paketeekin ere lan egiten du `apt-rpm` tresnarekin eta beste sistema eragile batzuetan hala nola Mac OS X (Fink) eta OpenSolaris.

### Softwarea instalatzea 
Erabiltzaileak instalatu beharreko pakete bat edo gehiago adierazten ditu. Zehazki, APTk automatikoki lortzen eta instalatzen ditu pakete horren mendekotasunak, beharrezkoak dituen paketeak alegia. 

Beste bereizgarri bat urruneko biltegien paketeak berreskuratzea da. APTk kokapena konfiguratzeko fitxategi bat erabiltzen du (`/etc/apt/sources.list`), nahi diren paketeak (sarean eskuragarri egon daitezkeenak edo biltegi-bide aldagarri batean, adibidez) aurkitu eta berreskuratzeko, bai eta erabilgarri dauden baina instalatu gabeko paketeei buruzko informazioa lortzeko ere.

APTk komando-aukera gehiago eskaintzen ditu gatazkak konpontzeko sistemak hartutako erabakiak deuseztatzeko. Aukera bat pakete baten bertsio partikular bat behartzea da. 

Azkenik, `apt_preferences` mekanismoak aukera ematen dio erabiltzaileari banakako paketeetarako instalazio-politika alternatiboa sortzeko.

Erabiltzaileak paketeak zehaztu ditzake POSIX adierazpen erregularra erabiliz.

APTk cachean bilatzen du pakete-zerrenda, eta instalatu edo eguneratu behar diren mendekotasunak zerrendatzen ditu.

APTk mendekotasunak berreskuratu, konfiguratu eta automatikoki instalatzen ditu.

Update, upgrade eta dist-upgrade
Hauek dira APT erabiltzeko eta instalatutako paketeak eguneratzen laguntzeko moduak:

* `update` ordenagailuko paketeak iturburu edo biltegiko paketearen aurkibideko fitxategiekin sinkronizatzeko erabiltzen da. Eskuragarri dauden pakete-zerrendak `/etc/apt/sources.list` fitxategian zehaztutako kokalekutik igortzen dira eguneratuei buruzko informazioa eskuragarri egon dadin.
* `upgrade` gaur egun sisteman instalatutako pakete guztien bertsio berrienak instalatzeko erabiltzen da, `/etc/apt/sources.list` zerrendatutako iturrietatik abiatuta. Gaur egun instalatuta dauden eta bertsio berriak dituzten paketeak berreskuratu eta eguneratu egiten dira. Orain instalatuta dauden paketeen bertsioak mantendu egingo dira beste pakete batzuentzat beharrezkoak badira.
* `full-upgrade` (`apt`) eta `dist-upgrade` (`apt-get`) `upgrade` eguneraketa funtzioa egiteaz gain, mendekotasun aldakorrak modu adimentsuan manipulatzen ditu pakete-bertsio berriekin; `apt` eta `apt-get` direlakoek gatazkak konpontzeko sistema "adimentsua" dute, eta pakete garrantzitsuenak eguneratzen saiatuko da, hain garrantzitsuak ez direnen kaltean, beharrezkoa bada. `/etc/apt/sources.list` fitxategiak nahi diren pakete-fitxategiak berreskuratzeko kokapenen zerrenda du.

## Konfigurazioa eta fitxategiak 
`/etc/apt` direktorioak APT konfiguratzeko karpetak eta fitxategiak ditu.

`apt-config` APT konfiguratzeko programa da. `apt-config dump` komandoak konfigurazioa erakusten du.

### Fitxategiak eta direktorioak 
* `/etc/apt/sources.list`: Paketeak bilatzeko kokapenak zehazten dituen fitxategia.
* `/etc/apt/sources.list.d/`: iturrien zerrendako gehigarriak biltzen dituen direktorioa.
* `/etc/apt/apt.conf`: APT-ren konfigurazio-fitxategia
* `/etc/apt/preferences.d/`: APT konfigurazioko fitxategien zatiak biltzen dituen direktorioa. 
* /var/cache/apt/archives/: berreskuratutako pakete-fitxategiak gordetzeko eremua.
* `/var/cache/apt/archives/partial/`: behinbehineko paketeen fitxategien gordelekua.
* `/var/lib/apt/lists/`: paketeen informazioa gordetzeko eremua.
* `/var/lib/apt/lists/partial/`: paketeen informaziorako behinbehineko biltegiratze-eremua.

## Iturriak 
APT biltegien kontzeptuan oinarritzen da, softwarea aurkitzeko eta mendekotasunak konpontzeko. APTrentzat, errepositorio edo biltegi bat  paketeen aurkibidea duen direktorio bat da. Sareko kokapen gisa edo CD-ROM gisa zehaztu daiteke. 2021eko abuztuaren 14ean Debian proiektuak 50.000 software-pakete baino gehiagoko biltegi zentral bat zuen deskargatzeko eta instalatzeko prest.

Edozein gordetegi gehitu daiteke APTren *sources.list* fitxategian (`/etc/apt/sources.list`), eta  APTk kontsultatuko du. Badira aplikazio grafikoak iturburuen zerrenda aldatzea errazten dutenak. Pakete-biltegi bat zehaztu ondoren, biltegi horretako paketeak iturri bat zehaztu gabe instala daitezke eta automatikoki eguneratuko dira.

## APT finkatzea (*pinning*) 
APT fintkatze edo *pinning* funtzioak aukera ematen die erabiltzaileei *APT* paketeen bertsio partikularrak aukeratzera behartzeko; bertsio horiek hainbat gordelekuren bertsioetan egon daitezke eskuragarri. Horrek aukera ematen die administratzaileei ziurtatzeko paketeak ez direla eguneratzen sistemako beste pakete batzuekin gatazkan egon daitezkeen bertsioetara, edo nahi ez diren aldaketek behar bezala frogatu ez dituzten bertsioetara.

Horretarako, APT-ren `/etc/apt/preferences`  aldatu egin behar dira, nahiz eta interfaze grafikoa duten aplikazioek  sinpleago bihurtzen duten.

## Interfaze grafikoak 
link=//upload.wikimedia.org/wikipedia/commons/thumb/8/87/Synaptic_Package_Manager.png/300px-Synaptic_Package_Manager.png|thumb|300x300px|Synaptic pakete kudeatzailea da APT-ren interfaze grafiko ezagunena.
APTren interfaze grafikoa eskaintzen duten aplikazioa daude, instalazio-funtzio aurreratuagoak eta interfaze intuitiboagoak eskaintzen dituztenak. Ezagunenak:

* *Synaptic*, GTK erabiltzailearen interfaze grafikoa
* *Ubuntu Software Center*, Ubuntu proiektuak garatutako GTK erabiltzailearen interfaze grafikoa
* *aptitude*, Ncurses-en oinarritutako kontsola-bezero bat
* *KPackage*, KDEren taldekoa
* *Adept package manager*, KDErako erabiltzaile-interfaze grafikoa (deb, rpm, bsd)
* *PackageKit*,  freedesktop.org-en interfaze grafikoa.
* *GDebi*, GTKn oinarritutako tresna, Ubunturen babesa duena. (Qt bertsio bat ere badago, Ubuntu biltegietan gdebi-kde gisa eskuragarri.)
* *apt-zip*, USB memoriekin erabiltzeko pentsatua.
* apt*URL*, Ubuntu software-pakete bat, azken erabiltzailearen aplikazioak nabigatzaile batean klik eginda instalatzeko aukera ematen duena.
* Cydia, iOS jailbroken-erako pakete-kudeatzailea.
* *Sileo*, Cydia bezala, iOS jailbroken pakete-administratzailea, APTren bertsio berrienetan oinarritua (Electra taldeak iOSra eramana)
* gnome-apt, GTK/GNOMEetan oinarritutako interfaze grafikoa. Havoc Pennington-ek garatua
* Muon discover,  Qt-n oinarritutako erabiltzailearen interfaze grafikoa
* *Hildon application manager (Maemo application)*
* *apticron*, zain dauden eguneratzeen posta elektronikoko abisuetan cron bidez exekutatzeko sistemaren administratzaile batentzat (sysadmin) diseinatutako zerbitzua.
* *APT Daemon*, erabiltzaileei Policy Kit-en bidez softwarea instalatzeko aukera ematen dien eta zerbitzu gisa funtzionatzen duen interfazea bat, eta Ubuntu software-zentroak (Linux Mint software-administratzailearekin batera) erabiltzen dute.
* *Pakete-instalatzailea*, MX Linux-en zatia. https://web.archive.org/web/20190214174545/https://mxlinux.org/package-installer

Aipatutako APT-ren interfaze grafiko hauek aukera hauek dituzte:

* pakete berriak bilatzea;
* paketeak eguneratzea;
* paketeak instalatu edo kendu eta
* sistema osoa bertsio berri batera eguneratu.

## Historia 
`apt-get` programara eraman zuen jatorrizko ahalegina bere Deityk izenaz ezagutzen den dselect ordezkapen-proiektua izan zen. Proiektu hori 1997an enkargatu zuen Brian Whitek, une horretan Debianen argitalpenen gerentea zenak. `apt-get`-en lehen bertsio funtzionalari `dpkg-get` izena eman zitzaion, eta erabiltzailearen interfaze (UI) berriaren euskarri izango ziren liburutegiko oinarrizko funtzioetarako proba-programa izateko asmoa baino ez zuen.

APT 1998an sartu zen eta jatorrizko probak IRCn banatu ziren. Debianen lehen bertsioa, 1999ko martxoaren 9an argirataru zen Debian 2.1-en sartu zuten.

## Erreferentziak 
## Ikus, gainera 
* AppImage
* Flatpak
* Snap

## Kanpo estekak 
* APT HOWTO
* Apt tutoriala
* 2. kapitulua. Debian - Debian Reference paketeen kudeaketa