1.2. Installation af programmer

Da Linux kan betyde mange ting, er der mange forskellige måder at installere programmer på, og afhængig af hvilken distribution man har valgt, kan der være flere forskellige måder at installere et program på. Resten af dette kapitel handler om dette. Du kan roligt springe det over, indtil du rent faktisk har fundet et program du gerne vil prøve.

Overordnet set skelner vi imellem at installere noget fra kildetekst (også kaldet "source" på engelsk, ofte forkortet "src") og at installere en "binær" pakke. Kildetekst er det programmet er skrevet i, som oftest af mennesker, mens "binær" er det format computeren skal anvende for at kunne afvikle programmet. Man siger at kildetekst oversættes til binært format af en oversætter (compiler).

Installation af programmer fra kildetekst kræver som nævnt en oversættelse til noget maskinen kan forstå. Dette kræver igen at en oversætter (eller fortolker) for den pågældende kode er til stede i systemet. Der kan også være afhængigheder til andre ting, f.eks. specielle programbiblioteker, eller specielle versioner af programbiblioteker. Dette kan være ret indviklet hvis man er ny i Linux verdenen. Istedet kan man som regel få mere glæde af de pakkesystemer som de fleste distributioner anvender. Derfor vil dette kapitel først præsentere en oversigt over de mest gængse pakkesystemer, dernæst de mest udbredte distributioner der bruger dem, og ikke mindst, hvor man typisk kan finde programmer i det rigtige pakkeformat til netop ens egen distribution. Afslutningsvis vil en typisk installation fra kildetekst blive gennemgået.

Bemærk at installation af programmer også er omtalt i bøgerne "Linux – Friheden til systemadministration" og "Linux – Friheden til at vælge installation". Begge kan findes på www.linuxbog.dk.

1.2.1. Hvad er et pakkesystem

De forskellige programmer i Linux kommer mange steder fra. Grafikserveren (programmet X11) laves af een gruppe, din emaillæser af en anden, osv. Alle disse dele samles til et hele, oftest kaldet en distribution (som f.eks. RedHat, Mandrake, Suse, Debian, Gentoo, osv).

De enkelte dele bliver som regel lagt i det man kalder pakker. En pakke indeholder det program man skal installere, samt de filer programmet har brug for at kunne køre (f.eks. forskellige ikoner, filer der er nødvendige for at understøtte flere forskellige sprog, osv). Desuden indeholder pakken information om hvilke andre pakker der er krævet for at pakken kan installeres. F.eks. kan det være at et grafisk program til at brænde cd-rom'er med kræver at et bibliotek til at tale med cd-rom-brænder-drevet er installeret (man siger at det grafiske program afhænger af biblioteket).

En pakke indeholder også information om hvordan programmet (og de filer der hører til det) kan afinstalleres. Således skulle man aldrig komme i den situation at man har et system hvor der er noget der "ikke virker", eller nogen systemfiler man ikke kan finde ud af hvor kommer fra, for afhængighederne sikrer imod det første og muligheden for at fjerne pakker og alle deres filer sikrer imod det sidste. Ihvertfald i princippet.

Det mest kendte pakkeformat er formentlig RPM. Det blev oprindeligt udviklet af RedHat, deraf navnet; "RedHat Packet Manager". Dette format anvendes idag af mange forskellige distributioner, blandt andet Mandrake og Suse. Det næstmest kendte er formentlig DEB, et pakkeformat der blev udviklet til Debian. Dette format anvendes også af flere forskellige distributioner, blandt andet Knoppix. Andre formater findes også, men disse er de absolut mest udbredte.

Til hvert format og til hver distribution hører der som regel et eller flere værktøjer til at administrere pakker. Det er nemlig sådan at pakker ikke, som f.eks. under Microsoft Windows, kan installere sig selv. Istedet har man et værktøj til at vise hvilke pakker der er tilgængelige, installere pakker, vise hvilke der er installeret på systemet, afinstallere pakker, mv. På Figur 1-1 kan du se et skærmskud af det værktøj der under Mandrake 9.1 bruges til at installere pakker med – her er brugeren ved at overveje at installere et spil.

Figur 1-1. En bruger overvejer at installere et spil under Mandrake 9.1

