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 <command>debootstrap</command> 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í <command>debootstrap</command>u 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