Como utilizar o urpmi

Por Gustavo Sverzut Barbieri <http://www.gustavobarbieri.com.br>

Neste texto abordarei o que é o urpmi, como configurá-lo e como utilizá-lo. Os exemplos serão baseados no Mandrake 9.1, mas o conceito é o mesmo para outras versões, como a 9.0 e outras.

O que é o urpmi

As distribuições trabalham com pacotes de software, sendo os mais comuns deles o deb e o rpm. Um pacote nada mais é do que alguns arquivos, regras para que eles sejam instalados corretamente e uma relação de quais outros pacotes este pacote depende.

Para que seja possível instalar um pacote, é necessário um software que conheça o tipo de pacote, confira as dependências e aplique as regras de instalação. Estes software são o rpm para pacotes rpm e o dkpg para pacotes deb. Só que estes software dispõe somente de recursos básicos, não fazendo coisas como fazer automaticamente o download de pacotes que faltam para resolver as dependências. É ai que entram softwares de gerenciamento de pacote, o qual tem como representante mais conhecido o apt-get da Debian.

O urpmi é algo ao apt-get correspondente para o Mandrake, não é um clone ou uma adaptação (como rodar o apt-get no Conectiva ou RedHat), e por isso tem funções parecidas, mas não idênticas.

Como instalar o urpmi

O urpmi é automaticamente instalado no Mandrake, ao menos que você retirou-o da instalação. Mas caso você não o tenha e precise instalá-lo, faça-o apartir do CD-Rom de Instalação, diretório Mandrake/RPMS/, ou a partir de provedores de pacotes, como o site http://www.rpmfind.net.

Como utilizar o urpmi

Neste texto vou ensinar a utilizar as ferramentas de linha de comando ou modo texto, mas existem ferramentas gráficas para facilitar o uso, são elas:

O urpmi é na verdade um dos comandos que você usará, segue uma listagem dos softwares e uma breve descrição, juntamente com um exemplo de uso. Lembre-se que mais informações podem ser obtidas usando a opção --help ou lendo a página manual do programa (man urpmi, por exemplo).

urpmi
Este é o principal programa a ser utilizado, ele se encarrega de instalar os pacotes, conseguir os pacotes necessários e outras funcionalidades mais.
Instalando o pacote emacs:
urpmi emacs
Instalando o pacote emacs e resolvendo as dependências sem lhe perguntar:
urpmi --auto emacs
Instalando o pacote emacs e escolhendo de qual provedor de pacotes você deseja pegar (mais informações sobre provedores de pacote a seguir). Neste exemplo, pegaremos somente pacotes do "plf" e do "updates":
urpmi --media "plf,updates" emacs
urpme
Este é o removedor de pacotes, ele basicamente faz o processo reverso ao urpmi, perguntando se você quer que pacotes que dependam deste sejam removidos também.
Removendo o pacote emacs:
urpme emacs
Removendo o pacote emacs e apagando os arquivos que dependem dele sem lhe perguntar:
urpme --auto emacs
urpmq
Esta ferramenta faz procuras por pacotes.
Procurando por emacs:
urpmq emacs
Procurando por emacs somente no provedor de pacotes de atualizações:
urpmq --update emacs
Listando os pacotes existentes:
urpmq --list
Listando os provedores de pacotes existentes:
urpmq --list-media
Listando os pacotes de um provedor de pacotes existente:
urpmq --list --media plf
Fazendo uma busca aproximada (--fuzzy ou -y) e também extende a procura para as dependências do pacote (-d):
urpmq -d -y wine
urpmf
Esta ferramenta faz procuras por arquivos fornecidos pelos pacotes, tanto os instalados quanto os disponíveis.
Procurando pelo arquivo wine.png:
urpmf wine.png
urpmi.addmedia
Este software configura um novo provedor de pacotes. Vide o texto mais abaixo sobre Como configurar os provedores de pacotes.
Instalando o provedor de pacote "plf" que resite no servidor de FTP ftp.easynet.fr:
urpmi.addmedia plf ftp://ftp.easynet.fr/plf/9.1 with hdlist.cz
urpmi.removemedia
Este software remove provedores de pacotes previamente instalados.
Removendo o provedor de pacotes "plf":
urpmi.removemedia plf
Removendo todas os provedores instalados:
urpmi.removemedia -a
urpmi.update
Este software atualiza as listas de pacotes.
Atualizar a lista do provedor de pacotes "plf":
urpmi.update plf
Atualizar todos os provedores instalados, exceto os discos de CD-Rom:
urpmi.update -a

Dos comandos citados acima, todos exceto o urpmq e urpmf precisam de permissões de super-usuário (root) para serem executados.

Como configurar os provedores de pacotes

A grande vantagem destes gerenciadores de pacotes é que eles fazem o download dos pacotes necessários automaticamente, mas para isso você precisa configurar uma lista de servidores de pacote, pois senão ele vai continuar querendo pegar somente do CD-Rom.

