Install and update software packages from Red Hat Network, or a remote repository:

Um dos aspetos mais importantes num sistema é a capacidade de instalar e gerir diferentes tipos de pacotes presentes no mesmo, sendo estas instalações as responsáveis por personalizar o servidor dando-lhe a capacidade de agir pendente as diferentes necessidades existentes. Num sistema RHEL todos os pacotes de instalação são do tipo RPM sendo que são usados utilitários como o yum e o rpm de modo a gerir esses mesmos pacotes.

Para começar temos de perceber, como é que instalamos um novo programa\funcionalidade no sistema?

De modo geral e simples, temos de perceber que quando mandamos ao sistema instalar um novo programa o que ele realmente está a fazer é a comunicar com um repositório, e está a gerir não só o software pretendido, como todas as suas dependências, de modo a poder criar o mesmo de forma utilizável pelo sistema. Sendo assim o processo ,neste tópico vamos faseada-mente observar e compreender estas diferentes etapas, começando por analisar o que realmente é um repositório e como é que configuramos um no nosso sistema.

Gestão de Repositórios:

Um Repositório não é nada mais do que um aglomerado de pacotes que estão agrupados e prontos para serem instalados em diferentes sistemas. Um repositório no caso mais comum trata-se de um servidor remoto que tem todos os pacotes disponíveis, para quando uma máquina cliente quiser instalar algo. Nestas situações o cliente questiona o server se esse pacote existe, e se sim, o servidor envia os ficheiros necessários para o cliente montar e instalar essa mesmas aplicação.

Podemos começar por ver quais os repositórios que temos configurados e ativos no nosso sistema através do seguinte comando:

# yum repolist all

Sendo que o comando acima mostra-nos todos os repositórios, podemos segmentar a busca caso pretenda-se visualizar apenas os repositórios que estejam ativos ou inativos:

# yum repolist enabled
# yum repolist disabled

Contudo com estes comandos vemos só o que está configurado no sistema, caso queríamos configurar um novo repositório no nosso sistema, temos 2 métodos, pendente o tipo de repositório que queiramos configurar, ou remotamente, ou localmente.

Caso queiramos configurar um repositório remotamente o processo é muito simples. Todos os repositórios têm um ficheiro (.repo) que os identifica e os caracteriza, que se encontra sempre no diretório /etc/yum.repos.d. Aqui encontramos diferentes ficheiros, cada um com a configuração de cada repositório que o sistema irá procurar quando for solicitada a instalação de algum pacote. Para configurar-mos um novo repositório devemos respeitar as seguinte sintaxe nestes ficheiros:

[Nome]
name=[Nome]
baseurl=[URL_do_Repositorio]
gpgcheck=[0\1]
gpgkey=[Path_da_GPG.Key]
enabled=[0\1]

Note-se que este é apenas o exemplo mais simples sendo que existem inúmeras outras configurações que podem ser aplicadas neste ficheiro, algumas outras opções podem ser consultadas no seguinte link.

Contudo pode-se dar o caso que seja pretendido configurar um repositório localmente, ou seja, definir que a máquina em que estamos a trabalhar seja ela o repositório e sirva os diferentes clientes na rede com os ficheiros necessários para as instalações dos pacotes. Para agirmos deste modo primeiramente necessitamos de ter as aplicações que pretendemos servir aos clientes já no nosso sistema, caso estejam num DVD pode ser ou alterado o ficheiro /etc/fstab de modo a montar esse mesmo DVD sempre no sistema, ou copiar todos os seus conteúdos para um diretório localmente, contudo não serão aqui dados exemplos em código destes processos dado a simplicidade dos mesmos.

Tendo todos os pacotes que queremos distribuir já colocados no nosso sistema, podemos melhorar a eficiência do nosso servidor criando meta-dados na diretoria em questão de modo ao yum saber melhor lidar com os diferentes pedidos, para isso necessitamos de instalar um novo utilitário:

# yum -y install createrepo

E de seguida aplicar as alterações ao [Directorio] onde temos todos os pacotes:

# createrepo –database [Directorio]

Caso não seja automaticamente criado devemos para finalizar este processo, criar um ficheiro .repo, no directório /etc/yum.repos.d/ com o seguinte sintaxe:

[Nome]
name=[Nome]
baseurl= file://[Directorio]
enabled=1

Finalizamos limpando toda a cache existente no yum de modo a limitar os possíveis erros que possam surgir:

# yum clean all

Tendo já os nossos repositórios configurados e ativos no nosso sistema podemos então instalar qualquer pacote que esteja existente nos mesmo, ficam abaixo apenas mais alguns truques para facilitar a gestão de repositórios:

