Debianin päivittäminen

Linux.fista
Versio hetkellä 21. helmikuuta 2008 kello 01.51 – tehnyt LP (keskustelu | muokkaukset) (→‎Uuteen julkaisuun päivittäminen: yksi update lisää; vipu -> asetus/valitsin)
Siirry navigaatioon Siirry hakuun

Debian Gnu/Linuxin yhtenä hyvin vahvana puolena pidetän sen helppoa päivittämistä. Debianin tavoitteena on, että järjestelmä voidaan päivittää versiosta toiseen käyttäjien tarvitsematta keskeyttää koneen käyttöä. Uuden ytimen saamiseksi käyttöön joudutaan toki käynnistämään järjestelmä uudelleen, ja päivityksestä voi joskus seurata myös muita ongelmia.

Paketinhallintatyökalut

Ohjelmien pitäminen ajan tasalla tapahtuu käyttäen apt-paketinhallintatyökalua, sen edustaohjelmaa aptitudea tai sen graafista käyttöliittymää, Synapticia. Matalemmalla tasolla paketteja hallitaan ohjelmalla dpkg.

Nykyisin vaativimpiin päivityksiin (Debianin versiosta toiseen tms.) suositellaan käyttämään aptitudea, joka paremmin kuin apt-get osaa selvittää ristiriitoja. Aptitude pitää myös kirjaa siitä, mitkä paketit on asennettu suoraan käyttäjän toivomuksesta ja mitkä on asennettu toisten pakettien riippuvuuksina. Aptitudea voidaan käyttää joko apt-getin lailla komentoriviltä tai interaktiivisesti.

Pakettilähteet

Tiedostossa /etc/apt/sources.list kerrotaan, mistä osoitteista järjestelmään haetaan päivityksiä ja uusia ohjelmia. Rivejä on yleensä useampia ja jotkut niistä voivat viitata myös cd-levyihin. Tiedoston katsominen onnistuu tavallisena käyttäjänä, mutta muutosten tekeminen ja päivitysten asentaminen on mahdollista vain pääkäyttäjänä (root).

Tyypillisiä rivejä ovat:

deb ftp://ftp.fi.debian.org/debian stable main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
# deb-src ftp://ftp.fi.debian.org/debian stable main contrib non-free
# deb-src http://security.debian.org stable/updates main contrib non-free
  • Ensisijaisen pakettivaraston suomalainen peili, tässä vakaan julkaisun (stable) virallisten pakettien (main) lisäksi julkaisun epävapaista riippuvia (contrib) ja epävapaita (non-free) paketteja
  • Turvapäivitykset samaan jakelun versioon
  • Näitä vastaavat lähdekoodirivit, nyt "poiskommentoituina"; ne aktivoidaan poistamalla #-merkki rivin alusta

Yleensä kannattaa pitää lähteissä jakelun version nimi, tätä kirjoitettaessa "etch", "stable"-määritteen sijasta. Tällöin vanhan version käyttöä jatketaan kunnes versio muutetaan käsin. Vanhaa versiota tuetaan yleensä kohtuullisen kauan ja näin vaihdos voidaan tehdä sopivana hetkenä, kun on aikaa selvittää mahdolliset ongelmat. Jos käytössäsi on oldstable "sarge", testing "lenny" tai unstable "sid" vaihda oikea nimi stablen tilalle (jos CD-rivillä lukee "unstable", älä välitä, jätä se muuttamatta).

Palvelin security.debian.org sisältää tietoturvapäivitykset ja on siksi kaikkein tärkein. Katso, että se täsmää käytettyyn julkaisuun. Jos käytät myös varsinaista jakeluversiotasi uudempia ohjelmaversioita, joudut huolehtimaan näiden päivityksistä erikseen.

Jos käytössä on asennuslevy (CD, DVD tms.), se kannattaa lisätä lähteisiin käskyllä apt-cdrom add. CD:tä ei pidä lisätä käsin, mutta valmiin rivin voi siirtää tiedoston toiseen kohtaan. Tiedostojärjestelmään liitettyyn CD:hen voi viitata suoraan: deb file://liitoskohta...

Myös omia pakettivarastoja voi lisätä, katso APT HOWTO tai /usr/share/doc/Debian/apt-howto tarvittavan pakettilistan luomiseksi.

