Ferramentas do usuário

Ferramentas do site


infra-estrutura:linux:gerenciamento_pacotes_yum

Gerenciamento de pacotes YUM

Instalar pacotes

yum install <nomepacote>

Remover pacotes

yum remove <nome pacote>

Pesquisar pacotes

yum search <nome pacote>

obtendo informações do pacote

yum info <nome do pacote>

Como o YUM sincroniza a lista de pacotes

No gerenciador de pacotes apt das distribuiçoes Ubuntu/debian a cada instalação de um novo pacote e conveniente executar um “apt update”, para atualizar a lista de pacotes, entretanto o gerenciador de pacotes YUM realiza essa tarefa automática quando você digita o comando de instalação. O YUM checa na hora a lista do repositório de pacotes que estão no repositório, baixando os cabeçalhos dos pacotes e calculando as dependências por isso o YUM e mais demorado que o apt. Este comportamento e controlado através da variável “metadata_expire” do arquivo de configuração /etc/yum.conf. Esta variavel define o tempo de retenção dos dados de cabeçalho e cálculo de dependência, para não ficar checando toda vez que e feito a instalação de um novo pacote. Um valor interessante que considero é o de 4 dias

metadata_expire=4d

Outra opção interessante é a flag “-C” que diz ao comando YUM para não buscar informações do repositório e sim do cache local.

yum -C install <nome do pacote>

Grupos de pacotes

Nas distribuições CentOS/RHEL/Fedora que fazem uso do gerenciador YUM, podemos instalar pacotes individuais ou grupos de pacotes em uma única operação. Um grupo de pacotes contem varios pacotes sobe um único nome, por exemplo “Development Tools”, “Web Server”, etc para verificar os grupos de pacotes disponiveis digite.

yum groups list

ou

yum grouplist

Verificando a quantidade de grupos de pacotes disponiveis e instalados

yum groups summary

Visualizando informações sobre grupos de pacotes

[root@localhost suporte]# yum groups info "Development Tools"
Last metadata expiration check: 0:06:12 ago on Tue 16 Apr 2019 09:13:35 PM -04.

Group: Development Tools
 Description: These tools include general development tools such as git and CVS.
 Mandatory Packages:
   gettext
 Default Packages:
   diffstat
   doxygen
   git
   patch
   patchutils
   subversion
   systemtap
 Optional Packages:
   archmage
   buildbot
   bzr
   colordiff
   cvs
   cvs2cl
   cvsgraph
   cvsps
   darcs
   dejagnu
   expect
   gambas3-ide
   git-annex
   git-cola
   git2cl
   gitg
   gtranslator
   highlight
   lcov
   manedit
   meld
   mercurial
   monotone
   myrepos
   nemiver
   qgit
   quilt
   rapidsvn
   rcs
   robodoc
   scanmem
   subunit
   svn2cl
   tig
   tkcvs
   tortoisehg
   translate-toolkit
   utrac

Instalando grupos de pacotes

O comando abaixo instala o grupo de pacotes chamado “Development Tools” (grupo de pacotes para desenvolvimento)

yum groups install "Development Tools"

Remover grupo de pacotes

O comando abaixo remove o grupo de pacotes “Development Tools”

yum groups remove "Development Tools"

Atualizando grupo de pacotes

O comando abaixo atualiza o grupo de pacotes “Development Tools”.

yum groupupdate "Development Tools"

Lista todos os pacotes do repositório

yum list

Exibe os pacotes que contém determinado arquivo

[root@localhost suporte]# yum provides /etc/fstab
Last metadata expiration check: 0:12:33 ago on Tue 16 Apr 2019 09:24:45 PM -04.
setup-2.12.1-1.fc29.noarch : A set of system configuration and setup files
Repo        : @System
Matched from:
Filename    : /etc/fstab

setup-2.12.1-1.fc29.noarch : A set of system configuration and setup files
Repo        : fedora
Matched from:
Filename    : /etc/fstab

[root@localhost suporte]#

Atualizar pacotes

yum update <nome do pacote>

Listar todas as atualizações disponiveis

yum check-update

Atualiza todo o sistema

yum update

Atualiza o sistema completamente(incluido pacotes obsoletos)

yum upgrade

Adicionando repositórios

Os repositórios ficam em /etc/yum.repos.d/ para o repositorio do google crie o arquivo “/etc/yum.repos.d/google.repo”, com o seguinte conteúdo:

[google]name=Google - i386
baseurl=http://dl.google.com/linux/rpm/stable/i386
enabled=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
  • baseurl - Url que busca os pacotes
  • enabled - Indica se o repositório esta ativo ou não. Ativo=1 / desativo=0
  • gpgkey - Chave de assinatura do repositório

E possivel importar a chave para o linux utilizando uma chave

rpm –import http://centos.karan.org/RPM-GPG-KEY-karan.org.txt

Removendo um repositorio

Removendo um repositório, você excluiria o arquivo da pasta, para que o yum deixe de usá-lo. É interessante também limpar o cache do yum.

yum clean headers
yum clean packages

Instalando pacote local via YUM

Se for instalar o pacote e ele não for assinado o YUM ira informar e possivel retirar essa checagem editando o arquivo “/etc/yum.conf” e alterando o parametro gpgchek para 1=ativo e 0=desativado.

yum localinstall <nome do pacote>

Utilizando proxy com YUM

Para fazer o YUM utilizar proxy edite o arquivo /etc/yum.conf e insira as linhas abaixo com informações do servidor login e senha.

proxy=http://192.168.1.1:3128
proxy_username=usuario
proxy_password=senha

Configuração Cache do YUM

O arquivo de configuração do Yum é o /etc/yum.conf, nele pode ser configurado o arquivo de log do Yum “/var/log/yum.log, arquivo de cache ”/var/cache/yum“, usado pelo Yum para armazenar os downloads dos pacotes.

A opção de apagar os pacotes baixados após a instalação ou deixá-los armazenados é configurado pelo arquivo “yum.conf”, por padrão os pacotes são apagados após a instalação. Para mudar isso, basta modificar o parâmetro da linha:

keeepcache=0

Para:

keeepcache=1