Copyright ©2003.-2017. CARNet. Sva prava pridržana.
Mail to portal-team(at)CARNet.hr
APT je akronim od Advanced Packaging Tool, paketni sustav koji se rabi na Debianu. On je jedan od najrazvijenijih paketnih sustava na linuxima, te je možda ponešto kompliciraniji za podesiti (iako u većini slučajeva dodatno podešavanje ni nije potrebno). Za APT postoji nekoliko sučelja (front-endova): dselect, apt-get, aptitude, a mi ćemo se skoncentrirati na najzastupljeniji apt-get, odnosno na neke uočene probleme u radu s njim.
Ukoliko u datoteci /etc/apt/sources.list imate unose u kojima se spominju "debian-non-US" repozitoriji, vrijeme je da ih izbrišete jer nisu više potrebni. Točnije, nisu potrebni još od 2005. godine, za izdanja Debiana od inačice 3.1 (sarge) i više.
Možete ručno promijeniti datoteku (izbrisati višak), ili skinuti trenutnu sources.list datoteku na http://paketi.carnet.hr/:
# See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
deb http://debian.carnet.hr/debian sarge main contrib non-free
deb http://security.debian.org sarge/updates main contrib non-free
# CARNet Debian Linux v2
deb http://ftp.carnet.hr/carnet-debian sarge main non-free
# stable sources
deb-src http://debian.carnet.hr/debian sarge main contrib non-free
deb-src http://security.debian.org sarge/updates main contrib non-free
Potrebno je još na kraj datoteke dodati retke koji određuju lokaciju dodatnih repozitorija koje možda rabite.
Nije nikakva tajna da se pojedini paketi iz nekog razloga ne žele instalirati. Najčešće se to događa bez jasnih objašnjenja paketnog sustava zbog čega je došlo do problema.
Ovo je ujedno i činjenica koja najviše frustrira sistem inženjere, i plaši one neiskusnije. Ovo je pogotovo istina kad se radi o kritičnim servisima poput mail servisa ili LDAP imenika. Pogledajmo kako to izgleda u praksi:
# apt-get install amavisd-cn
The following extra packages will be installed:
amavisd-new
...
Unpacking amavisd-cn (from .../amavisd-cn_3%3a2.4.2-4_all.deb) ...
Setting up amavisd-cn (2.4.2-4) ...
dpkg: error processing amavisd-cn (--configure):
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
amavisd-cn
E: Sub-process /usr/bin/dpkg returned an error code (1)
Možemo vidjeti da osim izlaznog koda (1) koji označava neuspjeh, nemamo nikakvih informacija zašto instalacija nije uspjela. Kako svaka CARNetova instalacijska skripta ima određene mogućnosti debuga, prva nam opcija je postaviti varijablu DEBIAN_SCRIPT_DEBUG:
# DEBIAN_SCRIPT_DEBUG=1 apt-get install paket...
...
+ domains='pod.domena.hr
domena.hr'
+ for d in '$domains'
/usr/bin/host -t mx $d
++ /usr/bin/host -t mx pod.domena.hr
+ mxes='Host pod.domena.hr not found: 2(SERVFAIL)'
dpkg: error processing amavisd-cn (--configure):
subprocess post-installation script returned error exit status 1
Ovo će uključiti debug prikaz tijekom instalacije ovog paketa, i u većini slučajeva će vam biti sasvim dovoljna za lociranje greške. Ukoliko vama ne pomogne, svakako će pomoći nekom iskusnijem. U ovom konkretnom slučaju, ne postoji MX za poddomenu 'pod.domena.hr', što ukazuje na probleme s DNS-om.
No, postoji mogućnost debugiranja CARNetovih pomoćnih skripti iz paketa carnet-tools-cn (koje rabe CARNetovi paketi za instalaciju i kasniji rad). Za takav debug treba rabiti varijablu CP_SCRIPT_UPDATE:
# CP_SCRIPT_DEBUG=1 apt-get install paket
I sam Debian paketni sustav ima svoje debug mogućnost, najčešće u obliku:
# DEBCONF_DEBUG=developer apt-get install paket
Ovime uključujemo najveću razinu debug ispisa za debconf sustav (sustav konfiguracije preko menija). Naravno da sve to možete i kombinirati:
# CP_SCRIPT_DEBUG=1 DEBIAN_SCRIPT_DEBUG=1 DEBCONF_DEBUG=developer \
apt-get install paket
S navedenim varijablama ćemo uključiti sve raspoložive debug informacije što će dati vrlo opširan prikaz, tako da se preporučuje uporaba naredbe 'script' koja će zapisati sav izlaz u datoteku 'typescript':
# script
Script started, file is typescript
# naredba1 ; naredba2
# ./skripta...
# exit
Script done, file is typescript
#
U datoteci 'typescript' će se nalaziti sve što ste otkucali i sve što se prikazalo na ekranu od tog trenutka. Izlaz je s naredbom 'exit' ili pritiskom na kombinaciju tipki Ctrl+D.
Još jedan način da saznate što se zbiva je uporaba opcije pkgProblemResolver, koja će vam ispisati kako APT sustav "odlučuje" kod raznih operacija, u ovom slučaju dist-upgrade. Opcija radi s operacijama dist-upgrade, upgrade, install, remove i purge.
UPDATED: 2009-12-28
Korisnici distribucija Debian i Ubuntu znaju koliko može biti duga i naporna instalacija svih onih silnih programa koji su im potrebni za svakodnevni rad, a još kada nemaju pristup internetu, onda cijeli postupak sređivanja sustava zna biti podosta bolan.
APTonCD u takvim slučajevima olakšava instalaciju i/ili backup omiljenih program iz razloga jer ima grafičko sučelje te dobro barata ovisnim programima (dependencies). Samo korištenje je vrlo jednostano, a korisnik jedino mora instalirati željene pakete na lokalno računalo, pokrenuti APTonCD i odabrati pakete.
Također, APTonCD ima mogućnost instaliravanja svih snimljenih paketa na lokalno računalo kao i dodavanje medija u repozitorij kojeg koriste apt-get, aptitude i synaptic.
Do snimljenih paketa na tri načina.
Ukratko, sve što korisnik treba napraviti je iso image sa paketima na računalu koje je spojeno na mrežu i ima instalirane željene programe te sa novozapečenim medijem doći do računala koje nema pristup internetu i instalirati ih.
APTonCD možete preuzeti na sourceforgeovoj stranici http://sourceforge.net/projects/aptoncd/ [5] ili koristeći naredbu: apt-get install aptoncd.
Links
[1] https://sysportal.carnet.hr./sysportallogin
[2] https://sysportal.carnet.hr./taxonomy/term/11
[3] https://sysportal.carnet.hr./taxonomy/term/22
[4] https://sysportal.carnet.hr./taxonomy/term/28
[5] http://sourceforge.net/projects/aptoncd/
[6] https://sysportal.carnet.hr./taxonomy/term/17
[7] https://sysportal.carnet.hr./taxonomy/term/26