Ero sivun ”Ohjelmien asentaminen” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Tällainen perusteksti, joillekkin tämä tuottaa vaikeuksia)
 
p (→‎Rosetta: muotoilua)
 
(100 välissä olevaa versiota 43 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Ohjelmien asentaminen GNU/Linuxiin onnistuu pääsääntöisesti kahdella tavalla, kääntämällä lähdekoodista tai jakelupaketin omalla paketinhallinnalla.
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 ==
==Vaihtoehtoja==
Ohjelman asentaminen kääntämällä lähdekoodista on perinteinen tapa, mutta ei suositeltava jos on mahdollista käyttää distron paketinhallintaa, sillä:
 
-Lähdekoodista asennetun paketin poistaminen on hankalaa
Pakettivarastosta asentaminen paketinhallinnan kautta vaatii, että haluttu ohjelma (tai sen haluttu versio) löytyy käytetyn jakelun [[pakettivarasto|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.
-Riippuvuuksia ei tarkisteta
 
Perinteisempi tapa ohjelmien asentamiseen on [[Kääntäminen|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.
 
Itse kääntäminen voi tulla kyseeseen myös vaikka ohjelman saisi suoraan paketinhallinnasta, jos haluaa eri version kyseisestä ohjelmasta, esimerkiksi jonkin erikoisen ominaisuuden ottamiseksi käyttöön. Omasta jakelusta saatavaan lähdekoodiin on helppo tehdä tarvittavat muutokset, pakettihallinta auttaa riippuvuuksien täyttämisessä ja käännöksen tuloksen voi paketoida jakelun omilla välineillä. Jos lähdekoodi haetaan muualta, esimerkiksi koska jakelussa ei ole tarpeeksi uutta versiota, paketin sovittamiseen niin että se sopii jakeluun on nähtävä enemmän vaivaa, ja ohjelman asentaminen paketinhallinnan ohi hakemistoon /usr/local voi hyvinkin olla varteenotettava vaihtoehto.
 
Jotkut suljetut ohjelmat ovat saatavilla vain omalla asennusskriptillä asennettavina binääripaketteina. Näiden pitäisi asentua hakemistoon /opt eikä niiden asentamisen pitäisi vaatia pääkäyttäjän oikeuksia. Joitakin vinkkejä tällaisten ohjelmien asentamiseksi löytyy sivulta [[Epäviralliset pakettilähteet#Asentaminen eri käyttäjänä|Epäviralliset pakettilähteet osiosta Asentaminen eri käyttäjänä]].
 
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
#Ohjelman kotisivulta ladatun paketin oman asennusskriptin avulla
 
== 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 ===
Archissa paketinhallintaa hoitaa [[Pacman]] jonka graafisena [[edustaohjelma]]na on käytettävissä [[Shaman]]. Pacmanilla voi asentaa paketteja myös suoraan (pakettien pääte on <tt>.pkg.tar.gz</tt>).
 
Arch Linux sekä siihen pohjautuviin on myös mahdollista asentaa [[AUR]]:n kautta kolmannen osapuolen epävirallisia pakettivarastoja. Noudata erityistä varovaisuutta lisätessäsi niitä.
 
=== Debian ===
''Katso myös artikkeli [[Debian GNU/Linux#Debianin paketinhallinta]]''
 
[[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]].
 
Komentoriviltä paketinhallintaa käytetään [[apt-get]] ja [[aptitude]] -sovelluksilla. Yksittäisiä <tt>.deb</tt>-paketteja voi asentaa [[dpkg]] tai [[GDebi]] -ohjelmilla.
 
=== Fedora ===
Fedorassa [[RPM]]-paketinhallintaa käytetään yleensä [[DNF]], [[yum]]- tai [[PackageKit]]-sovelluksilla. Tarkemmat ohjeet löytyvät artikkelista [[Fedora/Paketinhallinta]].
 
=== Gentoo ===
[[Gentoo]]ssa 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 ===
[[Mandriva]]ssa paketinhallintajärjestelmää voidaan käyttää komentoriviltä [[URPMI]]-sovelluksella.
 
=== openSUSE ===
openSUSEssa ohjelmia voi asentaa joko graafisesti [[YaST]]-työkalulla (''Ohjelmistot'' --> ''Ohjelmistohallinta'') tai tekstipohjaisesti [[Zypper]]-[[komentorivi]]työkalulla. Ohjelmien asennustyökalun voi [[GNOME]]ssa käynnistäää valitsemalla ''Tietokone'' --> ''Asenna ohjelmistoja''.
 
=== Ubuntu ===
Koska [[Ubuntu]] pohjautuu Debianiin, paketinhallinta toimii samoin kuin [[Ohjelmien asentaminen#Debian|Debianissa]], mutta lisäksi käytössä on Ubuntun oma yksinkertaistettu Ubuntun sovellusvalikoima... -sovellus, joka löytyy nimellä ''Ubuntun sovellusvalikoima'' tai englanninkielisissä jakeluissa nimellä ''Ubuntu Software Center''. Lisäksi on mahdollista käyttää [[Synaptic]]ia, joka pitää asentaa erikseen.


Ladatun <tt>.deb</tt>-paketin pystyy asentamaan kaksoisnapsauttamalla pakettia, jolloin Ubuntun sovellusvalikoima käynnistyy ja hoitaa asennuksen.


Kuitenkin, joskus lähdekoodista kääntäminen on tehtävä, se on (yleensä) näin helppoa:
Komentoriviltä [[apt]], [[apt-get]], [[aptitude]] ja [[dpkg]] toimivat kuten Debianissa. Ubuntun ohjeista löytyy myös lisätietoja pakettien hallinnasta: käynnistä ohjekeskus (''Ohjeet ja tuki'' tai englanniksi ''Help'') ja valitse 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öä].


1. Kopio ohjelman lähdekoodipaketti ja pura se ( tar xvzf hyvasofta.tar.gz / tar xvjf hyvasofta.tar.bz2)
==== Ubuntun pakettilähteet ====
2. Siirry paketin hakemistoon (cd hyvasofta)
* Main - Sisältää julkisesti tuetut ohjelmistot.
3. Aja configure-skripti komennolla ./configure. Jos configure-skriptiä ei ole, kokeile komentoja make config ja/tai make menuconfig. Jos mistään ei tapahdu mitään, katso olisiko hakemistossa install.sh tyylistä skriptiä. Jos on, aja se (./install.sh)
* Restricted - Sisältää tuetut ohjelmistot, jotka eivät ole käytettävissä täysin ilmaisella lisenssillä.
4. Käännä ohjelma komennolla make
* Universe - Sisältää yhteisön ylläpitämät ohjelmistot, jotka eivät ole virallisesti tuettuja ohjelmistoja.
5. Siirry pääkäyttäjäksi komennolla su - ja asenna ohjelma komennolla make install
* Multiverse - Sisältää ohjelmistot, jotka eivät ole vapaita.


Joskus configure-skriptissä tulee virheitä puuttuvien pakettien kanssa. Tällöin täytyy vain etsiä jostain tarvittava kirjasto ja asentaa se ensin.
Ubuntuun on myös mahdollista asentaa [[PPA]]:n kautta kolmannen osapuolen epävirallisia pakettivarastoja. Noudata erityistä varovaisuutta lisätessäsi niitä.


== Debianin ja Ubuntun paketinhallinta ==
== Kääntäminen lähdekoodista ==
Debianissa asennetaan apt-ohjelmalla:
''Katso artikkeli [[kääntäminen]]''.
apt-get install hyvasofta
Paketteja voi etsiä komennolla:
apt-cache search hyvasofta


Ennen molempia komentoja kannattaa päivittää tietokanta komennolla:
Perinteinen tapa ohjelmien asentamiseen on kääntäminen lähdekoodista. Jos mahdollista, ohjelma kannattaa kuitenkin asentaa käytetyn Linux-jakelun paketista, sillä:
apt-get update
* 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


Joskus on ohjelma ladattava .deb-pakettina. Tämä asennetaan seuraavasti dpkg-ohjelmalla:
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.).
dpkg -i hyvasofta.deb


== Gentoon paketinhallinta ==
Jos hakee lähdekoodin muualta kuin oman jakelun käytössä olevasta versiosta, joutuu itse huolehtimaan turvapäivityksistä ja paketin sopeuttamisesta jakeluun.
Ohjelma asennetaan komennolla:
emerge hyvasofta
Etsiminen hoituu komennolla:
emerge search hyvasofta


Ja tietokanta päivitetään komennolla:
==Rosetta==
emerge -sync
Suosituimpien paketinhallintajärjestelmien tulkitsemisopas löytyy alla olevasta artikkelista:
* [[Rosetta]]


== RPM-pohjaiset (mm. Mandrake ja Fedora) ==
==Katso myös==
Jos RPM-paketti on jo ladattu koneelle, asennus hoituu seuraavasti:
* [[Suositellut ohjelmat]]
rpm -ivh hyvasofta.rpm


RPM-pakettien hakuun on monissa distroissa distrokohtainen työkalu, lisäksi näitä voi ladata monien ohjelmien kotisivuilta.
[[Luokka:Ohjelmat|*]]
[[Luokka:Järjestelmä]]
[[Luokka:Paketinhallinta]]
[[Luokka:Ohjeet]]

Nykyinen versio 28. maaliskuuta 2022 kello 13.59

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

Vaihtoehtoja[muokkaa]

Pakettivarastosta asentaminen paketinhallinnan kautta 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.

Itse kääntäminen voi tulla kyseeseen myös vaikka ohjelman saisi suoraan paketinhallinnasta, jos haluaa eri version kyseisestä ohjelmasta, esimerkiksi jonkin erikoisen ominaisuuden ottamiseksi käyttöön. Omasta jakelusta saatavaan lähdekoodiin on helppo tehdä tarvittavat muutokset, pakettihallinta auttaa riippuvuuksien täyttämisessä ja käännöksen tuloksen voi paketoida jakelun omilla välineillä. Jos lähdekoodi haetaan muualta, esimerkiksi koska jakelussa ei ole tarpeeksi uutta versiota, paketin sovittamiseen niin että se sopii jakeluun on nähtävä enemmän vaivaa, ja ohjelman asentaminen paketinhallinnan ohi hakemistoon /usr/local voi hyvinkin olla varteenotettava vaihtoehto.

Jotkut suljetut ohjelmat ovat saatavilla vain omalla asennusskriptillä asennettavina binääripaketteina. Näiden pitäisi asentua hakemistoon /opt eikä niiden asentamisen pitäisi vaatia pääkäyttäjän oikeuksia. Joitakin vinkkejä tällaisten ohjelmien asentamiseksi löytyy sivulta Epäviralliset pakettilähteet osiosta Asentaminen eri käyttäjänä.

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
  4. Ohjelman kotisivulta ladatun paketin oman asennusskriptin avulla

Ohjelmien asentaminen eri jakeluissa[muokkaa]

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[muokkaa]

Archissa paketinhallintaa hoitaa Pacman jonka graafisena edustaohjelmana on käytettävissä Shaman. Pacmanilla voi asentaa paketteja myös suoraan (pakettien pääte on .pkg.tar.gz).

Arch Linux sekä siihen pohjautuviin on myös mahdollista asentaa AUR:n kautta kolmannen osapuolen epävirallisia pakettivarastoja. Noudata erityistä varovaisuutta lisätessäsi niitä.

Debian[muokkaa]

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 dpkg tai GDebi -ohjelmilla.

Fedora[muokkaa]

Fedorassa RPM-paketinhallintaa käytetään yleensä DNF, yum- tai PackageKit-sovelluksilla. Tarkemmat ohjeet löytyvät artikkelista Fedora/Paketinhallinta.

Gentoo[muokkaa]

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[muokkaa]

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

openSUSE[muokkaa]

openSUSEssa ohjelmia voi asentaa joko graafisesti YaST-työkalulla (Ohjelmistot --> Ohjelmistohallinta) tai tekstipohjaisesti Zypper-komentorivityökalulla. Ohjelmien asennustyökalun voi GNOMEssa käynnistäää valitsemalla Tietokone --> Asenna ohjelmistoja.

Ubuntu[muokkaa]

Koska Ubuntu pohjautuu Debianiin, paketinhallinta toimii samoin kuin Debianissa, mutta lisäksi käytössä on Ubuntun oma yksinkertaistettu Ubuntun sovellusvalikoima... -sovellus, joka löytyy nimellä Ubuntun sovellusvalikoima tai englanninkielisissä jakeluissa nimellä Ubuntu Software Center. Lisäksi on mahdollista käyttää Synapticia, joka pitää asentaa erikseen.

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

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

Ubuntun pakettilähteet[muokkaa]

  • Main - Sisältää julkisesti tuetut ohjelmistot.
  • Restricted - Sisältää tuetut ohjelmistot, jotka eivät ole käytettävissä täysin ilmaisella lisenssillä.
  • Universe - Sisältää yhteisön ylläpitämät ohjelmistot, jotka eivät ole virallisesti tuettuja ohjelmistoja.
  • Multiverse - Sisältää ohjelmistot, jotka eivät ole vapaita.

Ubuntuun on myös mahdollista asentaa PPA:n kautta kolmannen osapuolen epävirallisia pakettivarastoja. Noudata erityistä varovaisuutta lisätessäsi niitä.

Kääntäminen lähdekoodista[muokkaa]

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

Rosetta[muokkaa]

Suosituimpien paketinhallintajärjestelmien tulkitsemisopas löytyy alla olevasta artikkelista:

Katso myös[muokkaa]