TazPkg — Tiny autonomous zone package manager (Gerenciador de pacotes do SliTaz).
tazpkg [comando] [opções...]
O TazPkg é um gerenciador de pacotes leve para instalar, listar, baixar, atualizar ou remover pacotes pré-compilados em um sistema GNU/Linux. O TazPkg oferece comandos para busca e criação de pacotes e foi criado independentemente para o projeto. O formato dos pacotes usando a extensão *.tazpkg é um arquivo cpio contendo um sistema de arquivos comprimido com lzma, um receipt e uma descrição opcional. O TazPkg também gerencia dependências baseado nos receipts dos pacotes. Cada receipt contém todas as informações sobre um pacote e também pode incluir funções de pré e pós-instalação. O mesmo receipt é usado pelo Cookutils para compilar fontes e gerar um pacote .tazpkg.
O TazPkg é inteiramente construído do zero usando Shell script, compatível com Bash; roda sob o Ash — parte do projeto Busybox. O TazPkg é distribuído sob a licença livre GNU GPL V3.
O TazPkg usa algumas variáveis de ambiente:
O local padrão do banco de dados de pacotes é /var/lib/tazpkg.
date -d@timestamp)Todos os arquivos obsoletos serão deletados após verificarmos que os programas não os usam (e modificar os programas conforme necessário).
Além dos arquivos comuns do banco de dados de pacotes, há também pastas individuais para todos os pacotes instalados colocadas por padrão em /var/lib/tazpkg/installed/pacote. Cada pasta aqui pode conter os seguintes arquivos:
O local padrão do cache de pacotes é /var/cache/tazpkg com subpastas para os diferentes
repositórios.
O arquivo com local padrão /var/log/slitaz/tazpkg.log armazena o log de atividade do TazPkg.
Informações MIME compartilhadas que permitem "adivinhar" arquivos de pacotes SliTaz, receipts
de pacotes e arquivos de flavor SliTaz.
O plug-in para o TazPanel (painel de administração e configuração do SliTaz) /var/www/tazpanel/pkgs.cgi permite gerenciar pacotes SliTaz na aplicação web.
A documentação do TazPkg está colocada na pasta /usr/share/doc/tazpkg.
O primeiro parâmetro do tazpkg é um comando seguido por outros parâmetros obrigatórios e opcionais conforme será descrito a seguir. As opções começam com dois traços, você pode arranjá-las em qualquer ordem e em qualquer lugar, inclusive antes do comando. Opções desconhecidas e inapropriadas são ignoradas. Os seguintes comandos são equivalentes:
$ tazpkg info nano --root=/mnt/sda6 $ tazpkg --root=/mnt/sda6 info nano $ tazpkg info --root=/mnt/sda6 nano --color
Você pode adicionar a opção global --root=… a qualquer comando do TazPkg. Esta opção
permite trabalhar com outras instalações do SliTaz e pode apontar para a raiz de um sistema de
arquivos montado de outra instalação do SliTaz.
Mostra a lista completa dos comandos do TazPkg com uma breve descrição.
$ tazpkg usage
Exibe ajuda para o comando selecionado (help ou -h). Você pode digitar um nome curto do comando, o nome completo ou uma parte do nome completo. Você pode ignorar hífens no início do nome curto. Se a parte solicitada do nome completo corresponder a vários comandos, você será solicitado a esclarecer a solicitação.
$ tazpkg help -gi $ tazpkg -h us
Exibe o log de atividade do TazPkg (activity ou log ou -a). O parâmetro opcional --nb= permite definir o número de linhas exibidas.
$ tazpkg activity $ tazpkg -a --nb=20
Remove pacotes *.tazpkg baixados para o cache (clean-cache ou -cc). Durante a instalação, o TazPkg mantém uma cópia dos pacotes baixados da Web. Isso é feito para economizar banda em caso de reinstalação, mas você pode querer liberar espaço no disco rígido ou baixar os pacotes novamente.
# tazpkg clean-cache # tazpkg -cc
Lista pacotes *.tazpkg baixados para o cache. Exibe uma lista de nomes de arquivos e seus tamanhos, assim como a quantidade e tamanho totais.
# tazpkg list-cache
Executa o shell interativo do TazPkg. Aqui você pode digitar todos os comandos do TazPkg listados acima.
$ tazpkg shell # tazpkg shell
Lista pacotes instalados no sistema (list ou -l). Este comando exibe uma lista em colunas de todos os pacotes instalados. Também permite listar as categorias (c ou cat ou categories), pacotes baseados em categoria e pacotes em espera (b ou blocked). Você também pode usar o comando search para uma lista baseada em um termo ou nome de pacote.
$ tazpkg list $ tazpkg list cat $ tazpkg list games $ tazpkg list blocked
Lista pacotes disponíveis no mirror (list-mirror ou -lm). Este comando exibirá
a lista de pacotes recarregada do mirror. Se ela não existir, você será solicitado a executar
tazpkg recharge como administrador (root) para uma lista de
pacotes disponíveis. A opção --diff é usada para exibir as diferenças entre a última e a
lista atual de pacotes.
$ tazpkg list-mirror $ tazpkg -lm --diff
Lista os arquivos de configuração do sistema. A opção --box exibe em formato de tabela. Você pode especificar o nome do pacote para exibir arquivos de configuração apenas para este pacote.
$ tazpkg list-config $ tazpkg list-config --box $ tazpkg list-config slim $ tazpkg list-config slim --box
Busca por pacotes por proprietário ou nome do pacote (search ou -s). Este comando buscará o termo desejado nos pacotes instalados (-i ou --installed) e na lista de pacotes disponíveis no mirror (-l ou --list).
Para obter a lista mais recente de pacotes instaláveis no mirror, basta executar tazpkg
recharge antes de realizar uma busca.
$ tazpkg search gcc $ tazpkg search mt -i $ tazpkg search bit -l
Busca por um arquivo no mirror e exibe apenas os nomes dos pacotes (search-pkgname ou -sp).
$ tazpkg search-pkgname libnss $ tazpkg -sp /usr/share/fonts
Busca por um arquivo entre os arquivos instalados pelos pacotes (search-file ou -sf). Este comando é muito útil para encontrar o caminho completo de um arquivo e determinar se um arquivo está presente no sistema. A opção --mirror permite buscar um arquivo entre todos os arquivos disponíveis no mirror.
$ tazpkg search-file libnss $ tazpkg -sf /usr/share/fonts --mirror
Obtém um pacote do mirror (get ou -g). O pacote baixado é armazenado no diretório atual. Você obterá o pacote regular, ou get-package, ou extra-package (nesta ordem). Você pode especificar a opção --extra para obter apenas um extra-package.
Você pode especificar vários pacotes na linha de comando ou fornecer ao tazpkg uma lista dos pacotes que deseja baixar ou usar o comando get-list.
# tazpkg get grub # tazpkg get nano --root=/mnt/sda6 # tazpkg get palemoon --extra # tazpkg -g nano mc # tazpkg -g --list=/tmp/office
Este comando permite a instalação de um pacote local com a extensão .tazpkg (install ou -i).
A opção --forced permite atualizar um pacote já instalado. A opção --newconf permite reescrever todos os arquivos de configuração do usuário usando os novos arquivos de um pacote. A opção --nodeps permite instalar apenas um pacote especificado sem suas dependências.
Quando o TazPkg instala dependências de pacotes, ele prefere pacotes locais (ou seja, pacotes dependentes localizados na mesma pasta dos pacotes instalados) em vez de pacotes do mirror/cache com a opção --local. É útil quando você deseja instalar muitos pacotes já baixados e suas dependências sem a necessidade de uma conexão de rede.
Você pode especificar vários pacotes na linha de comando ou fornecer ao tazpkg uma lista dos pacotes que deseja instalar ou usar o comando install-list.
Veja get-install para instalar um pacote da internet.
# tazpkg install package-1.0.tazpkg # tazpkg -i path/to/package-1.0.tazpkg --forced # tazpkg -i path/to/package-1.0.tazpkg --root=/mnt/rootfs # tazpkg -i nano-2.4.0.tazpkg mc-4.8.14.tazpkg # tazpkg -i --list=/tmp/development # cd /home/boot/packages; tazpkg -i nano-2.4.0.tazpkg --local
Obtém e instala um pacote de um mirror na internet (get-install ou -gi). O comando começa verificando se o pacote existe no mirror e se já foi baixado.
A opção --forced permite atualizar um pacote já instalado. A opção --newconf permite reescrever todos os arquivos de configuração do usuário usando os novos arquivos de um pacote. A opção --nodeps permite instalar apenas um pacote especificado sem suas dependências.
Você pode especificar vários pacotes na linha de comando ou fornecer ao tazpkg uma lista dos pacotes que deseja obter e instalar ou usar o comando get-install-list.
Para uma lista de pacotes no mirror, você deve usar o comando list-mirror.
# tazpkg get-install grub # tazpkg -gi grub --forced # tazpkg -gi nano --root=/mnt/sda6 # tazpkg -gi nano mc # tazpkg -gi --list=/tmp/multimedia
Obtém e/ou instala um conjunto de pacotes listados em um arquivo. Este comando permite trabalhar com vários pacotes com um único comando.
Todas as opções são as mesmas dos respectivos comandos simples: get, install e get-install.
# tazpkg install-list my-packages.list # tazpkg get-install-list my-packages.list --forced
Remove um pacote (remove ou -r). Você será solicitado a confirmar (y/N) a remoção do pacote, assim como a remoção de pacotes que dependem deste pacote, e a reinstalação de pacotes modificados por este pacote. Este comando deletará todos os arquivos instalados com o pacote.
A opção --auto remove e reinstala pacotes sem sua confirmação.
# tazpkg remove bc # tazpkg -r gtk+-3 --root=/mnt/sda6 # tazpkg -r nano --auto
Executa novamente o script de pós-instalação do pacote.
# tazpkg reconfigure gcc # tazpkg reconfigure gcc --root=/mnt/sda6
Este comando permite a instalação de um pacote de outro dispositivo de mídia. A configuração é feita através de links simbólicos e consome muito pouca memória. É geralmente usado dentro da RAM do sistema para instalar complementos de uma chave USB.
# tazpkg link openoffice /media/usbdisk
Este comando muda a versão atual e atualiza todos os pacotes para o lançamento mais recente.
# tazpkg set-release cooking
Instala um conjunto de pacotes de um flavor. Além disso, install-flavor remove outros pacotes instalados.
# tazpkg add-flavor gtkonly # tazpkg install-flavor justx
Mostra todas as informações disponíveis relacionadas ao seu pacote. Você pode especificar o nome do pacote instalado ou um pacote que ainda não está instalado, mas disponível no repositório. Você também pode obter informações sobre um pacote de arquivo local digitando um caminho absoluto ou relativo para o arquivo .tazpkg. As informações contidas no banco de dados do TazPkg e no receipt do pacote — sua versão, categoria, mantenedor, site web e todas as dependências (veja também Cookutils para mais informações sobre receipts).
$ tazpkg info busybox $ tazpkg info minitube $ tazpkg info packages/comix-4.0.4.tazpkg
Descrição do pacote (desc ou -d).
$ tazpkg desc busybox
Lista todos os arquivos instalados com um pacote (list-files ou -lf). Este comando simplesmente lerá e exibirá o files.list de cada pacote, que é gerado automaticamente quando o pacote é criado e também é usado para remover arquivos ao desinstalar um pacote.
$ tazpkg list-files bc
Os comandos block (ou -b) e unblock (ou -u) permitem bloquear versões de pacotes instalados para que não sejam mantidas por um upgrade. O comando chblock muda o estado de bloqueio do pacote. A lista de pacutos em espera está contida no /var/lib/tazpkg/blocked-packages.list. Este arquivo também pode ser editado manualmente.
# tazpkg block grub # tazpkg unblock grub # tazpkg chblock grub
Verifica dependências em pacotes instalados e determina se todos os arquivos necessários para o reempacotamento dos pacotes estão presentes. Você pode especificar o nome do pacote para verificar ou verificar todos os pacotes instalados. A opção --full faz mais algumas verificações e precisa de mais tempo.
$ tazpkg check $ tazpkg check --full $ tazpkg check nano $ tazpkg check sakura --full
Gera uma lista de bugs conhecidos nos pacotes. Você pode especificar um único pacote para mostrar bugs.
$ tazpkg bugs $ tazpkg bugs nano
Exibe uma árvore de dependências ou árvore de dependências reversas para um pacote.
Para o comando depends: a opção --mark marca pacotes instalados com sinal
de mais e não instalados com um sinal de menos/traço. A opção --total calcula o número de
pacotes exibidos e seu tamanho. Além disso, com ambas as opções ao mesmo tempo, você obterá o
número e tamanho de pacotes a serem instalados.
Para o comando rdepends: sem a opção --all você obterá a lista
de apenas pacotes de dependência reversa instalados, com esta opção — uma lista de todos
os pacotes disponíveis. A opção --mark marca pacotes como no comando
depends.
$ tazpkg depends mpd $ tazpkg rdepends mpd
Extrai um pacote em um diretório (extract ou -e). Se você não especificar o diretório de destino, o pacote será extraído no diretório atual usando o nome pacote-versão.
$ tazpkg extract package.tazpkg $ tazpkg extract package.tazpkg target/dir
Cria um pacote a partir de um diretório preparado antecipadamente ou de um pacote desempacotado. Também pode criar manualmente um pacote .tazpkg (veja a documentação do Cookutils para a criação automática de pacotes).
# tazpkg pack package-version
Recria um pacote a partir dos arquivos em um sistema onde ele foi previamente instalado.
# tazpkg repack package
Recria um pacote dos arquivos de configuração do sistema (veja list-config). É suficiente instalar o pacote para encontrar a configuração atual.
# tazpkg repack-config
Recomprime o arquivo cpio .tazpkg com lzma.
# tazpkg recompress package.tazpkg
Converte um pacote "alien" em um pacote SliTaz (.tazpkg) (convert ou -c).
Formatos de pacotes suportados:
# tazpkg convert alien-package-file
Lista pacotes sugeridos para cada um dos seus pacotes instalados. Com a opção --all mostra todos os pacotes sugeridos, e sem a opção mostra apenas os pacotes sugeridos não instalados.
$ tazpkg list-suggested $ tazpkg list-suggested --all
Recarrega a lista de pacotes disponíveis no mirror. Este comando baixará o banco de dados de
pacotes mais recente dos pacotes instaláveis no mirror e antes de iniciar salvará o banco de dados
antigo. Uma vez que o BD esteja atualizado, você pode então usar os comandos list e search. Para visualizar e listar as
diferenças, você pode usar list-mirror --diff; e para visualizar e atualizar pacotes,
você pode simplesmente upgrade.
O comando sem opções recarregará os bancos de dados de todos os seus repositórios. Você pode especificar o repositório a ser recarregado: "main" para o repositório principal, ou o nome do repositório undigest.
# tazpkg recharge # tazpkg recharge main # tazpkg recharge My_Undigest # tazpkg recharge --root=/mnt/sda6
O upgrade permite atualizar todos os pacotes instalados disponíveis no mirror atual (upgrade ou up). Atualizar pacotes é uma parte importante da segurança do sistema, ajuda a mantê-lo seguro com as últimas atualizações e correções. O projeto SliTaz, embora pequeno, fornece atualizações regulares de segurança e geralmente oferece as versões mais recentes do software. Note que esta função é voltada para pessoas com o SliTaz instalado em um disco rígido. Pacotes atualizados no modo Live CD serão perdidos no desligamento do sistema.
No início o banco de dados de pacotes é atualizado automaticamente (recharge) para fornecer a lista atual de pacotes que você pode atualizar.
Sem opções, executa em modo interativo e pergunta antes de instalar. Você pode especificar uma das próximas opções: -c ou --check para verificar apenas atualizações disponíveis; -i ou --install para verificar atualizações e instalá-las todas.
# tazpkg upgrade # tazpkg up --check # tazpkg up -i
Configura a URL para o mirror (setup-mirror ou -sm). O comando pedirá a URL do novo mirror. Note que você também pode modificar o arquivo principal /var/lib/tazpkg/mirror. A URL deve apontar para o diretório contendo o packages.info e os pacotes.
# tazpkg setup-mirror
Define a URL de um mirror adicional não oficial para testar pacotes que ainda não estão presentes nos mirrors oficiais. Note que você também pode editar manualmente o arquivo em /var/lib/tazpkg/undigest/repositório. A URL deve apontar para o diretório contendo os pacotes e packages.info.
# tazpkg add-undigest public-repository http://my.home.org/slitaz # tazpkg setup-undigest local-repository /home/slitaz/packages
Lista mirrors undigest adicionais. A opção --box exibirá a lista em formato de tabela.
$ tazpkg list-undigest $ tazpkg list-undigest --box
Remove a URL de um mirror undigest. Você será solicitado a confirmar.
# tazpkg remove-undigest my-repository
Cria um banco de dados TazPkg para uma pasta selecionada com pacotes *.tazpkg.
Os seguintes arquivos descrevendo pacotes serão criados dentro da pasta selecionada: packages.info, packages.equiv, descriptions.txt, files.list.lzma, IDs. Não faz nada se o banco de dados já existir; você também pode forçar a reconstrução dos arquivos do banco de dados com a opção --forced.
# tazpkg mkdb /home/boot/packages # tazpkg mkdb /home/boot/packages --forced
Christophe Lincoln <pankso at slitaz.org>