aboutsummaryrefslogtreecommitdiff
path: root/trunk/doc/README.pt_BR
blob: f5d73db107163ee78c127584cc97e3bc4930876c (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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
Simplepkg: gerenciamento de instala��es e pacotes
-------------------------------------------------

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

O simplepkg � um sistema de gerenciamento de sistemas slackware 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.

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, podendo manter toda a configura��o das m�quinas num reposit�rio
Subversion.

O simplepkg funciona n�o apenas com o Slackware mas com qualquer port (oficial ou n�o) que
siga minimamente os padr�es oficiais.

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

O simplepkg � um conjunto de scripts escritos com a filosofia KISS (Keep It Simple, Stupid) 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 scripts presentes num reposit�rio
   - 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/. Depois, basta usar
o comando

  installpkg simplepkg-VERSAO-noarch-BUILD.tgz

Usando o simplepkg
------------------

As tr�s principais aplica��es desse conjunto s�o:

  - Gerenciamento de pacotes
  - Cria��o e manuten��o de jaulas
  - Cria��o de pacotes

O gerencamento de pacotes � feito atrav�s do simplaret, e por ser algo bem espec�fico est� detalhado
no artigo correspondente. As se��es a seguir mostrar�o como o simplepkg pode ser utilizado para criar
e manter jaulas, assim como tamb�m criar pacotes.

Criando templates de instala��o
-------------------------------

Originalmente, o simplepkg foi desenvolvido para ajudar na automatiza��o de instala��es de sistemas
slackware. Para isso, 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 ou criar um chroot.

A constru��o de um template � feita atrav�s do programa templatepkg. Para criar um template de nome
"meu-slackware" contendo a lista de pacotes atualmente instalados no seu sistema, digite

  templatepkg -c meu-slackware

A op��o -c (ou --create) criar� a pasta /etc/simplepkg/templates/meu-slackware, que conter� os
seguintes componentes:

  - /etc/simplepkg/templates/meu-slackware/meu-slackware.template: lista de pacotes
  - /etc/simplepkg/templates/meu-slackware/meu-slackware.d: c�pia de arquivos de configura��o
  - /etc/simplepkg/templates/meu-slackware/meu-slackware.s: scripts de p�s-instala��o

Esses tr�s componentes s�o suficientes para armazenar todas as caracter�sticas de uma instala��o
de slackware: a lista de pacotes controla o software instalado (a partir do conte�do da pasta
/var/log/packages), a c�pia dos arquivos de configura��o controla as personaliza��es feitas para o uso
dos aplicativos e os scripts de p�s-instala��o cuidam de qualquer rotina que precisa ser realizada
exatamente ap�s a instala��o do sistema.

Se voc� quiser criar um template a partir de uma instala��o de slackware presente numa outra parti��o
do sistema que n�o seja a ra�z, basta usar um comando do tipo

  templatepkg -c meu-slackware /mnt/slackware

onde /mnt/slackware � o local onde o sistema alternativo est� instalado. Ap�s criado, o template possuir�
apenas a lista de pacotes contendo o nome dos aplicativos instalados no seu sistema. Para adicionar um
arquivo de configura��o, basta dar um comando como

  templatepkg -a meu-slackware /etc/hosts

Isso adicionar� o arquivo /etc/hosts no template "meu-slackware". Al�m de salvar o arquivo e copi�-lo
automaticamente quando voc� instalar seu sistema, o simplepkg ainda pode tomar conta de qualquer altera��o
que o /etc/hosts sofrer no sistema, seja mudan�a no conte�do do arquivo, dono ou permiss�o. Se voc� ainda
estiver armazenando seus templates num reposit�rio svn (o que veremos a seguir), o simplepkg pode ainda
manter um hist�rico completo das altera��es do arquivo.

ATEN��O: evite ao m�ximo deixar arquivos contendo senhas ou chaves privadas num template. O lugar mais
adequado para deixar esse tipo de coisa � num backup seguro.

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

Uma vez que um template foi criado com uma lista de pacotes e opcionalmente com arquivos de configura��o
e scripts de p�s-instala��o (que ser�o detalhados a seguir), voc� pode replicar sua instala��o de slackware
utilizando o comando

  mkjail jaula meu-slackware

Isso cria uma nova �rvore do slackware em /vserver/jaula contendo todos os pacotes e arquivos de configura��o
do template "meu-slackware". A instala��o dos pacotes ser� feita pelo aplicativo simplaret, que deve estar
configurado corretamente e cuja configura��o padr�o deve funcionar para a maioria dos casos.

Se voc� quiser instalar essa jaula em outro local que n�o seja a pasta /vservers (esse local padr�o pode ser
mudado pelo arquivo de configura��o do simplepkg), basta usar 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. O simplepkg j� vem
com alguns templates padr�es, presentes em /etc/simplepkg/defaults/template.

Scripts de p�s-instala��o
-------------------------

  templatepkg -b nome-do-script.sh

Listando o conte�do de um template
----------------------------------

  templatepkg -l

Removendo arquivos de um template
---------------------------------

  templatepkg -d

Apagando um template
--------------------

  templatepkg -r

Atualizando um template
-----------------------

  jail-commit

Para atualizar apenas a lista de pacotes de um template, use

  templatepkg -u meu-template

Editando manualmente a lista de pacotes
---------------------------------------

  templatepkg -e nome-do-template

Restaurando arquivos de configura��o numa jaula
-----------------------------------------------

  jail-update

Armazenando as configura��es no reposit�rio Subversion
------------------------------------------------------

  svnadmin create /var/svn/simplepkg --fs-type fsfs
  templatepkg -e file:///var/svn/simplepkg

  jail-commit
  jail-commit --all
  templatepkg -s

Atualiza��o de jaulas
---------------------

Existe ainda uma facilidade para que a obten��o e aplica��o de atualiza��es seja feita de forma �nica,
atrav�s do arquivo /etc/simplepkg/jailist. Esse arquivo serve, al�m de outros prop�sitos descritos na
documenta��o do simplepkg, para que o simplaret saiba de antem�o quais s�o as instala��es de sistema
do tipo Slackware presentes numa m�quina, al�m da instala��o principal na ra�z do sistema. Veja a
documenta��o do simplaret para mais detalhes.

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.

Criando um pacote de um template
--------------------------------

  templatepkg -p nome-do-template
 
Aplicativos auxiliares: rebuildpkg, createpkg, lspkg e repos
------------------------------------------------------------

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
--------------------------

  /etc/simplepkg/simplepkg.conf

Fonte
-----

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

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