D.3. Installation af Debian GNU/Linux fra et Unix/Linux-system

Dette afsnit forklarer hvordan Debian GNU/Linux installeres fra et eksisterende Unix- eller Linuxsystem, uden brug af det menudrevne installationsprogram, som beskrevet i resten af manualen. Denne cross-install-manual er ønsket af brugere, der skifter til Debian GNU/Linux fra Red Hat, Mandriva og SUSE. I dette afsnit antages det at du kender til indtastning af *nix-kommandoer og navigering i filsystemet. I dette afsnit symboliserer $ en kommando til indtastning i brugerens nuværende system, mens # refererer til en kommando indtastet i Debian-chrooten.

Når du har fået dit nye Debian-system konfigureret efter dine præferencer, så kan du migrere dine eksisterende data (hvis der er nogle) til det, og rulle videre. Der er derfor nul nedetid for Debian GNU/Linux-installationen. Det er også en smart måde at håndtere udstyr, som ellers ikke fungerer ordentligt med diverse opstarts- eller installationsmedier.

[Bemærk] Bemærk

Da dette hovedsagelig er en manuel procedure, så skal du huske, at du skal udføre en masse grundlæggende konfiguration af systemet selv, hvilket også vil kræve viden om Debian og om Linux Du kan ikke forvente at denne procedure vil medføre et system, som er identisk med et system fra en gængs installation. Du skal også huske, at denne procedure kun viser de grundlæggende trin for opsætning af et system. Yderligere installation og/eller konfigurationstrin kan være krævet.

D.3.1. Kom i gang

Med dine nuværende *nix-partitioneringsværktøjer, så ændr partition på harddisken efter behov, opret mindst et filsystem samt swap. Du skal have omkring 613MB tilgængelig for en konsolinstallation, eller omkring 2133MB hvis du planlægger at installere X (mere hvis du installerer skrivebordsmiljøer som GNOME eller KDE).

Opret nu filsystemer på partitionerne. For eksempel, for at oprette et ext3-filsystem på partition /dev/sda6 (det er vores eksempels root-partition):

# mke2fs -j /dev/sda6

For at oprette et ext2-filsystem i stedet for så udelad -j.

Initialiser og aktiver swap (erstat partitionsnummeret for din Debian-swappartition):

# mkswap /dev/sda5
# sync
# swapon /dev/sda5

Monter en partition som /mnt/debinst (installationspunktet, til at være root (/)-filsystemet på dit nye system). Monteringspunktets navn er strengt arbitrært, der bliver refereret til det senere nedenfor.

# mkdir /mnt/debinst
# mount /dev/sda6 /mnt/debinst

[Bemærk] Bemærk

Hvis du ønsker at dele af dit filsystem (f.eks. /usr) monteret på separate partitioner, så skal du oprette og montere disse mapper manuelt, før du fortsætter med næste trin.

D.3.2. Installer debootstrap

Redskabet brugt af Debian-installationsprogrammet og genkendt som den officielle måde at installere et Debian-basissystem, er debootstrap. Programmet bruger wget og ar, men afhænger ellers af /bin/sh og grundlæggende Unix/Linux-værktøjer[22]. Installer wget og ar hvis de ikke allerede er på dit nuværende system, hent så og installer debootstrap.

Eller, du kan bruge den følgende procedure til at installere den manuelt. Lav en arbejdsmappe til udtrækning af .deb:

# mkdir work
# cd work

Den binære fil for debootstrap er placeret i Debian-arkivet (vær sikker på at vælge den korrekte fil for din arkitektur). Hent debootstrap .deb fra poolen, kopier pakken til arbejdsmappen, og udtræk filerne fra den.Du skal have administratorprivilegier (root) for at installere filerne.

# ar -x debootstrap_0.X.X_all.deb
# cd /
# zcat /full-path-to-work/work/data.tar.gz | tar xv

D.3.3. Kør debootstrap

debootstrap kan hente de krævede filer direkte fra arkivet når programmet køres. Du kan erstatte ethvert Debian-arkivspejl for http.us.debian.org/debian i kommandoeksemplet nedenfor, helst et spejl tæt på dig netværksmæssigt. Spejle er vist på http://www.debian.org/mirror/list.

Hvis du har en stretch Debian GNU/Linux-cd monteret på /cdrom, så skal du erstatte en filadresse i stedet for http-adressen: file:/cdrom/debian/

Erstat en af de følgende for ARCH i debootstrap kommando: amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, powerpc, ppc64el eller s390x.

