Miten asennan ohjelmia?

Kannattaa asentaa paketit käyttäen distribuution omaa paketinhallintaa, jos sellainen on. Ja luultavasti on, tosin Slackware on poikkeus (sen "paketinhallinta" on äärimmäisen yksinkertainen muihin verrattuna). Jos haluaa itse kääntää ohjelmia, olisi myös hyvä tietää joitain perusasioita ohjelmoinnista sekä Linuxin toiminnasta. Aloittelijoita ja laiskoja varten on binääripaketit.

Ohjelmat asentuvat yleensä oletusarvoisesti /usr/local-hakemistoon, ja /usr/local/lib ei ole normaalisti /etc/ld.so.conf-tiedostossa, jossa määritellään mistä hakemistoista haetaan kirjastoja. Jos siis kääntää kirjastoja itse, pitää muistaa sekä lisätä rivi "/usr/local/lib" tiedostoon /etc/ld.so.conf sekä ajaa

# ldconfig -v
        
, joka päivittää tiedot jaetuista kirjastoista ja näyttää samalla, mitkä kirjastot se löytää.

Jos (lähes) mikä tahansa configure-skriptiä käyttävä ohjelma ei käänny, tiedostosta config.log saa lisätietoja. Ja jollei ymmärrä sitä, kannattaa loppuosa siitä lähettää uutisryhmään. Ohjelmien käännösohjeet kannattaa myös aina lukea ennen kuin kysyy uutisryhmässä. Jos olet lukenut ne, muttet ymmärrä niitä tai niistä ei ole ollut apua, kannattaa kertoa siitä kysyessään.

Redhat ja Debian käyttävät omia paketinhallintaohjelmiaan (Redhatin rpm-ohjelmaa käytetään myös useissa muissa levityspaketeissa). Itse käännetyt ohjelmat asentuvat siististi järjestelmään, kun ne kääntää paketinhallintajärjestelmän avulla.

Rpm:ää käyttävissä järjestelmissä lähdekoodipaketteja (joiden pääte on yleensä .srpm) voi kääntää komennolla

# rpm --rebuild <paketin nimi>
        


Vaihtoehtoisesti voi asentaa lähdekoodipaketin komennolla

# rpm -i <paketin nimi>
        
ja sitten kääntää sen komennolla
# rpm -bb /usr/src/redhat/SPECS/<paketin nimi>.spec
        


Spec-tiedosto on tekstitiedosto, jota voi myös editoida, jos haluaa muokata käännöstapahtumaa. Lisätietoja: RPM-HOWTO ja kirja "Maximum RPM".

Debianin lähdekoodipaketit koostuvat kolmesta (tai joskus kahdesta) tiedostosta: aina mukana ovat .dsc- ja .tar.gz-päätteiset tiedostot, ja useimpiin paketteihin kuuluu myös .diff.gz-tiedosto. Paketin dsc-tiedostossa lukee, mistä muista tiedostoista paketti koostuu. Debian-lähdekoodipaketin voi purkaa ja kääntää missä päin levyä vain tavallisena käyttäjänä; seuraava komento purkaa työhakemistossa olevan paketin omaksi alihakemistokseen:

$ dpkg-source -x <paketti>_<versio>.dsc
        
Paketti käännetään siirtymällä syntyneeseen alihakemistoon ja kirjoittamalla pääkäyttäjänä seuraava komento (tosin muitakin tapoja on):
# debian/rules binary
        
Tämä luo yhden tai useamman .deb-fileen siihen hakemistoon, jonka alihakemistossa tuo komento tehtiin. Lähdekoodipakettia käsiteltäessä tulee paketin dpkg-dev olla asennettuna. Paketteja voi kääntää myös tavallisena käyttäjänä fakeroot-ohjelman avulla.

Tiedosto debian/rules on standardoitu Makefile, joka huolehtii pakettien kasauksesta. Hakemistossa debian/ on muitakin kiinnostavia tiedostoja; niistä kertovat lisää Debian Policy Manual ja Debian Packaging Manual, jotka ovat Debian-paketeissa debian-policy ja packaging-manual.