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 | |
---|---|
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. |
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 1012MB tilgængelig for en konsolinstallation, eller omkring 2539MB 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 | |
---|---|
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. |
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[20]. 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
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.buy-develop.eu.org/mirror/list.
Hvis du har et bookworm Debian GNU/Linux-installationsaftryk 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
,
mips64el
,
mipsel
,
ppc64el
,
s390x
.
# /usr/sbin/debootstrap --arch ARCH bookworm \ /mnt/debinst http://ftp.us.debian.org/debian
Hvis målarkitekturen er forskellig fra værten, skal du tilføje tilvalget --foreign
.
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
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
Du skal 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
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
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. ###################################################################### # Loopback-grænsefladen er ikke længere krævet, men kan bruges hvis. ønsket. # auto lo iface lo inet loopback # For at bruge dhcp: # # auto eth0 # iface eth0 inet dhcp # Et eksempel på en statisk IP-opsætning: (netværk, 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.
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 bookworm main deb http://security.debian.org/ bookworm-security main deb-src http://security.debian.org/ bookworm-security main
Husk at køre apt update
efter at du har lavet ændringer til kildelisten (sources).
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.
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
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.
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
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