aboutsummaryrefslogtreecommitdiff
path: root/trunk/doc/README.pt_BR
blob: fc03e94a115f32b53283c30828cca4dfec0d38eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
Simplepkg: gerenciamento de instala��es e pacotes
-------------------------------------------------

Autor: Silvio Rhatto <rhatto at riseup.net>
Licen�a: GPL

O simplepkg � um sistema de gerenciamento de pacotes que roda sobre o pkgtool. Ele � composto
por v�rios scripts que desempenham fun��es de administra��o e desenvolvimento de sistemas
do tipo Slackware, procurando fechar um circuito de produ��o, envolvendo a constru��o, a
instala��o de pacotes e at� mesmo a instala��o do sistema de forma automatizada.

Do lado do desenvolvedor/a, ele ajuda na cria��o de SlackBuilds e constru��o de pacotes.
Do lado do administrador/a, ele possibilita a instala��o automatizada de sistemas, instala��o
de pacotes e a cria��o de "templates" de instala��o -- que cont�m todos os arquivos de configura��o,
informa��es de permiss�es e scripts de p�s-instala��o de uma dada m�quina ou jaula.

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 metapacotes: uma
lista de pacotes que pode ser instalada e removida com apenas um comando.

Documenta��o
------------

A documenta��o mais atualizada do simplepkg est� em http://slack.sarava.org/simplepkg.

Descri��o
---------

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, al�m da facilidade na cria��o de pacotes.

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 configurar o simplepkg
para obter pacotes de um reposit�rio local ou remoto.

Gerenciar instala��es e pacotes n�o � tudo o que o simplepkg faz. Ele pode ser usado at� na
cria��o de jaula e vservers.

Arquitetura
-----------

O simplepkg � 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
   - templatepkg: criar ou adiciona pacotes a um template
   - lspkg: lista pacotes instalados
   - jail-update: inverso do jail-commit
   - jail-commit: atualiza o template
   - rebuildpkg: reconstr�i um pacote a partir de sua entrada no /var/log/packages
   - simplaret: obt�m pacotes de reposit�rios locais ou remotos
   - createpkg: baixa, compila e empacota software de acordo com http://slack.sarava.org/slackbuilds
   - repos: cria e mant�m reposit�rios
   - mkbuild: cria scripts de constru��o de pacotes

Instalando o simplepkg
----------------------

Para baixar o pacote do simplepkg, v� em http://slack.sarava.org/packages/noarch/.

  installpkg simplepkg-VERSAO-noarch-BUILD.tgz

Criando jaulas e replicando instala��es
---------------------------------------

  templatepkg meu-slackware
  mkjail jaula meu-slackware

