APT
APT eli Advanced Package Tool on Debian-projektin kehittämä työkalu Linux-käyttöjärjestelmän pakettienhallinnan helpottamiseen. Se huolehtii mm. asennettavien pakettien riippuvuussuhteista ja niiden päivittämisestä. Se hakee asennettavat paketit netistä. APT-nimitystä käytetään sekä paketinhallintakirjastosta (jota voi käyttää monen käyttöliittymän kautta) että sitä käyttävästä komentorivityökalusta.
Vaikka APT onkin ensisijaisesti dpkg-paketinhallintaa käyttävien Debianin ja eri Debian-johdannaisten (mm. Knoppix, Linspire, MEPIS, Ubuntu) paketinhallintatyökalu, on siitä APT-RPM-projektin toimesta kehitetty myös RPM-paketinhallintaa käyttävillä jakeluilla (mm. Fedora) toimiva versio. Yleensä on kuitenkin suositeltavaa käyttää kunkin järjestelmän omaa virallista paketinhallintatyökalua, joka esimerkiksi Fedoran tapauksessa on yum.
Asetukset
APT:n asetustiedostot ovat yleensä hakemistossa /etc/apt. Eniten käyttäjän huomiota vaatii tiedosto /etc/apt/sources.list, jossa listataan käytettävät pakettilähteet. Monissa jakeluissa on mahdollista käyttää epävirallisia pakettilähteitä joidenkin ohjelmien asentamiseen, ja tällöin uudet pakettilähteet lisätään tähän tiedostoon.
Lisäksi esimerkiksi Debianin voi päivittää uuteen versioon muuttamalla tiedostosta kaikki pakettilähteet viittaamaan uuteen jakeluversioon ja ajamalla päivityskomento.
Jos käyttää epävirallisia pakettilähteitä tai joitakin paketteja testingistä kannattaa tutustua myös tiedostoon /etc/apt/preferences, jossa voi määritellä mm. mitä paketteja asennetaan mistäkin jakelun versiosta. Tiedosto kuvataan man-sivulla apt_preferences(5).
Värit ja prosessipalkki
APTin versiosta 1.0 (tulee mm. Ubuntu 14.04:n ja Debianin kehitysversion mukana) alkaen apt tukee värejä ja prosessipalkkia. Ne ovat valmiiksi käytössä aina apt-komentoa käytettäessä, mutta muilla komennoilla ne täytyy ottaa käyttöön itse asetuksilla Dpkg::Progress-Fancy ja APT::Color.
Pääkäyttäjänä tämä tapahtuu komennoilla
echo 'Dpkg::Progress-Fancy "1";' > /etc/apt/apt.conf.d/99progressbar echo 'APT::Color "1";' > /etc/apt/apt.conf.d/99color
Sudoa käyttäen taas
echo 'Dpkg::Progress-Fancy "1";'|sudo tee /etc/apt/apt.conf.d/99progressbar echo 'APT::Color "1";'|sudo tee /etc/apt/apt.conf.d/99color
Seuraavalla kerralla apt-* komentoa käyttäessä päivityksissä pitäsiä näkyä värit ja asennettaessa. Huomaa, ettei aptitudella näy värejä, mutta prosessipalkki näkyy.
Peruskäyttö
apt
APTin versiosta 1.0 alkaen on mahdollista käyttää apt-komentoa suoraan. Se tulee muun muassa Ubuntu 14.04:n mukana.
Ohjelma asennetaan komennolla
apt install ohjelma
Pakettilista (eli tieto pakettilähteiden sisällöstä) päivitetään komennolla
apt update
Järjestelmään asennetut paketit päivitetään komennolla
apt upgrade
Ja kaikki yhdellä kertaa. Eli pakettilähteiden sisällön päivitys, uusimpien pakettien asennus (-y vipu hyväksyy päivitettävät paketit) ja exit komento poistuu terminaalista.
sudo apt update && sudo apt upgrade -y && exit
Tämä ei kuitenkaan suorita päivitysoperaatiota, jos se vaatisi joidenkin pakettien poistamista tai uusien asentamista. Täydellinen järjestelmän päivitys tehdäänkin komennolla
apt dist-upgrade
apt-get
Ohjelma asennetaan komennolla
apt-get install ohjelma
Tarvittaessa voidaan asentaa tietty versio ohjelmasta tai valita käytettävä pakettilähde. Seuraava komento asentaisi paketin "ohjelma" version 1.0 pakettilähteestä "experimental".
apt-get -t experimental install ohjelma=1.0
Jos haluaa asentaa riippuvuuksista vain välttämättömät, lisätään vipu --no-install-recommends
apt-get --no-install-recommends install ohjelma
Pakettilista (eli tieto pakettilähteiden sisällöstä) päivitetään komennolla
apt-get update
Järjestelmään asennetut paketit päivitetään komennolla
apt-get upgrade
Ja kaikki yhdellä kertaa. Eli pakettilähteiden sisällön päivitys, uusimpien pakettien asennus (-y vipu hyväksyy päivitettävät paketit) ja exit komento poistuu terminaalista.
sudo apt-get update && sudo apt-get upgrade -y && exit
Tämä ei kuitenkaan suorita päivitysoperaatiota, jos se vaatisi joidenkin pakettien poistamista tai uusien asentamista. Täydellinen järjestelmän päivitys tehdäänkin komennolla
apt-get dist-upgrade
Ennen järjestelmän päivitystä uuteen versioon kannattaa lukea päivitysohjeet: päivitys vaatii usein erikoisjärjestelyjä, kuten tiettyjen pakettien päivittämisen ennen muita (ydin, paketinhallinta, keskeisiä kirjastoja tms.).
Varsinkin koko järjestelmän päivytyksessä uuteen versioon, mutta myös epävirallisia paketteja tai isoja ohjelmakokonaisuuksia asennettaessa (esim. uusi työpöytäympäristö), voi olla tarpeen varmistaa, ettei komento tee mitään odottamatonta. Kokeilun voi tehdä vivulla -s (simulate):
apt-get --simulate dist-upgrade
Paketti voidaan poistaa kahdella eri tavalla; ensimmäinen tapa ei poista ohjelman asetustiedostoja:
apt-get remove ohjelma
Sen sijaan ohjelma asetustiedostoineen poistetaan komennolla
apt-get --purge remove paketti
Huomaa, että kumpikaan edellä mainituista tavoista ei poista ohjelman mukana asentuneita riippuvuuksia! Siihen käytetään toimintoa autoremove:
apt-get autoremove
Ei-välttämättömistä riippuvuuksista pidetään kirjaa eri paikoissa. apt-get ei välttämättä osaa täysin huomioida aptitudella asennettuja riippuvuuksia ja päinvastoin. Jos käytät kumpaakin, katso mitä ollaan poistamassa.
APT osaa hakea myös pakettien lähdekoodit pakettivarastosta komennolla
apt-get source paketti
Muista poiketen tämä toimenpide ei vaadi pääkäyttäjän oikeuksia. Lähdekoodi haetaan työhakemistoon, ei aptin omiin hakemistoihin.
Lähdekoodin voi samalla kääntää deb-paketiksi, jota ennen myös kääntämiseen tarvittavat paketit pitää asentaa, ja tuloksena syntyneen paketin voi asentaa normaaliin tapaan dpkg:lla
apt-get build-dep paketti apt-get --compile source paketti dpkg -i paketti_versio.deb
apt-key
Pakettivarastojen turvallisuus (eli se, että varmasti käytät sitä varastoa, jota luulet käyttäväsi) varmistetaan digitaalisilla allekirjoituksilla. Tätä varten sinulla tulee olla "avaimet", joita käytetään pakettivarastojen tunnistamisessa. Kun lisäät ylimääräisiä varastoja, pitää sinun ladata verkosta vastaavat avaimet. Jos sinulla on jo valmiiksi "tiedosto.gpg" voit lisätä sen näin
sudo apt-key add tiedosto.gpg
Mutta yleensä avain haetaan suoraan verkosta jolloin käytetään seuraavaa komentoa: HUOM! Rivin lopussa oleva viiva mukaan!
wget -q http://osoite.tunnus/tiedosto.gpg -O- | sudo apt-key add -
apt-cache
apt-cache ei vaadi pääkäyttäjän oikeuksia.
Paketteja voi etsiä komennolla
apt-cache search hakusana
Joka etsii pakettien nimistä ja kuvauksista hakusanaa hakusana. Hakusana voi olla myös säännöllinen lauseke (regular expression). Käytettäessä valitsinta --names-only, apt etsii vai pakettien nimistä.
Tietystä paketista nähdään tarkat tiedot (mm. riippuvuudet ja pitkä kuvaus) komennolla
apt-cache show paketti
Tietyn paketin versiot, sekä asennettu että pakettivarastoissa olevat:
apt-cache policy paketti
apt-file
apt-file on työkalu tiedostojen etsimiseksi paketeista. Se ei aina ole oletuksena asennettuna apt:tä käyttäviin jakelupaketteihin. Jos se ei ole asennettuna, se löytyy yleensä apt-file-nimisestä paketista:
apt-get install apt-file
apt-file etsii tietoja tietokannasta, joten heti asennuksen jälkeen ja välillä muulloinkin on tietokanta päivitettävä komennolla
apt-file update
Yksittäistä tiedostoa voi etsiä komennolla
apt-file search tiedosto
Ja tietyn paketin tiedostot saa listattua komennolla
apt-file list paketti
apt-add
add-apt-repository on työkalu, jolla voit lisätä uusia lähteitä paketinhallintaan.
Esimerkiksi:
sudo add-apt-repository ppa:webapps/stable
add-apt-repository --remove on työkalu, jolla voi poistaa lähteen paketinhallinnasta.
Esimerkiksi:
sudo add-apt-repository --remove ppa:webapps/stable
Huomaa kuitenkin että kyseinen komento ei poista asennettua tai päivitettyä ohjelmaa tietokoneeltasi.
Jos haluat poistaa ohjelman ja lähteen paketinhallinnasta. Käytä seuraavaa komentoa.
sudo ppa-purge ppa:webapps/stable
Kuinka etsin rikkinäisiä pakettilähteitä
sudo apt-get update | grep "Failed"
Jos tulostus on tyhjä. Rikkinäisiä pakettilähteitä ei löytynyt. Jos tulostus on esimerkiksi seuraavanlainen:
W: Failed to fetch http://ppa.launchpad.net/webapps/stable/ubuntu/dist/trusty/main/binary-amd64/Packages 404 Not Found E: Some index files failed to download. They have been ingored, or old ones used instead.
Kohteen poistaminen tapahtuu yllä olevan esimerkin mukaan. Huom. webapps/stable on kyseisessä esimerkissä poistettava PPA-osoite.
Käyttöliittymiä
apt-get -komennon sijaan voit myös käyttää aptitudea, jota voi käyttää täsmälleen samalla tavalla (aptitude update, aptitude install, jne.). Aptitude ratkoo pakettien riippuvuussuhteita hiukan eri tavalla kuin apt-get (se asentaa myös suositellut paketit), ja siitä löytyy myös ncursesilla toteutettu käyttöliittymä, joka tulee esille kun aptitude käynnistää ilman komentoparametriä (kuten install). Muita apt:n käyttöä helpottavia työkaluja ovat Adept, dselect, Kynaptic ja Synaptic.