D.3. Instalar Debian GNU/Linux a partir de um sistema Unix/Linux

Esta secção explica como instalar Debian GNU/Linux a partir de um sistema Unix ou Linux existente, sem utilizar o instalador guiado pelo menu como é explicado no resto do manual. Este “cross-install” HOWTO foi pedido por utilizadores que mudam para Debian GNU/Linux a partir de Red Hat, Mandriva e SUSE. Nesta secção é assumida alguma familiaridade em introduzir comandos *nix e navegar através do sistema de ficheiros. Nesta secção, $ simboliza um comando a ser escrito pelo utilizador do sistema actual, e # refere-se a comandos introduzidos no chroot Debian.

Assim que tiver o novo sistema Debian configurado de acordo com as suas preferências, você pode migrar os dados existentes dos utilizadores (se os tiver) para lá, e continuar a rolar. Isto é portanto uma instalação Debian GNU/Linux com “zero paragens”. É também uma maneira inteligente de lidar com hardware que de outro modo não se dá bem com os vários media ou tipos de arranque.

Nota

Como isto é principalmente um procedimento manual, você deve ter em conta que tem de fazer muita da configuração básica do próprio sistema, a qual requer mais conhecimentos de Debian e de Linux em geral do que fazer uma instalação normal. Não pode esperar que este procedimento resulte num sistema idêntico ao criado a partir de uma instalação normal. Deve também ter em mente que este procedimento apenas dá os passos básicos para instalar um sistema. Poderão ser necessários passos adicionais de instalação/configuração.

D.3.1. Começar

Com os seus actuais utilitários de particionamento *nix, reparticione o disco rígido conforme necessário, criando pelo menos um sistema de ficheiros e swap. Você necessita cerca de 350MB de espaço disponível para instalação de apenas consola, ou pelo menos cerca de 1GB se planeia instalar o X (mais se tencionar instalar ambientes de desktop como o GNOME ou o KDE).

De seguida, criar os sistemas de ficheiros nas partições. Por exemplo, para criar um sistema de ficheiros ext3 na partição /dev/hda6 (é a nossa partição raiz no nosso exemplo):

# mke2fs -j /dev/hda6

Em vez disso para criar um sistema de ficheiros ext2, omita -j.

Inicializar e activar a swap (substitua o número da partição pela partição swap Debian que deseja):

# mkswap /dev/hda5
# sync; sync; sync
# swapon /dev/hda5

Monte uma partição como /mnt/debinst (o ponto de instalação, para ser o sistema de ficheiros raiz (/) no seu novo sistema). O nome do ponto de montagem é estritamente arbitrário, é referenciado posteriormente mais abaixo.

# mkdir /mnt/debinst
# mount /dev/hda6 /mnt/debinst

Nota

Se deseja ter partes do sistema de ficheiros (e.g. /usr) montados em partições separadas, você tem de criar e montar manualmente esses directórios antes de proceder para a próxima etapa.

D.3.2. Instalar debootstrap

O utilitário utilizado pelo instalador Debian, e reconhecido como a forma oficial de instalar um sistema base Debian, é o debootstrap. Este utiliza o wget e ar, mas de outra forma depende apenas de /bin/sh e de utilitários Unix/Linux básicos[31]. Instale o wget e ar se não estiverem já no seu sistema actual, depois faça o download e instale o debootstrap.

Ou, pode utilizar o seguinte procedimento para instalá-lo manualmente. Crie um directório de trabalho para extrair lá o .deb:

# mkdir work
# cd work

O binário debootstrap está localizado no arquivo Debian (assegure-se que escolhe o ficheiro adequado para a sua arquitectura). Faça o download do .deb debootstrap a partir do pool, copie o pacote para o directório de trabalho, e extraia dele os ficheiros. Você necessita ter privilégios de root para instalar os ficheiros.

# ar -x debootstrap_0.X.X_all.deb
# cd /
# zcat /full-path-to-work/work/data.tar.gz | tar xv

D.3.3. Corra debootstrap

