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

Esta seção explica como instalar a Debian GNU/Linux a partir de um sistema Unix ou Linux já existente, sem usar o sistema de instalação baseado em ncurses, guiado por menus como explicado no resto deste manual. O HOWTO “cross-install” foi pedido por usuários que estavam migrando para a Debian GNU/Linux a partir do Red Hat, Mandrake e SUSE. É assumida nesta seção alguma familiaridade com a linha de comando e navegação no sistema de arquivos. O símbolo $ significa um comando que será executado por um usuário atual do sistema, enquanto # se refere a um comando no chroot do Debian.

Uma vez que tiver o novo sistema Debian configurado para sua preferência, você poderá migrar os dados existentes de usuários (se existirem) para ele, e mantê-lo em pleno funcionamento. Isto é chamada instalação do Debian GNU/Linux “sem interrupção”. Este também é um excelente método para lidar com hardwares que não se comportam de forma amigável com vários tipos de inicialização ou mídias de instalação.

D.3.1. Iniciando

Com as ferramentas atuais de particionamento do *nix, reparticione o disco rígido como necessário, crie pelo menos um sistema de arquivos mais a partição swap. Você precisará por volta de 350MB de espaço disponível para a instalação somente da console ou algo como 1GB se planeja instalar o X (mais se você pretende instalar ambientes desktop como GNOME ou KDE).

A seguir, crie um sistema de arquivos nas partições. Por exemplo, para criar um sistema de arquivos ext3 na partição /dev/hda6 (esta é nossa partição raiz):

 # mke2fs -j /dev/hda6

Para criar ao invés deste um sistema de arquivos ext2, não utilize a opção -j.

Inicialize e ative a partição swap (substitua o número da partição pela partição que deseja usar para a Debian):

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

Monte uma partição como /mnt/debinst (o ponto de montagem da instalação, que será o dispositivo raiz (/) de seu novo sistema). O ponto de montagem é de livre escolha e será referenciado mais adiante no texto.

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

Nota

Se você quer ter partes do seus sistemas de arquivos (e.g. /usr) montadas em partições separadas, você precisa criar e montar esses diretórios manualmente antes de proceder para o próximo estágio.

D.3.2. Instalar o debootstrap

O utilitário usado pelo instalador Debian, e reconhecido como o método oficial de instalar um sistema base Debian, é o debootstrap. Ele utiliza o wget e o ar, mas depende somente do /bin/sh e de ferramentas básicas Unix/Linux[23]. Instale o wget e o ar caso ele ainda não esteja instalado em seu sistema, então baixe e instale o debootstrap.

Ou poderá usar o seguinte procedimento para instalá-lo manualmente. Crie uma pasta de trabalho para extração do pacote .deb:

 # mkdir work
 # cd work

O binário debootstrap está localizado nos arquivos da Debian (se assegure de selecionar o arquivo apropriado para sua arquitetura). Baixe o pacote .deb do debootstrap de pool, copie o pacote para o diretório de trabalho e extraia os seus arquivos. Você precisará ter privilégios de root para instalar estes arquivos.

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

D.3.3. Executando o debootstrap

O debootstrap, ao ser executado, pode baixar os arquivos necessários diretamente de um repositório. Você poderá substituí-lo por qualquer espelho (mirror) de arquivos da Debian ao invés de usar ftp.br.debian.org/debian no exemplo do comando abaixo, use preferivelmente um mirror mais perto de você em sua rede. A lista de mirrors estão disponíveis a partir de http://www.debian.org/misc/README.mirrors.

Se tiver uma versão do CD etch da Debian GNU/Linux montado em /cdrom, poderá substituir por uma url file ao invés de usar http: file:/cdrom/debian/

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

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

D.3.4. Configurando o Sistema Básico

Agora que você tem um sistema real da Debian em seu disco, execute o comando chroot dentro dele:

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

Após executar o chroot você pode precisar 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. Montando as Partições

Você precisará criar o arquivo /etc/fstab.

 # editor /etc/fstab

Aqui está um exemplo de como poderá modificar seu arquivo:

# /etc/fstab: arquivo contendo informações estáticas do sistema de arquivos
#
# sist arq.      ponto mont.   tipo    opções                   dump passo
/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

Use o comando mount -a para montar todos os sistemas de arquivos que especificou no seu /etc/fstab, ou, para montar os sistemas de arquivos individualmente, use:

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

Sistemas Debian atuais possuem pontos de montagem para mídias removíveis sob /media, mas mantém ligações simbólicas de compatibilidade em /. Crie-os conforme for necessário, por exemplo:

# cd /media
# mkdir cdrom0
# ln -s cdrom0 cdrom
# cd /
# ln -s media/cdrom

Você poderá montar o sistema de arquivos proc múltiplas vezes e em localizações diversas, pois /proc tem esta flexibilidade. Se não usar o mount -a, tenha certeza de montar o proc antes de continuar:

 # mount -t proc proc /proc

O comando ls /proc deveria agora exibir um diretório não vazio. Se isto falhar, você pode ser capaz de montar o proc de fora do chroot:

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

D.3.4.2. Configurando o Fuso Horário

Uma opção no arquivo /etc/default/rcS determina se o sistema interpretará o relógio do hardware como tendo sido configurado em UTC ou no horário local. O seguinte comando permite que você defina isto e escolha seu fuso horário.

