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:
Det finns vissa namnkonventioner som kan vara bra att ha koll på:
apt-cache search strategy game
- 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
där
apt-get <kommando>
<kommando>
exempelvis kan vara
install <paketnamn>
: Installerar paket som matchar<paketnamn>
-f install
: Försöker fixa eventuella problemupdate
: Uppdaterar listan över tillgängliga paketupgrade
: Uppdaterar alla installerade paket till nyare versionremove <paketnamn>
: Tar bort ett installerat paketpurge <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:
Ofta kan
$ ./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)
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