website view pt/doc/handbook/chroot-env.html @ rev 551

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