slitaz-doc-wiki-data diff pages/pt/handbook/chroot.txt @ rev 3

Add pages/pt folder.
author Christopher Rogers <slaxemulator@gmail.com>
date Sat Feb 26 12:12:42 2011 +0000 (2011-02-26)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/pages/pt/handbook/chroot.txt	Sat Feb 26 12:12:42 2011 +0000
     1.3 @@ -0,0 +1,94 @@
     1.4 +====== Ambiente Chroot ======
     1.5 +
     1.6 +Este documento descreve os passos necessários para criar um ambiente chroot, para mudar a raiz do sistema de forma que você possa trabalhar. Isto torna possível compilar, testar e desenvolver SliTaz sem qualquer risco para o sistema anfitrião no qual você está trabalhando. O sistema anfitrião pode ser o próprio SliTaz instalado em um disco rígido ou qualquer outro sistema GNU/Linux como Debian, Fedora, PCLinuxOS e assim por diante. Você também pode criar um ambiente chroot em modo LiveCD associado a uma mídia USB. A única condição prévia é ter uma imagem ISO do SliTaz disponível e um pouco de tempo. Note que todos os comandos são executados como administrador de sistema (root).
     1.7 +
     1.8 +===== Preparando o ambiente =====
     1.9 +
    1.10 +Para começar, nós temos que extrair os conteúdos da imagem ISO no diretório que servirá como nosso chroot. O diretório pode ser criado em qualquer lugar que você escolher, nós usaremos o diretório ///home/slitaz/chroot-env//. Para extrair os conteúdos de uma imagem ISO, nós temos que montá-la em loop em um diretório e então temos que copiar o sistema de arquivos raiz comprimido (rootfs.gz) no diretório chroot. Assumindo que a ISO está no diretório atual:
    1.11 +
    1.12 +<code># mkdir /tmp/loop
    1.13 +# mount -o loop slitaz-cooking.iso /tmp/loop
    1.14 +# mkdir -p /home/slitaz/chroot-env
    1.15 +# cp /tmp/loop/boot/rootfs.gz \
    1.16 +  /home/slitaz/chroot-env
    1.17 +# umount /tmp/loop
    1.18 +</code>
    1.19 +
    1.20 +Agora que nós temos uma cópia do sistema de arquivos comprimido, precisamos extrai-lo e descomprimi-lo (este é um arquivo //cpio// comprimido com //gzip// ou //lzma//). Para completar esta fase, nós podemos remover o rootfs que já não é necessário:
    1.21 +
    1.22 +<code># cd /home/slitaz/chroot-env
    1.23 +# (zcat rootfs.gz 2>/dev/null || lzma d rootfs.gz -so) | cpio -id
    1.24 +# rm rootfs rootfs.gz
    1.25 +</code>
    1.26 +
    1.27 +Se descomprimir o arquivo //rootfs// comprimido com //lzma// falhar você pode usar o método seguinte:
    1.28 +
    1.29 +<code># unlzma rootfs.gz -S .gz 
    1.30 +# cat rootfs | cpio -id
    1.31 +</code>
    1.32 +
    1.33 +===== Usando o ambiente =====
    1.34 +
    1.35 +Para começar a usar o ambiente chroot, você só precisa montar alguns sistemas de arquivos virtuais e usar o comando //chroot//. Para simplificar as coisas, podemos escrever um script pequeno que automatiza o processo. Exemplo usando o diretório chroot ///home/slitaz/chroot-env// e criando o script //chroot_in_env.sh// em ///home/slitaz//. Em qualquer sistema que não seja o SliTaz você pode descomentar as linhas que se referem aos diretórios ///dev// e ///tmp// - Note que você pode copiar e colar o texto seguinte:
    1.36 +
    1.37 +<code># cat > /home/slitaz/chroot_in_env.sh << "EOF"
    1.38 +#!/bin/sh
    1.39 +# Chroot in SliTaz to hack.
    1.40 +#
    1.41 +ROOTFS="/home/slitaz/chroot-env"
    1.42 +
    1.43 +# Mount virtual Kernel file systems and chroot.
    1.44 +#
    1.45 +#mount --bind /dev $ROOTFS/dev
    1.46 +#mount --bind /tmp $ROOTFS/tmp
    1.47 +mount -t proc proc $ROOTFS/proc
    1.48 +mount -t sysfs sysfs $ROOTFS/sys
    1.49 +mount -t devpts devpts $ROOTFS/dev/pts
    1.50 +mount -t tmpfs shm $ROOTFS/dev/shm
    1.51 +
    1.52 +echo "Chrooting into $ROOTFS... "
    1.53 +chroot $ROOTFS /bin/sh --login
    1.54 +
    1.55 +# Unmount virtual Kernel file systems on exit.
    1.56 +#
    1.57 +umount $ROOTFS/dev/shm
    1.58 +umount $ROOTFS/dev/pts
    1.59 +umount $ROOTFS/sys
    1.60 +umount $ROOTFS/proc
    1.61 +#umount $ROOTFS/tmp
    1.62 +#umount $ROOTFS/dev
    1.63 +
    1.64 +echo "Exiting $ROOTFS chroot environment... "
    1.65 +
    1.66 +EOF
    1.67 +</code>
    1.68 +
    1.69 +Para terminar e testar o ambiente, você só precisa tornar o script executável e executá-lo:
    1.70 +
    1.71 +<code># chmod +x /home/slitaz/chroot_in_env.sh
    1.72 +# sh /home/slitaz/chroot_in_env.sh
    1.73 +</code>
    1.74 +
    1.75 +==== Ativar a internet ====
    1.76 +
    1.77 +Para ter a internet pronta para baixar e instalar alguns pacotes de desenvolvimento, apenas inicie o cliente DHCP na interface correta. Exemplo usando eth1:
    1.78 +
    1.79 +<code># udhcpc -i eth1</code>
    1.80 +
    1.81 +==== Instalando pacotes ====
    1.82 +
    1.83 +Se a internet estiver funcionando, apenas recarregue a lista de pacotes e use o comando //tazpkg get-install// para instalar. Se uma conexão não for possível, você pode baixar os pacotes de outro sistema, copiando-os para o ambiente chroot e instalando-os com o comando //tazpkg install//. Para instalar as ferramentas básicas de compilação:
    1.84 +
    1.85 +<code># tazpkg recharge
    1.86 +# tazpkg get-install slitaz-toolchain
    1.87 +</code>
    1.88 +
    1.89 +Estando o ambiente configurado, você pode compilar aplicações a partir do código-fonte para criar pacotes, scripts de teste etc. O Cookbook (Livro de receitas) deve ajudá-lo nesta parte:
    1.90 +
    1.91 +==== Encerrando o ambiente ====
    1.92 +
    1.93 +Para encerrar o ambiente chroot, apenas digite //exit//, o script //chroot_in_env.sh// terminará, desmontando os sistemas de arquivos virtuais do Kernel Linux:
    1.94 +
    1.95 +<code># exit
    1.96 +#
    1.97 +</code>
    1.98 \ No newline at end of file