APT

Linux.fista
Siirry navigaatioon Siirry hakuun

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.

Aptitude on eräs APT:n käyttöliittymistä.

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[muokkaa]

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[muokkaa]

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ö[muokkaa]

apt[muokkaa]

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

Jos järjestelmään asennetut paketit eivät suostu päivittymään niin voi kokeilla pakotettua päivitystä komennolla

apt upgrade -f

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[muokkaa]

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.

Poistaa vanhat noudetut tiedostot

apt-get autoclean

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

Koko kone kerralla kuosiin[muokkaa]

Käyttöjärjestelmän pakettilähteet, ohjelmat ajan tasalle päivittävä sekä vanhat paketit, kuin myös vanhat noudetut tiedostot poistava kätevä komentosarja, joka jokaisen käyttökerran alussa ajettuna auttaa pitämään APT-paketinhallintaa hyödyntävän käyttöjärjestelmän kunnossa.

sudo apt-get update && sudo apt-get upgrade && sudo apt-get autoremove && sudo apt-get autoclean

apt-key[muokkaa]

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[muokkaa]

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ä.

Voit myös hakea pakettia komennolla apt-cache madison. Se näyttää myös paketin version. Madison-komento lisättiin apt-versioon 0.5.20. Se tuottaa tulosteen, joka on samanlainen kuin silloin olemassa oleva madison-työkalu, jota Debian-palvelimen ylläpitäjät käyttivät. Useilla näistä työkaluista oli nimet, jotka olivat yleisiä naisten etunimiä, en tiedä, onko niillä erityistä historiaa. apt-cachen madison-komento yrittää jäljitellä Debianin arkistonhallintatyökalun, madisonin, tulostusmuotoa ja osajoukkoa. Se näyttää paketin saatavilla olevat versiot taulukkomuodossa. Toisin kuin alkuperäinen madison, se voi näyttää tietoja vain siitä arkkitehtuurista, jolle APT on hakenut pakettiluettelot.

apt-cache madison hakusana

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[muokkaa]

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[muokkaa]

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ä[muokkaa]

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ä[muokkaa]

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.

Katso myös[muokkaa]

Aiheesta muualla[muokkaa]