Göm menyn

TDP001 Handhavande av datormiljö

Terminalkommandon v41

Detta kommer bli det sista utskicket i kursen och idag kommer vi hantera installation av programvara.

I ett Linux Mint-system finns det flera sätt att installera programvara. Till att börja med tänkte jag behandla det vanligaste sättet att sköta stabil programvara (dvs program som på något sätt är kontrollerade).

Paket och pakethanterare

Med er Linux-installation följer det med en pakethanterare som kallas APT (the Advanced Packaging Tool). Detta system kan ladda ner färdigkompilerade programvaror och installera den i ditt operativsystem. Eftersom installationer alltid sker för alla användare kan det endast köras av användare med root-rättigheter.

APT utgår ifrån en lista av servrar som heter /etc/apt/sources.list. Från dessa servrar kan man med hjälp av kommandot apt-get update hämta en lista med paket som är möjliga att installera. Med den nätverksinstallation ni gjort fick ni automatiskt ett antal servrar i sources.list. Exempelvis finns apatix med vilken är ett namn som endast hittas här på IDA. Om ni någon gång vill använda APT på ett annat nätverk kan ni därför behöva modifiera denna lista (som root).

Det finns två kommandon som är bra att kunna med APT, apt-cache och apt-get.

apt-cache används för att söka i listan över tillgängliga paket. Om jag exempelvis är intresserad av att spela ett strategispel kan jag skriva följande för att få en lista över paket som har orden strategy och game i sin beskrivning:

  apt-cache search strategy game
Det finns vissa namnkonventioner som kan vara bra att ha koll på:
  • Paket som inleds med lib: Filer som delas mellan flera program. Det är kompilerad kod som används av program vid körning. Detta motsvarar (ungefär) Windows DLL-filer (dynamic link library)
  • Paket som slutar med -dev: Inkluderingsfiler som behövs vid utveckling, exempelvis deklarationer i diverse programmeringsspråk för ett given bibliotek
  • Paket som slutar med -dbg: Ger debuginformation till ett program så att man kan undersöka körningen med en debugger

apt-get sköter (av-)installation av paket. Körs enligt

  apt-get <kommando>
där <kommando> exempelvis kan vara
  • install <paketnamn>: Installerar paket som matchar <paketnamn>
  • -f install: Försöker fixa eventuella problem
  • update: Uppdaterar listan över tillgängliga paket
  • upgrade: Uppdaterar alla installerade paket till nyare version
  • remove <paketnamn>: Tar bort ett installerat paket
  • purge <paketnamn>: Kör remove och tar bort konfigurationsfiler
apt-get är ett trevligt verktyg, och det finns även ett till, aptitude som fungerar på ett liknande sätt. aptitude brukar dock anses vara lite mer användarvänligt, exempelvis har du kommandot
 aptitude safe-upgrade
som gör lite mer kontroller på de paket som uppdateras Om man startar aptitude utan argument får man upp en grafisk (men terminalbaserad) miljö för att hantera paket.

Utöver de terminalbaserade programmen finns så klart även grafiska pakethanterare såsom synaptic.

Manuell installation

Pakethanterare sköter installation (och även avinstallation) på ett bra och enkelt sätt, det finns dock vissa problem. Ett är såklart att det inte går att använda dem om man inte har root-rättighet, ett annat är att det sällan går att få tag på nyaste versionerna av programvara via de vanliga källorna. Dessa får man ofta tag på med hjälp av versionshanteringssystem (eller tar-filer).

När man laddat ner källkod till öppen mjukvara får man en katalog med massor av filer (oväntat va!), i denna katalog finns det ofta en körbar fil som heter configure. Detta är ett script som går igenom de program och bibliotek som krävs för att kunna kompilera den nedladdade programvaran och säger till om det är något som saknas. Om configure lyckas skapas en fil med namn Makefile. Denna fil innehåller instruktioner till programmet make om hur programvaran ska kompileras.

Kommandon för att kompilera och installera ett program brukar alltså följa formatet:

  $ ./configure		# går igenom din miljö och söker efter de bibliotek som behövs
  $ make		# kompilerar (om configure lyckades)
  $ make install	# installerar (om make lyckades)
Ofta kan configure-scriptet ta en flagga på formatet --prefix=<path> för att bestämma var programvaran ska installeras. Om denna utelämnas kommer make install installera programmet i någon standard-sökväg (exempelvis /usr).


Sidansvarig: Pontus Haglund
Senast uppdaterad: 2022-08-15