APT

Linux.fista
Versio hetkellä 7. marraskuuta 2014 kello 23.58 – tehnyt 213.216.244.213 (keskustelu) (apt-add-reposity --remove)
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).

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 -y 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

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