O debootstrap pode fazer o download dos ficheiros necessários directamente do arquivo quando o executar. Você pode substituir qualquer mirror de arquivo por http.us.debian.org/debian no exemplo do comando abaixo, de preferência um mirror perto da sua rede. Os mirrors estão listados em http://www.debian.org/mirror/list.

Se você tem o CD Debian GNU/Linux squeeze montado em /cdrom, você pode substituir um URL de ficheiro em vez do URL http: file:/cdrom/debian/

Substitua um dos seguintes por ARCH no comando debootstrap: alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, ou sparc.

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

D.3.4. Configurar o Sistema Base

Agora tem um verdadeiro sistema Debian, embora um pouco leve, no disco. Faça chroot para lá:

# LANG=C chroot /mnt/debinst /bin/bash

Após fazer chroot pode querer configurar a definição do terminal para ser compatível com o sistema base Debian, por exemplo:

# export TERM=xterm-color

D.3.4.1. Criar ficheiros de dispositivos

Nesta altura o /dev/ contém apenas ficheiros de dispositivos muito básicos. Para as próximas etapas da instalação poderão ser necessários ficheiros de dispositivos adicionais. Existem diferentes formas de fazer isto, o método que deve utilizar depende da máquina que está a utilizar para a instalação, ou se pretende utilizar um kernel modular ou não, e se pretende utilizar ficheiros de dispositivos dinâmicos (e.g. utilizando o udev) ou estáticos para o seu novo sistema.

Algumas das opções disponíveis são:

  • criar um conjunto pré-definido de ficheiros de dispositivos estáticos utilizando

    # cd /dev
    # MAKEDEV generic
    

  • manualmente criar apenas ficheiros de dispositivos específicos utilizando o MAKEDEV

  • ligar a montagem /dev do seu sistema anfitrião em cima do /dev do sistema alvo; note que os scripts postinst de alguns pacotes podem tentar criar ficheiros de dispositivos, por isso esta opção deve ser utilizada com cuidado

D.3.4.2. Partições a Montar

Você tem de criar /etc/fstab.

# editor /etc/fstab

Aqui está um exemplo que você pode modificar para ser adequado:

# /etc/fstab: informação estática do sistema de ficheiros
#
# 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

Para montar todos os sistemas de ficheiros que tem especificado no /etc/fstab utilize mount -a, ou para montar os sistemas de ficheiros individualmente utilize:

# mount /path   # e.g.: mount /usr

Os actuais sistemas Debian têm pontos de montagem para media removível sob /media, mas mantém links simbólicos de compatibilidade em /. Se não utilizou mount -a, assegure-se que monta o proc antes de continuar:

# mount -t proc proc /proc

O comando ls /proc deve agora mostrar um directório não-vazio. Se isto falhar, você pode montar o proc fora da chroot:

# mount -t proc proc /mnt/debinst/proc

D.3.4.3. Configurar o Fuso Horário

Uma opção no ficheiro /etc/default/rcS determina se o sistema irá interpretar o relógio de hardware como estando definido para UTC ou hora local. O seguinte comando permite-lhe escolher o seu fuso horário.

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

D.3.4.4. Configurar a Rede

Para configurar a rede, edite /etc/network/interfaces, /etc/resolv.conf, /etc/hostname e /etc/hosts.

# editor /etc/network/interfaces

Aqui estão alguns exemplos simples retirados de /usr/share/doc/ifupdown/examples:

######################################################################
# /etc/network/interfaces -- ficheiro configuração p/ ifup(8), ifdown(8)
# Veja a manpage interfaces(5) manpage para informação acerca de quais
# opções estão disponíveis.
######################################################################

# Nós queremos sempre o interface loopback.
#
auto lo
iface lo inet loopback

# Para utilizar dhcp:
#
# auto eth0
# iface eth0 inet dhcp

# Exemplo de uma configuração com IP estático: (broadcast e gateway são
# opcionais)
#
# 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

Introduza o(s) seu(s) servidor(es) de nomes e directivas de procura em /etc/resolv.conf:

