Estou tentando atualizar minhas coisas na minha máquina e parece que não consigo ler minha lista de pacotes. Parece que toda vez que eu faço sudo apt-get install *something* && sudo apt-get update
isso fica preso na leitura da lista de pacotes, isso não foi um problema antes. Aqui estão as minhas especificações e outros enfeites:
- Memória: 15,8 gb
- Processador: AMD Phenom (tm) II x4 965 Processador x 4
- Placa gráfica: Gallium 0.4 on AMD BARTS
- Tipo de SO: 32 bits
- Velocidade de internet :
command-line
apt
Dre
fonte
fonte
sudo apt-get update
, correto?Software Sources
, veja se a seleção de outro servidor, em vez do atual, ajuda.Respostas:
Eu já vi isso também.
Não tenho uma solução, mas tenho uma solução alternativa (
echo 3 | sudo tee /proc/sys/vm/drop_caches
) e potencialmente mais informações para que alguém possa levar a investigação adiante.Não é um problema de rede porque em "Lendo lista de pacotes ..." , está apenas lendo arquivos
/var/lib/apt/lists/
. UMA:dá:
Veja como essas 8
read
chamadas do sistema levaram mais de 2 segundos, mesmo que cada chamada individual demore menos de 1 ms. Em execuçãotime apt-get update
ou observaçãotop
, esse processo não está ocupado entre essas duas chamadas. Então, por que o atraso?Então eu fiz:
algumas vezes e analisou o resultado em
kern.log
:Portanto, não sei ao certo o que isso significa, mas que se parece com o tratamento de falhas de página; portanto, aponte para um possível problema de gerenciamento de memória.
Eu então tentei um:
E isso fez o problema desaparecer.
Agora, parece muito com um problema de kernel. Então, atualizei para o kernel mais recente (3.8 backport de
raring
) e é aí que estou. Será atualizado se o problema persistir com o kernel mais recente.Editar
O problema persiste com o novo kernel, embora não seja tão ruim. E a mesma coisa,
resolve o problema por um tempo. Eu só vi isso acontecer em laptops MSI (nome do produto: CR61 2M / CX61 2OC / CX61 2OD).
Editar dezembro de 2015
Conforme confirmado por
btrace
aptitude
/apt-get
, parece fazer algumas E / S de disco no momento. Ele tem um arquivo temporário (/var/cache/apt/pkgcache.bin.<random-chars>
) mmapped na memória e é por isso que ele não aparece nastrace
saída.Ainda não é possível explicar por que isso acontece apenas em algumas máquinas, por que deixar cair caches ajuda, por que mudar para 64 bits ajuda.
Se alguém pode reproduzi-lo, um teste interessante pode ser o de verificar se isso também acontece ao rodar sob
eatmydata
ou se a migração/var/cache/apt
paratmpfs
um ramdisk ajuda.fonte
O conselho em http://antti-juhani.kaijanaho.fi/newblog/archives/521 acelerou-o várias vezes para mim em vários computadores:
(O blog também recomendou
sudo dpkg --forget-old-unavail
entre as duas etapas, mas aparentemente foi preterido e não é mais necessário.)fonte
Siga os passos:
Limpar cache:
Mover o
sources.list
modoapt
não pode usá-lo:Mova-o para trás e atualize:
Verifique e remova todos os PPAs e linhas de origem que você não precisa.
fonte
No meu sistema, a causa foi um valor incorreto na
LANGUAGE=
variável de ambiente. Ele deve conter valores comoen:fr:de
, e nãoen_US.UTF-8,sl_SI.UTF-8
:Quando executado (via
strace
), oapt-get update
comando clona naread()
chamada. Demora muito tempo para ser executado e consome todos os ciclos disponíveis de um núcleo de CPU:Se eu definir
LANGUAGE=
um valor correto (comoen
), tudo voltará ao normal novamente:fonte