# /usr/sbin/debootstrap --arch ARCH stretch \
     /mnt/debinst http://ftp.us.debian.org/debian

Hvis målarkitekturen er forskellig fra værten, skal du tilføje tilvalget --foreign.

D.3.4. Konfigurer basissystemet

Nu har du et reelt Debian-system, omend noget magert, på disk. chroot til det:

# LANG=C.UTF-8 chroot /mnt/debinst /bin/bash

Hvis målarkitekturen er anderledes end værten, så skal du første kopiere qemu-user-static til den nye vært:

# cp /usr/bin/qemu-ARCH-static /mnt/debinst/usr/bin
# LANG=C.UTF-8 chroot /mnt/debinst qemu-ARCH-static /bin/bash

Efter chrooting skal du måske opsætte terminaldefinitionen til at være kompatibel med Debians basissystem, for eksempel:

# export TERM=xterm-color

Afhængig af værdien for TERM, skal du måske installere pakken ncurses-term for at få understøttelse for den.

Hvis målarkitekturen er forskellig fra værten, så skal du afslutte multi-satge boot-strap'en:

/debootstrap/debootstrap --second-stage

D.3.4.1. Opret enhedsfiler

På dette tidspunkt indeholder /dev/ kun meget grundlæggende enhedsfiler. For de næste trin af installationen kan yderligere enhedsfiler være krævet. Der er forskellige måder for dette og hvilken metode du bør bruge afhænger af værtssystemet du bruger for installationen, om du forventer at bruge en modulær kerne eller ej, og om du forventer at bruge dynamisk (f.eks. brug af udev) eller statiske enhedsfiler for det nye system.

Nogle få af de tilgængelige indstillinger:

  • installer pakken makedev, og opret et standardsæt af statiske enhedsfiler der bruger (efter chrooting)

    # apt install makedev
    # mount none /proc -t proc
    # cd /dev
    # MAKEDEV generic
    

  • manuelt opret kun specifikke enhedsfiler der bruger MAKEDEV

  • bind montering /dev fra dit værtssystem oven på /dev i målsystemet; bemærk at postinst-skripterne for nogle pakker kan forsøge at oprette enhedsfiler, så dette tilvalg skal bruges med omhu

D.3.4.2. Monter partitioner

Du skal eventuelt oprette /etc/fstab.

# editor /etc/fstab

Her er et eksempel, du kan tilpasse dine behov:

# /etc/fstab: statisk filsysteminformation.
#
# filsystem      monteringsp.  type    tilvalg                  dump-gn.løb
/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

Brug mount -a til at montere filsystemerne du har angivet i din /etc/fstab, eller, for at montere filsystemerne individuelt, brug:

# mount /sti   # f.eks.: mount /usr

Nuværende Debian-systemer har monteringspunkter for eksterne medier under /media, men bevarer symbolske kompabilitetshenvisninger i /. Opret disse efter behov, for eksempel:

# cd /media
# mkdir cdrom0
# ln -s cdrom0 cdrom
# cd /
# ln -s media/cdrom

Du kan montere proc-filsystemet flere gange og til arbitrære placeringer, /proc kan dog tilpasses. Hvis du ikke brugte mount -a, så vær sikker på at montere proc før du fortsætter:

# mount -t proc proc /proc

Kommandoen ls /proc bør nu vise en mappe med indhold. Hvis dette fejler, så kan du måske montere proc uden for chroot'en:

# mount -t proc proc /mnt/debinst/proc

D.3.4.3. Indstilling af tidszone

Angivelse af den tredje linje i filen /etc/adjtime til UTC eller LOCAL bestemmer om systemet vil fortolke udstyrets ur som værende sat til UTC respektiv lokal tid. Den følgende kommando giver mulighed for at angive dette.

# editor /etc/adjtime

Her er et eksempel:

0.0 0 0.0
0
UTC

Den følgende kommando gør at du kan vælge din tidszone.

# dpkg-reconfigure tzdata

D.3.4.4. Konfigurer netværk

For at konfigurere netværk, rediger /etc/network/interfaces, /etc/resolv.conf, /etc/hostname og /etc/hosts.

# editor /etc/network/interfaces

Her er nogle simple eksempler fra /usr/share/doc/ifupdown/examples:

######################################################################
# /etc/network/interfaces - konfigurationsfil for ifup(8), ifdown(8)
# Se manualsiden interfaces(5) for information om hvilket tilvalg der er
# tilgængelige.
######################################################################