# editor /etc/resolv.conf

Um simples /etc/resolv.conf de exemplo:

search hqdom.local
nameserver 10.1.1.36
nameserver 192.168.9.100

Escreva o nome da máquina do seu sistema (2 a 63 caracteres):

# echo DebianHostName > /etc/hostname

E um /etc/hosts básico com suporte para IPv6:

127.0.0.1 localhost
127.0.0.1 DebianHostName

# As linhas seguintes são desejáveis para hosts capazes de IPv6
::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

Se tiver várias placas de rede, você deve ordenar os nomes dos drivers dos módulos no ficheiro /etc/modules com a ordem desejada. Depois, durante o arranque cada placa será associada com um nome de interface (eth0, eth1, etc.) que você espera.

D.3.4.5. Configurar o Apt

O debootstrap terá criado um /etc/apt/sources.list muito básico que permitirá instalar pacotes adicionais. No entanto, você poderá querer acrescentar algumas fontes adicionais, por exemplo para pacotes de código fonte e actualizações de segurança:

deb-src http://ftp.us.debian.org/debian squeeze main

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

Assegure-se que corre aptitude update depois de ter feito alterações á lista de fontes.

D.3.4.6. Configurar os Locales e o Teclado

Para configurar as suas definições de locale para utilizar outro idioma que não o Inglês, instale o pacote de suporte locales e configure-o:

# aptitude install locales
# dpkg-reconfigure locales

Para configurar o seu teclado (se necessário):

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

Note que o teclado não pode ser definido enquanto está no chroot, mas será configurado após o próximo reboot.

D.3.5. Instalar um Kernel

Se você tenciona arrancar este sistema, você provavelmente quer um kernel Linux e um gestor de arranque. Identifique os kernels pré-compilados disponíveis com:

# apt-cache search linux-image

Depois instale o pacote de kernel da sua escolha utilizando o seu nome de pacote.

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

D.3.6. Configurar o Boot Loader

Para tornar o seu sistema Debian GNU/Linux iniciável, prepare o gestor de arranque para carregar o kernel instalado com a sua nova partição raiz. Note que o debootstrap não instala um gestor de arranque, embora possa utilizar o aptitude dentro do seu chroot Debian para o fazer.

Veja info grub ou man lilo.conf para instruções acerca de como instalar o gestor de arranque. Se está a manter o sistema que utilizou para instalar Debian, acrescente apenas uma entrada para a instalação Debian ao seu menu.lst existente do seu grub ou lilo.conf. Para o lilo.conf, pode também copiá-lo para o novo sistema e editá-lo lá. Depois de acabar de o editar, chame o lilo (lembre-se que vai utilizar lilo.conf relativo ao sistema de onde o chama).

Instalar e configurar o grub é tão fácil como:

# aptitude install grub
# grub-install /dev/hda
# update-grub

O segundo comando irá instalar o grub (neste caso no MBR de hda). O último comando irá criar um /boot/grub/menu.lst são e funcional.

Note que isto assume que foi criado um ficheiro de dispositivo /dev/hda. Existem métodos alternativos para instalar o grub, mas esses estão fora do âmbito deste apêndice.

Aqui está um /etc/lilo.conf simples como exemplo:

boot=/dev/hda6
root=/dev/hda6
install=menu
delay=20
lba32
image=/vmlinuz
initrd=/initrd.img
label=Debian

D.3.7. Últimos toques

Como mencionado anteriormente, o sistema instalado será muito básico. Se quiser tornar o sistema um pouco mais maduro, existe um método fácil para instalar todos os pacotes com a prioridade “standard”:

# tasksel install standard

Claro que, pode também usar simplesmente o aptitude para instalar pacotes individualmente.

Após a instalação irão estar muitos pacotes a que foi feito o download em /var/cache/apt/archives/. Pode libertar algum espaço em disco ao correr:

# aptitude clean



[31] Estes incluem utilitários GNU fundamentais e comandos tais como sed, grep, tar e gzip.