# editor /etc/default/rcS
# tzconfig

D.3.4.3. Configurar a Rede

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

 # editor /etc/network/interfaces

Existem alguns exemplos simples em /usr/share/doc/ifupdown/examples:

######################################################################
# /etc/network/interfaces -- arquivo de configuração para o ifup(8),
# ifdown(8)  Veja a página de manual interfaces(5) para informações
# sobre estas opções e ver quais estão disponíveis
######################################################################

# Nós sempre desejamos ter a interface loopback
#
auto lo
iface lo inet loopback

# Para usar o dhcp:
#
# auto eth0
# iface eth0 inet dhcp

# Um exemplo de configuração com IP estático: (o 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

Entre com o servidor de nomes e diretivas de pesquisa no arquivo /etc/resolv.conf:

 # editor /etc/resolv.conf

Um exemplo simples /etc/resolv.conf:

search hqdom.local
nameserver 10.1.1.36
nameserver 192.168.9.100

Entre com seu nome de host (2 a 63 caracteres):

 # echo DebianHostName > /etc/hostname

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

127.0.0.1 localhost 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

Se tiver várias placas de rede, você poderá organizar os nomes na ordem desejada no arquivo /etc/modules. Então durante a inicialização, a placa terá seu nome associado com o nome da interface (eth0, eth1, etc.) que deseja.

D.3.4.4. Configurando o Apt

Debootstrap terá criado um /etc/apt/sources.list muito básico que permitirá que você instale pacotes adicionais. No entanto, você pode querer adicionar algumas fontes extra, por exemplo, para os códigos-fonte dos pacotes e atualizações de segurança:

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

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

Tenha certeza de executar aptitude update após ter feito as alterações na lista de fontes.

D.3.4.5. Configure Locales and Keyboard

Para configurar suas definições de locales para usar um idioma diferente do Inglês, instale o pacote com suporte a locales e configure-o. Atualmente, o uso de locales UTF-8 é recomendado.

 # aptitude install locales
 # dpkg-reconfigure locales

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

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

Note que o teclado não pode ser definido enquanto estiver dentro do chroot, mas será configurado na próxima reinicialização.

D.3.5. Instalar um Kernel

Se deseja tornar o sistema inicializável, você precisará de um kernel do Linux e um gerenciador de inicialização. Identifique os kernels pré-empacotados com:

# apt-cache search linux-image

Se você pretende usar um kernel pré-empacotado, você pode querer criar o arquivo de configuração /etc/kernel-img.conf antes de fazê-lo. Aqui está um arquivo de exemplo:

# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = yes
do_bootfloppy = no
do_initrd = yes
link_in_boot = no

Para informações detalhadas sobre este arquivo e várias opções, consulte a sua página de manual que estará disponível após a instalação do pacote kernel-package. Nós recomendados que você verifique quais os valores apropriados para o seu sistema.

Então, instale o pacote do kernel de sua escolhe usando o nome do pacote.

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

Se você não criou um /etc/kernel-img.conf antes da instalação do kernel pré-empacotado, você pode ser questionado durante a instalação sobre algumas perguntas que se referem ao arquivo.

D.3.6. Configurando seu Gerenciador de Inicialização

Para tornar seu sistema Debian GNU/Linux inicializável, ajuste seu gerenciador de partida para carregar o kernel instalado com sua nova partição raiz. Note que o debootstrap não instala um gerenciador de partida, no entanto você pode usar aptitude dentro do seu chroot Debian para fazê-lo.

Veja info grub ou man lilo.conf por instruções de como configurar um gerenciador de partida. Se estiver mantendo o sistema que usou para instalar a Debian, simplesmente adicione uma entrada para a nova instalação da Debian no seu arquivo menu.lst ou lilo.conf. Para o lilo.conf você também precisará copiá-los para o novo sistema e editá-lo lá. Após terminar a edição, execute o lilo (lembre-se de usar o lilo.conf relativo ao sistema que está sendo instalado).

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

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

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

Aqui está um arquivo /etc/lilo.conf básico como um exemplo:

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

Dependendo de qual carregador de inicialização você selecionou, você agora pode fazer algumas mudanças adicionais em /etc/kernel-img.conf.

Para o carregador de inicialização grub, você poderia definir a opção do_bootloader como “no”. E, para automaticamente atualizar o seu /boot/grub/menu.lst na instalação ou remoção de kernels Debian, adicione as seguintes linhas:

postinst_hook = update-grub
postrm_hook   = update-grub

Para o carregador de inicialização lilo, o valor de do_bootloader precisa ficar como “yes”.

D.3.7. Toques finais

Como mencionado anteriormente, o sistema instalado é muito básico. Se você gostaria de fazer o sistema um pouco mais maduro, há um método fácil para instalar todos os pacotes com a prioridade “padrão” (“standard”):

# tasksel install standard

É claro, você também pode simplesmente usar o aptitude para instalar os pacotes individualmente.

Após a instalação, um número grande de pacotes baixados estarão em /var/cache/apt/archives/. Você pode liberar algum espaço em disco executando:

# aptitude clean



[23] Esses utilitários incluem as principais ferramentas GNU (GNU core utilities) e comandos como o sed, grep, tar e o gzip.