Repositórios atualizados para Centos 6.9
Quando falamos de sistemas operacionais Linux mais antigos, pode ser complicado instalar softwares e aplicativos, já que muitas vezes os repositórios oficiais não estão mais disponíveis. Isso pode ser um desafio especialmente difícil quando se trata de sistemas proprietários desenvolvidos em cima dessas versões antigas, como o CentOS 6.9. Se quisermos atualizar o sistema operacional, seria necessário reescrever uma grande parte do código-fonte original, o que não é uma tarefa simples. Mas não se preocupe, existem algumas alternativas para instalar softwares nesses sistemas operacionais mais antigos, mesmo sem acesso aos repositórios ativos.
Compilação a partir do código-fonte:
Uma opção viável é compilar o código-fonte diretamente. Embora isso demande um pouco mais de conhecimento técnico e possa ser um processo demorado, é uma maneira de adaptar o software ao seu sistema específico e garantir compatibilidade. Ao compilar a partir do código-fonte, você pode contornar a falta de repositórios ativos e ter acesso aos recursos mais recentes dos softwares.
Antes de iniciar qualquer atualização ou instalação de novos softwares, é essencial identificar as dependências específicas do sistema desenvolvido. Isso envolve mapear quais bibliotecas, pacotes e comandos em shell são usados pelo sistema. Com essa lista em mãos, será possível avaliar a compatibilidade dessas dependências com versões mais recentes do sistema operacional. Depois disto, busque como baixá-los nos sites dos fabricantes dos softwares preferencialmente que custumam manter disponíveis até versões mais antigas.
No nosso exemplo, faremos o upgra de do SSH. Eu colocaria até os prints e mais detalhes aqui, se o Ruindows não tivesse reiniciado para efetuar Updates e fazer com que eu perdesse minha sessão SSH e o histórico.
# Passo 1: Instalar as ferramentas de desenvolvimento
sudo yum groupinstall "Development Tools"
# Passo 2: Instalar as dependências necessárias
sudo yum install zlib-devel openssl-devel
# Passo 3: Fazer uma cópia de backup do arquivo de configuração do SSH
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
Passo 4: Baixar o pacote de código-fonte do OpenSSH
wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
# Passo 5: Extrair o pacote de código-fonte
tar -xzf openssh-9.0p1.tar.gz
# Passo 6: Acessar o diretório do código-fonte do OpenSSH
cd openssh-9.0p1/
# Passo 7: Instalar as dependências adicionais
sudo yum install pam-devel libselinux-devel
# Passo 8: Configurar a compilação do OpenSSH
./configure --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh
# Passo 9: Compilar o código-fonte
make
# Passo 10: Instalar o novo SSH
sudo make install
# Passo 11: Verificar a versão do SSH instalada
ssh -V
Utilizando repositórios de terceiros:
Outra possibilidade é recorrer a repositórios de terceiros. Mesmo que os repositórios oficiais não estejam mais disponíveis, é provável que a comunidade mantenha alguns repositórios funcionando para sistemas Linux mais antigos. Esses repositórios podem oferecer uma variedade de softwares e aplicativos atualizados que não estão mais disponíveis nos repositórios oficiais. No entanto, é importante tomar cuidado ao utilizar repositórios de terceiros e verificar sua confiabilidade e segurança antes de realizar as instalações. É fundamental evitar problemas de segurança ou incompatibilidades.
# Passo 1: Removendo repositórios antigos
Liste todos os repositórios atualmente configurados e exclua as configurações do CentOS e do epel posteriormente:
[root@server ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo epel.repo
[root@server ~]# rm /etc/yum.repos.d/CentOS*.repo
[root@server ~]# rm /etc/yum.repos.d/epel.repo
# Passo 2: Criar uma configuração de repositório do CentOS com urls atualizadas
Versões antigas do CentOS são arquivadas no https://vault.centos.org/ - vamos criar uma nova configuração de repositório usando este servidor. Além disso, definimos metadata_expire para nunca porque as fontes não mudam mais (fim de vida).
Abra o arquivo de repositórios conforme abaixo:
vim /etc/yum.repos.d/CentOS.repo
Apague todo o conteúdo e insira o conteúdo abaixo com os novos repositórios.
[base]
name=CentOS-6.10 - Base
baseurl=http://vault.centos.org/6.10/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
metadata_expire=never
#released updates
[updates]
name=CentOS-6.10 - Updates
baseurl=http://vault.centos.org/6.10/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
metadata_expire=never
# additional packages that may be useful
[extras]
name=CentOS-6.10 - Extras
baseurl=http://vault.centos.org/6.10/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
metadata_expire=never
# additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6.10 - CentOSPlus
baseurl=http://vault.centos.org/6.10/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=0
metadata_expire=never
#contrib - packages by Centos Users
[contrib]
name=CentOS-6.10 - Contrib
baseurl=http://vault.centos.org/6.10/contrib/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=0
metadata_expire=never
# Passo 3: Adicionar configuração de repositório Extra Packages for Enterprise Linux (EPEL)
Esta etapa é opcional:
Edite o arquivo epel.repo
vim /etc/yum.repos.d/epel.repo
Apague todo o conteúdo e insira o conteúdo abaixo com os novos repositórios.
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=https://archives.fedoraproject.org/pub/archive/epel/6/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
metadata_expire=never
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
baseurl=https://archives.fedoraproject.org/pub/archive/epel/6/$basearch/debug
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
metadata_expire=never
[epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
baseurl=https://archives.fedoraproject.org/pub/archive/epel/6/SRPMS
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
metadata_expire=never
# Passo 4: Carregar novas fontes de pacotes
Remova todos os metadados disponíveis no momento:
yum clean all
Agora digite yum check-update para carregar uma nova lista de todos os pacotes disponíveis e verificar se sua instalação local tem todas as atualizações disponíveis. Depois, você pode instalar pacotes como de costume usando yum install.
Essas são algumas opções para superar a falta de repositórios ativos e permitir a instalação de softwares em sistemas operacionais mais antigos. No caso de hoje utilizamos como exemplo o Centos6.9, mas isso pode ser efetuado em qualquer sistema Linux, respeitando os repositórios com softwares compatíveis.
Com essas alternativas, é possível manter seus sistemas com uma vida útil um pouco mais longa enquanto você programa a migração para um sistema mais atualizado e com suporte ainda válido.
Fontes:
How to upgrade OpenSSH on Centos - Stack Overflow
CentOS 6 - Atualizar URL do repositório após o fim da vida útil (EOL) | GCore GmbH