Saturday, 4 October 2008

Programinstallation i Linux

Filosofin för hur program hanteras i Linux skiljer sig en hel del från hur program hanteras i Windows och Mac OS X. Detta beror främst på att de flesta program för Linux till skillnad från de flesta Windows- och Mac-program är både öppna och gratis. Öppenheten medger en integration i operativsstemet som helt enkelt inte är möjligt för stängda kommerciella OS.

Eftersom det per definition är fritt fram för vem som helst att redistribuera öppna program har detta lett till att varje Linuxdistribution har kunnat ställa upp ett fåtal servrar där alla program har kunnat samlats. I stället för att användaren för varje program skall behöva minnas programmets hemsida och var där man kan ladda ner programmet, kan användaren bara gå direkt till servern för att leta upp det program användaren vill installera. Dessa servrar kallas repositorier.


I Kubuntu är repositoriera redan färdigt inställda som standard. När man vill installera eller ta bort ett program använder man i Kubuntu programmet Adept-installation. I OpenSUSE heter motsvarande program YaST2, men fungerar enligt samma princip. I Adept-installation ser man listor på alla program som finns tillgängliga på de installerade repositorierna (man kan lägga till flera repositorier efter behag). De program som redan är installerade kommer att vara markerade med ett kryss och de program man vill installera kryssar man i (hur många som helst på en gång). Vill man avinstallera ett eller flera program tar man bara bort kryssen för de programmen. När man gjort färdigt sina val, trycker man på knappen "Verkställ ändringar", varefter de valda programmen kommer att laddas ner automatisk från servern och installeras. Det är fritt fram att göra annat med datorn medan detta sker och datorn behöver mycket sällan startas om efteråt. Det är bara när själva operativsystemet, Linux-kärnan, har ändrats som omstart är nödvändig för att ändringarna skall träda i kraft. Majoriteten av programmen har ingenting med kärnan att göra, vilket också bidrar till att Linux är ett så säkert och stabilt OS.

.deb- och .rpm-filer

Alla program finns dock inte på repositorierna. T ex måste man hämta Skype från Skypes hemsida http://www.skype.com. Där hittar man installationsfiler för de olika varianterna av Linux (Ubuntu (Kubuntu är en variant av Ubuntu), OpenSUSE, Fedora, Debian etc). I allmänhet brukar installationsfilerna del upp sig i tre olika grupper: källkod (source code), .deb- och .rpm-filer. Källkoden är det mest invecklade sättet att använda för att installera program (och bör undvikas om allternativ finns). Det betyder att man själv skall kompilera koden (dvs tolka koden till maskinspråk; man måste alltså ha en kompilator installerad). Dessutom måste man själv se till att alla fil-bibliotek och dyligt som programmet är beroende av finns installerat på ens dator. Den goda nyheten är att man slipper allt detta med .deb och .rpm-filer. Med dessa filer (eller paket som de kallas) sköts allt detta automatiskt. Om några extra fil-bibliotek krävs, kommer dessa automatisk att sökas från repositorierna och installeras.

Deb-filer används av Debian-baserade Linux-varianter som Debian, Ubuntu och Kubuntu. Deb-formaten uppfanns för Debian, men spreds sig till andra distributioner. Red Hat utvecklade sitt eget rpm-foramt ("Red Hat package Manger", sedemera omdöpt till the "RPM Package Manager") som även anammades av Fedora (en version av Red Hat) och OpenSUSE.

Vill man nu installera Skype i Kubuntu, laddar man ner Skyps deb-fil för Ubuntu från Skyps hemsida och klickar på deb-filen. Den kommer då att öppnas med Adept-paketinstalleraren, med vilken man kan installera programmet. För OpenSUSE laddar man ner dess rpm-fil och installerar programmet på motsvarande sätt med YaST. Det enda negativa med att inte ett program som Skype finns färdigt på något repostorium är att man själv måste kolla på respektive programs hemsida om det kommit någon uppdatering. För alla paket som är installerade från repositorierna sker uppdateringskontrollen automatiskt av Adept, som kommer att meddela användaren när nya uppdateringar finns (eller installera dem automatiskt, om man så önskar). Liknande system finns för rpm-filer i t ex OpenSUSE.

OpenSUSE har även kommit på ännu ett enkelt sätt att installera program genom något som kallas "1-click installtion". På sidan http://packages.opensuse-community.org/ kan man söka efter alla program på OpenSUSEs repositorier. För varje träff finns det en knapp där det står "installation". När man trycker på den startar YaST, som ser till att de nödvändiga repositorierna installeras liksom naturligtvis själva programmet. Program som installeras på detta sätt kommer att automatisk uppdateras av systemet, liksom de program man installerade från repositorierna via YaST som beskrevits ovan.

Installation via kommandotolken

I deb-baserade Linuxdistributioner som Ubuntu/Kubuntu och Debian används i kommandotolken programmet apt-get för att installera ett program från repositorierna. Apt-get gör samma sak som Adept gör i grafisk form. För att installera Firefox skriver man bara i konsolen (terminalfönstret)

sudo apt-get install firefox

Kommandot sudo betyder att man kör kommandot med adminitratörsrättigheter (root-rättigheter). Därför kommer lösenord att begäras (Både Adept och YaST kräver alltid administratörens lösenord) och efter det laddas firefox ner och installeras.

I OpenSUSE används på motsvarande sätt programmet Zypper

sudo zypper in firefox

Om man har en deb-fil som man vill istallera gör man det genom att gå till mappen där filen finns och kör kommandot:

sudo dpkg -i paket.deb

där paket.deb är det paket man vill installera. För rpm-filer gör man det genom kommandot

sudo rpm -U paket.rpm

Det finns alltså många sätt att installera program i Linux (alla är inte ens nämnda), varav installationen direkt från repositorierna via Adept eller YaST är absolut att föredra, eftersom man då kan lita på att programmen då automatiskt uppadateras i framtiden. Administratörens lösenord behövs i regel alltid när man skall installera ett program, men detta är en av grundstenarna i den stora säkerheten hos Linux. Inga virus kan installeras av misstag och alla program som är på Linux-distributionernas officiella repositorier är garanterat virusfria -- ännu ett argument för att bara använda de officiella repositorierna.

No comments: