Melhorando a velocidade do Zypper no OpenSUSE

Um tempo atrás fiz esse post questionando certa lentidão que estava tendo no OpenSUSE, principalmente ao utilizar as funcionalidades do YaST. Com algumas ajudas cheguei na conclusão que seria por conta do Zypper, mas sem obter uma solução definitiva e apenas lamentando.

Navegando em algums fóruns gringos que faziam reclamações semelhantes, achei uma possível solução: Adicionar o melhor repositório manualmente.

  1. Acessar https://mirrors.opensuse.org/ e rolar até os “espelhos” BR.
  2. Clicar na opção “repo” de cada e copiar a url (note que temos para diferentes versões do sistema: Tumbleweed, Leap 15.6, etc.)
  3. Verificar latência no terminal com ping <url>
  4. Voltar na url com menor latência e acessar os repositórios OSS e NON-OSS
  5. YaST > Software Repositories > Add > HTTPS… Colocar um nome para identificar e colar a url do repositório (adicionar url OSS e NON-OSS separadamente)

No meu caso, o repositório mais rápido foi da universidade do Paraná opensuse.c3sl.ufpr.br
Então adicionei os repositórios:
UFPR OSS: Index of /distribution/leap/15.6/repo/oss
UFPR NON-OSS: Index of /distribution/leap/15.6/repo/non-oss

OBS: Pelo que pesquisei, teoricamente o OpenSUSE já possui esses repositórios listados em seu repositório base já adicionado na instalação, porém a cada vez utilizando funcionalidades do YaST, o Zypper ficava verificando esses repositórios de maneira muito lenta e pelo que verifiquei nos logs eu não estava utilizando os BRs. Penso que talvez ele faça certa verificação e utilize o primeiro que considerar “aceitável”, posso estar falando bobagem agora mas na prática ele não chegava a testar algum repositório BR pois não eram utilizados mesmo tendo uma velocidade muito superior.
Na prática, com esse passo-a-passo meu sistema ficou muito mais rápido e pasmem: não preciso mais ficar esperando tanto tempo para o Zypper carregar (as vezes ainda espero por conta de alguns repositórios gringos que adicionei para outros pacotes)

Espero que essa informação seja muito útil para todos que queiram usar o OpenSUSE, se eu falei qualquer coisa errada sou aberto para correções e novos aprendizados :grin:

2 curtidas

Muito bom, vou testar. Mas eu queria mesmo que o Zypper suportasse downloads paralelos como o Pacman, DNF, Nala… infelizmente isso ainda não é possível :'(.

É… isso é um sonho meu, iria melhorar muito essa questão

Salve, @bryandbernhardt

Fiz isso uma vez, em 2019 – e também escolhi o espelho da UFPR, que prefiro, sempre que possível. – A velocidade de download melhorou muito, mas muito, mesmo!

Só que, semanas depois, o zypper respondeu “espelho inválido”. – Fui olhar, e realmente, estava 100% vazio: – Nenhum pacote!

Então, voltei ao esquema tradicional do openSUSE / zypper – que é deixar o repositório central verificar qual o “melhor” espelho, naquele momento, e redirecionar automaticamente.

Porque o sistema openSUSE / zypper é muito mais complexo do que o das outras distros. – Um espelho só pode ser usado, se todos os pacotes dele estiverem atualizados. – Enquanto o espelho estiver recebendo atualizações do repositório central (e sendo verificado), o zypper não pode usá-lo.

Fica bloqueado, como se estivesse vazio – e isso pode demorar.

O zypper suporta downloads paralelos, sim! – Recebi essa dica de um colega aqui no Fòrum, em outro tópico. – Infelizmente, na prática, não fez muita diferença.

Distros & diferenças

O Fedora também usa algum esquema de “redirecionamento automático” – mas funciona bem melhor.

Tenho acompanhado as diferenças de velocidade de download de atualizações, do openSUSE e do Fedora (ambos com redirecionamento automático) – em comparação com o Arch Linux, que configurei para o espelho da UFPR. – Um exemplo do ano passado – que postei em outro tópico:

Domingo, 4 Junho:

openSUSE      6,6 MiB/s
Arch         33.7 MiB/s
Fedora       22   MB/s

Domingo, 28 Maio:

openSUSE      6.8 MiB/s
Arch         33,7 MiB/s
Fedora       23   MB/s

Domingo, 21 Maio:

openSUSE     10.3 MiB/s
Fedora       26   MB/s

Domingo, 7 Maio:

openSUSE    ~ 5   MiB/s
Fedora       19   MB/s

Depois que habilitei 10 downloads paralelos no openSUSE:

openSUSE          3,27 MiB/s
Arch             29.1  MiB/s
Fedora           18    MB/s

O Mageia também controla se o espelho está atualizado – mas apenas avisa, caso não esteja. – Nesse caso, você pode seguir em frente, e atualizar só uma parte dos pacotes… Mas eu prefiro cancelar, e tentar de novo algumas horas depois.

No PCLinuxOS, o Synaptic permite habilitar mais de 1 espelho – mas é fortemente recomendado que se habilite apenas 1 – pois é perigoso baixar dependências com versões desencontradas.

4 curtidas

Mas esses “downloads paralelos” a que você se refere é baixar mais de um pacote ao mesmo tempo?

Salve, @Thiago12

Boa pergunta!

No mundo da tecnologia, nunca tenho certeza do significado das palavras. :grimacing:

A dica do colega, no outro tópico:

Poderia significar “baixar 10 pacotes ao mesmo tempo” – ou, “baixar (pedaços) por 10 conexões ao mesmo tempo” – e o resultado final deveria ser o mesmo: – Download (total) mais rápido.

Mas, confio na medição feita pelo Conky – e ela diz que a “velocidade” (global) não aumentou – e o “tempo total de download” não diminuiu.