Andre distributioner og andre formater har deres egne værktøjer, f.eks. hedder Debians kommandolinjeværktøj apt-get. Det kan betale sig at læse dokumentationen til ens distribution og pakkeadministrationssystem. Som regel har udviklerne gjort sig stor umage for at pakke mange, mange programmer ned som man kan få stor nytte af at installere og bruge (og eventuelt fjerne igen) og de værktøjer der følger med er som hovedregel gode til at give overblik over pakkerne og de forskellige muligheder.

1.2.1.1. Hvor får man pakker fra

Alt det med pakker er meget godt, men hvor får man pakker fra? Når man nu har læst om et eller andet fantastisk program i denne her bog, og gerne vil teste det af på sit eget system, hvor finder man så en pakke der indeholder det program?

Det første sted man kigger er den distribution man bruger på sit system. Som nævnt indeholder de fleste distributioner i dag værktøjer, der viser en liste over alle de pakker (som regel flere tusinde) der følger med distributionen. Herfra har man som regel også mulighed for at installere en pakke med et enkelt klik. (Og værktøjet sørger så for at eventuelle andre pakker der er nødvendige, automatisk installeres). Selve pakken kan så hentes fra f.eks. en cd-rom, eller fra internettet – afhængigt af hvordan man har installeret, og hvilket værktøj der er tale om.

Typisk kan sådanne værktøjer også konfigureres til at hente pakker fra andre kilder. Et eksempel er pakker der ikke kan distribueres i alle lande, f.eks. pakker der indeholder stærk kryptologi. Disse samler distributørerne typisk på f.eks. et website, og man kan så senere (efter installation og relativt uproblematisk) tilføje alle disse pakker til listen over pakker man kan installere. En distributør kan også have pakker der ikke ligger på installationsmediet (cd-rom/DVD/mv.) men kun er tilgængelig på internettet. Disse kan så tilføjes på lignende vis. Fordelen ved disse tilgange er at pakkerne passer perfekt sammen med de øvrige pakker på systemet – hvilket desværre ikke altid er tilfældet med tredjepartspakker. Eksempelvis er pakken "burgerspace" som brugeren overvejer at installere på Figur 1-1 er faktisk en del af Mandrakes "contrib" arkiv for Mandrake 9.1.

Alternativt til distributørernes pakker kan man opleve at programmørerne af et program selv har pakket deres program i et pakkeformat der passer til ens system. Det mest mødte er RPM pakker – formentlig fordi det er relativt let at få pakker ind i Debian (i det mindste i forhold til mange andre distributioner) så programmører der ønsker det har mulighed for at få deres pakker ind i selve distributionen relativt let. Sådanne pakker kan man typisk nedhente fra internettet, f.eks. fra programmernes hjemmesider.

1.2.1.1.1. Pakkekompatibilitet

Som udgangspunkt skal en binær pakke passe ret præcist til ens distribution for at man kan anvende den. Det kan være angivet i navnet, men ellers må man forsøge at regne det ud fra omtalen af pakken på f.eks. hjemmesiden. En RPM-pakke findes oversat til en eller flere processor-arkitekturer. Formatet er typisk som følger: NAVN-VERSION-PAKKETAG.PROCESSOR.rpm, hvor NAVN er navnet på programmet eller program-pakken, f.eks. "mplayer". VERSION indikerer typisk hvor langt man er i udviklingen, hvor 1.0 indikerer stabilt, og væsentligt under 0.5 er meget tidligt i udviklingen. PAKKETAG kan forekomme, hvis den der har lavet RPM-pakken vil vise at han eller hun har lavet den – typisk ved at sætte PAKKETAG til ens egne initialer. PROCESSOR er "i386" for alle Intel-kompatible 32-bit maskiner. Har man en Alpha-maskine sætter man PROCESSOR til "alpha". Et eksempel på navn for en RPM-pakke er "mplayer-0.90pre5-fr1.i386.rpm".

1.2.1.1.2. Pakkesystemkompatibilitet