Por padrão ele tenta pegar primeiro do CD-Rom e somente se existir uma versão mais nova ou se você especificar o provedor com a opção --media <nome_do_provedor> é que ele pega da internet. Só que eu, por ter uma conexão rápida com a internet, prefiro esperar um pouco ele fazer o download do pacote que procurar o CD-Rom e colocá-lo no drive, principalmente quando eu tenho que ficar trocando várias vezes de CD-Rom. Por isso meu primeiro comando num sistema recém-instalado é: urpmi.removemedia -a :-). Mas isso fica a cargo de você escolher se prefere ficar trocando CD ou esperar um pouco para ter o pacote instalado.

O site Easy Urpmi é o lugar onde tem uma listagem atualizada dos servidores de pacotes disponíveis por versão de Mandrake instalados. A partir de agora, explicarei um pouco sobre o site, então acesse-o.

O site é bem simples de ser utilizado, você primeiramente escolhe a versão do seu Mandrake ou coloca em Cooker se quiser utilizar a versão instável ou de desenvolvimento, ela costuma ter os pacotes mais novos, mas ela é instável e só deve ser utilizada por pessoas mais experientes. Depois escolha a arquitetura de seu computador, a maioria aqui fica com o valor i586 que significa Pentium e parecidos (AMD, Via, ...), mas se você possuir um Opteron (:-)) escolha o x86_64. Depois marque a opção [X] Show specific sources too e clique em proceed to step 2.

Nesta segunda parte escolheremos os provedores de pacotes, selecione as caixas correspondentes e tente escolher um local mais próximo ao Brasil, no dia em que foi escrito este documento (24 de Maio de 2003) existia um provedor "Brazil Brasilia", que fica na UNB. A descrição de cada item é:

Na terceira parte são pacotes extras, mas lembre-se de escolher o provedor plf, ele é essencial a um usuário doméstico de Mandrake. Isto porque ele contém pacotes os quais nós podemos* utilizar mas que não podem ser distribuidos mundialmente pois a lei dos Estados Unidos da América (leia DMCA) não permite. Estes pacotes incluem coisas muito boas, como o MPlayer (um ótimo tocador de DVD, AVI, DivX, etc...), FreeType2 com interpretador de ByteCode (para as letras, "fontes", ficarem mais bonitas) e outras coisas boas também, portanto marque esta opção e escolha um espelho. As outras opções todas eu costumo não escolher.

Se você for utilizar-se dos pacotes da PLF, precisa registrar a assinatura deles, para isso faça como root:

lynx -source http://plf.zarb.org/plf.asc | gpg --import

Pressionando o botão proceed to step 3 ele vai retornar uma série de comandos a serem executados por você, copie e cole a relação de comandos (urpmi.addmedia) em um terminal, como o usuário root.

Uma boa relação é a que segue:

PLF:
urpmi.addmedia plf ftp://ftp.easynet.fr/plf/9.1 with hdlist.cz
Pegar a assinatura da PLF:
lynx -source http://plf.zarb.org/plf.asc | gpg --import
Arquivos da Distribuição (os mesmos que no CD-Rom):
urpmi.addmedia main ftp://mirror.fis.unb.br/pub/linux/Mandrake/9.1/i586/Mandrake/RPMS with ../base/hdlist.cz
Contribuições:
urpmi.addmedia contrib ftp://mirror.fis.unb.br/pub/linux/Mandrake/9.1/contrib/RPMS with ../../i586/Mandrake/base/hdlist2.cz
Atualizações:
urpmi.addmedia --update updates ftp://mirror.cs.wisc.edu/pub/mirrors/linux/Mandrake/updates/9.1/RPMS/ with ../base/hdlist.cz

Pronto! Agora é só sair dando urpmi <programa_que_você_quiser> e ser feliz! Chega de ficar horas resolvendo dependências para instalar os programas! Só que lembra de atualizar sua lista de pacotes (urpmi.update -a) regularmente!

Mais informações sobre o Urpmi

Você pode obter mais informações sobre o urpmi nos seguintes sites:

A Alca e o Software

Pessoal, sabe o que eu citei que os pacotes da PLF não podiam ser distribuidos nos CDs da Mandrake pois nos Estados Unidos estes pacotes são proibidos, mas aqui no Brasil, na França e em outros países que presam por suas pessoas e não somente por suas malditas empresas, então, caso o Brasil entrar para a ALCA, todas estas leis escrotas vão entrar em vigência aqui também, acabando com nossa liberdade e outras coisas mais, como por exemplo a produção de Software nacional e inibir o nascimento de uma indústria de hardware. Se você quiser saber mais informações sobre este assunto, entre em contato com: softwarelivre@rau-tu.ic.unicamp.br que nós do GPSL (Grupo Pró Software Livre) da UNICAMP teremos o maior prazer em lhe informar das consequências da ALCA em termos de tecnologia para o Brasil.

Portanto, ALCA NÃO!

Agradecimentos:

Gostaria de agradecer ao site LinuxDicas http://www.linuxdicas.com.br e ao Dicas-L http://www.dicas-l.unicamp.br por veicularem o artigo!