Prática: Gerenciamento de pacotes RPM e YUM

Soluções para configurar seu sistema e software Linux

Retornar aos exercícios

A saída exata dos vários comandos irá variar dependendo de como o seu sistema está configurado.

Solução do exercício 1. Instalar um pacote RPM

A Listagem 1 mostra como executar esse procedimento.

Listagem 1. Usar o comando rpm para instalar um pacote
[tbost@t60 ~]$ sudo yumdownloader rpl
[tbost@t60 ~]$ sudo rpm -ivh rpl-1.5.5-3.fc12.noarch.rpm 
Preparing...                ########################################### [100%]
   1:rpl                    ########################################### [100%]

A sequência de etapas do exercício 1 é a seguinte:

  1. Como usuário sudo, use o comando yumdownloader para fazer o download do arquivo RPM.

    Dependendo da sua distribuição do Linux, o nome do pacote pode variar. Como alternativa, é possível fazer o download do pacote de um site espelho respeitado.

  2. Como usuário sudo, use o comando rpm -ivh para instalar o arquivo.

    O i instrui uma instalação. O v sinaliza uma saída detalhada, enquanto o sinalizador h exibe o progresso como uma série de hashes durante a instalação.

Observação: Dependendo da sua distribuição do Linux e do método de download, a versão do rpl pode diferir do que é mostrado na Listagem 1.

Solução do exercício 2. Usar o RPM para consultar informações

A Listagem 2 mostra como continuar.

Listagem 2. Usar o comando rpm -q para consultar
[tbost@t60 ~]$ rpm -q rpl
rpl-1.5.5-3.fc12.noarch
[tbost@t60 ~]$ rpm -ql rpl
/usr/bin/rpl
/usr/share/doc/rpl-1.5.5
/usr/share/doc/rpl-1.5.5/COPYING
/usr/share/man/man1/rpl.1.gz
[tbost@t60 ~]$ rpm -qf /bin/ls
coreutils-8.5-7.fc14.i686

A sequência de etapas do exercício 2 é a seguinte:

  1. Use o comando rpm -q rpl para consultar se o pacote está instalado.

    Se o rpl não estiver instalado, a saída exibirá o pacote rpl não está instalado.

  2. Use o comando rpm -ql rpl para listar todos os arquivos de propriedade do rpl .
  3. Use o comando rpm -qf /bin/ls para retornar o pacote que pertence ao arquivo /bin/ls.

    O arquivo /bin/ls pertence ao pacote coreutils .

Observação: Os privilégios raiz ou sudo não são obrigatórios para a execução de consultas no banco de dados do RPM. Dependendo da sua distribuição do Linux, a versão do rpl pode diferir da Listagem 2.

Solução do exercício 3. Usar o RPM para remover um pacote

A Listagem 3 mostra o comando que deve ser usado.

Listagem 3. Usar o comando rpm para remover um pacote
[tbost@t60 ~]$ sudo rpm -e rpl
[tbost@t60 ~]$

Digite o comando sudo rpm -e rpl para remover o pacote. O e é de apagar. Uma remoção bem-sucedida retorna para o shell sem erros, conforme indicado na Listagem 3.

Solução do exercício 4. Usar o YUM para localizar informações sobre software

A Listagem 4 mostra como executar esse procedimento.

Listagem 4. Instalar software com YUM
[tbost@t60 ~]$ yum list tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Available Packages
tcsh.i686 
[tbost@t60 ~]$ yum info tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Available Packages
Name        : tcsh
Arch        : i686
Version     : 6.17
Release     : 12.fc14
Size        : 404 k
Repo        : updates
Summary     : An enhanced version of csh, the C shell
URL         : http://www.tcsh.org/
License     : BSD
Description : Tcsh is an enhanced but completely compatible version of csh, the C
            : shell.  Tcsh is a command language interpreter which can be used both
            : as an interactive login shell and as a shell script command processor.
            : Tcsh includes a command line editor, programmable word completion,
            : spelling correction, a history mechanism, job control and a C language
            : like syntax.

