cookutils annotate doc/cookutils.pt.html @ rev 320

Update Makefile
author Christophe Lincoln <pankso@slitaz.org>
date Thu Mar 15 03:04:12 2012 +0100 (2012-03-15)
parents
children
rev   line source
claudinei@316 1 <!DOCTYPE html>
claudinei@316 2 <html xmlns="http://www.w3.org/1999/xhtml">
claudinei@316 3 <head>
claudinei@316 4 <title>Cookutils Documentation</title>
claudinei@316 5 <meta charset="utf-8" />
claudinei@316 6 <link rel="stylesheet" type="text/css" href="style.css" />
claudinei@316 7 </head>
claudinei@316 8 <body>
claudinei@316 9
claudinei@316 10 <div id="header">
claudinei@316 11 <h1>Documentação do Cookutils</h1>
claudinei@316 12 </div>
claudinei@316 13
claudinei@316 14 <!-- Start content -->
claudinei@316 15 <div id="content">
claudinei@316 16
claudinei@316 17 <h2>SliTaz Cook &amp; Cooker</h2>
claudinei@316 18
claudinei@316 19 <p>
claudinei@316 20 O Cookutils fornece ferramentas e utilitários que ajudam na construção de
claudinei@316 21 pacotes para o SliTaz. Estas ferramentas são fáceis de aprender e utilizar,
claudinei@316 22 rápidas e leves. Você será capaz de criar pacotes para a distribuição em
claudinei@316 23 apenas alguns comandos. O cookutils fornece os comandos 'cook' e
claudinei@316 24 <a href="#cooker">Cooker</a>.
claudinei@316 25 </p>
claudinei@316 26 <p>
claudinei@316 27 O comando 'cook' permite a compilação e criação de pacotes, fornecendo um
claudinei@316 28 arquivo de log e checando a qualidade do pacote e do arquivo receipt. O
claudinei@316 29 Comando 'cooker' é um robô de compilação que fornece automação para a
claudinei@316 30 compilação, podendo ser usado como interface para o comando 'cook' na
claudinei@316 31 medida em que possui uma interface web/CGI que fornece os logs de criação
claudinei@316 32 de pacotes de forma simples de compreender. Os dois comandos utilizam
claudinei@316 33 do mesmo wok e arquivos de dados, assim como as informações de pacotes
claudinei@316 34 <a href="#blocked">bloqueados</a> e quebrados, assim como qualquer outra
claudinei@316 35 atividade necessária na criação de pacotes.
claudinei@316 36 </p>
claudinei@316 37 <p>
claudinei@316 38 Para informações técnicas, como estilo de código, por favor consultar o
claudinei@316 39 arquivo README encontrado nos fontes ou em /usr/share/doc/cookutils.
claudinei@316 40 </p>
claudinei@316 41
claudinei@316 42 <h3>Utilização do comando Cook</h3>
claudinei@316 43 <p>
claudinei@316 44 O comando 'cook' fornece uma pequena ajuda pode ser mostrada com a opção
claudinei@316 45 'usage'. Também possui algumas opções que executam tarefas especiais nos
claudinei@316 46 pacotes antes ou depois da compilação. Para obter ajuda:
claudinei@316 47 </p>
claudinei@316 48 <pre>
claudinei@316 49 # cook usage
claudinei@316 50 </pre>
claudinei@316 51
claudinei@316 52 <h3>Howto</h3>
claudinei@316 53 <p>
claudinei@316 54 A primeira coisa que você deve ter antes de compilar pacotes é configurar
claudinei@316 55 seu ambiente. As duas formas recomandadas de de fazer isto são: compilar
claudinei@316 56 pacotes num servidor de compilação ou compilar num ambiente chroot. No caso
claudinei@316 57 de utilizar um ambiente chroot, pode-se instalar e usar o Tazdev para
claudinei@316 58 criá-lo e utilizá-lo:
claudinei@316 59 </p>
claudinei@316 60 <pre>
claudinei@316 61 # tazdev gen-chroot &amp;&amp; tazdev chroot
claudinei@316 62 </pre>
claudinei@316 63 <p>
claudinei@316 64 Por padrão o Tazdev cria um ambiente chroot em /home/slitaz/cooking/chroot
claudinei@316 65 mas pode-se configurar outro caminho como argumento do comando. A
claudinei@316 66 localização do ambiente chroot não é importante, pois quando se entra nele
claudinei@316 67 os caminhos padrão serão utilizados, como /home/slitaz/wok para o wok ou
claudinei@316 68 /home/slitaz/log para os logs do 'cook'. Para mostrar a ajuda do tazdev:
claudinei@316 69 tazdev usage.
claudinei@316 70 </p>
claudinei@316 71 <p>
claudinei@316 72 Quando se usa o ambiente chroot há dois diretórios especiais montados
claudinei@316 73 com a opção 'bind': src e packages. Os fontes para todos os pacotes são
claudinei@316 74 salvos por padrão em /home/slitaz/src, que é montado no chroot para sua
claudinei@316 75 utilização pelos utilitários. Este método permite compartilhar os fontes
claudinei@316 76 entre vários ambiente chroot, como um para a versão 'cooking' e outro para
claudinei@316 77 a estável. O caminho padrão para o diretório de pacotes é:
claudinei@316 78 /home/slitaz/[versão]/packages. Assim, os pacotes ficam fora do chroot e
claudinei@316 79 são protegidos caso o ambiente chroot seja removido por algum erro.
claudinei@316 80 </p>
claudinei@316 81
claudinei@316 82 <h3>Primeiros passos</h3>
claudinei@316 83 <p>
claudinei@316 84 Para começar os trabalhos de compilação, deve-se preparar o ambiente para
claudinei@316 85 o comando 'cook'. Ele se utiliza do arquivo de configuração cook.conf,
claudinei@316 86 onde podem ser informados caminhos alternativos para diretórios e
claudinei@316 87 arquivos, caso seja necessário. A opção 'setup' cria alguns diretórios e
claudinei@316 88 arquivos que guardam as informações de atividade e erro. Os arquivos
claudinei@316 89 criados são em texto puro, podendo ser editados por qualquer editor de
claudinei@316 90 texto. Para preparar o ambiente:
claudinei@316 91 </p>
claudinei@316 92 <pre>
claudinei@316 93 # cook setup
claudinei@316 94 </pre>
claudinei@316 95 <p>
claudinei@316 96 O comando 'setup' possui a opção --wok que permite clonar o wok do SliTaz
claudinei@316 97 durante a configuração do ambiente para o 'cook'. Mesmo não sendo um
claudinei@316 98 desenvolvedor oficial da distribuição, pode-se clonar o repositório e
claudinei@316 99 utilizar os pacotes existentes como exemplos para criar os seus próprios.
claudinei@316 100 Para configurar e clonar o wok cooking ou undigest:
claudinei@316 101 </p>
claudinei@316 102 <pre>
claudinei@316 103 # cook setup --wok
claudinei@316 104 # cook setup --undigest
claudinei@316 105 </pre>
claudinei@316 106
claudinei@316 107 <h3>Testando o ambiente</h3>
claudinei@316 108 <p>
claudinei@316 109 O 'cook' fornece um comando de teste que cria um pacote e o compila. Isto
claudinei@316 110 permite verificar se o ambiente funciona corretamente e cria um pacote
claudinei@316 111 de exemplo com seu respectivo arquivo receipt, chamado 'cooktest', que
claudinei@316 112 pode ser removido após o teste. Para criar o pacote de teste:
claudinei@316 113 </p>
claudinei@316 114 <pre>
claudinei@316 115 # cook test
claudinei@316 116 </pre>
claudinei@316 117
claudinei@316 118 <h3>Criando e compilando</h3>
claudinei@316 119 <p>
claudinei@316 120 Se o ambiente está configurado corretamente, pode-se iniciar a criação e
claudinei@316 121 compilação de pacotes para o SliTaz a partir do wok. Para criar um novo
claudinei@316 122 pacote com um arquivo receipt inicial (que também pode ser criado
claudinei@316 123 interativamente):
claudinei@316 124 </p>
claudinei@316 125 <pre>
claudinei@316 126 # cook new nome-do-pacote
claudinei@316 127 # cook new nome-do-pacote --interactive
claudinei@316 128 </pre>
claudinei@316 129 <p>
claudinei@316 130 Após a criação de um novo pacote, é necessária a edição do arquivo receipt
claudinei@316 131 com um editor de texto. Quando ele está pronto ou se já há um arquivo
claudinei@316 132 receipt existente, pode-se compilá-lo com o comando:
claudinei@316 133 </p>
claudinei@316 134 <pre>
claudinei@316 135 # cook nome-do-pacote
claudinei@316 136 </pre>
claudinei@316 137 <p>
claudinei@316 138 Se tudo correr bem, o pacote pronto será arquivado no diretório
claudinei@316 139 $SLITAZ/packages e os arquivos produzidos em $SLITAZ/wok/nome-do-pacote.
claudinei@316 140 </p>
claudinei@316 141
claudinei@316 142 <h3>Compilar e instalar</h3>
claudinei@316 143 <p>
claudinei@316 144 Para compilar e instalar o pacote num único comando:
claudinei@316 145 </p>
claudinei@316 146 <pre>
claudinei@316 147 # cook nome-do-pacote --install
claudinei@316 148 </pre>
claudinei@316 149
claudinei@316 150 <h3>Obter fontes</h3>
claudinei@316 151 <p>
claudinei@316 152 Caso se queira ou seja necessário somente o download dos arquivos fonte
claudinei@316 153 para um pacote, sem compilá-lo, pode-se utilizar a opção --getsrc:
claudinei@316 154 </p>
claudinei@316 155 <pre>
claudinei@316 156 # cook nome-do-pacote --getsrc
claudinei@316 157 </pre>
claudinei@316 158
claudinei@316 159 <h3>Limpando resultados da compilação</h3>
claudinei@316 160 <p>
claudinei@316 161 Após a compilação e empacotamento de algum programa, permanecem no wok
claudinei@316 162 vários arquivos resultantes do processo, o que ocupa espaço em disco.
claudinei@316 163 Para limpar um único pacote:
claudinei@316 164 </p>
claudinei@316 165 <pre>
claudinei@316 166 # cook nome-do-pacote --clean
claudinei@316 167 </pre>
claudinei@316 168 <p>
claudinei@316 169 Pode-se também limpar todo o wok de uma só vez, ou apenas remover os
claudinei@316 170 arquivos fonte:
claudinei@316 171 </p>
claudinei@316 172 <pre>
claudinei@316 173 # cook clean-wok
claudinei@316 174 # cook clean-src
claudinei@316 175 </pre>
claudinei@316 176
claudinei@316 177 <h3>Busca</h3>
claudinei@316 178 <p>
claudinei@316 179 O comando 'cook' oferece uma função de busca simples, que permite achar
claudinei@316 180 um determinado pacote no wok, utilizando 'grep' e com suporte a
claudinei@316 181 expressões regulares:
claudinei@316 182 </p>
claudinei@316 183 <pre>
claudinei@316 184 # cook search busybox
claudinei@316 185 </pre>
claudinei@316 186
claudinei@316 187 <h3>Lista de pacotes</h3>
claudinei@316 188 <p>
claudinei@316 189 Pode-se criar uma lista de pacotes no wok, assim como uma lista de pacotes
claudinei@316 190 para ser utilizada pelo Tazpkg. Isto permite criar um repositório local
claudinei@316 191 de pacote, assim como cria uma lista de pacotes oficial que é utilizada
claudinei@316 192 nos mirrors do SliTaz. Para listar os pacotes no wok atual:
claudinei@316 193 </p>
claudinei@316 194 <pre>
claudinei@316 195 $ cook list-wok
claudinei@316 196 </pre>
claudinei@316 197 <p>
claudinei@316 198 Ao se criar uma lista de pacotes, o 'cook' verifica se há um repositório
claudinei@316 199 de variantes (flavors) em /home/slitaz/flavors. Caso haja, ele irá
claudinei@316 200 compactar as variantes usando a lista de pacotes mais recente. Para
claudinei@316 201 criar uma lista de pacotes e uma para ser utilizada com as variantes:
claudinei@316 202 </p>
claudinei@316 203 <pre>
claudinei@316 204 # cook pkgdb
claudinei@316 205 </pre>
claudinei@316 206
claudinei@316 207 <a name="cooker"></a>
claudinei@316 208 <h3>O comando 'cooker'</h3>
claudinei@316 209 <p>
claudinei@316 210 O cooker é um robô de compilação, que tem por função checar por commits
claudinei@316 211 em um wok, criar uma listagem da ordem de compilação (cooklist) e compilar
claudinei@316 212 todos os pacotes. Também pode ser utilizado como interface para o comando
claudinei@316 213 'cook' pois ambos se utilizam dos mesmos arquivos de configuração. Outra
claudinei@316 214 função é compilar uma grande lista de pacotes de uma só vez, assim como
claudinei@316 215 todos os pacotes de uma determinada variante. O cooker possui uma interface
claudinei@316 216 Web/CGI que funciona por padrão em qualquer sistema SliTaz, pois este
claudinei@316 217 fornece suporte a CGI no servidor web do busybox (httpd).
claudinei@316 218 </p>
claudinei@316 219 <p>
claudinei@316 220 O cooker fornece um pequeno texto de ajuda:
claudinei@316 221 </p>
claudinei@316 222 <pre>
claudinei@316 223 # cooker usage
claudinei@316 224 # cooker -u
claudinei@316 225 </pre>
claudinei@316 226
claudinei@316 227 <h3>Configuração do Cooker</h3>
claudinei@316 228 <p>
claudinei@316 229 Assim como o 'cook', o 'cooker' precisa de um ambiente funcional para ser
claudinei@316 230 utilizado. A principal diferença é que o cooker necessita de dois
claudinei@316 231 diretórios wok para: um repositório mercurial limpo como referência e um
claudinei@316 232 wok de trabalho. Desta forma é simples comparar os dois woks para obter
claudinei@316 233 as modificações necessárias. Caso exista um ambiente de compilação, deve-se
claudinei@316 234 o wok existente antes de configurar o wok, pois poderá haver algum
claudinei@316 235 conflito. O comando 'setup' também instala alguns pacotes de
claudinei@316 236 desenvolvimento, que podem ser configurados no arquivo de configuração
claudinei@316 237 cook.conf e na variável SETUP_PKGS. Para configurar o ambiente:
claudinei@316 238 </p>
claudinei@316 239 <pre>
claudinei@316 240 # cooker setup
claudinei@316 241 </pre>
claudinei@316 242 <p>
claudinei@316 243 Se tudo correr bem, serão criados dois diretórios wok, os arquivos básicos
claudinei@316 244 de desenvolvimento serão instalados e todos os arquivos requeridos criados.
claudinei@316 245 O comportamento padrão é checar por commits, que pode ser testado com:
claudinei@316 246 </p>
claudinei@316 247 <pre>
claudinei@316 248 # cooker
claudinei@316 249 </pre>
claudinei@316 250
claudinei@316 251 <h3>Compilando com o cooker</h3>
claudinei@316 252 <p>
claudinei@316 253 Há duas formas de utilizar o cooker: modificar o repositório mercurial
claudinei@316 254 wok limpo e executar o cooker sem argumentos ou compilar os pacotes
claudinei@316 255 manualmente. O cooker permite a compilação de um único pacote ou todos
claudinei@316 256 os pacotes de uma determinada categoria ou variante. Pode-se também tentar
claudinei@316 257 compilar todos os pacotes não compilados, mas deve-se ter ciência que esta
claudinei@316 258 ferramente não foi desenvolvida para suportar a compilação de centenas de
claudinei@316 259 pacotes de uma só vez.
claudinei@316 260 </p>
claudinei@316 261 <p>
claudinei@316 262 Para compilar um único pacote, a ferramente funciona mais ou menos como
claudinei@316 263 o comando 'cook nome-do-pacote', porém produz mais arquivos de log:
claudinei@316 264 </p>
claudinei@316 265 <pre>
claudinei@316 266 # cooker pkg nome-do-pacote
claudinei@316 267 </pre>
claudinei@316 268 <p>
claudinei@316 269 Para compilar mais de um pacote de uma só vez, há várias opções. Pode-se
claudinei@316 270 compilar todos os pacotes de uma variante, pode-se utilizar uma lista
claudinei@316 271 com nomes de pacotes (cooklist), um por linha, e, ainda, compilar todos os
claudinei@316 272 pacotes de uma determinada categoria:
claudinei@316 273 </p>
claudinei@316 274 <pre>
claudinei@316 275 # cooker flavor [nome]
claudinei@316 276 # cooker list [/caminho/para/cooklist]
claudinei@316 277 # cooker cat [categoria]
claudinei@316 278 </pre>
claudinei@316 279 <p>
claudinei@316 280 O cooker permite recompilar uma determinada revisão do repositório
claudinei@316 281 mercurial. Isto é útil em ambiente de produção se o robô de compilação
claudinei@316 282 for interrompido enquanto compila um determinado commit, podendo-se então
claudinei@316 283 prosseguir com compilação manual dos pacotes:
claudinei@316 284 </p>
claudinei@316 285 <pre>
claudinei@316 286 # cooker rev 9496
claudinei@316 287 </pre>
claudinei@316 288
claudinei@316 289 <a name="blocked"></a>
claudinei@316 290 <h3>Pacotes bloqueados</h3>
claudinei@316 291 <p>
claudinei@316 292 O 'cook' e o 'cooker' utilizam uma lista de pacotes bloqueados, nos quais
claudinei@316 293 são indicados quais pacotes não compilar quando acontece algum commit ou
claudinei@316 294 ou quando uma lista de pacotes para compilação é utilizada. Isto é útil
claudinei@316 295 para um robô de compilação em ambiente de produção. Quando se bloqueia ou
claudinei@316 296 desbloqueia pacotes, pode-se deixar uma nota que será mostrada nas notas
claudinei@316 297 de compilação (cooknotes). Exemplos para bloquear algum pacote:
claudinei@316 298 </p>
claudinei@316 299 <pre>
claudinei@316 300 # cook nome-do-pacote --block
claudinei@316 301 # cooker block nome-do-pacote
claudinei@316 302 # cooker -n "Nota sobre o pacote bloqueado nome-do-pacote"
claudinei@316 303 </pre>
claudinei@316 304 <p>
claudinei@316 305 A lista de pacotes bloqueados é mostrada na interface web do cooker. Para
claudinei@316 306 desbloquear um pacote, pode-se utilizar o 'cooker' ou o 'cook':
claudinei@316 307 </p>
claudinei@316 308 <pre>
claudinei@316 309 # cook nome-do-pacote --unblock
claudinei@316 310 # cooker unblock nome-do-pacote
claudinei@316 311 </pre>
claudinei@316 312
claudinei@316 313 <h3>Interface Web/CGI do cooker</h3>
claudinei@316 314 <p>
claudinei@316 315 Para visualizar os logs de compilação, os resultados de atividades e
claudinei@316 316 erros do processo, pode-se utilizar a interface web do cooker, localizada
claudinei@316 317 por padrão no diretório /var/www/cooker. Caso não se utilize de um ambiente
claudinei@316 318 chroot e se o servidor web httpd do buxybox estiver sendo executado, a
claudinei@316 319 interface pode ser acessada no endereço:
claudinei@316 320 <a href="http://localhost/cooker/cooker.cgi">
claudinei@316 321 http://localhost/cooker/cooker.cgi</a>
claudinei@316 322 </p>
claudinei@316 323 <p>
claudinei@316 324 Caso se utilize de um ambiente chroot, deve-se instalar o 'cookutils' no
claudinei@316 325 sistema anfitrião (host) e modificar o caminho na variável SLITAZ. Uma
claudinei@316 326 forma padrão é possuir um chroot em:
claudinei@316 327 </p>
claudinei@316 328 <pre>
claudinei@316 329 /home/slitaz/cooking/chroot
claudinei@316 330 </pre>
claudinei@316 331 <p>
claudinei@316 332 Com o arquivo /etc/slitaz/cook.conf modificado da seguinte forma:
claudinei@316 333 </p>
claudinei@316 334 <pre>
claudinei@316 335 SLITAZ="/home/slitaz/cooking/chroot/home/slitaz"
claudinei@316 336 </pre>
claudinei@316 337 <p>
claudinei@316 338 Nota: não é obrigatória a instalação do 'cookutils' no host para usar a
claudinei@316 339 interface web. Caso o servidor web Lighttpd esteja instalado, pode-se
claudinei@316 340 copiar os arquivos 'cooker.cgi' e 'style.css' para, por exemplo, o
claudinei@316 341 diretório '~/Public' e utilizar um arquivo cook.conf modificado.
claudinei@316 342 A vantagem de instalar o 'cookutils' no host é obter atualizações
claudinei@316 343 regulares com o gerenciador de arquivos Tazpkg. Digamos que se tenha
claudinei@316 344 clonado ou baixado o cookutils:
claudinei@316 345 </p>
claudinei@316 346 <pre>
claudinei@316 347 $ cp -a cookutils/web ~/Public/cgi-bin/cooker
claudinei@316 348 $ cp -f cookutils/cook.conf ~/Public/cgi-bin/cooker
claudinei@316 349 </pre>
claudinei@316 350 <p>
claudinei@316 351 Neste caso, edita-se o arquivo de configuração
claudinei@316 352 '~/Public/cgi-bin/cooker/cook.conf' para configurar o caminho na variável
claudinei@316 353 SLITAZ para que tudo funcione.
claudinei@316 354 </p>
claudinei@316 355
claudinei@316 356 <h3>Notas de compilação (Cooknotes)</h3>
claudinei@316 357 <p>
claudinei@316 358 As notas de compilação permitem escrever algum texto sobre o processo de
claudinei@316 359 empacotamento, sendo útil para ambientes colaborativos. Esta função foi
claudinei@316 360 criada com o intuito de permitir aos desenvolvedores do SliTaz
claudinei@316 361 compartilharem notas entre si e outros desenvolvedores. O cooker pode
claudinei@316 362 bloquear a compilação de um pacote ou recompilar um pacote manualmente,
claudinei@316 363 por exemplo. Então, pode-se criar uma nota sobre o motivo do pacote ter
claudinei@316 364 sido bloqueado ou ter sido recompilado, para que outro desenvolvedor saiba
claudinei@316 365 o que está ocorrendo. As notas de compilação são mostradas na interface
claudinei@316 366 web e podem ser checadas a partir da linha de comando:
claudinei@316 367 </p>
claudinei@316 368 <pre>
claudinei@316 369 # cooker note "Pacote nome-do-pacote bloqueado devido à alta utilização de CPU."
claudinei@316 370 # cooker notes
claudinei@316 371 </pre>
claudinei@316 372
claudinei@316 373 <h3>Cooker como um robô de compilação</h3>
claudinei@316 374 <p>
claudinei@316 375 O 'cooker' foi criado para ser o robô de compilação do SliTaz, o que
claudinei@316 376 significa que ele monitora dois repositórios wok, atualiza o repositório
claudinei@316 377 mercurial, obtem as diferenças submetidas e compila todos os pacotes
claudinei@316 378 que foram adicionados ou modificados. A maneira mais segura e limpa de
claudinei@316 379 executar o cooker como um robô de compilação com agendador de atividades
claudinei@316 380 cron é utilizando um ambiente chroot, mas o utilitário também pode ser
claudinei@316 381 executado diretamente no sistema host, caso se queira.
claudinei@316 382 </p>
claudinei@316 383 <p>
claudinei@316 384 Para executar o cooker automaticamente, deve-se utilizar o agendador de
claudinei@316 385 tarefas cron, adicionando-se uma linha ao arquivo de configuração deste
claudinei@316 386 em /var/spool/cron/crontabs. Para configurar para ser executado a cada
claudinei@316 387 duas horas
claudinei@316 388 </p>
claudinei@316 389 <pre>
claudinei@316 390 * */2 * * * /usr/bin/cooker
claudinei@316 391 </pre>
claudinei@316 392
claudinei@316 393 <h3>Robô de compilação iniciado durante o boot</h3>
claudinei@316 394 <p>
claudinei@316 395 O ambiente do 'cooker' e a tarefa do cron podem ser executadas durante o
claudinei@316 396 boot. Deve-se ter instalado o utilitário 'cookutils-daemon' instalado no
claudinei@316 397 sistema host e utilizar a instalação padrão para que tudo funcione
claudinei@316 398 corretamente (diretório cooking em /home/slitaz/cooking). O script daemon
claudinei@316 399 montará qualquer sistema de arquivos virtual, caso necessário, assim como
claudinei@316 400 os diretórios de fontes e de pacotes. Os arquivos fonte são localizados em
claudinei@316 401 /home/slitaz/src e montados no ambiente chroot, para que se possa
claudinei@316 402 compartilha-los entre várias versões (estável, cooking, undigest). Para
claudinei@316 403 instalar o utilitário:
claudinei@316 404 </p>
claudinei@316 405 <pre>
claudinei@316 406 # tazpkg get-install cookutils-daemon
claudinei@316 407 </pre>
claudinei@316 408 <p>
claudinei@316 409 Para iniciar o daemon deve-se possuir uma tarefa do cron agendada para
claudinei@316 410 o usuário root no ambiente chroot. O script funcionará como os outros
claudinei@316 411 daemons do sistema, podendo ser controlado com:
claudinei@316 412 </p>
claudinei@316 413 <pre>
claudinei@316 414 # /etc/init.d/cooker [start|stop|restart]
claudinei@316 415 </pre>
claudinei@316 416
claudinei@316 417 <!-- End content -->
claudinei@316 418 </div>
claudinei@316 419
claudinei@316 420 <div id="footer">
claudinei@316 421 Copyright &copy; 2011 SliTaz contributors
claudinei@316 422 </div>
claudinei@316 423
claudinei@316 424 </body>
claudinei@316 425 </html>
claudinei@316 426