D.3. Jak nainstalovat Debian GNU/Linux 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 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.

D.3.1. 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ě 350 MB, jestliže budete instalovat i X Window System, počítejte s nejméně 1 GB.

Na nových oddílech vytvořte souborové systémy. Například souborový systém ext3 na oblasti /dev/hda6 vytvoříte příkazem:

# mke2fs -j /dev/hda6

(Ve zbytku návodu budeme předpokládat, že kořenový oddíl je /dev/hda6.) 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/hda5
# sync; sync; sync
# swapon /dev/hda5

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/hda6 /mnt/debinst

Poznámka

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.

D.3.2. Instalace balíku debootstrap

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[27]), 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

D.3.3. Spuštění debootstrapu

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.debian.org/mirror/list.

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: alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390 nebo sparc.

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

D.3.4. 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 chroot /mnt/debinst /bin/bash

a případně nastavit definici terminálu tak, aby byla kompatibilní se základním systémem Debianu:

# export TERM=xterm-color

D.3.4.1. 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ů:

  • Vytvořte základní sadu statických souborů zařízení příkazy:

    # 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.

D.3.4.2. 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 Debianu 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

D.3.4.3. Nastavení časového pásma

Nastavením proměnné „UTC“ v souboru /etc/default/rcS systému říkáte, zda má hardwarové hodiny počítače interpretovat jako místní čas, nebo jako čas v UTC. Nástrojem dpkg-reconfigure tzdata můžete nastavit své časové pásmo.

# editor /etc/default/rcS
# dpkg-reconfigure tzdata

D.3.4.4. 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.)

D.3.4.5. 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 squeeze main

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

Po úpravách seznamu zdrojů nezapomeňte spustit příkaz aptitude update.

D.3.4.6. 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.

# aptitude install locales
# dpkg-reconfigure locales

Pokud je to potřeba, můžete nakonfigurovat klávesnici:

# aptitude install console-data
# dpkg-reconfigure console-data

Klávesnici nemůžete nastavit v chrootu, změna se projeví až po příštím restartu.

D.3.5. 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-cache search linux-image

Poté balík s vybraným jádrem nainstalujte.

# aptitude install linux-image-2.6.32-arch-atd

D.3.6. Nastavení zavaděče

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í. Pamatujte, že debootstrap zavaděč neinstaluje, takže jej budete muset doinstalovat zvlášť (např. pomocí aptitude uvnitř chrootovaného prostředí).

D.3.7. 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í aptitude.

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:

# aptitude clean



[27] Sem patří GNU core utilities a příkazy typu sed, grep, tar a gzip.