Além da obtenção, o simplaret ainda pode fazer a instalação, a remoção ou a atualização dos pacotes de um sistema e também das demais jaulas existentes numa máquina. O simplaret é totalmente não-intrusivo no sistema e roda sobre o pkgtool.
O simplaret acompanha o simplepkg e por isso sua instalação é feita baixando o pacote do simplepkg em http://slack.sarava.org/packages/noarch/ e em seguida instalando-o com o comando
installpkg simplepkg-VERSAO-noarch-BUILD.tgz
A partir daí você já pode utilizar o simplaret para baixar pacotes dos repositórios padrão ou então alterar a lista de repositórios do arquivo /etc/simplepkg/repos.conf ou a configuração do aplicativo pelo arquivo /etc/simplepkg/simplepkg.conf.
Em geral, como o simplaret armazena as informações em pastas do sistema, algumas funcionalidades só estarão disponíveis quando o mesmo é rodado pelo superusuário do sistema.
Antes de explorar todas as funcionalidades do simplaret, é necessário atualizar a lista de pacotes para sua arquitetura e versão, o que pode ser feito com o comando
simplaret --update
ou simplesmente
simplaret update
já que o simplaret suporta que suas opções básicas de linha de comando sejam passas precedidas por dois hífens ou não (-update ou update).
Depois de atualizar a lista de pacotes, experimente buscar por um pacote com um comando do tipo
simplaret search ekiga
O resultado pode ser algo do tipo
REPOS repository sarava, arch: i386, version: 11.0: ekiga-2.0.5-i586-1rd.tgz
Como veremos adiante, "REPOS" significa o tipo de repositório, "sarava" é o nome do repositório, "arch" mostra a arquitetura do pacote e do repositório (i386, no caso) e "version" a versão do repositório (11.0, no caso).
Para instalar esse pacote, basta o comando
simplaret install ekiga
Por padrão, se o simplaret encontrar no repositório um arquivo slack-required referente ao pacote en questão (ou seja, um arquivo ekiga.slack-required na mesma pasta que o pacote do ekiga, neste caso), então o simplaret tentará instalar todos os requisitos contidos nesse slack-required, caso já não estejam instalados no sistema. Essa resolução de dependências automática pode, no entanto, ser desabilitada através de um parâmetro de configuração, como veremos a seguir.
Se você apenas quiser baixar o pacote, digite apenas
simplaret get ekiga
No caso do simplaret encontrar mais de um pacote com o mesmo nome, ele baixará na ordem que a opção "search" listá-los, sendo que essa precedência é definida de acordo com a ordem em que os repositórios estão listados no arquivo de configuração. Por exemplo, o comando
simplaret search kernel-generic
pode retornar algo como
ROOT repository sarava, arch: i386, version: 11.0: kernel-generic-2.6.17.13-i486-1.tgz ROOT repository sarava, arch: i386, version: 11.0: kernel-generic-2.6.18-i486-1.tgz
Assim, o comando
simplaret install kernel-generic
instalará o pacote "kernel-generic-2.6.17.13-i486-1.tgz" ao invés do pacote "kernel-generic-2.6.18-i486-1.tgz". Caso você queira forçar a instalação do segundo pacote, basta especificá-lo com o nome completo:
simplaret install kernel-generic-2.6.18-i486-1.tgz
Se um pacote já estiver instalado no sistema, a opção install fará o upgrade do mesmo, caso a versão ou o build number do pacote presente no repositório for diferente da instalada no sistema. Assim, o comando
simplaret install simplepkg
atualiza o simplepkg caso haja uma nova versão disponível nalgum repositório.
Para remover um pacote, digite
simplaret remove nome-do-pacote
o que na verdade é apenas uma chamada indireta ao removepkg.
O simplaret armazena pacotes baixados de repositórios numa pasta local do sistema, que por padrão é /var/simplaret. Conforme você vai baixando e instalando pacotes, essa pasta tende a crescer e ocupar muito espaço. Para apagar os pacotes, basta usar o comando
simplaret purge
Isso apagará apenas os pacotes da arquitetura e versão usadas atualmente. Detalhes de como apagar os pacotes de todas a arquiteturas e versões serão dados numa seção seguinte.
Você também pode forçar o simplaret a apagar apenas pacotes antigos. O comando a seguir apaga apenas os pacotes baixados a três semanas ou mais (ou seja, os pacotes baixados a menos de três semanas continuam armazenados):
simplaret purge -w 3
O simplaret possui, além do básico do gerenciamento de pacotes, duas funcionalidades adicionais: a obtenção e a aplicação de patches (pacotes contendo atualizações e correções de segurança).
Assumindo que os repositórios contendo patches para sua distribuição do tipo Slackware estejam corretamente configurados, o que ocorre com a configuração padrão que acompanha o simplepkg e que veremos a seguir como alterá-la, você pode baixar os patches disponíveis para o seu sistema com o comando
simplaret get-patches
Se você quiser não só baixar mas também atualizar seu sistema, isto é, fazer um upgrade com os patches disponíveis, use
simplaret upgrade
Até aqui vimos apenas o que é a obrigação de qualquer sistema de gerenciamento de pacotes possuir: obtenção de pacotes, instalação, busca e atualização do sistema. O que diferencia o simplaret das outras ferramentas, além do esquema de resolução de dependências, é sua capacidade de lidar simultaneamente com múltiplas arquiteturas, versões e até instalações de sistemas do tipo Slackware.
O uso dos seguintes comandos só fará sentido à luz da próxima seção, onde trataremos a respeito de múltiplas instalações e jaulas num mesmo computador, porém é um pré-requisito para entendê-la.
Supondo que você esteja rodando Slackware (arquitetura i386) mas que queira atualizar a lista de pacotes do sistema Slamd64 versão 11.0 (arquitetura x86_64), basta usar o comando
ARCH=x86_64 VERSION=11.0 simplaret update
Esse comando baixará a lista de pacotes para o Slamd64 sem conflitar de nenhuma forma com a lista e os pacotes já baixados para o Slackware. Isso acontece porque o simplaret armazena as informações e os pacotes de cada repositório em pastas próprias, organizadas de acordo com a arquitetura e versão.
Passar as variaveis ARCH e VERSION para o simplaret é opcional. Se qualquer uma delas não foi especificada, o simplaret utilizará o valor padrão do seu sistema, usualmente obtido do arquivo /etc/slackware-version ou então especificada através do arquivo de configuração do simplepkg.
Por exemplo, para pesquisar por um pacote da arquitetura powerpc (distribuição Slackintosh) na versão 11.0, basta o comando
ARCH=powerpc VERSION=11.0 simplaret search nome-do-pacote
Todos os comandos apresentados anteriormente funcionarão dessa maneira, à exceção daqueles que instalam ou fazer a atualização de pacotes, já que em geral é destrutivo misturar pacotes de arquiteturas e versões diferentes num mesmo sistema.
A funcionalidade apresentada na seção anterior só faz sentido quando existirem sistemas, jaulas e/ou vservers instalados num mesmo computador.
Suponha que você possua uma máquina x86_64 com três sistemas instalados:
- Slamd64 11.0 na raíz - Slackware 11.0 em /mnt/slackware-1 - Slackware 10.2 em /mnt/slackware-2
No caso da instalação de pacotes, da obtenção e aplicação de atualizações, o simplaret suporta a variável de ambiente ROOT para especificar qual é a pasta na qual o simplaret deve buscar o sistema.
Para instalar um pacote no Slackware contido em /mnt/slackware-1, basta usar os comandos
ARCH=i386 VERSION=11.0 simplaret update ROOT=/mnt/slackware-1 simplaret install nome-do-pacote
O primeiro comando apenas atualiza a lista de pacotes e o segundo faz com que o simplaret baixe o pacote da arquitetura e versão do sistema presente em /mnt/slackware-1 bem como efetue sua instalação.
Para o caso da instalação em /mnt/slackware-2, o uso é análogo:
ARCH=i386 VERSION=10.2 simplaret update ROOT=/mnt/slackware-2 simplaret install nome-do-pacote
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.
Considerando que a máquina possua as três instalações citadas no início deste tópico, a atualização automática das mesmas pode ser feita quando o arquivo /etc/simplepkg/jailist contiver as seguintes linhas (sem espaços no início de cada uma):
/mnt/slackware-1 /mnt/slackware-2
O sistema principal, contido na raíz do sistema, não precisa estar listado nesse arquivo. Se todas as suas instalações de sistema do tipo Slackware estiverem constando corretamente no /etc/simplepkg/jailist, o seguinte comando baixará as atualizações disponíveis para todas elas, incluindo o sistema contido na raíz:
simplaret get-patches
Analogamente, o seguinte comando baixará e/ou aplicará todas as atualizações disponíveis em todas as instalações, incluindo o sistema contido na raíz:
simplaret upgrade
Desse modo, o gerenciamento de pacotes numa máquina que contenha mais de uma instalação do tipo Slackware fica unificada e consequentemente simplificada.
Agora que o comportamento do simplaret foi delineado, é importante descrever o arquivo de definição de repositórios, o /etc/simplepkg/repos.conf. Se você não pretende fazer um uso avançado do simplaret, provavelmente pode deixar de ler esta e a próxima seção, já que para o uso corriqueiro do simplaret você provavelmente não precisará alterar seu repos.conf, a não ser que queira mudar o espelho de download dos seus pacotes ou montar um esquema avançado para a escolha e priorização de repositórios.
O arquivo /etc/simplepkg/repos.conf contém uma definição de repositório por linha e a sintaxe de cada uma delas é:
TIPO[-ARQUITETURA][-VERSAO]="nome%URL"
O conteúdo demarcado por colchetes é opcional dependendo do tipo de repositório, como veremos a seguir. Os tipos de repositório aceitos pelo simplaret são:
PATCHES: definição para repositórios que contenham patches (pacotes de atualização) e cuja lista de arquivos é FILE_LIST e não FILELIST.TXT; exemplo:
PATCHES-i386-11.0="sarava%http://slack.sarava.org/packages/slackware/slackware-11.0/patches/"
No caso da definição acima, temos um repositório de patches para a arquitetura i386 (distribuição Slackware), versão 11.0 e o nome dado ao repositório é "sarava".
Possuir uma definição do tipo PATCHES é opcional para ter acesso às atualizações: a definição de repositório ROOT, que veremos em seguida, já lida com patches: o tipo de repositório PATCHES serve apenas se você quiser utilizar algum repositório não-oficial como fonte de patches prioritária, já que repositório PATCHES são pesquisados pelo simplaret antes de qualquer outro.
Em resumo, se você não tiver um bom motivo para usar esse tipo de repositório, evite-o.
ROOT: são tipos de repositórios cujo conteúdo está dividido por versão. O exemplo tradicional deste caso é o próprio repositório oficial das distribuições:
ROOT-i386="tds%http://slackware.mirrors.tds.net/pub/slackware/"
Repositórios ROOT necessitam apenas de uma definição de arquitetura, um nome e uma URL. No caso acima, temos a definição de repositório ROOT de nome "tds", ou seja, não há definição de versão, já que o simplaret considerará que a versão desejada está numa subpasta dessa URL. Ou seja, definições ROOT implicam que as pastas contendo pacotes de cada versão estejam bem separadas, ou seja, pastas como http://slackware.mirrors.tds.net/pub/slackware/slackware-10.2/ e http://slackware.mirrors.tds.net/pub/slackware/slackware-11.0/.
REPOS: este tipo de repositório é orientado a arquitetura e versão, como por exemplo
REPOS-i386-11.0="sarava%http://slack.sarava.org/packages/slackware/slackware-11.0/"
No caso acima, um repositório de nome "sarava" é definido para a arquitetura i386 e versão 11.0 com a URL http://slack.sarava.org/packages/slackware/slackware-11.0/. Esse tipo de definição é recomendado para repositórios não-oficiais.
NOARCH: o último tipo de definição é usado para repositórios cujos pacotes são independentes de arquitetura e versão da distribuição. Como exemplo temos um repositório do Projeto Slack:
NOARCH="sarava%http://slack.sarava.org/packages/noarch"
Em qualquer tipo de repositório, a URL pode ser do tipo http://, ftp:// ou file:// (para repositórios locais).
Como podem haver mais de uma definição de repositório para cada tipo, versão e/ou arquitetura, as mesmas são diferenciadas de acordo com o nome. Definições de repositório podem ter nomes idênticos, desde que se refiram a tipo de repositório e/ou arquitetura e versão diferentes.
Existe ainda uma prioridade dentre tipos de repositório e ordens de precedência. Numa pesquisa, repositórios são pesquisados de acordo com a seguinte ordem:
Em resumo, o simplaret tem uma ordem de precedência e execução de repositórios e para busca e obtenção de pacotes: pacotes são exibidos de acordo com a ordem e precedência descritas acima. No caso da ontenção de pacotes, o primeiro repositório que possuí-lo será utilizado, isto é, caso o pacote não for solicitado explicitamente com seu nome de arquivo completo mas sim apenas com seu nome.
No caso da obtenção de patches, por padrão apenas repositórios do tipo PATCHES e ROOT são pesquisados, a não ser que isso seja configurado como contrário.
Em repositórios do tipo REPOS e ROOT ainda é possível, através de parâmetros de configuração, explicitar a ordem de pastas que são pesquisadas dentro dos repositórios, algo que veremos a seguir e facilita no caso do usuário estar interessado em dar prioridade para aplicativos em fase de testes (usualmente armazenados na pasta testing/) ou pacotes antigos (pasture).
Nesta seção os parâmetros do arquivo de configuração /etc/simplepkg/simplepkg.conf relevantes ao simplaret estão descritos. Para uma lista completa de todos os parâmetros disponíveis, consulte o simplepkg.conf contido no pacote do simplepkg. Aqui estão descritos apenas os principais, que são:
Vale lembrar que todas as opções booleanas (isto é, que podem ser apenas habilitadas ou desabilitadas) do simplepkg.conf tem os seguintes valores permitidos: "1" e "yes" para habilitado e "0" ou "no" para desabilitado.
Você pode estar se perguntando: para que mais um gerenciador de pacotes para o Slackware e quem utilizaria uma ferramenta que baixa pacotes de várias arquiteturas?
O simplaret foi escrito tendo em mente um ambiente *86 onde várias jaulas de diferentes arquiteturas estão instaladas. Suponha por exemplo uma máquina x86_64 que possua as seguintes jaulas:
O condenado/a em questão que roda todas essas jaulas, pelos mais diversos motivos, pode ter uma grande dor de cabeça para manter os pacotes em ordem de forma manual. Com o simplaret e eventualmente com o simplepkg, a tarefa se torna trivial.
Além disso, as inúmeras novas tecnologias de virtualização poderão necessitar de um sistema de gerenciamento de pacotes que trabalha simultaneamente com múltiplas arquiteturas e versões.
Mesmo que você possua apenas um único sistema do tipo Slackware em seu computador ou trabalhe apenas com uma única arquitetura e/ou versão, o simplaret possui todas as funcionalidades necessárias para facilitar seu dia-a-dia de gerenciamento de pacotes.
O simplaret foi escrito por Silvio Rhatto (rhatto at riseup.net) e é disponibilizado dentro do pacote do simplepkg e sob a licença GPL. Para obter o código fonte, digite
svn checkout svn://slack.sarava.org/simplepkg
O wiki de desenvolvimento é http://slack.sarava.org/trac/wiki/Simplepkg e o endereço da lista de discussão utilizada para discussões sobre simplaret, simplepkg ou mesmo distribuições e pacotes do tipo Slackware é http://listas.sarava.org/wws/info/slack.
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html simplaret-pt_BR.tex -nonavigation -notop_navigation -show_section_numbers -split 0
The translation was initiated by on 2007-08-23