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 432MB de espaço disponível para instalação de apenas consola, ou pelo menos cerca de 1521MB 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
# 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[27]. 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 wheezy 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: amd64, armel, armhf, i386, ia64, mips, mipsel, powerpc, s390, s390x, ou sparc.

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

D.3.4. Configurar o Sistema Base

Now you've got a real Debian system, though rather lean, on disk. chroot into it:

# LANG=C.UTF-8 chroot /mnt/debinst /bin/bash

After chrooting you may need to set the terminal definition to be compatible with the Debian base system, for example:

# export TERM=xterm-color

Depending on the value of TERM, you may have to install the ncurses-term package to get support for it.

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:

  • instalar o pacote makedev, e criar um conjunto pré-definido de ficheiros de dispositivos estáticos utilizando (após fazer chroot)

    # apt-get install makedev
    # mount none /proc -t proc
    # 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

Definir a terceira linha do ficheiro /etc/adjtime para UTC ou para LOCAL determina se o sistema irá interpretar o relógio de hardware como estando definido para UTC ou para hora local. O seguinte comando permite-lhe definir isso.

# editor /etc/adjtime

Aqui está uma amostra:

0.0 0 0.0
0
UTC

O seguinte comando permite-lhe escolher o seu fuso horário.

# 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 wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/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-setup
# dpkg-reconfigure keyboard-configuration 

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-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 yaboot.conf ou man lilo.conf para instruções acerca de como preparar o gestor de arranque. Se está a manter o sistema que utilizou para instalar Debian, adicione apenas uma entrada para a instalação Debian ao seu grub.cfg do grub2 ou lilo.conf. Para o lilo.conf, deve copiar também para o novo sistema e editá-lo lá. Depois de ter terminado, chame o lilo (lembre-se que utilizará o lilo.conf relativamente ao sistema de onde o chama).

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

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

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

Note que isto assume que foi criado um ficheiro de dispositivo /dev/hda. Existem métodos alternativos para instalar o grub2, 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. Acesso remoto: Instalar SSH e definiar a palavra-passe

Caso possa fazer login no sistema através da consola, pode ultrapassar esta questão. Se posteriormente o sistema deve estar acessível através da rede tem de instalar SSH e definir a palavra-passe para root:

# aptitude install ssh
# passwd

D.3.8. Ú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



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