Do mesmo modo que existe uma nomenclatura para identificar
as bibliotecas, os pacotes também tem sua padronização de nomes.
Entender a padronização de nomes é essencial para o administrador,
já que é preciso localizar o pacote correto para o seu sistema.
Instalar um pacote indevido pode causar erros no sistema.
O nome do pacote passa diversas informações para o administrador
de forma tácita. Assim, um pacote chamado
libjpeg-devel_6b-45982cl_i386.rpm é corretamente identificado pelas
partes que compõem seu nome. A nomenclatura de pacotes segue o
seguinte padrão:
Nome-composto_Versão-Distribuição_Arquitetura.rpm
- libjpeg-devel - É o nome do pacote. Este nome é usado em todas as operações que envolvam o pacote posteriormente à sua instalação. Quando mais de uma palavra identifica o nome do pacote são usados traços (-) separando cada nome.
- 6b - Identifica a versão do programa. Este valor muda a cada alteração feita no código fonte.
- 45982cl - Informa a atualização (release) feita pelo distribuidor do pacote. Neste caso o sufixo cl (Conectiva Linux) identifica a empresa responsável pela distribuição.
- i386 - Identifica para qual arquitetura (tipo de processador) este pacote foi desenvolvido.
As arquiteturas mais comuns encontradas em pacotes RPM são:
- i386, i686, athlon - Para máquinas com estas famílias de processadores.
- noarch - Programas que não dependem de arquitetura pois são executados em máquinas virtuais. Por exemplo, programas Java.
- src - Pacotes independentes de arquitetura já que são código fonte.
Usar o pacote correto para sua arquitetura de processador é muito
importante, pois a diferença neste caso é que durante a compilação
destes pacotes o compilador é otimizado para esta arquitetura
específica. A vantagem é que os programas passam a ser executados
mais rapidamente quando compilados com opções específicas do seu processador.
Usando o nome do pacote podemos identificar as demais partes que
compõem o nome completo do pacote. Por exemplo, para obter informações
sobre o pacote libjpeg-devel que já está instalado no sistema usamos o
seguinte comando:
# rpm -qi libjpeg-devel
Name : libjpeg-devel Relocations: (not relocatable)
Version : 6b Vendor: Conectiva
Release : 45982cl Architecture: i386
Group : Desenvolvimento License: Distributable
Size : 74327
Install Date: Dom 13 Fev 2005 04:06:11 UTC
Build Date : Qua 21 Jan 2004 04:05:20 UTC
Build Host : mapi8.distro.conectiva
Source RPM : libjpeg62-6b-45982cl.src.rpm
Signature : DSA/SHA1, Seg 21 Jun 2004 20:32:35 UTC, Key ID e368ddd099807190
Packager : Conectiva S.A. <security@conectiva.com.br>
URL : http://www.ijg.org/
Summary : Arquivos de inclusão e bibliotecas para desenvolver programas usando libjpeg
Description : Este pacote é tudo que você precisa para desenvolver programas que manipulam imagens jpeg, incluindo documentação.
Neste ponto, cabe lembrar que as mesmas bibliotecas podem estar
instaladas no sistema em diferentes formatos. Neste caso, o pacote
libjpeg-devel é um pacote de desenvolvimento. Ele provê arquivos
de inclusão (cabeçalhos) e bibliotecas fonte para compilar
aplicativos que usem essas dependências. Seu equivalente é o pacote
libjpeg62, que contém somente as bibliotecas no formato
pré-compilado sem os arquivos de inclusão no formato de código fonte. Somente com o pacote libjpeg62 instalado não é possível compilar programas que usam estes dependências.