deb-src-rivejä tarvitaan lähdekoodin hakemiseen aptia käyttäen. #-merkillä rivin alussa rivi on merkitty muka huomautukseksi ja näin apt ei välitä siitä. Aktivoi rivi jos haluat katsoa ohjelmien lähdekoodia, tehdä muutoksia ohjelmiin tai kääntää ohjelmasta uudemman version (jolloin rivillä pitää olla testing tai unstable stablen sijaan).

backports.org kääntää uudempien Debian-versioiden paketteja käytettäviksi Debianin vakaassa versiossa. Backportsien käyttäminen on turvallisempaa kuin uudempien pakettien hakeminen satunnaisista lähteistä tai niiden kääntäminen itse, mutta käyttö kannattaa kuitenkin rajoittaa niihin paketteihin, joista tarvitsee uudemman version.

Muuta lähdelistaa komennolla apt-setup tai apt-cdrom add jos haluat vain lisätä uudet asennusromppusi. Vaihtoehtoisesti avaa tiedosto /etc/apt/sources.list haluamallasi tekstieditorilla (esimerkiksi nanolla) ja tarkista, että se sisältää rivin

deb http://security.debian.org stable/updates main contrib

Jos et tiedä mitä tekstieditoreita Debian-järjestelmääsi on asennettuna, komennot editor ja man editor toimivat aina.

Jos paketin sama versio on saatavissa useammasta lähdelistassa mainitusta lähteestä, se haetaan tiedostossa ensimmäisenä mainitusta. Pidä siis CD-levyt, omat pakettivarastot yms. listassa ensimmäisinä. Useamman Debian-pelin pitäminen listassa ei haittaa muuta kuin hiukan hitaampana listojen päivityksenä (nykyään oletusarvoisesti pakettitiedoista haetaan vain muutokset).

Asetustiedostoilla voi muuttaa mistä paketit ensisijaisesti haetaan, että jokin paketti haetaan ensisijaisesti jostakin lähteestä, että testing-paketteja ei käytetä kuin erikseen niin pyydettäessä, vaikka ne olisivatkin listassa jne.

Lähdelistaan tehdyn muutoksen jälkeen apt pitää laittaa ajan tasalle komennolla apt-get update tai aptitude update

Päivitys

Debianin nimettyä vakaata julkaisua käytettäessä uusia paketteja tulee vain tietoturvapäivityksinä ja puolijulkaisuiden yhteydessä (vakavien ongelmien korjaukset). Testingiä tai unstablea käytettäessä päivityksiä tulee jatkuvasti.

Aptitudessa pakettilista päivitetään painamalla "u" (update), kaikki päivitettävät paketit merkitään päivitettäviksi painamalla "U" ja paketit päivitetään painamalla "g", ensin toimenpidelistan näyttämiseksi ja sitten itse päivityksen suorittamiseksi.

Päivittäminen hoituu komentoriviltä ensin avaamalla pääteikkuna (xterm, konsole tms.) tai kirjautumalla tekstikonsolilla ja sitten antamalla seuraavat komennot:

su -                         (vaihto pääkäyttäjäksi, anna pääkäyttäjän salasana kysyttäessä)
apt-get update       (hakee tiedot saatavilla olevista uusista päivityksistä)
apt-get upgrade         (asentaa päivitykset)

Varsinkaan unstablea käytettäessä ei kannata päivittää kaikkea sokeasti. Jos aikomuksena ei ole testata paketteja ja raportoida ongelmista, kannattaa odottaa muutama päivä ainakin keskeisten pakettien osalta. Jos apt-listbugs on asennettuna, se varoittaa asennettaessa pakettia, josta on raportoitu kriittisiä ongelmia.

Uuteen julkaisuun päivittäminen

Uuteen julkaisuun siirryttäessä pakettejä on saatettu yhdistää tai jakaa osiksi ja monet uudet pakettiversiot ovat ristiriidassa vanhojen kanssa. Usein on myös muuta huomioitavaa. Siksi päivittämisen ajankohta kannattaa valita niin, etteivät mahdolliset ongelmat aiheuta paniikkia. Vanhaa vakaata julkaisua tuetaan yleensä vielä melko pitkään.

Julkaisumuistiosta kannattaa lukea ainakin pääkohdat, joista selviää tällä kertaa vaadittavat erikoistoimet: ehkä paketinhallintatyökalu on hyvä päivittää ennen dist-upgradea tai ytimen päivittämiseen liittyy jotakin erikoista. Myös muita tietokoneen käyttäjiä on hyvä varoittaa. Varmuuskopiot pitää saattaa ajan tasalle.