Isso cria o template meu-slackware a partir da sua lista de pacotes em /var/log/packages e cria uma nova �rvore
com esses pacotes na pasta /vservers/jaula (dependendo de qual o valor da vari�vel JAIL_ROOT 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 /etc/simplepkg/meu-slackware.d/ os arquivos de configura��o (dentro da hierarquia de pastas do sistema, isto �,
/etc/simplepkg/meu-slackware.d/etc/apache/httpd.conf) e os script em /etc/simplepkg/meu-slackware.s/. O template vserver,
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

  ROOT=/mnt mkjail hda2 meu-slackware

O comando acima faz exatamente o que voc� est� pensando: replica sua instala��o slackware em /mnt/hda2, dispensando
totalmente o programa de instala��o do slackware!

Caso nenhum template for especificado, o mkjail utiliza o template /etc/simplepkg/default.template.

Se voc� manter uma jaula em JAIL_ROOT com o mesmo nome que um template, � poss�vel ainda usar o script jail-update
para copiar todas as altera��es de arquivos da jaula na pasta de arquivos do seu template (/etc/simplepkg/nome-da-jaula.d).
Assim, basta que voc� copie todos os arquivos de configura��o que voc� editou para essa pasta e deixar o jail-update 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 /etc/simplepkg/jailist:

  jail-update
 
Para adicionar ou remover pacotes de um template, basta editar o arquivo de template. Uma outra forma de adicionar
arquivos � usando o templatepkg com a op��o -a, que adiciona apenas novos pacotes ao template. Se voc� quiser que o
templatepkg crie um template a partir de uma jaula, simplesmente use

  templatepkg jaula /vservers/jaula
 
Upgrade de jaulas
-----------------

O upgrade de jaulas que estejam em JAIL_ROOT pode ser efetuado com o comando jail-upgrade. Simplesmente coloque
os patches em PATCHES_DIR e d� o comando

  jail-upgrade

Se voc� quiser atualizar apenas uma das jaulas que est�o em JAIL_ROOT, use

  jail-upgrade nome-da-jaula
 
Para especificar uma pasta contendo patches diferente de PATCHES_DIR (�til quando voc� possui jaulas com
diferentes vers�es do slackware), simplesmente use

  PATCHES=/local/dos/patches jail-upgrade nome-da-jaula
 
De modo an�logo ao mkjail, � poss�vel indicar ao jail-upgrade uma outra pasta onde a jaula est� armazenada:

  ROOT=/otherroot jail-upgrade

Arquiteturas e vers�es diferentes
---------------------------------

O simplepkg foi idealizado para permitir que um mesmo template possa ser usado para criar jaulas de
arquiteturas e vers�es diferentes de sistemas padr�o slackware. A atualiza��o desses sistemas tamb�m
� unificada. Essa possibilidade s� � permitida se voc� usa o simplaret e n�o o swaret como ferramenta
de obten��o de pacotes.

Por exemplo, para criar uma instala��o de slackware 10.1 (assumindo que suas defini��es de reposit�rios
do /etc/simplepkg/repos.conf contenham locais com slack 10.1), basta usar o comando

  VERSION=10.1 mkjail minha-jaula template-servidor

Arquiteturas diferentes tamb�m podem ser usadas. Se voc� est� num sistema x86_64 e quer instalar um
slack 10.2 numa parti��o, experimente

  ARCH=i386 VERSION=10.2 ROOT=/mnt mkjail hda2 meu-slackware

Note que os templates independem de arquitetura e vers�o, j� que eles s� cont�m nomes de pacotes,
arquivos de configura��o e scripts. Por isso, o templatepkg, o metapkg, o lspkg e o jail-update
funcionam normalmente.

Para atualizar suas jaulas, o jail-upgrade checa antes qual a vers�o e arquitetura de cada uma
de suas jaulas atrav�s do /etc/slackware-version correspondente e a partir disso aplica os patches
da arquitetura e vers�o da mesma, usando para isso o simplaret (veja a documenta��o pr�pria).

Desse modo, mesmo que voc� tenha jaulas de vers�es e arquiteturas diversas, usar o comando "jail-upgrade"
faz a atualiza��o sem problemas, desde que seus patches estejam organizados por arquitetura e vers�o,
conforme � detalhado na documenta��o do simplaret, em http://slack.sarava.org/node/16.
 
Aplicativos auxiliares: rebuildpkg e createpkg
----------------------------------------------

O simplepkg acompanha ainda um aplicativo auxiliar que ajuda a recuperar pacotes instalados cujo tgz original
foi perdido. O comando rebuildpkg reconstr�i um pacote a partir de uma entrada no /var/log/packages. O comando

  rebuildpkg coreutils

reconstr�i um pacote do coreutils usando os arquivos e as metainforma��es listadas no arquivo
do /var/log/packages/ correspondente ao coreutils.

Se voc� quiser construir seus pr�prios pacotes baseados nos slackbuilds dispon�veis em
http://slack.sarava.org/slackbuilds, basta utilizar o createpkg:

  createpkg nome-do-pacote

Par�metros de configura��o
--------------------------

A escrever...

Fonte
-----

Se voc� quiser obter diretamente o c�digo-fonte do simplepkg, baixe-o do reposit�rio:

  svn checkout svn://slack.sarava.org/simplepkg