Slackware Linux e… o gerenciamento de pacotes – parte 1

Slackware logo

Fui questionado a respeito do modo como a Slackware Linux lida com a instalação de seus aplicativos, ou seja, a forma como é feito o gerenciamento de pacotes na distribuição, e como sempre, o questionamento estava relacionado a resolução de dependências. A resposta é simples, não há resolução de dependências, por padrão, no gerenciamento de pacotes da distribuição. Mas, veja bem, eu disse por padrão, não disse que não era possível dispôr do recurso quando se usa a Slackware Linux.

Para tentar esclarecer o assunto, começo agora uma nova série de artigos chamada “Slackware Linux e…”, que tratará não só sobre este tópico, mas vários outros que virão em seguida, e que geralmente são dúvida de usuários de outros sistemas GNU/Linux, não derivados desta distribuição, ou de outros sistemas operacionais, interessados em começar a usar uma distribuição GNU/Linux. Portanto, vamos lá! E para começar, vamos ver o que dizem os desenvolvedores da distribuição sobre este primeiro assunto da série.

Consultando a documentação disponível no projeto SlackDocs, mantida por colaboradores, e administrada por membros da equipe de desenvolvimento da Slackware Linux, encontramos a seção que trata sobre o assunto gerenciamento de pacotes, onde há registros sobre como a equipe aborda esse tópico.

Na opinião dos desenvolvedores, embora a grande maioria das distribuições implemente a resolução automática de dependências, algumas das razões pelas quais a Slackware Linux não disponibiliza esse recurso são:

  • A resolução automática de dependências requer que a manutenção relacionada a este recurso tenha desenvolvimento constante, e adiciona potencial para um “tormento em dependências”;

  • A distribuição oficial da Slackware Linux é intencionada para atuar como um todo coeso. Assim, o gerenciamento de dependências é um tanto irrelevante já que a instalação de toda a distribuição (a forma recomendada) cuida da maioria dos problemas de dependências;

  • Diversas aplicações de Código Aberto podem ser compiladas com diferentes dependências baseadas em mudanças de configuração em tempo de compilação. Isso faz com que a manipulação de dependências se torne mais difícil e a redistribuição de binários de softwares de terceiros mais suscetível a erros.

  • A distribuição oficial da Slackware Linux não dispõe de recursos ou mão de obra suficiente para gerir a manipulação de dependências para softwares de terceiros, o que é uma tarefa complexa, que exige uma série de testes, e é propensa a erros, como mencionado acima.

Dito isto, a página ainda trás a recomendação para a utilização de uma ferramenta que pode ser instalada na distribuição, e que pode lidar com a resolução automática de dependências para softwares de terceiros, e à qual fiz apenas menção no início deste texto, além de sugerir a utilização de uma distribuição GNU/Linux, chamada Salix OS, derivada da Slackware Linux, e que disponibiliza a resolução de dependências por padrão. Falaremos sobre a ferramenta citada em um post dedicado a ela, em um novo texto da série “Slackware Linux e…”.

Agora que já sabemos a opinião, e os motivos, pelos quais os desenvolvedores da Slackware Linux não implementaram o recurso de resolução automática de dependências, vejamos então como é feito o gerenciamento de pacotes nesta distribuição.

Bem, a princípio, a Slackware Linux dispõe, por padrão, de algumas ferramentas que compõem a base do gerenciamento de pacotes na distribuição. Entre estas encontramos a installpkg, a upgragepkg, a removepkg, além da pkgtool, que concentra um menu em que as ferramentas citadas anteriormente também são utilizadas. Todas elas necessitam que o usuário esteja acessando o sistema com poderes de administrador, e sejam executadas em um terminal.

Cada uma das ferramentas tem sua funcionalidade bem definida, instalando, atualizando, ou removendo pacotes. Já a pkgtool realiza diversas funções, sendo inclusive invocada durante a instalação do sistema, podendo citar como exemplos a instalação de pacotes utilizando o diretório corrente, a partir de um diretório diferente, ou de uma mídia específica, a remoção de pacotes que estejam atualmente instalados no sistema, mostrar uma visão geral dos pacotes instalados com suas descrições, além da opção de escolha de scripts executados durante a instalação, para serem novamente executados, alterando opções anteriormente selecionadas.

Para executar a ferramenta pkgtool, basta digitar o comando no terminal, sem a necessidade de opções adicionais, como no exemplo a seguir:

# pkgtool

Para apenas instalar pacotes na Slackware Linux, utilizamos o comando installpkg, juntamente com algumas opções, como mostram os exemplos a seguir:

Instalando um pacote a partir do diretório corrente

# installpkg -opções nome.do.arquivo-versão-arquitetura.txz

Instalando vários pacotes a partir de um diretório diferente

# installpkg -opções /local/onde/estão/os/arquivos/*.txz

Remover pacotes do sistema é tão fácil quanto instalá-los, e para isso utilizamos o comando removepkg, juntamente com algumas opções, conforme observamos no exemplo a seguir:

 # removepkg -opções nome.do.arquivo-versão-arquitetura.txz

Da mesma forma, atualizar um pacote já instalado é um procedimento simples, bastando para isso utilizar o comando upgradepkg, que atualiza o pacote instalado, e em seguida remove quaisquer outros arquivos e diretórios remanescentes que tenham restado do pacote anterior. Para tanto, basta digitar o comando, juntamente com algumas opções, como no seguinte exemplo:

# upgradepkg -opções nome.do.arquivo-versão-arquitetura.txz

Uma informação útil é que o comando upgradepkg não verifica previamente se a versão do pacote já instalado é superior à do “novo” pacote, portanto o mesmo comando pode ser utilizado também para realizar o downgrade de versões.

Bem, estas são as ferramentas básicas para o gerenciamento de pacotes, disponibilizadas por padrão na Slackware Linux. No próximo artigo desta série, veremos a ferramenta slackpkg, desenvolvida e mantida por um brasileiro. Para obter maiores informações a respeito de cada uma das ferramentas citadas, bem como verificar as opções aceitas por cada uma delas, basta acessar a man page referente à ferramenta que deseja consultar, também através do terminal.

Espero que tenham gostado deste primeiro artigo, mas caso tenham alguma correção, sugestão ou mesmo crítica, não deixem de deixar seus comentários aqui abaixo. Tão logo eu os revise ( ou seja, apagar um bocado de spams que vem junto a eles ) eu os liberarei e responderei quando necessário ou possível. Até breve!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s