Manual do TazPkg

Nome

TazPkg — Tiny autonomous zone package manager (Gerenciador de pacotes do SliTaz).

Sintaxe
tazpkg [comando] [opções...]
Descrição

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.

Ambiente

O TazPkg usa algumas variáveis de ambiente:

Arquivos
Arquivos de configuração
Arquivos do banco de dados de pacotes

O local padrão do banco de dados de pacotes é /var/lib/tazpkg.

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:

Cache

O local padrão do cache de pacotes é /var/cache/tazpkg com subpastas para os diferentes repositórios. É exatamente /var/cache/tazpkg/cooking/packages para a versão do SliTaz baseada em cooking.

Arquivos diversos

O arquivo com local padrão /var/log/slitaz/tazpkg.log armazena o log de atividade do TazPkg. O log armazena cinco tipos de ações: instalação, desinstalação, bloqueio, desbloqueio, reconfiguração de pacotes.

Informações MIME compartilhadas que permitem "adivinhar" arquivos de pacotes SliTaz, receipts de pacotes e arquivos de flavor SliTaz. Arquivo colocado aqui: /usr/share/mime/packages/tazpkg.xml.

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.

Comandos

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. A propósito, usar esta opção permite instalar o SliTaz em outro sistema de arquivos "do zero" e atualizar pacotes do SliTaz remotamente.

Comandos de serviço
Trabalhando com listas
Busca
Instalando e removendo pacotes
Trabalhando com pacotes
Trabalhando com repositórios
Comandos de serviço

usage

Mostra a lista completa dos comandos do TazPkg com uma breve descrição.

$ tazpkg usage

help

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

activity

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

clean-cache

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

list-cache

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

shell

Executa o shell interativo do TazPkg. Aqui você pode digitar todos os comandos do TazPkg listados acima.

$ tazpkg shell
# tazpkg shell
Trabalhando com listas

list

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

list-mirror

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

list-config

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

search-pkgname

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

search-file

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
Instalando e removendo pacotes

get

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

install

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

get-install

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

get-list, install-list, get-install-list

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

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

reconfigure

Executa novamente o script de pós-instalação do pacote.

# tazpkg reconfigure gcc
# tazpkg reconfigure gcc --root=/mnt/sda6

set-release

Este comando muda a versão atual e atualiza todos os pacotes para o lançamento mais recente.

# tazpkg set-release cooking

add-flavor, install-flavor

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
Trabalhando com pacotes

info

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

desc

Descrição do pacote (desc ou -d).

$ tazpkg desc busybox

list-files

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

block, unblock, chblock

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

check

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

bugs

Gera uma lista de bugs conhecidos nos pacotes. Você pode especificar um único pacote para mostrar bugs.

$ tazpkg bugs
$ tazpkg bugs nano

depends, rdepends

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

extract

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

pack

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

repack

Recria um pacote a partir dos arquivos em um sistema onde ele foi previamente instalado.

# tazpkg repack package

repack-config

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

recompress

Recomprime o arquivo cpio .tazpkg com lzma.

# tazpkg recompress package.tazpkg

convert

Converte um pacote "alien" em um pacote SliTaz (.tazpkg) (convert ou -c).

Formatos de pacotes suportados:

# tazpkg convert alien-package-file

list-suggested

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
Trabalhando com repositórios

recharge

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

upgrade

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

setup-mirror

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

add-undigest, setup-undigest

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

list-undigest

Lista mirrors undigest adicionais. A opção --box exibirá a lista em formato de tabela.

$ tazpkg list-undigest
$ tazpkg list-undigest --box

remove-undigest

Remove a URL de um mirror undigest. Você será solicitado a confirmar.

# tazpkg remove-undigest my-repository

mkdb

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
Mantenedor

Christophe Lincoln <pankso at slitaz.org>