Ambiente e Objetivos Técnicos
O procedimanto abaixo descreve a implementação de um mecanismo de armazenamento intermediário no gerenciador zypper do SUSE Linux Enterprise Server 12. O fluxo captura binários e metadados provenientes de fontes remotas para construir um repositório interno independente, essencial para ambientes com restrição de banda ou isolamento de rede.
# cat /etc/os-release
PRETTY_NAME="SUSE Linux Enterprise Server 12 SP3"
Definição das Fontes de Acesso
Crie arquivos de configuração de repositório em /etc/zypp/repos.d/. Para ambientes controlados internamente, a validação GPG pode ser desabilitada e o parâmetro de retenção de cache habilitado, evitando download repetitivo durante instalações.
# tee /etc/zypp/repos.d/custom-sources.repo > /dev/null << 'EOF'
[sles-oss-core]
name=SLES Core OSS
baseurl=https://ftp.fau.de/suse/distribution/leap/current/repo/oss
gpgcheck=0
keepcache=1
[sles-nonoss-core]
name=SLES Core Non-OSS
baseurl=https://ftp.fau.de/suse/distribution/leap/current/repo/non-oss
gpgcheck=0
keepcache=1
[sles-updates]
name=SLES Maintenance Updates
baseurl=https://ftp.fau.de/suse/update/leap/current/
gpgcheck=0
keepcache=1
EOF
Sincronize os índices disponíveis após a publicação:
# zypper refresh
Persistência no Sistema de Arquivos e Limpeza
O caminho raiz onde os pacotes baixados permanecem acessíveis pode ser inspecionado ou sobrescrito em /etc/zypp/zypp.conf. A diretiva padrão para armazenamento é:
# grep packagesdir /etc/zypp/zypp.conf
packagesdir = /var/cache/zypper/packages
Remova metadados obsoletos ou temporários corrompidos antes da fase depopulate:
# zypper clean --all
Confirme o status das fontes reconhecidas pelo daemon:
# zypper lr
# | Alias | Name | Enabled | GPG Check | Refresh
---+----------------+-----------------------+---------+-----------+--------
1 | sles-oss-core | SLES Core OSS | Yes | No | Yes
2 | sles-nonoss-core| SLES Core Non-OSS | Yes | No | Yes
3 | sles-updates | SLES Maintenance Upd | Yes | No | Yes
População e Compilação do Espelho Local
Dispare uma instalação direcionada para forçar a descarga dos artefatos para o diretório de cache. Utilize qualquer pacote alvo ou grupo necessário à infraestrutura:
# zypper install -y net-tools cronie
Extraia os binários compilados em uma estrutura dedicada ao espelho. O script adaptativo abaixo organiza os arquivos e gera um pacote portátil para replicação:
# MIRROR_ROOT="/srv/intranet/rpm-bundle"
mkdir -p "$MIRROR_ROOT"
find /var/cache/zypper/packages -name '*.rpm' -type f -exec cp {} "$MIRROR_ROOT/" \;
cd /srv && tar czf packages-cache-stable.tar.gz intranet/rpm-bundle
Utilize protocolos como HTTP/NFS ou cópia segura para distribuir o conjunto ao nó cliente.
Provisionamento do Cliente na Rede Interna
No equipamento destinatário, vincule o gerenciador ao diretório local contendo os artefatos. Desative assinaturas e force a leitura prioritária:
# zypper mr -d local-mirror 2>/dev/null
# zypper ar file:///opt/packages-archive local-mirror
# sed -i 's/gpgcheck=.*/gpgcheck=0/' /etc/zypp/repos.d/local-mirror.repo
# zypper ref
Validação do fluxo de deploy:
# zypper install -y pacote-infra-estrutura
Mapeamento de Sintaxe e Opeardores
zypper lr/zzlr: Enumeração completa de repositórios registrados.zypper ar/zzar: Registro de nova origem de pacotes.zypper rr: Exclusão de entrada específica.zypper mr: Modificação de atributos (prioridade, GPG, refresh).zypper ref/zzref: Atualização síncrona de metadados on line.zypper cc: Traversal completo para remoção de cache legado.zypper in/zzin: Resolução de dependências e provisionamento.zypper rm: Desprovisionamento controlado.zypper dup: Elevação majoritária mantendo configurações locais.