Selv om RPM og Debian systemer som udgangspunkt ikke kan bruge hinandens pakkesystemer, er det muligt at installere software der kan gøre systemerne i stand til at bruge de samme værktøjer og i en vis udstrækning de samme pakker. F.eks. kan man få værktøjet apt-get til RedHat og Mandrake (fra http://freshrpms.net/).

Endeligt findes der et værktøj til at konvertere imellem forskellige pakkeformater, herunder DEB og RPM, kaldet alien. (Det er en del af Debian distributionen).

1.2.2. RPM baserede systemer

RPM baserede systemer har alle værktøjet rpm til fælles. Det er kommandolinjebaseret – og ikke specielt let at komme igang med at bruge. Derfor indeholder alle distributioner baseret på RPM også andre værktøjer til at håndtere pakker med. Alligevel vil vi kort præsentere rpm programmet.

Hvis du vil undersøge en pakke, kaldet pakke.rpm, inden du installerer den, kan du bruge kommandoen rpm --query --info --package pakke.rpm. Det kan f.eks. se sådan her ud (hvor der bruges korte parametre, --query = -q osv):

[tyge@hven ~]$ rpm -qip xarman-1.1.0-2.i686.rpm
Name        : xarman                       Relocations: (not relocateable)
Version     : 1.1.0                             Vendor: (none)
Release     : 2                             Build Date: ons 20 feb 2002 12:18:51 CET
Install date: (not installed)               Build Host: ripley
Group       : Games/Arcade                  Source RPM: xarman-1.1.0-2.src.rpm
Size        : 321110                           License: GPL
Packager    : Mads Bondo Dydensborg <madsdyd@challenge.dk>
URL         : http://xarman.sf.net/
Summary     : SDL 2 player minesweeper-like action game
Description :
An addictive two player cross between Minesweeper and Dyna Blaster.

Det meste af informationen skulle være selvforklarende, men vi kan nævne et par felter alligevel. "Name" er naturligvis pakkens navn, her "xarman". "Version" og "Release" fortæller noget om hvilken udgave af programmet der er tale om. "Group" fortæller i dette tilfælde at der er tale om et spil ("Games") i undergruppen "Arcade". "Size" er hvor meget programmet fylder hvis det bliver installeret, osv. Hvis du er interesseret i at se hvilke filer der vil blive installeret, såfremt pakken installeres, klares det med rpm -qlp pakke.rpm:

[tyge@hven ~]$ rpm -qlp xarman-1.1.0-2.i686.rpm
/usr
/usr/bin
/usr/bin/xarman
/usr/share
/usr/share/doc/xarman-1.1.0
/usr/share/doc/xarman-1.1.0/AUTHORS
/usr/share/doc/xarman-1.1.0/COPYING
/usr/share/doc/xarman-1.1.0/ChangeLog
/usr/share/doc/xarman-1.1.0/README
/usr/share/doc/xarman-1.1.0/TODO
/usr/share/games
/usr/share/games/xarman
/usr/share/games/xarman/graphics
/usr/share/games/xarman/graphics/BD1F1.png
/usr/share/games/xarman/graphics/BD1F2.png
...
/usr/share/games/xarman/sounds/rshow.wav

Den enste forskel fra før er at der istedet for "i" blev brugt "l" som betyder at filerne fra pakken skal vises (--list).

Installation af en pakke foregår ret nemt, med rpm -Uvh pakke.rpm. Her betyder "U" update (som også dækker installation), "v" at du vil have information om fremgangen under installation, og "h" at du vil have en tekstbar der viser fremgangen. Hvis du vil se hvilke pakker der er installeret på dit system, så brug rpm -qa, hvor "a" betyder "vis alle". Dette vil vise en liste af pakker på systemet, som f.eks:

[tyge@hven ~]$ rpm -qa
libungif4-4.1.0-19mdk
libintl1-0.10.40-4mdk
libmng1-1.0.3-2mdk
...
openssh-server-3.6.1p2-1.2.91mdk

Hvis du vil fjerne en pakke, kan du nu gøre det med rpm -e pakkenavn (-e = --erase), f.eks. rpm -e openssh-server.

RPM systemet er virkeligt et stærkt system. Du kan læse mere om hvad det kan i rpm(8) manualsiden. Den kan være lidt svær at overskue, men så er der hjælp at hente på www.rpm.org.

Udover de distributionsspecifikke steder at hente RPM filer på, kan du også finde en del på www.rpmfind.net, hvor man blandt andet kan søge efter RPM filer. En fiks detalje er at hvis du f.eks. skriver "rf: openjade" i konqueror, (som er KDE systemets webbrowser), vil den automatisk søge efter RPM filer på www.rpmfind.net.

1.2.2.1. Mandrake

Som beskrevet ovenfor, har Mandrake et grafisk installationsprogram, kaldet rpmdrake. Dette program kan enten startes fra kommandolinjen, eller findes fra Mandrakes kontrolpanel. Du kan se et skærmskud af dette program på Figur 1-1.

rpmdrake er en del af en programsuite til at håndtere pakkekilder (altså steder at få RPM'er fra), updatere de installerede pakker og afinstallere pakker. De andre programmer hedder edit-urpm-sources.pl for programmet til at opsætte kilder, MandrakeUpdate for at opdatere pakkerne på systemet, og rpmdrake-remove for at afinstallere pakker. Det er som hovedregel nemmest at køre disse programmer fra Mandrakes kontrolpanel.

Af interessante kilder for Mandrake pakker skal især nævnes MandrakeClub på www.mandrakeclub.com og "Penguin Liberation Front" på plf.zarb.org. MandrakeClub er en klub hvor man for et årligt beløb får adgang til en lang række af pakker, mv. Den anden er en række pakker der ikke kan distribueres med Mandrake fordi der kan være problemer med deres lovlighed i visse lande – det kan f.eks. være patentproblemer, eller problemer med at stærk kryptering ikke er lovlig i alle lande. At få Mandrake til at inkludere disse pakker er relativt let, men afhænger en smule af den specifikke version af Mandrake du kører – besøg siderne for flere instruktioner.

1.2.3. DEB baserede systemer

Det basale værktøj til at installere deb-pakker hedder dpkg. Ligesom rpm er dpkg komandolinjebaseret. Står man med en deb-fil skal man bruge dpkg og der er nogle informationer om ens system der er nemmest at finde med dpkg. Derfor er det godt at kende dette værktøj.

Hvis du har en pakke kaldet pakke.deb kan du få vist nogle basale informationer om pakken med kommandoen dpkg --info pakke.deb. Det kan se således ud:

[tyge@hven ~]$ dpkg --info sarien_0.7.0-3_powerpc.deb
new debian package, version 2.0.
size 76030 bytes: control archive= 913 bytes.
17 bytes,     1 lines      conffiles
616 bytes,    16 lines      control
558 bytes,     9 lines      md5sums
Package: sarien
Version: 0.7.0-3
Section: games
Priority: extra
Architecture: powerpc
Depends: libc6 (>= 2.3.1-1), libsdl1.2debian (>> 1.2.3)
Installed-Size: 212
Maintainer: Peter Makholm <peter@makholm.net>
Description: An interpreter for AGI resources
Sarien decodes and plays games written for the Sierra
On-Line Adventure Game Interpreter (AGI) system, such as Leisure Suit
Larry in the Land of the Lounge Lizards, Space Quest I and II, and
King's Quest I to IV. Currently AGI versions 2 and 3 are recognized;
support for older AGI v1 games is not available.
.
You need the files from the original games.
[tyge@hven ~]$ 

De første par linjer fortæller at det er version 2 af pakke-formatet, noget om størelsen af pakken og kontrolfilerne i pakken. Feltet "Package" viser pakkens navn. Feltet "Depends" fortæller hvilket andre pakker man skal have installeret for at pakken virker, her skal man bruge mindste version 2.3.1-1 af libc6-pakken og større end version 1.2.3 af libsdl1.2debian-pakken. "Installed-Size" fortæller hvor meget pakken vil fylde når man installerer den, dette er angivet i kilobytes. Resten af felterne er nogenlunde selvforklarende.

Vil man se hvilke filer pakken installerer kan man bruge kommandoen dpkg --contents pakke.deb:

[tyge@hven ~]$ dpkg --contents sarien_0.7.0-3_powerpc.deb
drwxr-xr-x root/root         0 2003-04-30 03:32:46 ./
drwxr-xr-x root/root         0 2003-04-30 03:32:43 ./usr/
drwxr-xr-x root/root         0 2003-04-30 03:32:45 ./usr/games/
-rwxr-xr-x root/root    133056 2003-04-30 03:32:45 ./usr/games/sarien
drwxr-xr-x root/root         0 2003-04-30 03:32:44 ./usr/share/
drwxr-xr-x root/root         0 2003-04-30 03:32:43 ./usr/share/doc/
drwxr-xr-x root/root         0 2003-04-30 03:32:46 ./usr/share/doc/sarien/
-rw-r--r-- root/root      2155 2001-11-04 06:21:17 ./usr/share/doc/sarien/AUTHORS
-rw-r--r-- root/root       185 2001-09-02 04:37:58 ./usr/share/doc/sarien/BUGS
-rw-r--r-- root/root       638 2001-09-02 00:20:53 ./usr/share/doc/sarien/TODO
-rw-r--r-- root/root       703 2003-04-30 03:32:03 ./usr/share/doc/sarien/copyright
-rw-r--r-- root/root      3295 2001-09-02 04:37:58 ./usr/share/doc/sarien/README.agi.gz
-rw-r--r-- root/root      1180 2003-04-30 03:32:03 ./usr/share/doc/sarien/changelog.Debian.gz
drwxr-xr-x root/root         0 2003-04-30 03:32:44 ./usr/share/man/
drwxr-xr-x root/root         0 2003-04-30 03:32:46 ./usr/share/man/man6/
-rw-r--r-- root/root      3384 2003-04-30 03:32:42 ./usr/share/man/man6/sarien.6.gz
drwxr-xr-x root/root         0 2003-04-30 03:32:43 ./etc/
-rw-r--r-- root/root      3684 2003-04-30 03:32:43 ./etc/sarien.conf
[tyge@hven ~]$ 

Installation af pakker foregår med kommandoen dpkg --install pakke.deb. Senere kan man så fjerne pakken igen med enten dpkg --remove pakke der ikke fjerner pakkens opsætningsfiler, eller dpkg --purge pakke der fjerner pakkens opsætningsfiler. Bemærk at der her bruges pakkenavnet og ikke navnet på den fil man installerede pakken fra.

Vil man have information om pakker der er installeret kan man bruge kommandoen dpkg --status pakke der giver de overordnede informationer og dpkg --listfiles pakke der viser hvilke filer der ligger i en pakke.

Det kan også være rart at finde ud af hvilken pakke en fil tilhører. Dette gøres med dpkg --search filnavn. Filnavnet kan indeholde joker-tegn og dpkg vil så finde alle pakker der matcher.

Ofte vil man dog slet ikke bruge dpkg. Istedet vil man bruge apt-get eller et grafisk værktøj baseret på APT som selv vil løse afhængigheder og hente pakker fra pakkearkiver.

1.2.4. Installation af programmer fra kildetekst

Installation af programmer fra kildetekst kan være en vanskeligere opgave end at installere binære pakker. Det kan dog nogen gange være nødvendigt at installere fra kildetekst – enten fordi det program du gerne vil have ikke findes som pakke, eller fordi du gerne vil have den nyeste version, som frigivet af forfatterne.

Som regel henter du programmet som det der kaldes en tar.gz fil. Denne fil skal pakkes ud med tar kommandoen (der findes også grafiske værktøjer til dette, men da du alligevel skal bruge en konsol for at oversættes, kan du ligeså godt bruge kommandolinje tarprogrammet):

[tyge@hven ~]$ tar -zxvf filelight-0.5.tar.gz
filelight-0.5/
filelight-0.5/po/
filelight-0.5/po/Makefile.am
filelight-0.5/po/Makefile.in
filelight-0.5/filelight/
filelight-0.5/filelight/TODO
...
filelight-0.5/filelight.kdevses

Herefter kan du skifte til kataloget som er blevet lavet (filelight-0.5 i dette tilfælde), og oversætte selve programmet. Hvordan det gøres afhænger af programmet og vil blive berørt i de næste par afsnit.

1.2.4.1. Autotools

I dag understøtter de fleste programmer heldigvis det der kaldes "autotools", som er en måde at lette oversættelse af programmer på. I det følgende vil dette værktøjssæt kort gennemgåes.

Efter at have udpakket programmet, kan du kigge efter et program kaldet configure i det katalog programmets kildetekst ligger i. Hvis denne fil findes, er der en god chance for at programmet bruger autotools. Du kan forsøge at køre denne fil:

[tyge@hven filelight-0.5]$ ./configure --help
`configure' configures this package to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...
...

Configure programmet bruges til at opsættes kildeteksten til oversættelse og installation på din computer. Typisk kan du give dette program et antal parametre, som f.eks. kan angive hvor programmet skal installeres i filsystemet. Som regel findes der en fil kaldet INSTALL der forklarer hvordan programmet anvendes. Man kan typisk blot køre programmet:

[tyge@hven filelight-0.5]$ ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
...
fast creating filelight/Makefile
fast creating po/Makefile
config.status: creating config.h

Det configure programmet gør er at det tjekker dit system for en masse forskellige egenskaber, f.eks. om du har en virkende oversætter. Hvis nogle af disse tests fejler, vil configure afbryde, og du må forsøge at finde ud af hvordan problemet kan løses. Hvis configure afslutter succesfuldt, kan du nu oversætte programmet

[tyge@hven filelight-0.5]$ make
make  all-recursive
make[1]: Entering directory `/home/scratch/Compile/filelight-0.5'
Making all in filelight
make[2]: Entering directory `/home/scratch/Compile/filelight-0.5/filelight'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/qt3/include -I/usr/X11R6/include \
  -DQT_THREAD_SUPPORT  -D_REENTRANT  -O0  -MT filetree.o -MD -MP -MF ".deps/filetree.Tpo" \
  -c -o filetree.o `test -f 'filetree.cpp' || echo './'`filetree.cpp; \
then mv ".deps/filetree.Tpo" ".deps/filetree.Po"; \
else rm -f ".deps/filetree.Tpo"; exit 1; \
fi
...
Making all in po
make[2]: Entering directory `/home/scratch/Compile/filelight-0.5/po'
make[2]: Ingenting at gøre for 'all'.
make[2]: Leaving directory `/home/scratch/Compile/filelight-0.5/po'
make[2]: Entering directory `/home/scratch/Compile/filelight-0.5'
make[2]: Leaving directory `/home/scratch/Compile/filelight-0.5'
make[1]: Leaving directory `/home/scratch/Compile/filelight-0.5'

Bemærk at en oversættelse kan tage lang tid, afhængigt af din maskine og hvad du oversætter. Det er ikke unormalt at vente 5-10 minutter, men nogen af de rigtigt store programmer kan tage mange timer at oversætte, selv på et relativt hurtigt system.

Hvis make afslutter med succes, kan programmet nu installeres. Det skal du som regel være root for at gøre.

[tyge@hven filelight-0.5]$ su
Password:
[tyge@hven filelight-0.5]# make install
make[1]: Entering directory `/home/scratch/Compile/filelight-0.5/filelight'
make[2]: Entering directory `/home/scratch/Compile/filelight-0.5/filelight'
/bin/sh ../admin/mkinstalldirs /usr/local/kde/bin
  /bin/sh ../libtool --silent --mode=install /usr/bin/install -c -p  \
    filelight /usr/local/kde/bin/filelight
/bin/sh ../admin/mkinstalldirs /usr/local/kde/share/icons/crystalsvg/64x64/apps
mkdir -p -- /usr/local/kde/share/icons/crystalsvg/64x64/apps
/usr/bin/install -c -p -m 644 ./cr64-app-filelight.png \
   /usr/local/kde/share/icons/crystalsvg/64x64/apps/filelight.png
make[2]: Leaving directory `/home/scratch/Compile/filelight-0.5/filelight'
...
make[1]: Leaving directory `/home/scratch/Compile/filelight-0.5'

Nu er programmet installeret, og du kan som almindelig bruger afprøve det, typisk ved at skrive programmets navn. Det kan være nødvendigt selv at installere programmet i din start menu, mv – det afhænger af din distribution, hvordan du gør dette.

Hvis du senere vil afinstallere programmet, kan du som regel gøre det med make uninstall. Det kræver dog at du ikke har fjernet kildeteksten.

1.2.4.2. Programmer uden autotools

Heldigvis er det i dag de færreste Linux-programmer der ikke understøtter "autotools". De få der ikke gør er som hovedregel mindre programmer der kan installeres blot ved at køre make ; make install, eller programmer der har deres eget "auto" system, som f.eks. mange python og perl programmer. Men, hvis et program ikke bruger autotools, må du kigge i programmets README der gerne skulle forklare hvordan man skal installere programmet. Alternativt en fil kaldet INSTALL. Hvis alt andet glipper, selve Makefile filen.