[tbost@t60 ~]$ yum deplist tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Finding dependencies: 
package: tcsh.i686 6.17-8.fc14
  dependency: rtld(GNU_HASH)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libc.so.6(GLIBC_2.3)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libc.so.6
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libc.so.6(GLIBC_2.1)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libc.so.6(GLIBC_2.0)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: grep
   provider: grep.i686 2.7-1.fc14.1
   provider: grep.i686 2.7-2.fc14
  dependency: libc.so.6(GLIBC_2.3.4)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libcrypt.so.1(GLIBC_2.0)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libcrypt.so.1
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: /bin/sh
   provider: bash.i686 4.1.7-3.fc14
.....
.....
......
[tbost@t60 ~]$

A sequência de etapas da tarefa 1 é a seguinte:

  1. Use o comando yum list tcsh para consultar a disponibilidade do tcsh.

    Se não tiver certeza do nome do pacote, é possível usar como alternativa o comando yum search .

  2. Quando souber o nome do software, use o comando yum info tcsh para consultar informações mais detalhadas como o licenciamento, o tamanho do software, a versão disponível e a descrição do propósito do software.
  3. Use o comando yum deplist tcsh para consultar as dependências necessárias do software disponível.

    Uma função interessante do YUM que não está disponível com o comando rpm é a capacidade de localizar e instalar dependência.

Observação: Assim como ocorre com o comando rpm , os privilégios raiz e sudo não são obrigatórios para a execução de consultas com o YUM. Dependendo da sua distribuição do Linux, as versões podem diferir do software mostrado na Listagem 4.

Solução do exercício 5. Usar o YUM para instalar software

A Listagem 5 mostra as entradas e as saídas esperadas.

Listagem 5. Instalar software com dependências
[tbost@t60 ~]$ sudo yum install tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package tcsh.i686 0:6.17-12.fc14 set to be installed
--> Finished Dependency Resolution

Dependencies Resolved

.....
.....
.....
.....

Install       1 Package(s)

Total download size: 404 k
Installed size: 1.1 M
Is this ok [y/N]: y

Assim como ocorre com o sudo, digite sudo yum install tcsh para instalar o tcsh juntamente com qualquer dependência necessária que não está instalada. Observe que a linha final da Listagem 5 mostra que o YUM precisa da sua aprovação antes de tentar instalar qualquer software. O valor padrão é n, então é necessário digitar explicitamente y para concluir a instalação. Como alternativa, é possível digitar sudo yum install -y tcsh para instruir o YUM a fazer o download e instalar automaticamente o software.

Observação: Dependendo da sua distribuição do Linux, a versão pode diferir do software mostrado na Listagem 5.

Solução do exercício 6. Usar o YUM para remover software

A Listagem 6 fornece a solução.

Listagem 6. Remover software com yum
[tbost@t60 ~]$ sudo yum remove tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package tcsh.i686 0:6.17-12.fc14 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

........
........
........

Installed size: 1.1 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing  : tcsh-6.17-12.fc14.i686   1/1

Removed:
  tcsh.i686 0:6.17-12.fc14                                                            

Complete!
[tbost@t60 ~]$

Assim como ocorre com o sudo, digite sudo yum remove tcsh para remover o tcsh juntamente com qualquer outra dependência que tenha sido instalada e não é mais necessária por nenhum software atual no seu computador. Observe novamente na Listagem 6 que o YUM solicita sua aprovação antes de tentar remover qualquer software. O padrão é n, então é necessário digitar explicitamente y para concluir o processo de remoção. Como alternativa, é possível digitar sudo yum remove -y tcsh para instruir a remoção sem prompt.

Observação: Dependendo da sua distribuição do Linux, a versão pode diferir do software mostrado na Listagem 6.

Retornar aos exercícios