Caros colegas da comunidade,
Publico aqui uma solução que me ajuda constantemente, vamos adentrar um pouco sobre os repositórios de derivados
Red Hat.
Quando usuários assíduos do sistema, como eu, necessitam instalar aplicações que estão disponíveis em repositórios não oficiais ou oficiais, mas que não estejam instaladas na lista de repositórios do
yum, aí que vem o problema e a solução...!
Escrevi este script que faz a automatização da criação do arquivo de repositório. Aqui vai o script:
#!/bin/bash
#by roberto fettuccia
#### funções
getMkrepo()
{
nome="$1"
link="$2"
printf "[$nome]\n" >> /etc/yum.repos.d/$nome.repo
printf "name=$nome \n" >> /etc/yum.repos.d/$nome.repo
printf "baseurl=$link \n" >> /etc/yum.repos.d/$nome.repo
printf "enabled=1 \n" >> /etc/yum.repos.d/$nome.repo
printf "gpgcheck=0 \n" >> /etc/yum.repos.d/$nome.repo
printf "gpgkey=file:/// \n" >> /etc/yum.repos.d/$nome.repo
echo "FEITO..."
yum check-update
}
####
getHelp()
{
echo "forma de uso..."
echo "$0 [nome] [link]"
echo "nome = nome do repositorio(sem espacos)"
echo "link = link do diretório do repositorio, deve conter o subdiretorio (REPODATA)"
}
#### funções fim
if [ -z "$1" ]; then
v0=0
else
v0=1
fi
if [ -z "$2" ]; then
v1=0
else
v1=1
fi
if [ $v0 = 1 ] && [ $v1 = 1 ]; then
getMkrepo "$1" "$2"
else
getHelp "$0"
fi
Como instalar o script
Como este script não é nativo do
GNU/Linux, façamos o uso das boas práticas, então o criaremos no diretório
/usr/local/bin que serve para scripts não "oficiais".
1. Crie o arquivo da maneira que achar melhor, Vim, nano, etc, nomeie o arquivo com o nome
mkrepo e coloque o conteúdo postado acima.
2. Efetive as permissões de execução do arquivo criado, utilizando-se do
chmod, aplique
755 para que o root possa alterar e os demais usuários somente executar:
# chmod 775 /usr/local/bin/mkrepo
3. Como funciona?
Utilizo o site
pkgs.org para procurar pacotes que não encontro nos repositórios que tenho instalado, pode ser qualquer site que tenha a relação de repositórios.
- Procure o pacote que você não consegue instalar com seus atuais repositórios.
- No resultado da busca, vá DIRETO PROCURANDO O LINK DE DOWNLOAD DO ARQUIVO DO PACOTE (RPM), claro que dentro do repositório.
Vou dar um exemplo de arquivo:
http://www6.atomicorp.com/channels/atomic/centos/6/i386/RPMS/alien-8.90-2.el6.art.noarch.rpm
Este aquivo é um pacote do
alien, muitas vezes temos que instalar o repositório pois ele terá certamente, as dependências necessárias para a instalação.
1. Novamente vamos ao link, devemos procurar na raiz do link o diretório
repodata, ali o
yum consultará a base de arquivos recorrentes ao repositório.
2. Copie o link do pacote RPM e cole no navegador, apague o nome do arquivo
.rpm, claramente aparecerá vários outros pacotes RPM, procure com
Ctrl+f e digite:
repodata
3. Se não aparecer o diretório, vá descendo a árvore de diretórios, normalmente no penúltimo nível antes dos aquivos encontramos a
repodata.
Comparação do link:
- Antes:
http://www6.atomicorp.com/channels/atomic/centos/6/i386/RPMS/alien-8.90-2.el6.art.noarch.rpm
- Depois:
http://www6.atomicorp.com/channels/atomic/centos/6/i386/repodata
Nossa raiz para o repositório será até
i386 neste caso, pois
repodata está dentro de
i386. No nosso script, faremos da seguinte forma:
mkrepo atomic_centos_v6_i386 http://www6.atomicorp.com/channels/atomic/centos/6/i386
Após informar o nome do repositório e link, pressione:
Enter
...e aguarde o script realizar os procedimentos de update.
Entendendo o nome
Para ficar mais amigável para entender, informe no nome algumas informações que ajudem a identificar o repositório, isso pode ser feito através da análise do próprio link do repositório, podendo ser informado o nome tipo
www6.atomicorp.com_centos_v6_i386.
Assim fica fácil identificar caso ocorram problemas.
Lembrando que os arquivos criados pelo script, serão depositados no diretório do
yum:
/etc/yum.repos.d/.
Façam bom proveito. Dúvidas, estarei à disposição.
Nenhum comentário foi encontrado.