
La actualización adecuada en Ubuntu 16.04 se bloquea aleatoriamente en cada actualización de vista.
Nada de lo que he probado puede solucionarlo permanentemente y no tengo forma de solucionarlo.
La única solución que tengo es crear un script de shell para apt clean && apt update
. entonces funciona.
echo -e '#!/bin/bash\nsudo apt clean && sudo apt update' | sudo tee /usr/bin/apt-update; sudo chmod +x /usr/bin/apt-update
Cosas que he hecho:
Cambiar a DNS de Google
Deshabilitar el DNS administrado por NetworkManager
sudo sed -i -e 's/^dns=dnsmasq/#dns=dnsmasq/' /etc/NetworkManager/NetworkManager.conf
Agregue Google DNS al cliente DHCP (dhcp antepondrá Google DNS a /etc/resolv.conf)
echo 'prepend domain-name-servers 8.8.4.4;' | sudo tee -a /etc/dhcp/dhclient.conf
echo 'prepend domain-name-servers 8.8.8.8;' | sudo tee -a /etc/dhcp/dhclient.conf
Reiniciar NetworkManager
systemctl restart NetworkManager.service
editar configuración apta
Algunos repositorios tienen problemas con la canalización http/1.1.
Pruebe lo siguiente:
echo 'Acquire::http::Pipeline-Depth "0";' | sudo tee /etc/apt/apt.conf.d/99pipelining-off
A veces es difícil ver qué repositorios están fallando debido a largos tiempos de espera.
reducir los tiempos de espera con
echo 'Acquire::http::Timeout "5";' | sudo tee /etc/apt/apt.conf.d/99reduce-timeout
Forzar la desactivación de IP V4 al intentar resolver IP V6
echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4
crear script para apt-update
La actualización de apt-get a menudo se bloquea o falla. la solución para esto essiempre apt clean
antesapt update
Este comando crea un script llamado apt-update
que hace precisamente esto y debe usarse en lugar de apt-get update
oapt update
echo -e '#!/bin/bash\nsudo apt clean && sudo apt update' | sudo tee /usr/bin/apt-update; sudo chmod +x /usr/bin/apt-update
habilitar el cambio automático de espejo
sudo sed -i -e 's/deb http:\/\/il.archive.ubuntu.com\/ubuntu\//deb mirror:\/\/mirrors.ubuntu.com\/mirrors.txt/' sources.list
habilitar repositorio de socios
sudo sed -i.bak "/^# deb .*partner/ s/^# //" /etc/apt/sources.list
Intenté editar la política de limpieza.
echo 'DSELECT::Clean "always";' | sudo tee /etc/apt/apt.conf.d/99DselectAlwaysClean
echo 'APT::Get::Clean=always;' | sudo tee /etc/apt/apt.conf.d/99AlwaysClean
Incluso intenté agregar comandos de actualización posterior y actualización previa con
echo 'APT::Update::Post-Invoke {"/usr/bin/apt apt clean || exit 0"};' | sudo tee /etc/apt/apt.conf.d/99PostUpdateClean
echo 'APT::Update::Pre-Invoke {"/usr/bin/apt clean || exit 0"};' | sudo tee /etc/apt/apt.conf.d/99PreUpdateClean
Estos 2 comandos son realmente problemáticos porque parecen intentar robar un candado o algo así. Al final los borré.