Debianin päivittäminen

Linux.fista
Versio hetkellä 1. marraskuuta 2007 kello 17.43 – tehnyt LP (keskustelu | muokkaukset) (uudelleenkirjoitus)
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äivityksessä voi toki syntyä oikeita ongelmiakin.

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

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

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

Päivitys

Debianin vakaata julkaisua käytettäessä uusia paketteja tulee vain tietoturvapäivityksinä ja puolijulkaisuiden yhteydessä. Jos käytössä on myös muita lähteitä, päivityksiä voi tulla muitakin.

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)

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

  • Päivitä järjestelmä nykyisessä julkaisussa: aptitude update; aptitude upgrade
  • Vaihda lähdelistaan /etc/apt/sources.list uusi jakelu (korvaa esimerkiksi sarge etchillä)
  • Päivitä julkaisumuistiossa mainitut ensiksi päivitetä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ä 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.


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