Ero sivun ”Ohjelmien asentaminen” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(korjauksia, selvennyksiä)
(uudenmalliseksi)
Rivi 1: Rivi 1:
Ohjelmien asentaminen GNU/Linuxiin onnistuu pääsääntöisesti kahdella tavalla, kääntämällä [[lähdekoodi]]sta tai jakelupaketin omalla [[Paketinhallintajärjestelmä|paketinhallinnalla]]. Näistä tavoista jälkimmäinen on varsinkin aloittelijalle ehdottomasti helpompi ja suositeltavampi tapa, mikäli vain haluamastasi ohjelmasta ylipäätään on paketoitu (riittävän uusi) versio jakelullesi.
Linuxiin asennetaan ohjelmia pääsääntöisesti [[jakelu]]n [[paketinhallintajärjestelmä]]stä. Paketinhallintaa käytetään jakelun omilla työkaluilla joko graafisesti tai [[komentorivi]]ltä. Kun ohjelmat asennetaan paketinhallintajärjestelmästä, asennetaan automaattisesti myös muut ohjelman tarvitsemat ohjelmapaketit (esimerkiksi peli voi vaatia [[OpenGL]]-kirjaston asentamisen). Paketinhallintajärjestelmä pitää myös kirjaa kaikista järjestelmään asennetuista ohjelmista ja pystyy päivittämään ne kaikki uusien versioiden ilmestyessä.


== Kääntäminen lähdekoodista ==
Tämä kuitenkin vaatii, että haluttu ohjelma (tai sen haluttu versio) löytyy käytetyn jakelun pakettilähteistä. Aina näin ei ole. Tällöin haluttu ohjelma saattaa löytyä omalle jakelulle paketoituna jostain [[epävirallinen pakettilähde|epävirallisesta pakettilähteestä]] tai ohjelman kotisivuilta. Tällaisissa tapauksissa ohjelma voidaan asentaa tästä paketista, jos paketin tarjoava taho on luotettava. Tällöin paketinhallintajärjestelmä saa tiedon siitä, että järjestelmään on asennettu uusi ohjelma, jolloin paketinhallintajärjestelmä pysyy ajan tasalla ja mm. ohjelman poistaminen on helppoa. Tässä tavassa haittapuolena on se, että ohjelmapaketin toimintaa muun järjestelmän kanssa ei välttämättä ole testattu tarpeeksi (jakelun kehittäjät eivät sitä tue) ja päivityksistä joutuu yleensä huolehtimaan itse. Lisäksi epäluotettavista lähteistä asennetut paketit ovat tietoturvariski.
''Katso artikkeli [[kääntäminen]]''.


Perinteinen tapa ohjelmien asentamiseen on kääntäminen lähdekoodista. Jos mahdollista, ohjelma kannattaa kuitenkin asentaa käytetyn Linux-jakelun valmiista paketista, sillä:
Perinteisempi tapa ohjelmien asentamiseen on kääntäminen lähdekoodista. Tämä tulee kysymykseen lähinnä tilanteessa, jossa halutaan asentaa jokin ohjelma, jota jakelun omista pakettilähteistä ei löydy. Kääntämällä asennettavien ohjelmien asentaminen voi vaihdella paljonkin eri ohjelmien välillä ja käyttäjän on myös itse huolehdittava siitä, että kaikki ohjelman tarvitsemat muut ohjelmat on asennettu. Ohjelmat tulee aina asentaa ensisijaisesti jakelun paketinhallinnasta, sillä käsin asennetut paketit voivat pahimmassa tapauksessa sotkea paketinhallintajärjestelmän ja aiheuttaa ongelmia.
* Paketinhallinnan ohi asennetun paketin poistaminen voi olla hankalaa
* Paketinhallintatyökalut eivät toimi oikein paketinhallinnnan ohi asennettujen ohjelmien kanssa
* Riippuvuuksia ei tarkisteta yhtä tarkasti
* Paketti ei välttämättä toimi yhteen muun järjestelmän kanssa
* Turvapäivityksistä joutuu huolehtimaan itse