# Vi ønsker altid loopback-grænsefladen.
#
auto lo
iface lo inet loopback

# For at bruge dhcp:
#
# auto eth0
# iface eth0 inet dhcp

# Et eksempel på en statisk IP-opsætning: (broadcast og adgangspunkt er valgfri)
#
# 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

Indtast dine navneservere og søgedirektiver i /etc/resolv.conf:

# editor /etc/resolv.conf

Et simpelt eksempel /etc/resolv.conf:

search hqdom.local
nameserver 10.1.1.36
nameserver 192.168.9.100

Indtast dit systems værtsnavn (2 til 63 characters):

# echo DebianHostName > /etc/hostname

Og en grundlæggende /etc/hosts med IPv6-understøttelse:

127.0.0.1 localhost
127.0.1.1 DebianHostName

# De følgende linjer er ønskværdige for IPv6-egnede værter
::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

Hvis du har flere netværkskort, så skal du arrangere navnene for drivermoduler i filen /etc/modules i den ønskede rækkefølge. Når under opstart, så vil hvert kort blive associeret med grænsefladenavnet (eth0, eth1, etc.), du forventer.

D.3.4.5. Konfigurer Apt

Debootstrap vil have oprettet en meget grundlæggende /etc/apt/sources.list, som vil tillader installation af yderligere pakker. Du vil dog måske ønske at tilføje nogle yderligere kilder, for eksempel for kildepakker og sikkerhedsopdateringer:

deb-src http://ftp.us.debian.org/debian stretch main

deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main

Husk at køre apt update efter at du har lavet ændringer til kildelisten (sources).

D.3.4.6. Konfigurer steder og tastatur

For at konfigurere dine lokale indstillinger til et andet sprog end engelsk, så installer støttepakken locales og konfigurer den. I øjeblikket anbefales brugeaf UTF-8 locales.

# apt install locales
# dpkg-reconfigure locales

For at konfigurere dit tastatur (hvis krævet):

# apt install console-setup
# dpkg-reconfigure keyboard-configuration 

Bemærk at tastaturet ikke kan angives mens i en chroot, men at det vil blive konfigureret i den næste genstart.

D.3.5. Installer en kerne

Hvis du skal starte op fra dette system, så skal du bruge en Linux-kerne og en opstartsindlæser. Identificer tilgængelige forhåndspakkede kerner med:

# apt search linux-image

Installer så kernepakken efter dit valg via dets pakkenavn.

# apt install linux-image-arch-etc

D.3.6. Opsætning af opstartsindlæseren

For at gøre dit Debian GNU/Linux-system opstartsparat, så opsæt din opstartsindlæser til at indlæse den installerede kerne med din nye root-partition. Bemærk at debootstrap ikke installerer en opstartsindlæser, men du kan bruges apt i din Debian-chroot til dette formål.

Bemærk at dette antager at en /dev/sda-enhedsfil er blevet oprettet. Der er alternative metoder til at installere grub2, men de er uden for dette appendisk omfang.

D.3.7. Ekstern adgang: Installation af SSH og opsætning af adgang

I tilfælde af, at du kan logge ind på systemet via konsollen, så kan du springe dette afsnit over. Hvis systemet skal være tilgængeligt via netværket senere, så skal du installere SSH og opsætte adgang.

# apt install ssh

Log ind som root med adgangskode er deaktiveret som standard, så opsætning af adgang kan gøres ved at angive en adgangskode og genaktivere login for root med adgangskode:

# passwd
# editor /etc/ssh/sshd_config

Dette er indstillingen der skal aktiveres:

PermitRootLogin yes

Adgang kan også sættes op ved at tilføje en ssh-nøgle til root-kontoen:

# mkdir /root/.ssh
# cat << EOF > /root/.ssh/authorized_keys
ssh-rsa ....
EOF

Sidst kan adgang sættes op ved at tilføje en ikke-root bruger og angive en adgangskode:

# adduser joe
# passwd joe

D.3.8. Afsluttende indstillinger

Som nævnt tidligere, vil det installerede system være meget grundlæggende. Hvis du ønsker at gøre systemet en smule mere modent til brug, så er der en nem metode til at installere alle pakker med prioriteten standard:

# tasksel install standard

Selvfølgelig kan du også bare bruge apt til at installere pakker individuelt.

Efter installationen vil der være en masse hentede pakker i /var/cache/apt/archives/. Du kan frigive diskplads ved at køre:

# apt clean



[22] Disse inkluderer GNU core-redskaber og kommandoer såsom sed, grep, tar og gzip.