Ero sivun ”Ohjelmien asentaminen” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Itse käännetty paketti, lisäys)
(kääntäminen Debiain testingistä, lisäystä ; linkki Ubuntuun; muutos [dist]upgrade-tekstiin ym.)
Rivi 15: Rivi 15:
Jos hakee lähdekoodin muualta kuin oman jakelun käytössä olevasta versiosta, joutuu itse huolehtimaan turvapäivityksistä ja paketin sopeuttamisesta jakeluun.
Jos hakee lähdekoodin muualta kuin oman jakelun käytössä olevasta versiosta, joutuu itse huolehtimaan turvapäivityksistä ja paketin sopeuttamisesta jakeluun.


== [[Debian]]in ja Ubuntun paketinhallinta ==
== [[Debian]]in ja [[Ubuntu]]n paketinhallinta ==
Debianissa asennetaan suoraviivaisimmin ohjelmalla [[apt]] tai [[aptitude]]:
Debianissa asennetaan suoraviivaisimmin ohjelmalla [[apt]] tai [[aptitude]]:
  apt-get install hyvasofta
  apt-get install hyvasofta
Rivi 32: Rivi 32:
  aptitude [dist]upgrade
  aptitude [dist]upgrade


Näiden käytännön erona on se, että upgrade ei koskaan poista paketteja eikä asenna uusia, kun taas dist-upgrade 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 upgrade jättää sen päivittämättä näiden vaatimusten takia.
Toimintoa <tt>distupgrade</tt> käytetään jakelun versiosta toiseen päivitettäessä. Ero on se, että apt-getin <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.


Aptitude asentaa myös ne paketit, joista asennettava paketti riippuu (ja ne, joita se suosittelee). 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ä.
Aptitude 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ä.


Joskus on ohjelma ladattava .deb-pakettina. Tämä asennetaan seuraavasti dpkg-ohjelmalla:
Joskus on ohjelma ladattava .deb-tiedostona muualta kuin lähdeluettelon lähteistä. Paketti asennetaan seuraavasti dpkg-ohjelmalla:
  dpkg -i hyvasofta.deb
  dpkg -i hyvasofta.deb


Jos käyttää Debianin vakaata versiota ("stable") ja haluaa uudemman version 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. Huolehdi, että sopivat lähdekoodirivit löytyvät asennuslähdeluettelosta (ja että osaat huolehtia paketin turvapäivityksistä) ja komenna:
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.
  apt-get --build-dep hyvasofta
 
Huolehdi, että sopivat lähdekoodirivit (<tt>src lähde testing main</tt>) löytyvät asennuslähdeluettelosta (ja että osaat huolehtia paketin turvapäivityksistä) ja komenna:
  apt-get build-dep hyvasofta
  apt-get --compile source hyvasofta
  apt-get --compile source hyvasofta
  dpkg --install hyvasofta_versio.deb
  dpkg --install hyvasofta_versio.deb
Rivi 47: Rivi 49:
  apt-get install synaptic
  apt-get install synaptic


Tai aptitudea, joka tuo GUI:n konsoliin:
Tai aptitudea, joka tuo GUI:n myös konsoliin:
  apt-get install aptitude
  apt-get install aptitude



Versio 24. lokakuuta 2007 kello 11.03

Ohjelmien asentaminen GNU/Linuxiin onnistuu pääsääntöisesti kahdella tavalla, kääntämällä lähdekoodista tai jakelupaketin omalla 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.

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

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

Debianin ja Ubuntun paketinhallinta

Debianissa asennetaan suoraviivaisimmin ohjelmalla apt tai aptitude:

apt-get install hyvasofta
aptitude install hyvasofta

Paketteja voi etsiä komennolla:

apt-cache search hyvasofta-tai-muu-hakusana
aptitude search hyvasofta-tai-muu-hakusana

Ennen molempia komentoja kannattaa päivittää tietokanta komennolla:

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:

apt-get [dist]upgrade
aptitude [dist]upgrade

Toimintoa distupgrade käytetään jakelun versiosta toiseen päivitettäessä. Ero on se, että apt-getin upgrade ei koskaan poista paketteja eikä asenna uusia, kun taas dist-upgrade 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 upgrade jättää paketin päivittämättä näiden vaatimusten takia.

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

Joskus on ohjelma ladattava .deb-tiedostona muualta kuin lähdeluettelon lähteistä. Paketti asennetaan seuraavasti dpkg-ohjelmalla:

dpkg -i hyvasofta.deb

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.

Huolehdi, että sopivat lähdekoodirivit (src lähde testing main) löytyvät asennuslähdeluettelosta (ja että osaat huolehtia paketin turvapäivityksistä) ja komenna:

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:

apt-get install aptitude

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

Apt-get ja dpkg -ohjelmia on tietysti ajettava pääkäyttäjän oikeuksilla (esimerkiksi sudolla tai siirtymällä pääkäyttäjäksi komennolla su). 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.).

Ubuntu tutuksi -wikikirja esittelee kattavasti ohjelmien asennusta ja pakettivarastoja.

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 USE-asetuksiin, [1] 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)

Jos RPM-paketti on jo ladattu koneelle, asennus hoituu seuraavasti:

rpm -Uhv hyvasofta.rpm

RPM-pakettien hakuun on monissa distroissa 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.

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