Tato kapitola se, na rozdíl od zbytku příručky, nezabývá oficiálním instalačním programem, ale popisuje instalaci Debianu ze stávajícího unixového nebo linuxového systému. Tuto kapitolu si vyžádali uživatelé přecházející z distribucí Red Hat, Mandriva a SUSE. Předpokládáme zde jisté znalosti s používáním *nixových příkazů a pohybem v souborovém systému. V této sekci platí, že příkazy uvozené promptem $
zadáváte ve svém stávajícím systému, zatímco příkazy uvozené #
se spouští v chrootovaném prostředí.
Až si Debian GNU/Linux vyladíte k obrazu svému, můžete do něj převést stávající uživatelská data a plynule přejít k nové distribuci bez zbytečných prostojů. Tento druh instalace je též vhodný pro systémy s podivným hardwarem, který jinak není podporován instalačními médii.
Poznámka | |
---|---|
Protože se z velké části jedná o ruční postup, měli byste mít na paměti, že spoustu věcí, které běžně řeší instalační program sám, nyní budete muset provádět sami. To také klade větší nároky na znalosti Debianu a unixových systémů obecně. Následující návod řeší pouze základní nastavení systému, je možné, že bude potřeba provést další kroky. |
With your current *nix partitioning tools, repartition the hard drive as needed, creating at least one filesystem plus swap. You need around 1012MB of space available for a console only install, or about 2539MB if you plan to install X (more if you intend to install desktop environments like GNOME or KDE Plasma).
Na nových oddílech vytvořte souborové systémy. Například souborový systém ext3 na oblasti /dev/sda6
vytvoříte příkazem:
# mke2fs -j /dev/sda6
(Ve zbytku návodu budeme předpokládat, že kořenový oddíl je /dev/sda6
.) Jestliže chcete vytvořit systém ext2, vynechejte parametr -j
.
Inicializujte a aktivujte odkládací oddíl (nezapomeňte změnit číslo oblasti podle skutečnosti):
# mkswap /dev/sda5
# sync # swapon /dev/sda5
Připojte budoucí kořenovou oblast (/
) do adresáře /mnt/debinst
. Na jméně přípojného adresáře nezáleží.
# mkdir /mnt/debinst
# mount /dev/sda6
/mnt/debinst
Poznámka | |
---|---|
If you want to have parts of the filesystem (e.g. /usr) mounted on separate partitions, you will need to create and mount these directories manually before proceeding with the next stage. |
debootstrap je program, kterým se v Debianu instaluje základní systém. Má minimum závislostí (pouze /bin/sh
, ar, wget a základní unixové/linuxové nástroje[20]), takže se dá použít na téměř libovolném systému. Pokud ještě wget a ar nemáte, nainstalujte si je.
Poslední možností je ruční instalace. Vytvořte si pracovní adresář, do kterého později balík rozbalíte:
# mkdir work # cd work
Z poolu si stáhněte balík debootstrap pro svou architekturu, uložte jej do pracovního adresáře a vybalte z něj potřebné soubory. K instalaci souborů musíte mít rootovská práva.
# ar -x debootstrap_0.X.X_all.deb # cd / # zcat /cesta-k-pracovnimu-adresari/work/data.tar.gz | tar xv
debootstrap si umí stáhnout potřebné soubory přímo z archivu Debianu. Aby se soubory nestahovaly přes půl Zeměkoule, nahraďte v ukázce server ftp.cz.debian.org/debian
nějakým bližším. Seznam zrcadel naleznete v http://www.buy-develop.eu.org/mirror/list.
If you have a bookworm Debian GNU/Linux installation image mounted at /cdrom
, you could substitute a file URL instead of the http URL: file:/cdrom/debian/
V ukázkovém příkazu debootstrap nahraďte ARCH
jedním z následujících: amd64
,
arm64
,
armel
,
armhf
,
i386
,
mips64el
,
mipsel
,
ppc64el
,
s390x
.
# /usr/sbin/debootstrap --arch ARCH bookworm \ /mnt/debinst http://ftp.cz.debian.org/debian
Pokud se cílová architektura liší od hostitelské, měli byste přidat ještě parametr --foreign
.
V adresáři /mnt/debinst
teď máte opravdový, i když minimální, systém Debian. Nastal čas se do něj přesunout:
# LANG=C.UTF-8 chroot /mnt/debinst /bin/bash
Pokud se cílová architektura liší od hostitelské, budete ale nejprve muset do nového systému nakopírovat qemu-user-static:
# cp /usr/bin/qemu-ARCH-static /mnt/debinst/usr/bin # LANG=C.UTF-8 chroot /mnt/debinst qemu-ARCH-static /bin/bash
V novém systému možná budete muset nastavit definici terminálu tak, aby byla kompatibilní se základním systémem Debianu:
# export TERM=xterm-color
Abyste mohli použít některé hodnoty proměnné TERM, budete možná muset nainstalovat balík ncurses-term
.
Jestliže se cílová architektura liší od hostitelské, musíte dokončit druhou fázi nastavení:
/debootstrap/debootstrap --second-stage
Adresář /dev
nyní obsahuje několik základních souborů zařízení, avšak pro další instalaci může být zapotřebí dalších zařízení. Další postup závisí na různých faktorech, jako je typ hostitelského systému, zda hodláte použít modulární jádro a zda chcete soubory zařízení v novém systému spravovat staticky nebo dynamicky (například pomocí udev
).
Několik možných postupů:
V chrootu vytvořte základní sadu statických souborů zařízení příkazy:
# apt install makedev # mount none /proc -t proc # cd /dev # MAKEDEV generic
Pomocí příkazu MAKEDEV ručně vytvořte pouze ty soubory zařízení, které potřebujete.
Do instalovaného systému připojte adresář /dev
z hostitelského systému (parametr bind
příkazu mount). S touto možností byste však měli být opatrní, protože některé balíky při instalaci vytvářejí nová zařízení, což nemusí být to, co chcete, aby se promítlo do hostitelského systému.
You need to create /etc/fstab
.
# editor /etc/fstab
Here is a sample you can modify to suit:
# /etc/fstab: static file system information. # # file system mount point type options 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/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
Use mount -a
to mount all the file systems you have specified in your /etc/fstab
, or, to mount file systems individually, use:
# mount /path # e.g.: mount /usr
Current Debian systems have mountpoints for removable media under /media
, but keep compatibility symlinks in /
. Create these as as needed, for example:
# cd /media # mkdir cdrom0 # ln -s cdrom0 cdrom # cd / # ln -s media/cdrom
You can mount the proc file system multiple times and to arbitrary locations, though /proc
is customary. If you didn't use mount -a
, be sure to mount proc before continuing:
# mount -t proc proc /proc
Příkaz ls /proc
by nyní měl vypsat neprázdný adresář. Pokud by se tak nestalo, stále byste měli být schopni připojit proc
z vnějšku chrootu:
# mount -t proc proc /mnt/debinst/proc
Nastavením třetího řádku v souboru /etc/adjtime
na hodnotu „LOCAL“ resp. „UTC“ systému říkáte, zda má hardwarové hodiny počítače interpretovat jako místní čas, resp. jako čas v UTC.
# editor /etc/adjtime
Příklad souboru souboru /etc/adjtime
:
0.0 0 0.0 0 UTC
Své časové pásmo můžete nastavit příkazem:
# dpkg-reconfigure tzdata
To configure networking, edit /etc/network/interfaces
, /etc/resolv.conf
, /etc/hostname
and /etc/hosts
.
# editor /etc/network/interfaces
Here are some simple examples from /usr/share/doc/ifupdown/examples
:
###################################################################### # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # See the interfaces(5) manpage for information on what options are # available. ###################################################################### # The loopback interface isn't really required any longer, but can be used # if needed. # # auto lo # iface lo inet loopback # To use dhcp: # # auto eth0 # iface eth0 inet dhcp # An example static IP setup: (network, broadcast and gateway are optional) # # 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
Enter your nameserver(s) and search directives in /etc/resolv.conf
:
# editor /etc/resolv.conf
A simple example /etc/resolv.conf
:
search example.com nameserver 10.1.1.36 nameserver 192.168.9.100
Enter your system's host name (2 to 63 characters):
# echo DebianHostName > /etc/hostname
And a basic /etc/hosts
with IPv6 support:
127.0.0.1 localhost 127.0.1.1 DebianHostName # The following lines are desirable for IPv6 capable hosts ::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
If you have multiple network cards, you should arrange the names of driver modules in the /etc/modules
file into the desired order. Then during boot, each card will be associated with the interface name (eth0, eth1, etc.) that you expect.
Debootstrap sice vytvořil základní soubor /etc/apt/sources.list
, který umožní instalaci dalších balíků, ale je možné, že budete chtít přidat další zdroje, například pro bezpečnostní aktualizace, nebo pro zdrojové balíky:
deb-src http://ftp.cz.debian.org/debian bookworm main deb http://security.debian.org/ bookworm-security main deb-src http://security.debian.org/ bookworm-security main
Po úpravách seznamu zdrojů nezapomeňte spustit příkaz apt update
.
Aby se s vámi systém bavil v jiném jazyce než je angličtina, musíte nainstalovat a nastavit balík pro podporu národních prostředí. V současnosti se doporučuje použít prostředí v kódování UTF-8.
# apt install locales # dpkg-reconfigure locales
Pokud je to potřeba, můžete nakonfigurovat klávesnici:
# apt install console-setup # dpkg-reconfigure keyboard-configuration
Klávesnici nemůžete nastavit v chrootu, změna se projeví až po příštím restartu.
Jestliže budete chtít tento systém i zavádět (na 99% ano), musíte si nainstalovat jádro (a možná zavaděč). Následujícím příkazem zjistíte dostupná připravená jádra:
# apt search linux-image
Poté balík s vybraným jádrem nainstalujte.
# apt install linux-image-arch-atd
Abyste mohli zavádět svůj Debian GNU/Linux, nastavte v zavaděči, aby nahrál instalované jádro s novou kořenovou oblastí. debootstrap sám o sobě zavaděč neinstaluje, takže jej budete muset doinstalovat zvlášť (např. pomocí apt uvnitř chrootovaného prostředí).
Note that this assumes that a /dev/sda
device file has been created. There are alternative methods to install grub2, but those are outside the scope of this appendix.
Pokud se do systému můžete přihlásit přes konzoli, můžete tento krok přeskočit. Jestliže však má být počítač dostupný přes síť, měli byste nainstalovat SSH a nastavit přístup.
# apt install ssh
Uživatel root má implicitně zakázané přihlášení pomocí hesla. Pokud mu chcete povolit přístup pomocí hesla tak, jako to bývalo běžné dříve, musíte mu nastavit heslo a povolit přihlášení pomocí hesla:
# passwd # editor /etc/ssh/sshd_config
kde musíte povolit volbu
PermitRootLogin yes
Přístup můžete moderněji nastavit také přidáním ssh klíče do seznamu autorizovaných klíčů uživatele root:
# mkdir /root/.ssh # cat << EOF > /root/.ssh/authorized_keys ssh-rsa .... EOF
Poslední možností je dát přístup běžnému uživateli:
# adduser franta # passwd franta
Jak již bylo řečeno dříve, nainstalovaný systém bude poměrně jednoduchý. Chcete-li z něj udělat systém o něco vyspělejší, doinstalujte alespoň balíky s prioritou „standardní“:
# tasksel install standard
Nic vám samozřejmě nebrání nainstalovat jednotlivé balíky pomocí apt.
Po instalaci zůstanou stažené .deb soubory v adresáři /var/cache/apt/archives/
. Nějaké místo můžete uvolnit jejich smazáním:
# apt clean