aboutsummaryrefslogtreecommitdiff
path: root/branches/0.6/doc/simplepkg.html
diff options
context:
space:
mode:
Diffstat (limited to 'branches/0.6/doc/simplepkg.html')
-rw-r--r--branches/0.6/doc/simplepkg.html201
1 files changed, 0 insertions, 201 deletions
diff --git a/branches/0.6/doc/simplepkg.html b/branches/0.6/doc/simplepkg.html
deleted file mode 100644
index 85b2b06..0000000
--- a/branches/0.6/doc/simplepkg.html
+++ /dev/null
@@ -1,201 +0,0 @@
-O <i>simplepkg</i> é um sistema de gerenciamento de pacotes que roda sobre o <i>pkgtool</i> e o <i>swaret</i>. Ele trabalha com templates -- listas com pacotes instalados, scripts e arquivos de configuração -- permitindo criar perfis de instalação que podem ser então usados para instalar o sistema numa outra partição, criar um chroot específico ou até trabalhar com o conceito de <i>metapacotes</i>: uma lista de pacotes que pode ser instalada e removida com apenas um comando.
-<!--break-->
-<b>Descrição</b>
-
-Todas as distribuições de GNU/Linux já tem algum sistema de empacotamento amadurecido. A questão agora é a praticidade de instalar e controlar o que está instalado, tanto pacotes como arquivos de configuração de uma máquina.
-
-Imagine por exemplo se você precisa manter uma lista de pacotes de 200 máquinas slackware, sendo que algumas são usadas como desktop, outras como servidores web, alguma sendo o servidor de email e assim por diante. Imagine agora que você perca o disco de algumas dessas máquinas ou que precise cotidianamente reinstalar ou atualizar um sistema.
-
-Usar o cd de instalação do slackware e configurar na mão toda a vez que der um pau faria com que você ficasse louco/a e desperdiçasse muito tempo, além do que sempre ocorre de esquecermos algum detalhe ou pacote durante a configuração do sistema. Manter um backup completo de cada máquina, por outro lado, pode ser muito custoso se o número delas for muito grande.
-
-O simplepkg permite que você mantenha um template para cada grupo de máquinas e com apenas um comando instalar o template numa partição. Além do template, você precisa do <i>swaret</i> configurado para os repositórios de pacote que possuem seus aplicativos.
-
-Gerenciar instalações e metapacotes não é tudo o que o simplepkg faz. Ele pode ser usado até na criação de <i>vservers</i>. O simplepkg inclusive é um amadurecimento de idéias delineadas nos seguintes artigos:
-
-- <a href="/node/3">Rodando o OpenOffice.org em chroot no Slamd64</a>
-- <a href="/node/6">Linux Vservers e segurança por contexto</a>
-- <a href="/node/7">Instalando o Slackware sem programa de instalação</a>
-
-O <i>simplepkg</i> permite que o trampo proposto nos artigos acima seja simplificado a uma meia dúzia de comandos, desde que existam templates prontos.
-
-<b>Arquitetura</b>
-
-O <i>simplepkg</i> é um conjunto de scripts escritos com a filosofia KISS em mente. Ele é um sistema muito simples, composto pelos seguintes comandos:
-
-- mkjail: constrói uma jaula/instalação de slackware numa pasta
-- metapkg: instala ou remove um metapacote
-- templatepkg: criar ou adiciona pacotes a um template
-- lspkg: lista pacotes instalados
-- jail-upgrade: faz o upgrade nas jaulas
-- rebuildpkg: reconstrói um pacote a partir de sua entrada no <i>/var/log/packages</i>
-
-A pasta de configuração e armazenamento de templates é a <i>/etc/simplepkg</i>. Templates são arquivos contendo uma lista de pacotes, um pacote por linha e com a extensão <i>.template</i>. Como exemplo, um template poderia se chamar <i>minimo.template</i> e conter a seguinte lista:
-
-
-<pre>
-aaa_base
-aaa_elflibs
-apache
-bash
-bin
-coreutils
-findutils
-</pre>
-
-<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;
-Se você quiser também é possível usar um <i>tagfile</i> do slackware como template, sem nem precisar editá-lo.
-
-<b>Instalando o simplepkg</b>
-
-Para baixar o pacote do simplepkg, vá em http://slack.midiatatica.org/packages/noarch/. Depois de instalá-lo, não esqueça de configurar seu <i>swaret</i>:
-
-<pre>
-installpkg swaret-VERSAO-noarch-BUILD.tgz simplepkg-VERSAO-noarch-BUILD.tgz
-</pre>
-
-<br>&nbsp;
-Alternativamente, se você já está com o swaret instalado, adicione em seu <i>swaret.conf</i> a linha
-
-<pre>
-REPOS_ROOT=SlackMidiataticaNoarch%http://slack.midiatatica.org/packages/noarch
-</pre>
-
-<br>&nbsp;
-e então digite
-
-<pre>
-swaret --update
-swaret --install simplepkg
-</pre>
-
-<br>&nbsp;<br>&nbsp;
-<b>Configurando o simplepkg</b>
-
-Como exemplo, vamos criar uma jaula baseada nos pacotes instalados no seu slackware. Edite o arquivo <i>/etc/simplepkg/simplepkg.conf</i>:
-
-<pre>
-# /etc/simplepkg/simplepkg.conf
-JAIL_ROOT="/vservers" # local onde as jaulas serão criadas
-SWARET_PACKS="/var/swaret" # local onde o swaret armazena seus pacotes
-SWARET_CLEAN="1" # apaga o cache de pacotes antes da instalação da jaula
-SWARET_DELETE_DOWN="1" # apaga o cache de pacotes após a instalação
-SWARET_UPDATE="0" # executa um swaret --update antes de iniciar a instalação da jaula
-SWARET_PURGE_WEEKS="N" # apaga os pacotes do cache mais velhos que N semanas antes de instalar
-PATCHES_DIR="/var/swaret/patches" # local os patches são armazenados
-</pre>
-
-<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;
-O <i>swaret.conf</i> deve estar bem configurado para que ele seja capaz de baixar e instalar todos os pacotes dos templates. Parâmetros como <i>EXCLUDE</i> podem ser um empecilho, e se você os remover da sua instalação tenha muito cuidado ao atualizar o seu sistema via <i>swaret --upgrade</i>.
-
-<b>Criando jaulas e replicando instalações</b>
-
-<pre>
-templatepkg meu-slackware
-mkjail jaula meu-slackware
-</pre>
-
-<br>&nbsp;<br>&nbsp;
-Isso cria o template <i>meu-slackware</i> a partir da sua lista de pacotes em <i>/var/log/packages</i> e cria uma nova árvore com esses pacotes na pasta <i>/vservers/jaula</i> (dependendo de qual o valor da variável <i>JAIL_ROOT</i> do simplepkg.conf, é claro).
-
-Se você quiser que alguns arquivos de configuração e executar scripts após a instalação dessa jaula, basta colocarmos na pasta <i>/etc/simplepkg/meu-slackware.d/</i> os arquivos de configuração (dentro da hierarquia de pastas do sistema, isto é, <i>/etc/simplepkg/meu-slackware.d/etc/apache/httpd.conf</i>) e os script em <i>/etc/simplepkg/meu-slackware.s/</i>. O template <i>vserver</i>, que já vem no mkjail contém um exemplo de script.
-
-Você pode especificar também destinos alternativos para sua jaula, através de um comando do tipo
-
-<pre>
-ROOT=/mnt mkjail hda2 meu-slackware
-</pre>
-
-<br>&nbsp;
-O comando acima faz exatamente o que você está pensando: replica sua instalação slackware em </i>/mnt/hda2</i>, dispensando totalmente o programa de instalação do slackware!
-
-Caso nenhum template for especificado, o <i>mkjail</i> utiliza o template <i>/etc/simplepkg/default.template</i>.
-
-Se você manter uma jaula em <i>JAIL_ROOT</i> com o mesmo nome que um template, é possível ainda usar o script <i>jail-update</i> para copiar todas as alterações de arquivos da jaula na pasta de arquivos do seu template (<i>/etc/simplepkg/nome-da-jaula.d</i>). Assim, basta que você copie todos os arquivos de configuração que você editou para essa pasta e deixar o <i>jail-update</i> numa crontab para que você tenha sempre um template atualizado e baseado nas jaulas / instalações que você tem rodando e que estiverem listadas no arquivo <i>/etc/simplepkg/jailist</i>:
-
-<pre>
-jail-update
-</pre>
-
-<br>&nbsp;
-O <i>jail-update</i> considera que o template <i>main</i>, caso exista, se refere à instalação principal da sua máquina, isto é, o sistema de você roda. Dessa forma a invocação do <i>jail-update</i> atualiza todos os templates cujas jaulas estão em <i>JAIL_ROOT</i> e ainda atualiza o template da instalação principal.
-
-Para adicionar ou remover pacotes de um template, basta editar o arquivo de template. Uma outra forma de adicionar arquivos é usando o <i>templatepkg</i> com a opção <i>-a</i>, que adiciona apenas novos pacotes ao template. Se você quiser que o <i>templatepkg</i> crie um template a partir de uma jaula, simplesmente use
-
-<pre>
-templatepkg jaula /vservers/jaula
-</pre>
-
-<br>&nbsp;
-<b>Metapacotes</b>
-
-Outro uso dos templates é a criação de pacotes: imagine por exemplo a dificuldade de um usuário/a novo de slackware para instalar o cinelerra e todas as suas dependências. Criando um template contendo o nome de todos os pacotes necessários para rodar esse software permite que um usuário instale-o simplesmente com o comando
-
-<pre>
-metapkg --install cinelerra
-</pre>
-
-<br>&nbsp;
-O comando sugere uma semelhança com o uso direto do <i>swaret</i> ou do <i>slapt-get</i>, com a única diferença residindo no modo como cada um desses programas lida com as dependências de um pacote. Os <i>slapt-get</i> suporta o arquivo <i>slack-required</i>, que pode ou não estar presente no pacote. Já o <i>swaret</i> possui uma ferramenta própria para a criação de uma lista de dependências.
-
-O <i>simplepkg</i> não pretende substituir esses dois modos de checagem e sim propor uma alternativa de distribuição de pacotes em que as dependências são resolvidas sem precisar de um repositório de dependências ou uma modificação no próprio pacote, que é o caso do <i>slack-required</i>, um arquivo que na maioria das vezes não está presente.
-
-A remoção de um aplicativo e todas as suas dependências podem ser feitas simplesmente com o comando
-
-<pre>
-metapkg --remove cinelerra
-</pre>
-
-<br>&nbsp;
-<b>Upgrade de jaulas</b>
-
-O upgrade de jaulas que estejam em <i>JAIL_ROOT</i> pode ser efetuado com o comando <i>jail-upgrade</i>. Simplesmente coloque os patches em <i>PATCHES_DIR</i> e dê o comando
-
-<pre>
-jail-upgrade
-</pre>
-
-<br>&nbsp;
-Se você quiser atualizar apenas uma das jaulas que estão em <i>JAIL_ROOT</i>, use
-
-<pre>
-jail-upgrade nome-da-jaula
-</pre>
-
-<br>&nbsp;
-Para especificar uma pasta contendo patches diferente de <i>PATCHES_DIR</i> (útil quando você possui jaulas com diferentes versões do slackware), simplesmente use
-
-<pre>
-PATCHES=/local/dos/patches jail-upgrade nome-da-jaula
-</pre>
-
-<br>&nbsp;
-De modo análogo ao <i>mkjail</i>, é possível indicar ao <i>jail-upgrade</i> uma outra pasta onde a jaula está armazenada:
-
-<pre>
-ROOT=/otherroot jail-upgrade
-</pre>
-
-<br>&nbsp;
-<b>Aplicativo auxiliar: rebuildpkg</b>
-
-O simplepkg acompanha ainda um aplicativo auxiliar que ajuda a recuperar pacotes instalados cujo tgz original foi perdido. O comando <i>rebuildpkg</i> reconstrói um pacote a partir de uma entrada no <i>/var/log/packages</i>. O comando
-
-<pre>
-rebuildpkg coreutils
-</pre>
-
-<br>&nbsp;
-reconstrói um pacote do coreutils usando os arquivos e as metainformações listadas no arquivo do <i>/var/log/packages/</i> correspondente ao coreutils.
-
-<b>Fonte</b>
-
-Se você quiser obter diretamente o código-fonte do <i>simplepkg</i>, baixe-o do repositório:
-
-<pre>
-svn checkout svn://slack.midiatatica.org:40/simplepkg
-</pre>
-
-<br>&nbsp;
-<b>Página de desenvolvimento</b>
-
-A página de desenvolvimento do <i>simplepkg</i> fica <a href="http://slack.midiatatica.org/wiki/Main/SimplePKG">aqui</a>.