Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Gerenciamento de pacotes no Slackware
1. Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Instalação e Gerenciamento de Pacotes no Breve História
Filosofia
Slackware Desenvolvedores
Gerenciamento de
Pacotes
por Nilton Moura Instalando outros
softwares
Créditos e
Agradecimentos
Apresentado no:
Instituto Infnet
no VI Slackware Show
http://slackshow.slackwarebrasil.org/
20 e 21 de Agosto de 2010
2. Breve História do Slackware Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Patrick Volkerding precisava de um interpretador LISP Breve História
para um projeto. Começou então a aprender Linux com Filosofia
uma das raras distribuições existentes, o SLS Linux. Desenvolvedores
Gerenciamento de
Pacotes
Conforme utilizava, Patrick corrigia os bugs Instalando outros
softwares
encontrados, porém o mantenedor do SLS Linux (Peter
Créditos e
MacDonald) não aceitou as correções, então Patrick Agradecimentos
disponibilizou-as no ftp de sua universidade.
Com o passar do tempo o número de correções cresceu,
ganhando popularidade rapidamente. Patrick então
lança para todo o mundo em 17 de julho de 1993 o seu
trabalho na versão 1.0 com o nome de Slackware.
3. Filosofia do Slackware Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
O Slackware é a distribuição mais antiga em pleno
desenvolvimento até hoje, e tem a reputação de ser a Breve História
mais UNIX-like. É a mais tradicional distribuição linux. Filosofia
Desenvolvedores
Simplicidade e estabilidade Gerenciamento de
Pacotes
Instalando outros
Não tenta ser um clone ou parecer com o Windows softwares
Não tenta fantasiar/encobrir processos — coloca o Créditos e
Agradecimentos
usuário no controle permitindo-o que veja exatamente o
que acontece
Configuração transparente — arquivos de configuração
bem comentados
Cada aplicação é configurada de acordo com a intenção
do desenvolvedor da aplicação — O Slackware não tem
um arquivo ou ferramenta de configuração "global"
4. Instalação e
Filosofia do Slackware (cont.) Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Breve História
Simplicidade e estabilidade (cont.) Filosofia
Desenvolvedores
Modelo de desenvolvimento conservador — os Gerenciamento de
Pacotes
programas são muito bem testados antes de entrarem
Instalando outros
ou substituirem outros, mas o Slackware não utiliza softwares
versões antigas de software Créditos e
Agradecimentos
Slackware é para pessoas que gostam de aprender e ajustar
seu sistema para fazer exatamente o que eles querem. É por
este motivo que as pessoas o utilizam por vários anos, tanto
para servidores robustos quanto para seus desktops pessoais.
5. Desenvolvedores do Slackware Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Patrick Volkerding — volkerdi@
Eric Hameleers — alien@ Breve História
Piter PUNK — piterpunk@ Filosofia
Robby Workman — rworkman@ Desenvolvedores
Alan Hicks — alan@ Gerenciamento de
Amritpal Bath — amrit@ Pacotes
Erik Jan Tromp — alphageek@ Instalando outros
Stuart Winter — mozes@ softwares
Karl Magnus Kolstø — karlmag@ Créditos e
Agradecimentos
Leopold Midha — netrixtardis@
Mark Post — markkp@
John Jenkins — mrgoblin@
Vincent Batts — vbatts@
Fred Emmott — fred@
Existem outros desenvolvedores que preferem o anonimato por causa de
seus cargos em seus empregos ou algum outro motivo.
6. Instalação e
Desenvolvedores do Slackware (cont.) Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Breve História
Filosofia
Desenvolvedores
Gerenciamento de
Pacotes
A comunidade de usuários — É ela quem contribui
Instalando outros
principalmente com testes e reporte de bugs softwares
Créditos e
Agradecimentos
O que seria do Linux sem a comunidade de usuários?
7. Gerenciamento de Pacotes Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Um mito se fez quando a Red Hat lançou o RPM, que dizia
Breve História
que Slackware não tinha gerenciamento de pacotes: a
Filosofia
verdade é que têm mesmo antes do Red Hat existir.
Desenvolvedores
Gerenciamento de
Gerenciamento de pacotes = Checagem de dependências Pacotes
Instalando outros
softwares
Utilitários Créditos e
Agradecimentos
pkgtool
installpkg
upgradepkg
removepkg
slackpkg
8. Utilitários para Gerenciamento de Pacotes Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Um pacote é um arquivo tar comprimido com algum
algoritmo de compressão como gzip ou LZMA (xz) por Breve História
exemplo. Filosofia
Desenvolvedores
Como funciona a instalação de um pacote? Gerenciamento de
Pacotes
1. O pacote é descompactado e extraído para o diretório Instalando outros
softwares
raiz (/), ou para outro, caso a variável $ROOT for setada.
Créditos e
2. Se o pacote tiver o script de pós-instalação Agradecimentos
install/doinst.sh, ele será executado.
3. É criado um arquivo de log em /var/log/packages/ com
o nome NOME-VERSAO-ARCH-BUILD, com várias
informações sobre o pacote, incluindo a lista de arquivos
instalados. Se o script de pós-instalação doinst.sh existir, ele
será copiado para /var/log/scripts com o mesmo nome do
log.
9. Arquivos de um pacote Instalação e
Gerenciamento de
Pacotes no
Slackware
# explodepkg btpd-0.15-x86_64-1_SBo.tgz Nilton Moura
Exploding package btpd-0.15-x86_64-1_SBo.tgz in current
directory: Breve História
./
Filosofia
install/
install/slack-desc Desenvolvedores
usr/ Gerenciamento de
usr/doc/ Pacotes
usr/doc/btpd-0.15/ Instalando outros
usr/doc/btpd-0.15/CHANGES softwares
usr/doc/btpd-0.15/README Créditos e
usr/doc/btpd-0.15/btpd.SlackBuild Agradecimentos
usr/doc/btpd-0.15/COPYRIGHT
usr/bin/
usr/bin/btinfo
usr/bin/btpd
usr/bin/btcli
doinst.sh
O script doinst.sh é utilizado para criar links simbólicos e fazer comparações
de arquivos pré-existentes (que podem ser customizados pelo administrador do
sistema) com arquivos que serão copiados, com auxílio do md5sum.
Normalmente arquivos de configuração e scripts de inicialização.
10. Exemplo de doinst.sh Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
config() {
NEW="$1" Breve História
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there’s no config file by that name, mv it over: Filosofia
if [ ! -r $OLD ]; then
mv $NEW $OLD Desenvolvedores
elif [ "$(cat $OLD | md5sum)"= "$(cat $NEW | md5sum)"]; then
# toss the redundant copy Gerenciamento de
rm $NEW Pacotes
fi Instalando outros
# Otherwise, we leave the .new copy for the admin to consider... softwares
}
Créditos e
# Keep same perms on rc.mysqld.new: Agradecimentos
if [ -e etc/rc.d/rc.mysqld ]; then
cp -a etc/rc.d/rc.mysqld etc/rc.d/rc.mysqld.new.incoming
cat etc/rc.d/rc.mysqld.new > etc/rc.d/rc.mysqld.new.incoming
mv etc/rc.d/rc.mysqld.new.incoming etc/rc.d/rc.mysqld.new
fi
config etc/rc.d/rc.mysqld.new
( cd usr/lib ; rm -rf libmysqlclient_r.so.16 )
( cd usr/lib ; ln -sf mysql/libmysqlclient_r.so.16 libmysqlclient_r.so.16 )
( cd usr/lib/mysql ; rm -rf libmysqlclient_r.so.16 )
( cd usr/lib/mysql ; ln -sf libmysqlclient_r.so.16.0.0 libmysqlclient_r.so.16 )
11. slackpkg Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Ferramenta que automatiza o gerenciamento de pacotes Breve História
Filosofia
criado pelo desenvolvedor do Slackware Piter PUNK.
Desenvolvedores
Excelente para instalar ou atualizar pacotes pela rede.
Gerenciamento de
Pacotes
Instalando outros
Algumas características softwares
Créditos e
Busca arquivos específicos Agradecimentos
Remove pacotes de terceiros
Instala novos pacotes
Atualiza pacotes instalados
etc.
12. Exemplo de uso do slackpkg Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Breve História
Como manter seu sistema atualizado com slackpkg:
Filosofia
Desenvolvedores
1. # slackpkg update Gerenciamento de
Pacotes
2. # slackpkg upgrade slackpkg Instalando outros
softwares
3. # slackpkg install-new Créditos e
Agradecimentos
4. # slackpkg upgrade-all
5. # slackpkg clean-system
Mais informações em http://slackpkg.org/ ou "man
slackpkg".
13. Instalando outros softwares Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
O Slackware vem com um conjunto de pacotes grande e
Breve História
variado, mas você pode precisar de um software que não
Filosofia
esteja incorporado à distribuição.
Desenvolvedores
O que fazer? Gerenciamento de
Pacotes
Procurar no Google o pacote compilado? Instalando outros
softwares
./configure && make && make install? Créditos e
Agradecimentos
Além da segurança de um sistema, a forma como é instalado
um software pode dar muitas dores de cabeça. Compilar e
instalar manualmente funciona, mas a manutenção se torna
cada vez mais difícil e trabalhosa. Problemas de
compatibilidade com algum pacote e dificuldade para
remoção são alguns.
14. Fontes confiáveis Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Você pode baixar um pacote de sites cujo criador do pacote Breve História
tenha boa reputação na comunidade. Filosofia
Desenvolvedores
Alguns sites com pacotes compilados confiáveis: Gerenciamento de
Pacotes
Eric Hameleers (alienBOB) — http://slackware.com/~alien/
Instalando outros
Robby Workman (rworkman) — http://rlworkman.net/pkgs/ softwares
Erik Jan Tromp (alphageek) — http://alphageek.dyndns.org/ Créditos e
Agradecimentos
Niels Horn — http://www.nielshorn.net/slackware/
Existem outros sites que reúnem pacotes de diversos autores,
que também tem bons pacotes, mas nem sempre se tem
garantia de qualidade. É bom checar a reputação, o próprio
pacote, etc.
15. SlackBuilds.org Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Breve História
Filosofia
O projeto SlackBuilds.org é um repositório de uma grande
Desenvolvedores
coleção de scripts SlackBuild escritos em sua maioria pela
Gerenciamento de
comunidade de usuários, fundado e mantido por alguns Pacotes
membros do time de desenvolvimento do Slackware. Instalando outros
softwares
Créditos e
O que é um script SlackBuild? Agradecimentos
É um shell script que automatiza o processo de configuração,
compilação, e criação do pacote a que ele foi preparado.
Site do projeto: http://www.slackbuilds.org/
16. sbopkg Instalação e
Gerenciamento de
Pacotes no
Slackware
Nilton Moura
Breve História
Filosofia
Desenvolvedores
O sbopkg é uma ferramenta que sincroniza com o Gerenciamento de
repositório SlackBuilds.org, que tem diversas Pacotes
funcionalidades, como por exemplo, instalar diversos Instalando outros
softwares
softwares em apenas uma linha de comando. Créditos e
Agradecimentos
Confira o projeto criado por Chess Griffin em:
http://www.sbopkg.org/
17. Créditos e Agradecimentos Instalação e
Gerenciamento de
Pacotes no
Slackware
A Deus acima de tudo Nilton Moura
Breve História
Ao Robby Workman por permitir que eu usasse sua Filosofia
Desenvolvedores
apresentação como base, principalmente em História e
Gerenciamento de
Filosofia: Pacotes
http://rlworkman.net/slackshowbrasil/ Instalando outros
softwares
Créditos e
Ao Alan Hicks e outros contribuintes do SlackBook que Agradecimentos
também foi base para esta apresentação.
A minha noiva Fernanda, por entender e me apoiar nas
horas que gasto com Linux.
Aos que fizeram o V SlackShow acontecer, a minha
gratidão pela oportunidade de estar aqui.