Det här avsnittet förklarar hur man installerar Debian GNU/Linux från ett befintligt Unix- eller Linux-system, utan att använda det menystyrda installationsprogrammet som förklaras i resten av handboken. Den här HOWTO:n för ”cross-installation” har efterfrågats av användare som byter till Debian GNU/Linux från Red Hat, Mandrake och SUSE. I detta avsnitt antas att viss erfarenhet av *nix-kommandon och navigering i filsystemet. I detta avsnitt symboliserar $
ett kommando som ska anges i användarens aktuella system, medan #
refererar till ett kommando som ska anges i Debians chroot-miljö.
När du har fått det nya Debian-systemet konfigurerat enligt din smak, kan du migrera din befintliga användardata (om den finns) till det, och fortsätta köra. Det här är alltså en installation av Debian GNU/Linux ”utan nedtid”. Det är också ett klurigt sätt att hantera maskinvara som annars inte fungerar snällt med olika uppstarts- eller installationsmedia.
Eftersom det här till största del är en manuell procedur bör du tänka på att du kommer att behöva göra en hel del grundläggande konfiguration av själva systemet själv, vilket även kräver mer kunskaper om Debian och speciellt Linux i allmänhet än att genomföra en vanlig installation. Du kan inte förvänta dig att denna procedur resulterar i ett system som är identiskt med ett system från en vanlig installation. Du bör även tänka på att denna procedur endast ger de grundläggande stegen för att konfigurera ett system. Ytterligare installation och/eller konfigurationssteg kan behövas.
Partitionera om hårddisken efter behov med dina aktuella *nix-partitioneringsverktyg. Skapa åtminstone ett filsystem plus växlingsutrymme. Du behöver ungefär 350 MB tillgängligt diskutrymme för en installation för endast konsoll, eller ungefär 1 GB om du planerar att installera X (mer om du tänker installera skrivbordsmiljöer som GNOME eller KDE).
Skapa sedan filsystem på dina partitioner. För att till exempel skapa ett ext3-filsystem på partitionen /dev/hda6
(det är vår rotpartition i exemplet):
# mke2fs -j /dev/hda6
För att istället skapa ett ext2-filsystem, uteslut -j
.
Initialisera och aktivera växlingsutrymmet (ersätt partitionsnumret med din tilltänkta Debian-partition för växlingsutrymme):
# mkswap /dev/hda5
# sync; sync; sync # swapon /dev/hda5
Montera en partition som /mnt/debinst
(installationspunkten, som ska vara rotfilsystemet (/
) på ditt nya system). Namnet på monteringspunkten är strikt godtyckligt, det refereras till senare här nedan.
# mkdir /mnt/debinst
# mount /dev/hda6
/mnt/debinst
Om du vill ha delar av filsystemet (exempelvis, /usr) monterat på separata partitioner, behöver du skapa och montera dessa kataloger manuellt innan du fortsätter till nästa steg.
Verktyget som Debian Installer använder, som är känt som det officiella sättet att installera Debians grundsystem, är debootstrap. Det använder wget och ar, men är annars endast beroende av /bin/sh
och grundläggande Unix/Linux-verktyg[25]. Installera wget och ar om de inte redan finns på ditt aktuella system, hämta och installera sedan debootstrap.
Eller så kan du använda följande procedur för att installera det manuellt. Skapa en arbetskatalog för att extrahera .deb-filen till:
# mkdir arbetskatalog # cd arbetskatalog
Binärfilen debootstrap finns i Debian-arkivet (se till att välja den lämpliga filen för din arkitektur). Hämta .deb-filen för debootstrap från pool, kopiera paketet till arbetskatalogen, och extrahera filerna från det. Du kommer att behöva root-privilegier för att installera filerna.
# ar -x debootstrap_0.X.X_all.deb # cd / # zcat /fullständig-sökväg-till-arbetskatalog/arbetskatalog/data.tar.gz | tar xv
debootstrap kan hämta de nödvändiga filerna direkt från arkivet när du kör det. Du kan ersätta ftp.se.debian.org/debian
med vilken Debian-arkivspegel som du vill i kommandoexemplet nedan, föredragsvis en spegel som är så nära ditt nätverk som möjligt. Speglarna finns listade på http://www.debian.org/misc/README.mirrors.
Om du har en lenny Debian GNU/Linux cd monterad på /cdrom
, kan du ersätta en fil-url istället för en http-URL: file:/cdrom/debian/
Ersätt en av följande för ARCH
i kommandot debootstrap: alpha
, amd64
, arm
, armel
, hppa
, i386
, ia64
, m68k
, mips
, mipsel
, powerpc
, s390
eller sparc
.
# /usr/sbin/debootstrap --arch ARCH lenny \ /mnt/debinst http://ftp.se.debian.org/debian
Nu är du har ett riktigt Debian-system, genom om det är ganska minimalt, på disk. Kör chroot in i det:
# LANG=C chroot /mnt/debinst /bin/bash
Efter du har kört chroot in i det, kan du behöva att ställa in terminaldefinitionen till att vara kompatibel med Debians grundsystem, till exempel:
# export TERM=xterm-color
Vid det här tillfället innehåller /dev/
endast mycket grundläggande enhetsfiler. För nästkommande steg av installationen kan ytterligare enhetsfiler behövas. Det finns olika sätt att göra detta på och vilken metod som du väljer beror på värdsystemet som du använder för installationen, om du tänker använda en modulär kärna eller inte och om du tänker använda dynamisk (t.ex. använda udev
) eller statiska enhetsfiler för det nya systemet.
Ett par av de tillgängliga alternativen är:
skapa en standarduppsättning av statiska enhetsfiler med
# cd /dev # MAKEDEV generic
skapa manuellt endast specifika enhetsfiler med MAKEDEV
bindmontera /dev från ditt värdsystem på toppen av /dev i målsystemet; observera att postinst-skripten för vissa paket kan försöka att skapa enhetsfiler, så detta alternativ ska endast användas med försiktighet
Du behöver skapa /etc/fstab
.
# editor /etc/fstab
Här är ett exempel som du kan ändra på för att passa in:
# /etc/fstab: statisk filsystemsinformation. # # filsystem monteringsp. typ flaggor dump pass /dev/XXX / ext3 defaults 0 1 /dev/XXX /boot ext3 ro,nosuid,nodev 0 2 /dev/XXX none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /media/floppy auto noauto,rw,sync,user,exec 0 0 /dev/cdrom /media/cdrom iso9660 noauto,ro,user,exec 0 0 /dev/XXX /tmp ext3 rw,nosuid,nodev 0 2 /dev/XXX /var ext3 rw,nosuid,nodev 0 2 /dev/XXX /usr ext3 rw,nodev 0 2 /dev/XXX /home ext3 rw,nosuid,nodev 0 2
Använd mount -a
för att montera alla filsystem som du har angivna i din /etc/fstab
, eller använd följande kommando för att montera filsystem individuellt:
# mount /path # exempelvis: mount /usr
Nuvarande Debian-system har monteringspunkter för flyttbara media under /media
, men innehåller symboliska länkar /
för att vara kompatibla. Skapa dessa efter behov, till exempel:
# cd /media # mkdir cdrom0 # ln -s cdrom0 cdrom # cd / # ln -s media/cdrom
Du kan montera proc-filsystemet flera gånger till godtyckliga platser, även om /proc
är vanligast. Om du inte använde mount -a
, tänk på att montera proc innan du fortsätter:
# mount -t proc proc /proc
Kommandot ls /proc
bör nu visa en icke-tom katalog. Om det här skulle misslyckas, kan du kanske montera proc utanför chroot:
# mount -t proc proc /mnt/debinst/proc
En inställning i filen /etc/default/rcS
bestämmer huruvida systemet ska tolka maskinvaruklockan att vara inställd till UTC eller lokal tid. Följande kommando låter dig ställa in det och välja din tidszon.
# editor /etc/default/rcS # dkpg-reconfigure tzdata
För att konfigurera nätverket, redigera /etc/network/interfaces
, /etc/resolv.conf
, /etc/hostname
och /etc/hosts
.
# editor /etc/network/interfaces
Här är några enkla exempel från /usr/share/doc/ifupdown/examples
:
###################################################################### # /etc/network/interfaces -- konfigurationsfil för ifup(8), ifdown(8) # Se manualsidan interfaces(5) för information om vilka flaggor som # finns tillgängliga. ###################################################################### # vi vill alltid ha ett loopback-gränssnitt. # auto lo iface lo inet loopback # För att använda dhcp: # # auto eth0 # iface eth0 inet dhcp # Ett exempel på statisk IP-konfiguration: (broadcast och gateway är valfria) # # auto eth0 # iface eth0 inet static # address 192.168.0.42 # network 192.168.0.0 # netmask 255.255.255.0 # broadcast 192.168.0.255 # gateway 192.168.0.1
Ange din namnserver (eller flera) och sökdirektiv i /etc/resolv.conf
:
# editor /etc/resolv.conf
En enkelt exempel för /etc/resolv.conf
:
search hqdom.local\000 nameserver 10.1.1.36 nameserver 192.168.9.100
Ange värdnamnet för ditt system (2 till 63 tecken):
# echo DebianVardNamn > /etc/hostname
Och en grundläggande /etc/hosts
med IPv6-stöd:
127.0.0.1 localhost DebianVardNamn # Följande rader är önskvärda för IPv6-kapabla värdar ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Om du har flera nätverkskort bör du sortera namnen på drivrutinsmodulerna i filen /etc/modules
i önskad ordning. Sedan, under uppstart, kommer varje kort att associeras med gränssnittsnamnet (eth0, eth1, etc.) som du förväntar.
Debootstrap har skapat en mycket grundläggande /etc/apt/sources.list
som tillåter installation av ytterligare paket. Dock kanske du vill lägga till ytterligare källor, till exempel för källkodspaket och säkerhetsuppdateringar:
deb-src http://ftp.se.debian.org/debian lenny main deb http://security.debian.org/ lenny/updates main deb-src http://security.debian.org/ lenny/updates main
Se till att köra aptitude update
efter att du har gjort ändringar i källistan.
För att konfigurera dina lokalinställningar till att använda ett språk annat än engelska, installera stödpaketet locales
och konfigurera det. För närvarande rekommenderas användning av UTF-8-lokaler.
# aptitude install locales # dpkg-reconfigure locales
För att konfigurera ditt tangentbord (om det behövs):
# aptitude install console-data # dpkg-reconfigure console-data
Observera att tangentbordet inte kan ställas in när chroot används men kommer att konfigureras inför nästa omstart.
Om du tänker starta upp det här systemet, vill du antagligen ha en Linux-kärna och en starthanterare. Identifiera tillgängliga förpaketerade kärnor med:
# apt-cache search linux-image
Om du tänker använda en förpaketerad kärna, kanske du vill skapa konfigurationsfilen /etc/kernel-img.conf
innan du gör det. Här är en exempelfil:
# Åsidosättande av kärnavbildningshantering # Se kernel-img.conf(5) för detaljer do_symlinks = yes relative_links = yes do_bootloader = yes do_bootfloppy = no do_initrd = yes link_in_boot = no
För detaljed information om den här filen och de olika inställningarna, konsultera dess manualsida som kommer att vara tillgänglig efter installation av paketet kernel-package
. Vi rekommenderar att du kontrollerar att värdena är lämpliga för ditt system.
Installera sedan önskat kärnpaket med hjälp av dess paketnamn.
# aptitude install linux-image-2.6.26-arch-etc
Om du inte skapade en /etc/kernel-img.conf
innan en förpaketerad kärna installerades, kan du få ett antal frågor under dess installation som refererar till den.
För att göra ditt Debian GNU/Linux-system startbart, ställ in din starthanterare att läsa in den installerade kärnan med din nya rotpartition. Observera att debootstrap inte installerar en starthanterare, dock kan du använda aptitude inne i din Debian chroot-miljö för att göra det.
Se info grub
eller man lilo.conf
för instruktioner om hur man ställer in starthanteraren. Om du behåller systemet du använde för att installera Debian, lägg bara till en post för Debian-installationen till din befintliga menu.lst
eller lilo.conf
. När det gäller lilo.conf
kan du även kopiera den till det nya systemet och redigera den där. Efter att du är klar med redigeringen, anropa lilo (kom ihåg att den använder lilo.conf
relativt till systemet du anropar det från).
Installering och konfigurering av grub
är så här enkelt:
# aptitude install grub
# grub-install /dev/hda
# update-grub
Det andra kommandot kommer att installera grub (i det här fallet i huvudstartsektorn (MBR) på hda
). Det sista kommandot kommer att skapa en ren och fungerande /boot/grub/menu.lst
.
Observera att detta antar att enhetsfilen /dev/hda
har skapats. Det finns alternativa metoder för att installera grub, men dessa är utanför omfånget för denna bilaga.
Här är ett enkelt exempel på en /etc/lilo.conf
:
boot=/dev/hda6
root=/dev/hda6
install=menu delay=20 lba32 image=/vmlinuz initrd=/initrd.img label=Debian
Beroende på vilken starthanterare du valde, kan du nu göra ytterligare ändringar i /etc/kernel-img.conf
.
Om du tänker använda grub
som din starthanterare, kan du ställa in do_bootloader
till ”no”. För att automatiskt uppdatera din /boot/grub/menu.lst
vid installation eller borttagning av Debian-kärnor, lägg till följande rader:
postinst_hook = update-grub postrm_hook = update-grub
För starthanteraren lilo
, behöver värdet för do_bootloader
kvarstå som ”yes”.
Som nämnts tidigare, det installerade systemet kommer att vara mycket minimalt. Om du vill fylla upp systemet lite mer, finns det en enkel metod för att installera alla paket med ”standard”prioritet:
# tasksel install standard
Du kan så klart också använda aptitude för att installera paket individuellt.
Efter installationen kommer det att finnas en hel del hämtade paket i /var/cache/apt/archives/
. Du kan frigöra diskutrymme genom att köra:
# aptitude clean