Jak nainstalovat &debian-gnu; ze stávajícího unixového/linuxového systému
Tato kapitola se, na rozdíl od zbytku příručky, nezabývá oficiálním
instalačním programem, ale popisuje instalaci &debian;u 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; 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.
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
&debian;u 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.
Přípravné práce
Nejprve si rozdělte disk. Budete potřebovat aspoň jeden oddíl
(kořenový) plus oblast pro virtuální paměť (swap). Pro čistě
konzolovou instalaci potřebujete oblast velkou minimálně
&base-system-size; MB, jestliže budete instalovat i X Window System,
počítejte s nejméně &task-desktop-lxde-inst; MB.
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
Chcete-li mít části souborového systému (např. /usr) připojené na
různých oblastech, musíte tyto adresáře vytvořit a připojit ručně
ještě před příští kapitolou.
Instalace balíku debootstrap
debootstrap je program, kterým se v &debian;u
instaluje základní systém. Má minimum závislostí (pouze
/bin/sh, ar,
wget a základní unixové/linuxové nástroje
Sem patří GNU core utilities a příkazy typu sed,
grep, tar
a gzip.
), 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
Spuštění debootstrapu
debootstrap si umí stáhnout potřebné soubory přímo
z archivu &debian;u. Aby se soubory nestahovaly přes půl Zeměkoule,
nahraďte v ukázce server
&archive-mirror;/debian nějakým bližším.
Seznam zrcadel naleznete v
.
Pokud máte první oficiální CD, můžete jej připojit jako
/cdrom a místo síťové adresy použít odkaz na
soubor: 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,
mips,
mips64el,
mipsel,
powerpc,
ppc64el nebo
s390x.
# /usr/sbin/debootstrap --arch ARCH &releasename; \
/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.
Nastavení základního systému
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 &debian;u:
# 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
Vytvoření souborů zařízení
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.
Připojení oblastí
Nejprve musíte vytvořit soubor /etc/fstab.
# editor /etc/fstab
Jako vzor můžete použít následující šablonu (místo
XXX dosaďte vlastní oblasti):
# /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/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
Souborové systémy, které jste zadali do
/etc/fstab můžete připojit všechny najednou
příkazem mount -a, nebo individuálně příkazem:
# mount /cesta # např.: mount /usr
Přípojné body pro výměnná média se v aktuálních verzích &debian;u
nachází v adresáři /media, ale pro zachování
zpětné kompatibility na ně existují i symbolické odkazy v kořenu
/. Příklad:
# cd /media
# mkdir cdrom0
# ln -s cdrom0 cdrom
# cd /
# ln -s media/cdrom
Před další prací si ověřte, že máte připojený virtuální souborový
systém /proc. Pokud tomu tak není, připojte jej:
# 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í časového pásma
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
Nastavení sítě
Síťování se nastavuje v souborech
/etc/network/interfaces,
/etc/resolv.conf,
/etc/hostname a
/etc/hosts.
# editor /etc/network/interfaces
Pro začátek vám mohou pomoci ukázky z
/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.
######################################################################
# Virtuální loopback chceme vždy.
#
auto lo
iface lo inet loopback
# Použití dhcp:
#
# auto eth0
# iface eth0 inet dhcp
# Statická IP adresa: (broadcast a gateway jsou volitelné)
#
# 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
Do /etc/resolv.conf zadejte nastavení jmenných
serverů (DNS):
# editor /etc/resolv.conf
Jednoduchá ukázka /etc/resolv.conf:
search hqdom.local
nameserver 10.1.1.36
nameserver 192.168.9.100
Zadejte název svého systému (délka aspoň 2 a nejvýše 63 znaky):
# echo JmenoPocitace > /etc/hostname
A vytvořte základní /etc/hosts s podporou IPv6:
127.0.0.1 localhost
127.0.1.1 JmenoPocitace
# 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
Jestliže máte více síťových karet, měli byste si pohrát s názvy modulů
v /etc/modules, aby se karty vždy přiřadily ke
stejnému rozhraní (eth0, eth1, atd.)
Nastavení APT
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 &releasename; main
deb http://security.debian.org/ &releasename;/updates main
deb-src http://security.debian.org/ &releasename;/updates main
Po úpravách seznamu zdrojů nezapomeňte spustit příkaz
apt update.
Nastavení místního prostředí a klávesnice
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.
Instalace jádra
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 &kernelpackage;
Poté balík s vybraným jádrem nainstalujte.
# apt install &kernelpackage;-arch-atd
Nastavení zavaděče
Abyste mohli zavádět svůj &debian-gnu;, 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í).
Návod k nastavení zavaděče prozradí příkaz info
grubnebo man
lilo.conf. Pokud si
ponecháte původní operační systém, stačí do stávajícího grub2
grub.cfg nebo
lilo.conf přidat příslušnou
položku. lilo.conf si také můžete
zkopírovat do nového systému, zde ho upravit a spustit
lilo (použije konfigurační soubor systému, ze
kterého jej spouštíte).
Instalace a nastavení grub2 není složitější
než spuštění:
# apt install grub-pc
# grub-install /dev/sda
# update-grub
Druhý příkaz nainstaluje grub2 (v tomto případě do
hlavního zaváděcího záznamu (MBR) disku
sda). Poslední příkaz vytvoří rozumný a funkční
konfigurační soubor /boot/grub/grub.cfg.
V příkladu se předpokládá existence souboru zařízení
/dev/sda.
Pro inspiraci nabízíme minimální /etc/lilo.conf:
boot=/dev/sda6
root=/dev/sda6
install=menu
delay=20
lba32
image=/vmlinuz
initrd=/initrd.img
label=Debian
Návod k nastavení zavaděče prozradí příkaz man
yaboot.conf. Pokud si ponecháte původní operační systém,
stačí do stávajícího yaboot.conf přidat
příslušnou položku. Tento soubor si také můžete zkopírovat do nového
systému, zde ho upravit a spustit ybin (použije
konfigurační soubor systému, ze kterého jej spouštíte).
Pro inspiraci nabízíme minimální /etc/yaboot.conf:
boot=/dev/sda2
device=hd:
partition=6
root=/dev/sda6
magicboot=/usr/lib/yaboot/ofboot
timeout=50
image=/vmlinux
label=Debian
Na některých počítačích musíte místo hd: použít
ide0:.
Vzdálený přístup: Instalace SSH a nastavení přístupu
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
# chmod 700 /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
Závěrečné kroky
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