website annotate pt/doc/handbook/chroot-env.html @ rev 292

pt: handbook - add translated pages
author Claudinei Pereira <claudinei@ensinoemrede.com>
date Sun Feb 22 16:14:10 2009 +0000 (2009-02-22)
parents 4dfe933b4257
children ff01fc78c92d
rev   line source
paul@142 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
paul@142 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
claudinei@292 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt">
paul@142 4 <head>
claudinei@292 5 <title>Manual SliTaz (pt) - Ambiente Chroot</title>
paul@142 6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
claudinei@292 7 <meta name="description" content="slitaz Portuguese handbook" />
paul@142 8 <meta name="expires" content="never" />
paul@142 9 <meta name="modified" content="2008-07-26 21:45:00" />
paul@142 10 <meta name="publisher" content="www.slitaz.org" />
paul@142 11 <meta name="author" content="Christophe Lincoln" />
paul@142 12 <link rel="shortcut icon" href="favicon.ico" />
paul@142 13 <link rel="stylesheet" type="text/css" href="book.css" />
paul@142 14 </head>
paul@142 15 <body bgcolor="#ffffff">
paul@142 16
paul@142 17 <!-- Header and quick navigation -->
paul@142 18 <div id="header">
paul@142 19 <div id="quicknav" align="right">
paul@142 20 <a name="top"></a>
claudinei@292 21 <a href="secure-server.html">SHell Securo (SSH)</a> |
claudinei@292 22 <a href="index.html">Conteúdos</a>
paul@142 23 </div>
claudinei@292 24 <h1><font color="#3e1220">Manual SliTaz (en)</font></h1>
paul@142 25 </div>
paul@142 26
paul@142 27 <!-- Content. -->
paul@142 28 <div id="content">
paul@142 29 <div class="content-right"></div>
paul@142 30
claudinei@292 31 <h2><font color="#df8f06">Ambiente Chroot</font></h2>
paul@142 32
paul@142 33 <p>
claudinei@292 34 Este documento descreve os passos necessários para criar um ambiente chroot,
claudinei@292 35 para mudar a raiz do sistema de forma que você possa trabalhar. Isto torna
claudinei@292 36 possível compilar, testar e desenvolver SliTaz sem qualquer risco para o sistema
claudinei@292 37 anfitrião no qual você está trabalhando. O sistema anfitrião pode ser o próprio
claudinei@292 38 SliTaz instalado em um disco rígido ou qualquer outro sistema GNU/Linux como
claudinei@292 39 Debian, Fedora, PCLinuxOS e assim por diante. Você também pode criar um ambiente
claudinei@292 40 chroot em modo LiveCD associado a uma mídia USB. A única condição prévia é
claudinei@292 41 ter uma imagem ISO do SliTaz disponível e um pouco de tempo. Note que todos os
claudinei@292 42 comandos são levados executados como administrador de sistema (<em>root</em>).
paul@142 43 </p>
claudinei@292 44 <h3>Preparando o ambiente</h3>
paul@142 45 <p>
claudinei@292 46 Para começar, nós temos que extrair os conteúdos da imagem ISO no diretório que
claudinei@292 47 servirá como nosso chroot. O diretório pode ser criado em qualquer lugar que
claudinei@292 48 você escolher, nós usaremos o diretório <code>/home/slitaz/chroot-env</code>.
claudinei@292 49 Para extrair os conteúdos de uma imagem ISO, nós temos que montá-la em <em>loop</em>
claudinei@292 50 em um diretório e então temos que copiar o sistema de arquivos raiz comprimido
claudinei@292 51 (<code>rootfs.gz</code>) no diretório chroot. Assumindo que a ISO está no
claudinei@292 52 diretório atual:
paul@142 53 </p>
paul@142 54 <pre> # mkdir /tmp/loop
paul@142 55 # mount -o loop slitaz-cooking.iso /tmp/loop
paul@142 56 # mkdir -p /home/slitaz/chroot-env
paul@142 57 # cp /tmp/loop/boot/rootfs.gz \
paul@142 58 /home/slitaz/chroot-env
paul@142 59 # umount /tmp/loop
paul@142 60 </pre>
paul@142 61 <p>
claudinei@292 62 Agora que nós temos uma cópia do sistema de arquivos comprimido, precisamos
claudinei@292 63 extrai-lo e descomprimi-lo (este é um arquivo <code>cpio</code> comprimido com
claudinei@292 64 gzip ou lzma). Para completar esta fase, nós podemos remover o <code>rootfs</code>
claudinei@292 65 que já não é necessário:
paul@142 66 </p>
paul@142 67 <pre> # cd /home/slitaz/chroot-env
paul@142 68 # (zcat rootfs.gz 2&gt;/dev/null || lzma d rootfs.gz -so) | cpio -id
paul@142 69 # rm rootfs rootfs.gz
paul@142 70 </pre>
paul@142 71 <p>
claudinei@292 72 Se descomprimir o arquivo rootfs comprimido com lzma falhar você pode usar o
claudinei@292 73 método seguinte:
paul@142 74 </p>
paul@142 75 <pre> # unlzma rootfs.gz -S .gz
paul@142 76 # cat rootfs | cpio -id
paul@142 77 </pre>
paul@142 78
claudinei@292 79 <h3>Usando o ambiente</h3>
paul@142 80 <p>
claudinei@292 81 Para começar a usar o ambiente chroot, você só precisa montar alguns sistemas
claudinei@292 82 de arquivos virtuais e usar o comando <code>chroot</code>. Para simplificar as
claudinei@292 83 coisas, podemos escrever um script pequeno que automatiza o processo. Exemplo
claudinei@292 84 usando o diretório chroot <code>/home/slitaz/chroot-env</code> e criando o
claudinei@292 85 script <code>chroot_in_env.sh</code> em <code>/home/slitaz</code>. Em qualquer
claudinei@292 86 sistema que não seja o SliTaz você pode descomentar as linhas que se referem
claudinei@292 87 aos diretórios <code>/dev</code> e <code>/tmp</code> - <em>Note</em> que você
claudinei@292 88 pode copiar e colar o texto seguinte:
paul@142 89 </p>
paul@142 90 <pre> # cat &gt; /home/slitaz/chroot_in_env.sh &lt;&lt; "EOF"
paul@142 91 </pre>
paul@142 92 <pre class="script">#!/bin/sh
paul@142 93 # Chroot in SliTaz to hack.
paul@142 94 #
paul@142 95 ROOTFS="/home/slitaz/chroot-env"
paul@142 96
paul@142 97 # Mount virtual Kernel file systems and chroot.
paul@142 98 #
paul@142 99 #mount --bind /dev $ROOTFS/dev
paul@142 100 #mount --bind /tmp $ROOTFS/tmp
paul@142 101 mount -t proc proc $ROOTFS/proc
paul@142 102 mount -t sysfs sysfs $ROOTFS/sys
paul@142 103 mount -t devpts devpts $ROOTFS/dev/pts
paul@142 104 mount -t tmpfs shm $ROOTFS/dev/shm
paul@142 105
paul@142 106 echo "Chrooting into $ROOTFS... "
paul@142 107 chroot $ROOTFS /bin/sh --login
paul@142 108
paul@142 109 # Unmount virtual Kernel file systems on exit.
paul@142 110 #
paul@142 111 umount $ROOTFS/dev/shm
paul@142 112 umount $ROOTFS/dev/pts
paul@142 113 umount $ROOTFS/sys
paul@142 114 umount $ROOTFS/proc
paul@142 115 #umount $ROOTFS/tmp
paul@142 116 #umount $ROOTFS/dev
paul@142 117
paul@142 118 echo "Exiting $ROOTFS chroot environment... "
paul@142 119
paul@142 120 EOF
paul@142 121 </pre>
paul@142 122 <p>
claudinei@292 123 Para terminar e testar o ambiente, você só precisa tornar o script executável
claudinei@292 124 e executá-lo:
paul@142 125 </p>
paul@142 126 <pre> # chmod +x /home/slitaz/chroot_in_env.sh
paul@142 127 # sh /home/slitaz/chroot_in_env.sh
paul@142 128 </pre>
claudinei@292 129 <h4>Ativar a internet </h4>
paul@142 130 <p>
claudinei@292 131 Para ter a internet pronta para baixar e instalar alguns pacotes de
claudinei@292 132 desenvolvimento, apenas inicie o cliente DHCP na interface correta. Exemplo
claudinei@292 133 usando <code>eth1</code>:
paul@142 134 </p>
paul@142 135 <pre> /# udhcpc -i eth1
paul@142 136 </pre>
claudinei@292 137 <h4>Instalando pacotes</h4>
paul@142 138 <p>
claudinei@292 139 Se a internet estiver funcionando, apenas recarregue a lista de pacotes e use o
claudinei@292 140 comando <code>tazpkg get-install</code> para instalar. Se uma conexão não for
claudinei@292 141 possível, você pode baixar os pacotes de outro sistema, copiando-os para o
claudinei@292 142 ambiente chrooted e instalando-os com o comando <code>tazpkg install</code>.
claudinei@292 143 Para instalar as ferramentas básicas de compilação:
paul@142 144 </p>
paul@142 145 <pre> /# tazpkg recharge
paul@142 146 /# tazpkg get-install slitaz-toolchain
paul@142 147 </pre>
paul@142 148 <p>
claudinei@292 149 Estando o ambiente configurado, você pode compilar aplicações a partir
claudinei@292 150 do código-fonte para criar pacotes, scripts de teste etc.
claudinei@292 151 O <a href="../cookbook/">Cookbook</a> (Livro de receitas) deve ajudá-lo nesta
claudinei@292 152 parte:
paul@142 153 </p>
claudinei@292 154 <h4>Encerrando o ambiente </h4>
paul@142 155 <p>
claudinei@292 156 Para encerrar o ambiente chroot, apenas digite <code>exit</code>, o script
claudinei@292 157 <code>chroot_in_env.sh</code> terminará, desmontando os sistemas de arquivos
claudinei@292 158 virtuais do Kernel Linux:
paul@142 159 </p>
paul@142 160 <pre> /# exit
paul@142 161 #
paul@142 162 </pre>
paul@142 163
paul@142 164 <!-- End of content -->
paul@142 165 </div>
paul@142 166
paul@142 167 <!-- Footer. -->
paul@142 168 <div id="footer">
paul@142 169 <div class="footer-right"></div>
claudinei@292 170 <a href="#top">Topo da Página</a> |
claudinei@292 171 <a href="index.html">Conteúdo</a>
paul@142 172 </div>
paul@142 173
paul@142 174 <div id="copy">
claudinei@292 175 Copyright © 2008 <a href="http://www.slitaz.org/pt/">SliTaz</a> -
paul@142 176 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
paul@142 177 Documentation is under
paul@142 178 <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
paul@142 179 and code is <a href="http://validator.w3.org/">valid xHTML 1.0</a>.
paul@142 180 </div>
paul@142 181
paul@142 182 </body>
paul@142 183 </html>
paul@142 184