Ohjelmien asentaminen
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
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:
- 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 edustaohjelmana on käytettävissä Shaman. Pacmanilla voi asentaa paketteja myös suoraan (pakettien pääte on .pkg.tar.gz).
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
Fedorassa RPM-paketinhallintaa käytetään yleensä yum- tai PackageKit-sovelluksilla. Tarkemmat ohjeet löytyvät artikkelista Fedoran paketinhallinta.
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
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
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 valikosta Sovellukset -> Ubuntun sovellusvalikoima... 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 sovellusvalikoima 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 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.