Apt

Linux.fista
Versio hetkellä 3. huhtikuuta 2012 kello 09.50 – tehnyt LP (keskustelu | muokkaukset) (→‎apt-get: autoremove; --no-install-recommends, --simulate)
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ä. 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

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

Peruskäyttö

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

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

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.

Katso myös