Varsinainen päivittäminen tehdään tekstikonsolilta (johon pääsee näppäinyhdistelmällä Ctrl-Alt-F1) tai ssh-yhteyden kautta (jos päivitetään muualla olevaa konetta). X saatetaan sulkea sen osia päivitettäessä.

Jotta myöhemmin voi katsoa mitä oikein tuli tehtyä, käskyt on hyvä antaa script-komennolla avatussa sessiossa, esim.

script -at 2>upgrade-etch-`date  --iso-8601`.timings upgrade-etch-`date --iso-8601` 

(script-sessio päättyy, kun poistutaan shellistä exitillä)

  • Poista väliaikaisesti omat tai kolmannen tahon paketit, siltä osin kuin ne saattavat sekoittaa riippuvuuksia; poista "älä päivitä" -asetukset
  • Päivitä järjestelmä nykyisessä julkaisussa: aptitude update; aptitude upgrade
  • Vaihda lähdelistaan /etc/apt/sources.list uusi jakelu (korvaa esimerkiksi sarge etchillä) ja päivitä pakettilistat aptitude update
  • Päivitä julkaisumuistiossa mainitut ensiksi päivitettävät paketit: aptitude upgrade mikälie...
  • Ota käyttöön uusi ydin, jos tämä kuului päivityksen valmisteluihin: shutdown -r now ("now" tilalle sopiva varoitusaika, jos koneella saattaa olla muita käyttäjiä)
  • Päivitä koko järjestelmä: aptitude dist-upgrade
  • Ratkaise riippuvuuksien jäljellejääneet ristiriidat, helpoiten ehkä (ainakin osittain) aptituden grafisessa tilassa: aptitude

Ohjelmien uusissa versioissa on yleensä uudet oletusarvoset asetustiedostot. Jos asetustiedostoa on muokattu, päivitysohjelma kysyy haluaako käyttää omaa vaiko uutta versiota vaiko käsin sovittaa muuttuneet osat toisiinsa.

Jäljellejääneet riippuvuusongelmat

Usein päivityksen jälkeen jää jonkin verran ratkaisemattomia riippuvuuksia: asennettu paketti riippuu jostakin pakettiversiosta joka on ristiriidassa sen tilalle asennettavasta uudesta paketista. Vaikka tilanne voi jättää suuren määrän paketteja tilaan, joista niitä ei voi päivittää, ongelma johtuu yleensä vain muutamista paketeista.

aptitudella voi kokeilla eri vaihtoehtoja tilanteen ratkaisemiseksi sen riippuvuusongelmanäytössä. Ongelman ratkaisun voi myös jättää aptituden harteille:

aptitude --simulate -f dist-upgrade

Jos ratkaisu näyttää järkevältä, anna sama komento ilman simulate-valitsinta. Poistettavat paketit voi useimmiten asentaa uudestaan uudesta julkaisusta, kun riippuvuussolmu on ratkaistu.

Julkaisujen tietoturvapäivitykset

Syksyllä 2007 tietoturvapäivityksiä saa Debian GNU/Linuxin 8. huhtikuuta 2007 julkaistuun versioon 4.0, lempinimeltään etch, ja (muutamin poikkeuksin, Mozillaa ei enää tueta) Debian GNU/Linuxin 6. kesäkuuta 2005 julkistettuun versioon 3.1, lempinimeltään sarge. Sargen viimeinen niin kutsuttu puoliversio, 3.1r6, julkaistiin 7. huhtikuuta 2007.

Näitä edeltävän vakaan version 3.0, lempinimeltään woody, ylläpito päättyi 30. kesäkuuta 2006. Päivitys nykyiseen vakaaseen versioon 4.0 on suositeltava.

Testattavaa jakelua käytettäessä tietoturva on eri syistä heikompi kuin vakaassa versiossa. Nykyisen testingin myötä testingiin kuitenkin tulee myös erillisiä turvapäivityksiä.

Lisätietoja Debianiin saatavilla olevista tietoturvapäivityksistä löytyy osoitteesta http://www.debian.org/security/. Kannattaa myös tilata postituslista debian-security-announce, jolle lähetetään ilmoitukset saatavilla olevista päivityksistä.