Ero sivun ”Debianin päivittäminen” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(→‎Päivitys: aptitude -> apt-get, uuden suosituksen mukaisesti)
(→‎Uuteen julkaisuun päivittäminen: aptitude -> apt-get, paitsi graafisessa ongelmanselvittelyssä)
Rivi 80: Rivi 80:
* Päivitä järjestelmä nykyisessä julkaisussa: <tt>aptitude&nbsp;update; aptitude&nbsp;upgrade</tt>
* Päivitä järjestelmä nykyisessä julkaisussa: <tt>aptitude&nbsp;update; aptitude&nbsp;upgrade</tt>
* Vaihda lähdelistaan <tt>/etc/apt/[[sources.list]]</tt> uusi jakelu (korvaa esimerkiksi sarge etchillä) ja päivitä pakettilistat: <tt>aptitude&nbsp;update</tt>
* Vaihda lähdelistaan <tt>/etc/apt/[[sources.list]]</tt> uusi jakelu (korvaa esimerkiksi sarge etchillä) ja päivitä pakettilistat: <tt>aptitude&nbsp;update</tt>
* Päivitä julkaisumuistiossa mainitut ensiksi päivitettävät paketit: <tt>aptitude upgrade mikälie...</tt>
* Päivitä julkaisumuistiossa mainitut ensiksi päivitettävät paketit: <tt>apt-get upgrade mikälie...</tt>
* Päivitä muut helposti päivitettävät paketit: <tt>aptitude upgrade</tt>
* Päivitä muut helposti päivitettävät paketit: <tt>apt-get upgrade</tt>
* Ota käyttöön uusi ydin, jos tämä kuului päivityksen valmisteluihin, muuten vasta muun päivityksen jälkeen: <tt>shutdown -r now</tt> ("now" tilalle sopiva varoitusaika, jos koneella saattaa olla muita käyttäjiä)
* Ota käyttöön uusi ydin, jos tämä kuului päivityksen valmisteluihin, muuten vasta muun päivityksen jälkeen: <tt>shutdown -r now</tt> ("now" tilalle sopiva varoitusaika, jos koneella saattaa olla muita käyttäjiä)
* Päivitä koko järjestelmä: <tt>aptitude dist-upgrade</tt>
* Päivitä koko järjestelmä: <tt>apt-get dist-upgrade</tt>
* Ratkaise riippuvuuksien jäljellejääneet ristiriidat, helpoiten ehkä (ainakin osittain) aptituden grafisessa tilassa: <tt>aptitude</tt>
* Ratkaise riippuvuuksien jäljellejääneet ristiriidat, helpoiten ehkä (ainakin osittain) [[aptitude]]n grafisessa tilassa: <tt>aptitude</tt>


Ohjelmien uusissa versioissa on yleensä uudet oletusarvoiset asetustiedostot. Jos itse on tehnyt muutoksia tiedostoon, päivitysohjelma kysyy haluaako käyttää omaa vaiko uutta versiota, käsin sovittaa muuttuneet osat toisiinsa vaiko katsoa muutoksia ennen päätöksen tekemistä.<!-- jätetäänkö *.dpkg-inst, *.dpkg.old tai *.old aina vai vain joissakin tapauksissa? Aina pitäisi jäädä, Tale.-->
Ohjelmien uusissa versioissa on yleensä uudet oletusarvoiset asetustiedostot. Jos itse on tehnyt muutoksia tiedostoon, päivitysohjelma kysyy haluaako käyttää omaa vaiko uutta versiota, käsin sovittaa muuttuneet osat toisiinsa vaiko katsoa muutoksia ennen päätöksen tekemistä.<!-- jätetäänkö *.dpkg-inst, *.dpkg.old tai *.old aina vai vain joissakin tapauksissa? Aina pitäisi jäädä, Tale.-->
Rivi 94: Rivi 94:
aptitudella voi kokeilla eri vaihtoehtoja tilanteen ratkaisemiseksi sen riippuvuusongelmanäytössä. <!-- jaksaisiko joku kirjoittaa käytännön ohjeita tai esimerkin? -->
aptitudella voi kokeilla eri vaihtoehtoja tilanteen ratkaisemiseksi sen riippuvuusongelmanäytössä. <!-- jaksaisiko joku kirjoittaa käytännön ohjeita tai esimerkin? -->
Ongelman ratkaisun voi myös jättää aptituden harteille:
Ongelman ratkaisun voi myös jättää aptituden harteille:
  aptitude --simulate -f dist-upgrade
  apt-get --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.
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.



Versio 31. maaliskuuta 2012 kello 13.30

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 varsinkin epävakaita pakettilähteitä käyttäessä voi päivityksestä seurata hyvinkin vakavia 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 koko ruutua tai ikkunaa käyttäen.

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 "lenny", "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 "etch", testing "squeeze" 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).

Debian-kehittäjien ylläpitämä puolivirallinen 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 julkaisusta, että testing-paketteja ei käytetä kuin erikseen niin pyydettäessä, vaikka ne olisivatkin listassa jne. Katso manuaalisivu apt_preferences(5)

Lähdelistan muutoksen jälkeen pakettilista pitää päivittää, jotta se vastaisi uutta tilannetta, aptitudea interaktiivisesti käyttäen painamalla "u", komentorivillä 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). Korjaukset tehdään yleensä vanhoihin versioihin, lisäämättä uusia ominaisuuksia. 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 (yleensä noin vuoden).

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: apt-get upgrade mikälie...
  • Päivitä muut helposti päivitettävät paketit: apt-get upgrade
  • Ota käyttöön uusi ydin, jos tämä kuului päivityksen valmisteluihin, muuten vasta muun päivityksen jälkeen: shutdown -r now ("now" tilalle sopiva varoitusaika, jos koneella saattaa olla muita käyttäjiä)
  • Päivitä koko järjestelmä: apt-get dist-upgrade
  • Ratkaise riippuvuuksien jäljellejääneet ristiriidat, helpoiten ehkä (ainakin osittain) aptituden grafisessa tilassa: aptitude

Ohjelmien uusissa versioissa on yleensä uudet oletusarvoiset asetustiedostot. Jos itse on tehnyt muutoksia tiedostoon, päivitysohjelma kysyy haluaako käyttää omaa vaiko uutta versiota, käsin sovittaa muuttuneet osat toisiinsa vaiko katsoa muutoksia ennen päätöksen tekemistä.

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:

apt-get --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

Loppuvuodesta 2010 tietoturvapäivityksiä saa seuraavasti:

  • oldstable eli etch, julkaistu 8. huhtikuuta 2007: tietoturvatuki loppui 28. helmikuuta 2010, iceweaselin tuki loppui 24. maaliskuuta 2009.
  • old-stable eli lenny, julkaistu 14. helmikuuta 2009: tuki loppuu 04-2012; mozilla-perheestä varoitetaan, että tuki saattaa jossakin vaiheessa loppua
  • tällä hetkellä vakaa versio on debian 6.0 (squeeze): julkaistu 6 helmikuuta 2011
  • unstable eli sid: tietoturvapäivityksiä ei käsitellä mitenkään erityisesti, ne ilmestyvät normaalien uusien pakettiversioiden myötä

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