Vapaan ohjelman olennainen ominaisuus on kuitenkin, että lähdekoodi on helposti käytettävissä. Jokaisesta jakelun vapaasta paketista on lähdekoodit saatavilla, niihin voi tehdä omat muutoksensa ja muokatun lähdekoodin voi itse kääntää ja koota paketiksi, joka on paketinhallinnan piirissä siinä missä virallinenkin versio. Jollei halua menettää tekemiään muutoksia, ne pitää kuitenkin itse siirtää mahdollisiin päivityksiin. Muutettu paketti kannattaa siksi paketinhallinnassa merkitä käsin päivitettäväksi ("hold" tms.).
Ohjelmien asennustapaa valittaessa järjestys on seuraava:
#Jakelun omasta pakettilähteestä
#Epävirallisesta, mutta luotettavasta lähteestä tai ohjelman kotisivuilta ladattu omalle jakelulle tehty paketti
#Lähdekoodista kääntäminen


Jos hakee lähdekoodin muualta kuin oman jakelun käytössä olevasta versiosta, joutuu itse huolehtimaan turvapäivityksistä ja paketin sopeuttamisesta jakeluun.
== Ohjelmien asentaminen eri jakeluissa ==
Seuraavassa on lyhyesti kerrottu, mitä työkaluja käyttäen ohjelmien asennus onnistuu eri jakeluissa. Tarkemmat ohjeet työkalujen käyttöön löytyvät kyseistä työkalua käsittelevistä artikkeleista.


== Debianin ja Ubuntun paketinhallinta ==
=== Arch Linux ===


