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, Mandrake 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.
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.
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
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.
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_arch.deb # cd / # zcat /full-path-to-work/work/data.tar.gz | tar xv
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
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
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 dinamicos (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 especificos 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
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áctica 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 /mnt/floppy auto noauto,rw,sync,user,exec 0 0 /dev/cdrom /mnt/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
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
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.
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.
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.
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
Se você tenciona utilizar um kernel pré-empacotado, pode querer criar o ficheiro de configuração /etc/kernel-img-conf
antes de o fazer. Aqui está um ficheiro 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ção detalhada acerca deste ficheiro e das várias opções, consulte a sua página do manual que está disponível após instalar o pacote kernel-package
. Nós recomendamos que verifique se os valores são apropriados para o seu sistema.
Depois instale o pacote do kernel á sua escolha utilizando o seu nome de pacote.
# aptitude install linux-image-2.6.32-arch-etc
Se não criar um /etc/kernel-img.conf
antes de instalar um kernel pré-empacotado, poder-lhe-ão ser colocadas algumas questões durante a sua instalação que se referem a isso.
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 configurar 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
do seu grub existente ou lilo.conf
. Para o lilo.conf
, pode também copiá-lo para o novo sistema e editá-lo lá. Depois de acabar de 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
Dependendo de qual gestor de arranque escolheu, pode fazer algumas alterações adicionais em /etc/kernel-img.conf
.
Para o gestor de arranque grub
, você deve definir a opção do_bootloader
para “no”. E para actualizar automaticamente o seu /boot/grub/menu.lst
na instalação ou remoção de kernels Debian, acrescente as seguintes linhas:
postinst_hook = update-grub postrm_hook = update-grub
Para o gestor de arranque lilo
, o valor de do_bootloader
tem de se manter “yes”.
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