Dette er en kort guide/FAQ for de som ønsker å teste Linux, og samtidig forstå noe av den underliggende prosessen når de installerer.
Det første man må vite er at Linux bare er en kernel, og at man laster ned en distro (kort for distribusjon) med kernel og programvare når man laster ned en brukbar "Linux".
Hva er en kernel?
Linux er en kjerne (kernel), dette er koden som alle linuxdistroer bygger på, de gjør kommunikasjon mellom hardware og software mulig, kort forklart. Alle enhetsdriverene ligger i kjernen, og man kan sette sammen en kjerne selv, eller bruke et fiks ferdig oppsett fra distroprodusenten. De fleste distroer som er beregnet for nybegynnere - og for folk som ikke vil tukle så mye etter en fersk installasjon - har en ferdig kjerne som er mer enn god nok for de flestes behov, men hvis man har lyst til å lære seg mer om driversystemet, og samtidig få seg litt bedre ytelse, så kan man gjerne lage sin egen kjerne. Dette krever at man har tunga rett i munnen, men det finnes massevis av dokumentasjon tilgjengelig ute på nettet.
Hvilken distro skal jeg velge?
De tre mest populære distroene blant folk som ikke har prøvd linux før er
Hvis du bare vil teste Linux, men alikevel er redd for å frigjøre plass og styre med partisjoner, så kan du kjøre en Live-cd. En live-cd er en linux-distribusjon som kjører rett fra en cd, uten nødvendig installasjon. Typiske eksempler er knoppix og gnoppix. Disse vil gi deg en smak av Linux uten å måtte bry deg med installasjon. Merk at dette vil gå tregere enn en "ekte" installasjon av Linux, da alt må lastes fra cd-rommen.
Installering
Installering av nybegynnervennelige distoer er ofte like lett som å legge inn Windows. Her tas det utgangspunkt i at man bruker en av de tidligere nevnte, enten Mandrake eller Fedora, og SuSE til en grad. SuSE legges inn via ftp, så installasjonen varierer en del fra denne her. Merk: Dette bør på ingen måte erstatte installasjonsguiden man finner på utgiverens hjemmesider, men vi oppsummerer kort hvordan ting gjøres i de fleste tilfeller. Det vil være en del veivisere og slikt som er individuelle avhengig av distribusjon, og dekkes derfor ikke her. Hvis du er i tvil, les dokumentasjonen. Det sparer deg alltid mye bry når du jobber med Linux og Unix.
Installasjonsveiviseren har som oftest et partisjoneringsprogram som du kan lage dine egne linuxpartisjoner i. Linux kjører ikke på NTFS eller FAT (det er mulig, men ikke å anbefale). Linux bruker derimot sine egne filsystem, som f.eks. ext2/3, ReiserFS og XFS. Før du setter i gang er det å anbefale sørge for at du har en del upartisjonert plass dedikert til det nye operativsystemet. Da kan du la veiviseren ta seg av alt for deg, og du kan lene deg tilbake og se på formateringen.
Oppsettet som kommer automatisk er ikke alltid optimalt, så det kan lønne seg å sette opp partisjonene selv, særlig hvis du har spesielle behov. Mappestrukturen i linux er annerledes fra det man kjenner i Windows. Her er det ingen c: og d:, men heller så er alt i et filtre, alle harddisker og alle partisjoner. En partisjon "mountes" (monteres) i dette filsystemet i et mountpoint, og ting havner da i mappen de er mountet til. Dette er ikke nødvendig å forstå kun ut fra denne guiden, da det blir helt åpenbart når du endelig utforsker det nye systemet.
Linux trenger som et minimum to partisjoner. / (aka root) og swap. Hvis du bare har en partisjon som /, så vil alle filer lagres der, sammen med hele linux-systemet (har du andre harddisker kan disse selvsagt monteres i filsystemet senere, og brukes til lager ol.). Hvis du vil, kan du lage en egen partisjon eller harddisk for /home-mappen. Dette er brukerenes hjemmeområde, hvor private filer og konfigurasjonsfiler ligger lagret. Hvis du lager en egen-home-partisjon, vil du kunne bruke den neste gang du legger inn linux, og beholde alle instillingene dine for f.eks. nettleser, e-post-program og alt annet uten noe annen backup. Dette er bare et eksempel, og du kan splitte opp hele systemet over mange partisjoner hvis du føler behovet. I første omgang tar vi utgangspunkt i at du vil ha alt på /, og en swap-partisjon, da de fleste har filene sine lagret på harddiskene windows bruker.
Sett av mesteparten av den ledige plassen til /, og gi swap 100-1000MB (jo mer ram du har, jo mindre swap trenger du). Når minnet blir fullt, starter Linux å bruke harddisken som minne. Det blir da swap-plassen som brukes, og hvis du har mye minne (512 og oppover) bør systemet ideelt sett aldri bruke swap. Sett alikevel av noen hundre megabyte "just in case". I Windows skjer swapping gjennom en pagefile, men det gjøres på en seperat partisjon for å sørge for at det ikke blir noe tull med filsystemet til /. Smart, ikke sant?
Etter partisjoneringen kommer du antagelig til installasjonen av programvare. Her er det bare å velge og vrake, men det er ofte en god tommelfingerregel å tenke på at det er bedre med for mye enn for lite. Ta med development hvis du vil installere programvare via kildekode (typisk hvis du vil teste noe ikke altfor kjent programvare, eller et lite program). Husk å ta med det meste som står under kategorien "X", med mindre du kun skal bruke kommandolinje.
Bootloader
Før eller siden vil installasjonsveiviseren tilby deg å legge inn en bootloader. Den vil i de fleste tilfeller automatisk oppdage windows-partisjonene og legge inn et lite program som spør deg under oppstart "vil du starte Linux eller Windows nå?". Du kan velge hva som skal starte opp automatisk hvis ingen trykker en knapp innen noen sekunder.
X?
Innebygget i Windows har du en windowmanager. Den tegner winduene på skjermen, lar deg manipulere dem - flytte dem rundt, minimere, maksimere og så videre. I Linux oppfylles dette med en windowmanager som kjører i en x-server. Dette er kategorien "X" som nevnt over, og den pleier å inkludere en haug med grafiske programmer i tillegg til flere grafiske brukergrensesnitt. To desktop enviroments, det vil si skrivebordsmiljø er Gnome og KDE. Disse har en haug med programmer til alle mulige formål; spill, tekstmanipulering (jeg skriver dette fra gedit, en kjapp editor som følger med Gnome), IRC-klienter, konfigurasjonsverktøy, filbehandlere osv. Programmene kan brukes på tvers av skrivebordsmiljøene, og man kan gjerne bruke et Gnome-program selv om man bruke KDE.
Root og normale brukere
Før eller siden vil Linux at du skal sette passord på rootbrukeren, og opprette en ny bruker. root-brukeren er den allmektige herren i et nix-system. Han kan slette absolutt alt, endre alle passord, legge inn programvare og totalt ødelegge systemet hvis han vil. Derfor er det en god idé å ha et vanskelig passord på root-brukeren, og så opprette en ny bruker til deg selv. Deretter bruker du bare kommandoen "su -" i en terminal for å få roottilgang senere når du faktisk trenger all den makten tilgjengelig til fingertuppene dine. I tilfeller hvor et grafisk program trenger root, så vil vil det poppe opp en liten boks som ber deg taste inn root-passordet ditt.
Og installasjonen er ferdig!
Etter noen videre steg burde du ha et linux-system ferdig. Etter at du logger deg inn, burde du ha et nytt grafisk miljø å bli kjent med foran deg, enten KDE eller Gnome. Forskjellen er ikke så stor i utgangspunktet, og det er en smakssak hva man foretrekker. Du vil ha en slags startmeny med en del programmer, og noen ikoner på skrivebordet. Antagelig, hvis du har bredbånd med automatiske ip-adresser, så vil du ha internettilgang også.
Herifra er det bare å utforske, og man burde finne ut at det ikke er så veldig forskjellig fra Windows på overflaten. Linux har derimot en stor forskjell man oppdager relativt fort:
Kommandolinjen. Den ligger antagelig tilgjengelig i "startmenyen", og har et navn som Konsole, xterm, aterm eller Gnome-terminal (dette er forskjellige grafiske programmer for å bruke kommandolinjen. Forvirrende? Kanskje i utgangspunktet ). Siden denne guiden først og fremst prøver å gi deg grunntrekkene som trengs for å forstå litt, går vi ikke i dybden angående kommandoer. Her er alikevel noen som burde får deg i gang:
su -: Gjør terminalen din om til en root-terminal. Den ber deg taste inn passordet til root (fortvil ikke når det ikke kommer små stjerner når du trykker, passordet blir registrert, men det vises ikke av sikkerhetsmessige grunner), og så vil du få et lite tegn som viser at du er root. Der det sto $ før, står det nå root. Som root kan du gjøre stortsett alt, og du skal være forsiktig med hva du gjør. Den normale bruken til root er redigering av konfigurasjonsfiler, og installasjon av programvare. Tips: Hvis du har mange brukere på systemet ditt, så kan du logge inn som dem ved å bruke su - brukernavn. Dette krever selvsagt at du har passordet.
cd /home/IvIoyner/lager/: Forflytter terminalen til /home/IvIoyner/lager/. Denne er kjent fra msdos, og de fleste burde forstå den. Hvis du vil tilbake til hjemmemappa di, er det bare å skrive cd.
ls: Lister opp hva som ligger i mappa du er. ls /usr/bin vil liste opp det som ligger i /usr/bin. Med ls kan du hente ut massevis med informasjon om filer, alder, størrelse, rettigheter, type etc. man ls for mer informasjon.
rm: Sletter filer, f.eks: "rm filnavn" for å fjerne en enkeltfil. rm -rf vil slette rekursivt (alt innholdet i en mappe den pekes mot, og mappen selv). Wildcard (*) kan brukes her, så rm -rf * vil slette alt som finnes inni en mappe. rm -rf hei* vil slette alle ting som har hei først i filnavnet.
man: Antagelig den kommandoen som flest er avhengig av. Man kommando vil gi deg en manualside til programmet, slik at du kan lese deg til hvordan du bruker det. man man for mer informasjon
Installering av programmer
Det første man må tenke på er at Linux ikke er Windows. I Windows kommer programmene i .exe-filer, men de er ikke kjørbare på Linux uten f.eks. wine og WineX3, men selv det er ikke noe å stole på når man skal skaffe programvare. Det beste er å bruke Linux-programmer på Linux, og Windows-programmer på Windows
På de tre nevnte, SuSE, Mandrake og Fedora, så har man rpm til å legge inn programmer. En RPM-fil er en ferdigkompilert fil som inneholder et program, men rpm har en svakhet da det fort får problemer med manglende dependencies - en fil trenger en fil, som igjen trenger en fil, ergo må man plutselig laste ned hundrevis av filer for et enkeltprogram. Også kalt et dependency-hell. Derfor har man en rekke pakkesystemer til å gjøre jobben for seg, avhengig av distro.
Her tar jeg utgangspunkt i yum fra fedora, se egen dokumentasjon for de andre pakkesystemene.
"yum install gimp" vil oppdatere listen yum har over tilgjengelige programmer, og laste ned og installere programmet "the gimp". Hvem sa nå at installasjon av programmer var vanskelig?
Yum, i likhet med alle andre pakkebehandlere, henter informasjonen sin fra en configfil. Den ligger sammen med de andre configfilene i /etc. Ved å legge til nye speil (mirrors) i /etc/yum.conf vil du få tilgang til mer programvare som kan hentes på denne måten. Jeg skriver ikke så langt om pakkesystemene, siden de er forskjellige fra system til system. man yum vil gi mer informasjon enn jeg noensinne klarer å utlevere her.
Hvilken distro har hvilket pakkesystem? De enkleste distroenes pakkesystemer:
Fedora - Yum inne som standard, apt-get4rpm kan legges inn hvis man ønsker.
Mandrake - urpmi inne som standard.
SuSE - Yast tar seg av pakker.
Debian - Apt-get.
Kompilering av programvare
Hvis man ikke bruker pakkesystemet for installasjon, er det mulig å kompilere programmer selv. Dette er noe man strengt tatt burde unngå hvis man allerede har et godt pakkesystem, men det finnes så utrolig mye Linux-programvare der ute, ingen distroer kan ha alle programmer tilgjengelig i pakkesystemet. En annen grunn for å kompilere noe selv er behov for andre kompilerings-flags og instillinger. Hvis du noensinne får et program i .tar.gz-format, så er det mest sannsynlig kildekode som må pakkes ut og kompileres.
Inne i .tar.gz-fila ligger det kildekode, instruksjoner og dokumentasjon. Første steg er å pakke ut disse tingene, og dette gjøres enten via en grafisk filbehandler (jeg regner med at folk klarer å gjøre dette selv, da det stortsett er å dra filer fra en mappe til en annen) eller ved kommandolinjen.
tar xfvz filnavn.tar.gz vil dekomprimere filene i en mappe. Så til kompileringen. For å kompilere programvare trenger man gcc og automake (og gjerne en del andre ting avhengig av hva programmet er skrevet i), og de finnes normalt i pakken devel når man legger inn en form for Linux. I source-baserte distroer (som allerede baserer seg på å kompilere all programvare) så kan du være garantert på at det nødvendige ligger inne fra før.
Første steg er å generere en makefile for installasjonen. En makefile er basert på systemets instillinger og konfigurasjon, og sørger for at man kan kompilere og installere med en enkel kommando. Kjør ./configure fra mappen du la kildekoden i, og se på at systemet sjekker at du har alt som trengs for installasjon. Hvis noe mangler, og den stanser opp, må du antagelig skaffe pakken den mangler. Når configure er kjørt og fullført, kan du skrive make. Make vil da følge Makefilen og kompilere pakken. Så er det bare å skifte til root-brukeren med su og skrive make install clean for å installere programmet, og rydde opp i midlertidige filer. Man bør alltid lese "INSTALL" og README i mappen før man setter i gang, for alle programmer kompileres ikke med configure, make og så make install. Dette står isåfall spesifisert i disse filene.
Hvis du vil ha anbefalt Linux-programvare har vi en egen tråd om det liggende øverst i unix-forumet. Denne guiden er skrevet av meg, basert på waffels idé. Vi tar gjerne imot forslag til forbedringer, pirking på tekniske feil, og drapstrussler, hvis det er relevant skal jeg redigere det inn i teksten. Og husk, veien til kunnskap er RTFM
Det første man må vite er at Linux bare er en kernel, og at man laster ned en distro (kort for distribusjon) med kernel og programvare når man laster ned en brukbar "Linux".
Hva er en kernel?
Linux er en kjerne (kernel), dette er koden som alle linuxdistroer bygger på, de gjør kommunikasjon mellom hardware og software mulig, kort forklart. Alle enhetsdriverene ligger i kjernen, og man kan sette sammen en kjerne selv, eller bruke et fiks ferdig oppsett fra distroprodusenten. De fleste distroer som er beregnet for nybegynnere - og for folk som ikke vil tukle så mye etter en fersk installasjon - har en ferdig kjerne som er mer enn god nok for de flestes behov, men hvis man har lyst til å lære seg mer om driversystemet, og samtidig få seg litt bedre ytelse, så kan man gjerne lage sin egen kjerne. Dette krever at man har tunga rett i munnen, men det finnes massevis av dokumentasjon tilgjengelig ute på nettet.
Hvilken distro skal jeg velge?
De tre mest populære distroene blant folk som ikke har prøvd linux før er
- Mandrake
- Fedora(Fedora er det som før het redhat for sluttbrukere)
- SuSE (Har ftp-installasjon og en cd-utgave som er gratis. SuSE pro koster penger.)
Hvis du bare vil teste Linux, men alikevel er redd for å frigjøre plass og styre med partisjoner, så kan du kjøre en Live-cd. En live-cd er en linux-distribusjon som kjører rett fra en cd, uten nødvendig installasjon. Typiske eksempler er knoppix og gnoppix. Disse vil gi deg en smak av Linux uten å måtte bry deg med installasjon. Merk at dette vil gå tregere enn en "ekte" installasjon av Linux, da alt må lastes fra cd-rommen.
Installering
Installering av nybegynnervennelige distoer er ofte like lett som å legge inn Windows. Her tas det utgangspunkt i at man bruker en av de tidligere nevnte, enten Mandrake eller Fedora, og SuSE til en grad. SuSE legges inn via ftp, så installasjonen varierer en del fra denne her. Merk: Dette bør på ingen måte erstatte installasjonsguiden man finner på utgiverens hjemmesider, men vi oppsummerer kort hvordan ting gjøres i de fleste tilfeller. Det vil være en del veivisere og slikt som er individuelle avhengig av distribusjon, og dekkes derfor ikke her. Hvis du er i tvil, les dokumentasjonen. Det sparer deg alltid mye bry når du jobber med Linux og Unix.
Installasjonsveiviseren har som oftest et partisjoneringsprogram som du kan lage dine egne linuxpartisjoner i. Linux kjører ikke på NTFS eller FAT (det er mulig, men ikke å anbefale). Linux bruker derimot sine egne filsystem, som f.eks. ext2/3, ReiserFS og XFS. Før du setter i gang er det å anbefale sørge for at du har en del upartisjonert plass dedikert til det nye operativsystemet. Da kan du la veiviseren ta seg av alt for deg, og du kan lene deg tilbake og se på formateringen.
Oppsettet som kommer automatisk er ikke alltid optimalt, så det kan lønne seg å sette opp partisjonene selv, særlig hvis du har spesielle behov. Mappestrukturen i linux er annerledes fra det man kjenner i Windows. Her er det ingen c: og d:, men heller så er alt i et filtre, alle harddisker og alle partisjoner. En partisjon "mountes" (monteres) i dette filsystemet i et mountpoint, og ting havner da i mappen de er mountet til. Dette er ikke nødvendig å forstå kun ut fra denne guiden, da det blir helt åpenbart når du endelig utforsker det nye systemet.
Linux trenger som et minimum to partisjoner. / (aka root) og swap. Hvis du bare har en partisjon som /, så vil alle filer lagres der, sammen med hele linux-systemet (har du andre harddisker kan disse selvsagt monteres i filsystemet senere, og brukes til lager ol.). Hvis du vil, kan du lage en egen partisjon eller harddisk for /home-mappen. Dette er brukerenes hjemmeområde, hvor private filer og konfigurasjonsfiler ligger lagret. Hvis du lager en egen-home-partisjon, vil du kunne bruke den neste gang du legger inn linux, og beholde alle instillingene dine for f.eks. nettleser, e-post-program og alt annet uten noe annen backup. Dette er bare et eksempel, og du kan splitte opp hele systemet over mange partisjoner hvis du føler behovet. I første omgang tar vi utgangspunkt i at du vil ha alt på /, og en swap-partisjon, da de fleste har filene sine lagret på harddiskene windows bruker.
Sett av mesteparten av den ledige plassen til /, og gi swap 100-1000MB (jo mer ram du har, jo mindre swap trenger du). Når minnet blir fullt, starter Linux å bruke harddisken som minne. Det blir da swap-plassen som brukes, og hvis du har mye minne (512 og oppover) bør systemet ideelt sett aldri bruke swap. Sett alikevel av noen hundre megabyte "just in case". I Windows skjer swapping gjennom en pagefile, men det gjøres på en seperat partisjon for å sørge for at det ikke blir noe tull med filsystemet til /. Smart, ikke sant?
Etter partisjoneringen kommer du antagelig til installasjonen av programvare. Her er det bare å velge og vrake, men det er ofte en god tommelfingerregel å tenke på at det er bedre med for mye enn for lite. Ta med development hvis du vil installere programvare via kildekode (typisk hvis du vil teste noe ikke altfor kjent programvare, eller et lite program). Husk å ta med det meste som står under kategorien "X", med mindre du kun skal bruke kommandolinje.
Bootloader
Før eller siden vil installasjonsveiviseren tilby deg å legge inn en bootloader. Den vil i de fleste tilfeller automatisk oppdage windows-partisjonene og legge inn et lite program som spør deg under oppstart "vil du starte Linux eller Windows nå?". Du kan velge hva som skal starte opp automatisk hvis ingen trykker en knapp innen noen sekunder.
X?
Innebygget i Windows har du en windowmanager. Den tegner winduene på skjermen, lar deg manipulere dem - flytte dem rundt, minimere, maksimere og så videre. I Linux oppfylles dette med en windowmanager som kjører i en x-server. Dette er kategorien "X" som nevnt over, og den pleier å inkludere en haug med grafiske programmer i tillegg til flere grafiske brukergrensesnitt. To desktop enviroments, det vil si skrivebordsmiljø er Gnome og KDE. Disse har en haug med programmer til alle mulige formål; spill, tekstmanipulering (jeg skriver dette fra gedit, en kjapp editor som følger med Gnome), IRC-klienter, konfigurasjonsverktøy, filbehandlere osv. Programmene kan brukes på tvers av skrivebordsmiljøene, og man kan gjerne bruke et Gnome-program selv om man bruke KDE.
Root og normale brukere
Før eller siden vil Linux at du skal sette passord på rootbrukeren, og opprette en ny bruker. root-brukeren er den allmektige herren i et nix-system. Han kan slette absolutt alt, endre alle passord, legge inn programvare og totalt ødelegge systemet hvis han vil. Derfor er det en god idé å ha et vanskelig passord på root-brukeren, og så opprette en ny bruker til deg selv. Deretter bruker du bare kommandoen "su -" i en terminal for å få roottilgang senere når du faktisk trenger all den makten tilgjengelig til fingertuppene dine. I tilfeller hvor et grafisk program trenger root, så vil vil det poppe opp en liten boks som ber deg taste inn root-passordet ditt.
Og installasjonen er ferdig!
Etter noen videre steg burde du ha et linux-system ferdig. Etter at du logger deg inn, burde du ha et nytt grafisk miljø å bli kjent med foran deg, enten KDE eller Gnome. Forskjellen er ikke så stor i utgangspunktet, og det er en smakssak hva man foretrekker. Du vil ha en slags startmeny med en del programmer, og noen ikoner på skrivebordet. Antagelig, hvis du har bredbånd med automatiske ip-adresser, så vil du ha internettilgang også.
Herifra er det bare å utforske, og man burde finne ut at det ikke er så veldig forskjellig fra Windows på overflaten. Linux har derimot en stor forskjell man oppdager relativt fort:
Kommandolinjen. Den ligger antagelig tilgjengelig i "startmenyen", og har et navn som Konsole, xterm, aterm eller Gnome-terminal (dette er forskjellige grafiske programmer for å bruke kommandolinjen. Forvirrende? Kanskje i utgangspunktet ). Siden denne guiden først og fremst prøver å gi deg grunntrekkene som trengs for å forstå litt, går vi ikke i dybden angående kommandoer. Her er alikevel noen som burde får deg i gang:
su -: Gjør terminalen din om til en root-terminal. Den ber deg taste inn passordet til root (fortvil ikke når det ikke kommer små stjerner når du trykker, passordet blir registrert, men det vises ikke av sikkerhetsmessige grunner), og så vil du få et lite tegn som viser at du er root. Der det sto $ før, står det nå root. Som root kan du gjøre stortsett alt, og du skal være forsiktig med hva du gjør. Den normale bruken til root er redigering av konfigurasjonsfiler, og installasjon av programvare. Tips: Hvis du har mange brukere på systemet ditt, så kan du logge inn som dem ved å bruke su - brukernavn. Dette krever selvsagt at du har passordet.
cd /home/IvIoyner/lager/: Forflytter terminalen til /home/IvIoyner/lager/. Denne er kjent fra msdos, og de fleste burde forstå den. Hvis du vil tilbake til hjemmemappa di, er det bare å skrive cd.
ls: Lister opp hva som ligger i mappa du er. ls /usr/bin vil liste opp det som ligger i /usr/bin. Med ls kan du hente ut massevis med informasjon om filer, alder, størrelse, rettigheter, type etc. man ls for mer informasjon.
rm: Sletter filer, f.eks: "rm filnavn" for å fjerne en enkeltfil. rm -rf vil slette rekursivt (alt innholdet i en mappe den pekes mot, og mappen selv). Wildcard (*) kan brukes her, så rm -rf * vil slette alt som finnes inni en mappe. rm -rf hei* vil slette alle ting som har hei først i filnavnet.
man: Antagelig den kommandoen som flest er avhengig av. Man kommando vil gi deg en manualside til programmet, slik at du kan lese deg til hvordan du bruker det. man man for mer informasjon
Installering av programmer
Det første man må tenke på er at Linux ikke er Windows. I Windows kommer programmene i .exe-filer, men de er ikke kjørbare på Linux uten f.eks. wine og WineX3, men selv det er ikke noe å stole på når man skal skaffe programvare. Det beste er å bruke Linux-programmer på Linux, og Windows-programmer på Windows
På de tre nevnte, SuSE, Mandrake og Fedora, så har man rpm til å legge inn programmer. En RPM-fil er en ferdigkompilert fil som inneholder et program, men rpm har en svakhet da det fort får problemer med manglende dependencies - en fil trenger en fil, som igjen trenger en fil, ergo må man plutselig laste ned hundrevis av filer for et enkeltprogram. Også kalt et dependency-hell. Derfor har man en rekke pakkesystemer til å gjøre jobben for seg, avhengig av distro.
Her tar jeg utgangspunkt i yum fra fedora, se egen dokumentasjon for de andre pakkesystemene.
"yum install gimp" vil oppdatere listen yum har over tilgjengelige programmer, og laste ned og installere programmet "the gimp". Hvem sa nå at installasjon av programmer var vanskelig?
Yum, i likhet med alle andre pakkebehandlere, henter informasjonen sin fra en configfil. Den ligger sammen med de andre configfilene i /etc. Ved å legge til nye speil (mirrors) i /etc/yum.conf vil du få tilgang til mer programvare som kan hentes på denne måten. Jeg skriver ikke så langt om pakkesystemene, siden de er forskjellige fra system til system. man yum vil gi mer informasjon enn jeg noensinne klarer å utlevere her.
Hvilken distro har hvilket pakkesystem? De enkleste distroenes pakkesystemer:
Fedora - Yum inne som standard, apt-get4rpm kan legges inn hvis man ønsker.
Mandrake - urpmi inne som standard.
SuSE - Yast tar seg av pakker.
Debian - Apt-get.
Kompilering av programvare
Hvis man ikke bruker pakkesystemet for installasjon, er det mulig å kompilere programmer selv. Dette er noe man strengt tatt burde unngå hvis man allerede har et godt pakkesystem, men det finnes så utrolig mye Linux-programvare der ute, ingen distroer kan ha alle programmer tilgjengelig i pakkesystemet. En annen grunn for å kompilere noe selv er behov for andre kompilerings-flags og instillinger. Hvis du noensinne får et program i .tar.gz-format, så er det mest sannsynlig kildekode som må pakkes ut og kompileres.
Inne i .tar.gz-fila ligger det kildekode, instruksjoner og dokumentasjon. Første steg er å pakke ut disse tingene, og dette gjøres enten via en grafisk filbehandler (jeg regner med at folk klarer å gjøre dette selv, da det stortsett er å dra filer fra en mappe til en annen) eller ved kommandolinjen.
tar xfvz filnavn.tar.gz vil dekomprimere filene i en mappe. Så til kompileringen. For å kompilere programvare trenger man gcc og automake (og gjerne en del andre ting avhengig av hva programmet er skrevet i), og de finnes normalt i pakken devel når man legger inn en form for Linux. I source-baserte distroer (som allerede baserer seg på å kompilere all programvare) så kan du være garantert på at det nødvendige ligger inne fra før.
Første steg er å generere en makefile for installasjonen. En makefile er basert på systemets instillinger og konfigurasjon, og sørger for at man kan kompilere og installere med en enkel kommando. Kjør ./configure fra mappen du la kildekoden i, og se på at systemet sjekker at du har alt som trengs for installasjon. Hvis noe mangler, og den stanser opp, må du antagelig skaffe pakken den mangler. Når configure er kjørt og fullført, kan du skrive make. Make vil da følge Makefilen og kompilere pakken. Så er det bare å skifte til root-brukeren med su og skrive make install clean for å installere programmet, og rydde opp i midlertidige filer. Man bør alltid lese "INSTALL" og README i mappen før man setter i gang, for alle programmer kompileres ikke med configure, make og så make install. Dette står isåfall spesifisert i disse filene.
Hvis du vil ha anbefalt Linux-programvare har vi en egen tråd om det liggende øverst i unix-forumet. Denne guiden er skrevet av meg, basert på waffels idé. Vi tar gjerne imot forslag til forbedringer, pirking på tekniske feil, og drapstrussler, hvis det er relevant skal jeg redigere det inn i teksten. Og husk, veien til kunnskap er RTFM