[[Debian GNU/Linux|Debian]]issa ja [[Ubuntu]]ssa ohjelmapaketteja asennetaan suoraviivaisimmin ohjelmalla [[apt]] tai [[aptitude]], joka myös huolehtii "riippuvuuksien" asentamisesta:
=== Debian ===
apt-get install hyvasofta
''Katso myös artikkeli [[Debian GNU/Linux#Debianin paketinhallinta]]''
aptitude install hyvasofta


Paketin asentaminen tai paketin merkintöjen muuttaminen vaatii [[root|pääkäyttäjän]] oikeudet. Ubuntussa tähän käytetään yleensä komentoa [[sudo]] komentorivien alussa.
[[Debian]]issa käytetään [[dpkg]]-nimistä paketinhallintajärjestelmää. Paketteja voidaan asentaa graafisesti työpöytäasennuksen jälkeen valikoista löytyvällä Synaptic-sovelluksella josta kerrotaan tarkemmin artikkelissa [[Synaptic]].


Paketteja voi etsiä komennolla:
Komentoriviltä paketinhallintaa käytetään [[apt-get]] ja [[aptitude]] -sovelluksilla. Yksittäisiä <tt>.deb</tt>-paketteja voi asentaa ohjelmalla [[dpkg]].
apt-cache search hyvasofta-tai-muu-hakusana
aptitude search hyvasofta-tai-muu-hakusana


Ennen molempia komentoja kannattaa päivittää tietokanta komennolla:
=== Fedora ===
apt-get update
aptitude update


Valmiiksi asennettuja ohjelmia voi päivittää yksittäisesti asentamalla halutut ohjelmat "uudelleen" aptin install-komennolla tai yleisesti apt-komennoilla upgrade ja dist-upgrade:
=== Gentoo ===
apt-get [dist]upgrade
[[Gentoo]]ssa paketinhallintajärjestelmää käytetään lähes aina komentoriviltä käyttäen [[emerge]]-sovellusta.
aptitude [dist]upgrade
Myös graafisia työkaluja Gentoon paketinhallintaan on olemassa, muun muassa [[Porthole]], [[Guitoo]] ja [[Portagemaster]]. Nämä ovat kuitenkin vielä enemmän tai vähemmän testivaiheessa.


Toimintoa <tt>distupgrade</tt> käytetään jakelun versiosta toiseen päivitettäessä. Ero on se, että <tt>upgrade</tt> ei koskaan poista paketteja eikä asenna uusia, kun taas <tt>dist-upgrade</tt> voi tehdä kumpaakin. Joskus pakettia päivitettäessä sen riippuvuudet määräävät, että jokin vanhentunut paketti poistetaan tieltä tai uusia riippuvuuksia asennetaan, jolloin <tt>upgrade</tt> jättää paketin päivittämättä näiden vaatimusten takia.
=== Mandriva ===
[[Mandriva]]ssa paketinhallintajärjestelmää voidaan käyttää komentoriviltä [[URPMI]]-sovelluksella.


distupgrade (ja install) asentaa myös ne paketit, joista asennettava paketti riippuu (ja ne, joita se suosittelee, riippuen asetuksista). Se muistaa, mitkä paketit on asennettu riippuvuuksina ja osaa poistaa ne, kun mikään paketti ei enää riipu niistä. Aptitude osaa myös paremmin kuin apt-get selvittää ristiriitoja, joita syntyy jakelun uuteen versioon päivitettäessä.
=== OpenSUSE ===


Joskus on ohjelma ladattava .deb-tiedostona muualta kuin lähdeluettelon lähteistä. Paketti asennetaan seuraavasti dpkg-ohjelmalla:
=== Ubuntu ===
dpkg -i hyvasofta.deb
koska [[Ubuntu]] pohjautuu Debianiin, paketinhallinta toimii samoin kuin [[Ohjelmien asentaminen#Debian|Debianissa]], mutta lisäksi käytössä on Ubuntun oma yksinkertaistettu Lisää/poista... -sovellus, joka löytyy valikosta ''Sovellukset'' -> ''Lisää/poista..''. Lisäksi on mahdollista käyttää [[Synaptic]]ia joka käynnistyy valitsemalla ''Järjestelmä'' -> ''Ylläpito'' -> ''Synaptic-pakettienhallinta''.  


Jos käyttää Debianin vakaata versiota ("stable") ja haluaa uudemman version yksittäisestä paketista, sen voi kääntää toisen version (experimental, unstable, testing) lähdekoodeista. Keskeisiä tai isoja ohjelmistoja ei kannata asentaa näin, ellei oikeasti tiedä, mitä tekee: uudellenkääntäminen saa ohjelman käyttämään ohjelmakirjastojen oikeita versioita, mutta versioiden välillä saattaa olla myös käsityötä vaativia eroja.
Ladatun <tt>.deb</tt>-paketin pystyy asentamaan kaksoisnapsauttamalla pakettia, jolloin Ubuntun paketinasennustyökalu käynnistyy ja hoitaa asennuksen.


Huolehdi, että sopivat lähdekoodirivit (<tt>deb-src lähde testing main</tt>) löytyvät asennuslähdeluettelosta (ja että osaat huolehtia paketin turvapäivityksistä) ja komenna:
Komentoriviltä [[apt-get]], [[aptitude]] ja [[dpkg]] toimivat kuten Debianissa. Ubuntun ohjeista löytyy myös lisätietoja pakettien hallinnasta: käynnistä ohjekeskus (''Järjestelmä'' -> ''Ohjeet ja tuki'') ja valitse vasemmasta reunasta ohje ''Sovellusten lisääminen ja poistaminen''. Lisäksi [http://fi.wikibooks.org/wiki/Ubuntu_tutuksi Ubuntu tutuksi] -wikikirja esittelee kattavasti [http://fi.wikibooks.org/wiki/Ubuntu_tutuksi/Ohjelmien_asentaminen_ja_pakettivarastot ohjelmien asentamista ja pakettilähteiden käyttöä].
apt-get build-dep hyvasofta
apt-get --compile source hyvasofta
dpkg --install hyvasofta_versio.deb


Paketinhallintaa ei toki ole mikään pakko hoitaa komentotulkista. Deb-paketinhallintaan voi käyttää esimerkiksi graafista [[synaptic]]-ohjelmaa:
apt-get install synaptic


Tai aptitudea, joka tuo GUI:n myös konsoliin:
== Kääntäminen lähdekoodista ==
apt-get install aptitude
''Katso artikkeli [[kääntäminen]]''.


Synaptic asentuu kirjoitushetkellä soveltuvaan järjestelmäbinäärihakemistoon (.../sbin/), eikä siksi ole suoraan peruskäyttäjän komentopolulla. Ohjelma tuleekin ajaa suoraan root-käyttäjänä.
Perinteinen tapa ohjelmien asentamiseen on kääntäminen lähdekoodista. Jos mahdollista, ohjelma kannattaa kuitenkin asentaa käytetyn Linux-jakelun valmiista paketista, sillä:
* Paketinhallinnan ohi asennetun paketin poistaminen voi olla hankalaa
* Paketinhallintatyökalut eivät toimi oikein paketinhallinnan ohi asennettujen ohjelmien kanssa
* Riippuvuuksia ei tarkisteta yhtä tarkasti
* Paketti ei välttämättä toimi yhteen muun järjestelmän kanssa
* Turvapäivityksistä joutuu huolehtimaan itse


Apt-get ja dpkg -ohjelmia on tietysti ajettava pääkäyttäjän oikeuksilla (esimerkiksi [[Sudo|sudolla]] tai siirtymällä pääkäyttäjäksi komennolla <tt>su</tt>). Aptitude osaa interaktiivisesti käytettynä itse kysyä pääkäyttäjän salasanaa, silloin kun oikeuksia tarvitaan (komentorivillä sitä käytetään pääkäyttäjänä, sudolla tms.).
Vapaan ohjelman olennainen ominaisuus on kuitenkin, että lähdekoodi on helposti käytettävissä. Jokaisesta jakelun vapaasta paketista on lähdekoodit saatavilla, niihin voi tehdä omat muutoksensa ja muokatun lähdekoodin voi itse kääntää ja koota paketiksi, joka on paketinhallinnan piirissä siinä missä virallinenkin versio. Jollei halua menettää tekemiään muutoksia, ne pitää kuitenkin itse siirtää mahdollisiin päivityksiin. Muutettu paketti kannattaa siksi paketinhallinnassa merkitä käsin päivitettäväksi ("hold" tms.).


[http://fi.wikibooks.org/wiki/Ubuntu_tutuksi Ubuntu tutuksi] -wikikirja esittelee kattavasti [http://fi.wikibooks.org/wiki/Ubuntu_tutuksi/Ohjelmien_asentaminen_ja_pakettivarastot ohjelmien asennusta ja pakettivarastoja]. Katso myös [[Debian GNU/Linux#Debianin paketinhallinta|Debian]]-artikkeli
Jos hakee lähdekoodin muualta kuin oman jakelun käytössä olevasta versiosta, joutuu itse huolehtimaan turvapäivityksistä ja paketin sopeuttamisesta jakeluun.
 
== Gentoon paketinhallinta ==
Ohjelma asennetaan komennolla:
emerge hyvasofta
Etsiminen hoituu komennolla:
emerge search hyvasofta
Ennen ohjelman asentamista kannattaa katsoa mitä kaikkea sen mukana asentuu. Tämä tapahtuu komennolla:
emerge -p hyvasofta
Kun olet tutustunut [http://www.gentoo.org/doc/fi/handbook/handbook-x86.xml?part=2&chap=2 USE-asetuksiin], [http://www.gentoo.org/doc/fi/] ja osaat niitä käyttää, kannattaa ennen ohjelman asentamista ajaa:
emerge -pv hyvasofta
Tämä komento kertoo mitä USE-asetuksia on käytettävissä.
 
Ohjelma päivitetään komennolla:
emerge -u hyvasofta
Kaikki koneelle asennetut ohjelmat voi kerralla päivittää komennolla
emerge -u world
Vivut -p ja -v toimivat myös päivityksen yhteydessä ja niitä kannattaa käyttää.
 
Ja tietokanta päivitetään komennolla:
emerge --sync
 
Tietokannan voit myös päivittää [[http]]-yhteyden yli, mikäli nettiyhteydessäsi on suuria rajoituksia
 
emerge-websync
 
Myös graafisia työkaluja Gentoon paketinhallintaan on olemassa. Muun muassa Porthole,Guitoo ja Portagemaster. Nämä ovat kuitenkin vielä enemmän tai vähemmän testivaiheessa.
 
== [[RPM]]-pohjaiset (mm. [[Mandriva]] ja [[Fedora_Core|Fedora]]) ==
Jos RPM-paketti on jo ladattu koneelle, asennus hoituu seuraavasti:
rpm -Uhv hyvasofta.rpm
 
RPM-pakettien hakuun on monissa [[distro]]issa distrokohtainen työkalu, lisäksi näitä voi ladata monien ohjelmien kotisivuilta. Myös [[rpmfind]] auttaa pakettien etsimisessä. [[Apt-rpm]] ja [[Yum]] ovat myös hyviä työkaluja ohjelmiston etsimiseen.


[[Mandriva]]n/Mandraken kanssa kannattaa käyttää [[URPMI]] ohjelmaa joka hoitaa RPM-pakettien käsittelyn ja toisten pakettien riippuvuudet jouhevasti.


[[Luokka:Ohjelmat]]
[[Luokka:Ohjelmat]]
[[Luokka:Järjestelmä]]
[[Luokka:Järjestelmä]]
[[Luokka:Paketinhallinta]]
[[Luokka:Paketinhallinta]]

Versio 6. elokuuta 2008 kello 10.57

Linuxiin asennetaan ohjelmia pääsääntöisesti jakelun paketinhallintajärjestelmästä. Paketinhallintaa käytetään jakelun omilla työkaluilla joko graafisesti tai komentoriviltä. Kun ohjelmat asennetaan paketinhallintajärjestelmästä, asennetaan automaattisesti myös muut ohjelman tarvitsemat ohjelmapaketit (esimerkiksi peli voi vaatia OpenGL-kirjaston asentamisen). Paketinhallintajärjestelmä pitää myös kirjaa kaikista järjestelmään asennetuista ohjelmista ja pystyy päivittämään ne kaikki uusien versioiden ilmestyessä.

Tämä kuitenkin vaatii, että haluttu ohjelma (tai sen haluttu versio) löytyy käytetyn jakelun pakettilähteistä. Aina näin ei ole. Tällöin haluttu ohjelma saattaa löytyä omalle jakelulle paketoituna jostain epävirallisesta pakettilähteestä tai ohjelman kotisivuilta. Tällaisissa tapauksissa ohjelma voidaan asentaa tästä paketista, jos paketin tarjoava taho on luotettava. Tällöin paketinhallintajärjestelmä saa tiedon siitä, että järjestelmään on asennettu uusi ohjelma, jolloin paketinhallintajärjestelmä pysyy ajan tasalla ja mm. ohjelman poistaminen on helppoa. Tässä tavassa haittapuolena on se, että ohjelmapaketin toimintaa muun järjestelmän kanssa ei välttämättä ole testattu tarpeeksi (jakelun kehittäjät eivät sitä tue) ja päivityksistä joutuu yleensä huolehtimaan itse. Lisäksi epäluotettavista lähteistä asennetut paketit ovat tietoturvariski.

Perinteisempi tapa ohjelmien asentamiseen on kääntäminen lähdekoodista. Tämä tulee kysymykseen lähinnä tilanteessa, jossa halutaan asentaa jokin ohjelma, jota jakelun omista pakettilähteistä ei löydy. Kääntämällä asennettavien ohjelmien asentaminen voi vaihdella paljonkin eri ohjelmien välillä ja käyttäjän on myös itse huolehdittava siitä, että kaikki ohjelman tarvitsemat muut ohjelmat on asennettu. Ohjelmat tulee aina asentaa ensisijaisesti jakelun paketinhallinnasta, sillä käsin asennetut paketit voivat pahimmassa tapauksessa sotkea paketinhallintajärjestelmän ja aiheuttaa ongelmia.

Ohjelmien asennustapaa valittaessa järjestys on seuraava:

  1. Jakelun omasta pakettilähteestä
  2. Epävirallisesta, mutta luotettavasta lähteestä tai ohjelman kotisivuilta ladattu omalle jakelulle tehty paketti
  3. Lähdekoodista kääntäminen

Ohjelmien asentaminen eri jakeluissa

Seuraavassa on lyhyesti kerrottu, mitä työkaluja käyttäen ohjelmien asennus onnistuu eri jakeluissa. Tarkemmat ohjeet työkalujen käyttöön löytyvät kyseistä työkalua käsittelevistä artikkeleista.

Arch Linux

Debian

Katso myös artikkeli Debian GNU/Linux#Debianin paketinhallinta

Debianissa käytetään dpkg-nimistä paketinhallintajärjestelmää. Paketteja voidaan asentaa graafisesti työpöytäasennuksen jälkeen valikoista löytyvällä Synaptic-sovelluksella josta kerrotaan tarkemmin artikkelissa Synaptic.

Komentoriviltä paketinhallintaa käytetään apt-get ja aptitude -sovelluksilla. Yksittäisiä .deb-paketteja voi asentaa ohjelmalla dpkg.

Fedora

Gentoo

Gentoossa paketinhallintajärjestelmää käytetään lähes aina komentoriviltä käyttäen emerge-sovellusta. Myös graafisia työkaluja Gentoon paketinhallintaan on olemassa, muun muassa Porthole, Guitoo ja Portagemaster. Nämä ovat kuitenkin vielä enemmän tai vähemmän testivaiheessa.

Mandriva

Mandrivassa paketinhallintajärjestelmää voidaan käyttää komentoriviltä URPMI-sovelluksella.

OpenSUSE

Ubuntu

koska Ubuntu pohjautuu Debianiin, paketinhallinta toimii samoin kuin Debianissa, mutta lisäksi käytössä on Ubuntun oma yksinkertaistettu Lisää/poista... -sovellus, joka löytyy valikosta Sovellukset -> Lisää/poista... Lisäksi on mahdollista käyttää Synapticia joka käynnistyy valitsemalla Järjestelmä -> Ylläpito -> Synaptic-pakettienhallinta.

Ladatun .deb-paketin pystyy asentamaan kaksoisnapsauttamalla pakettia, jolloin Ubuntun paketinasennustyökalu käynnistyy ja hoitaa asennuksen.

Komentoriviltä apt-get, aptitude ja dpkg toimivat kuten Debianissa. Ubuntun ohjeista löytyy myös lisätietoja pakettien hallinnasta: käynnistä ohjekeskus (Järjestelmä -> Ohjeet ja tuki) ja valitse vasemmasta reunasta ohje Sovellusten lisääminen ja poistaminen. Lisäksi Ubuntu tutuksi -wikikirja esittelee kattavasti ohjelmien asentamista ja pakettilähteiden käyttöä.


Kääntäminen lähdekoodista

Katso artikkeli kääntäminen.

Perinteinen tapa ohjelmien asentamiseen on kääntäminen lähdekoodista. Jos mahdollista, ohjelma kannattaa kuitenkin asentaa käytetyn Linux-jakelun valmiista paketista, sillä:

  • Paketinhallinnan ohi asennetun paketin poistaminen voi olla hankalaa
  • Paketinhallintatyökalut eivät toimi oikein paketinhallinnan ohi asennettujen ohjelmien kanssa
  • Riippuvuuksia ei tarkisteta yhtä tarkasti
  • Paketti ei välttämättä toimi yhteen muun järjestelmän kanssa
  • Turvapäivityksistä joutuu huolehtimaan itse

Vapaan ohjelman olennainen ominaisuus on kuitenkin, että lähdekoodi on helposti käytettävissä. Jokaisesta jakelun vapaasta paketista on lähdekoodit saatavilla, niihin voi tehdä omat muutoksensa ja muokatun lähdekoodin voi itse kääntää ja koota paketiksi, joka on paketinhallinnan piirissä siinä missä virallinenkin versio. Jollei halua menettää tekemiään muutoksia, ne pitää kuitenkin itse siirtää mahdollisiin päivityksiin. Muutettu paketti kannattaa siksi paketinhallinnassa merkitä käsin päivitettäväksi ("hold" tms.).

Jos hakee lähdekoodin muualta kuin oman jakelun käytössä olevasta versiosta, joutuu itse huolehtimaan turvapäivityksistä ja paketin sopeuttamisesta jakeluun.