Caso queiramos ativar ou desativar permanentemente algum repositório podemos usar o seguinte comando:

# yum-config-manager --enable [Repositorio]
# yum-config-manager --disable [Repositorio]

Caso seja pretendido ativar apenas momentaneamente algum repositório contudo, para instalar apenas algum pacote, podemos ativar temporariamente o repositório durante a instalação com o seguinte comando:

# yum –enablerepo=[Repositorio] install [Pacote]

YUM

Tal como já foi brevemente referido anteriormente o utilitário que é maioritariamente usado no gerênciamento de pacotes num sistema RHEL é o yum, este utilitário pode ser ainda expandido com outras funcionalidades caso seja pretendido, contudo nesta documentação pretendemos apenas nos focar nos aspetos principais do mesmo. O yum de forma simples apenas faz querys aos servidores com os repositórios, e obtém algumas informações sobre as aplicações que estão no sistema. É com este utilitário que somos capazes de instalar\desinstalar, atualizar, e obter informações dos diferentes pacotes.

Abaixo ficam os comandos que mais frequentemente serão usados juntamente com o yum para gerir os diferentes pacotes:

  • Instalar \ Desinstalar um [Pacote]:

# yum install [Pacote]
# yum remove [Pacote]
  • Para atualizarmos todos os pacotes que temos no sistema:

# yum update

  • Caso seja pretendido listar pacotes, ou instalados ou apenas disponíveis usamos os seguintes comandos:

# yum list all
# yum list installed
# yum list available
  • Para obtermos informações sobre um [Pacote]:

# yum info [Pacote]

  • Pode se dar o caso em que pretendemos apenas verificar quais os pacotes que existem que tenham algum nome em particular, para isso usamos o seguinte comando:

# yum search [Nome]

  • Outra possibilidade é o facto de sabermos que algum pacote cria um determinado [Ficheiro], contudo não sabemos qual é o nome do pacote, nessa caso usamos o seguinte comando:

# yum whatprovides [Ficheiro]

  • Ou caso queiramos apenas ver as dependências de um determinado [Pacote] usamos:

# yum deplist [Pacote]

Em alguns casos, quando diferentes pacotes são frequentemente usados em conjunto para cumprir uma determinada função são criados [Grupos], de modo a gerir estes pacotes como um só de forma mais eficiente, para podermos trabalhar com estes [Grupos], usamos os seguintes comandos:

# yum groupinstall “[Grupo]”
# yum groupremove “[Grupo]”
  • Para vermos todos os grupos que estão instalados no nosso sistemas podemos usar o seguinte comando:

# yum grouplist

  • Para se obter informações sobre um determinado [Grupo], em particular usamos o comando:

# yum groupinfo “[Grupo]”

RPM

Apesar do utilitário yum ser preferencialmente usado aquando instalação de novos pacotes no sistema, o comando rpm é o que realmente gere a montagem dos pacotes e a devida instalação dos mesmos em background, o yum tem como principal propósito ser o front-end para o rpm, contudo isto não implica que deva ser usado o rpm para a instalação de todos os pacotes, isto pois o yum, tem muitos mais mecanismos de controlo de versionamento de modo a limitar possíveis problemas aquando gerenciamento de múltiplos pacote ao mesmo tempo.

Note-se que mesmo assim é possível utilizar o rpm para instalar algum pacote, contudo este não toma atenção a nível das dependências necessárias, causando assim vários problemas na utilização das aplicações resultantes.

O rpm também é um utilitário bastante complexo sendo que podem ser consultados todos os dados em torno deste utilitário no seu site official, onde estão disponibilizados inúmeros matérias que melhor descrevem em pormenor todo o manuseamento do mesmo.

No contexto desta documentação ficam aqui apenas alguns dos comandos mais frequentemente usados com o rpm de modo a verificar no sistema os pacotes existentes:

  • Instalar um Pacote:

# rpm -ivh

  • Update de Pacote:

# rpm -Uvh

  • Apagar \ Remover Pacote:

# rpm -ev

  • Listar todos os pacotes instalados:

# rpm -qa

  • Obter informações sobre um [Pacote]:

# rpm -qi [Pacote]

  • Descobrir a lista de ficheiros associados a um determinado [Pacote]:

# rpm -ql [Pacote]

  • Ver todos os ficheiros de configuração associados a um determinado [Pacote]:

# rpm -qc [Pacote]

  • Obter a lista de todos os ficheiros modificados no sistema:

# rpm -qVa

  • De modo a verificarmos o histórico de alterações em algum determinado [Pacote]:

# rpm -q –changelog [Pacote]

Last updated

Was this helpful?