No entanto,
apt-get
informa explicitamente ao usuárioYou may want to run apt-get update to correct these problems
, mesmo que em várias postagens no Ask Ubuntu o erro realmente apareça quando as pessoas tentam executarapt-get update
.
Mas esse não é o único lugar em que esse erro é visto. Acontece que a maioria das pessoas tendem a executar apt-get update
depois de fazer alterações nas fontes, o que é perfeitamente correto, mas isso também pode acontecer com outras operações do apt:
$ sudo vim /etc/apt/sources.list
[sudo] password for muru:
$ sudo apt install vim-gnome
Reading package lists... Done
Building dependency tree
Reading state information... Done
vim-gnome is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
W: Duplicate sources.list entry http://jp.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages (/var/lib/apt/lists/jp.archive.ubuntu.com_ubuntu_dists_trusty_main_binary-amd64_Packages)
W: Duplicate sources.list entry http://jp.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages (/var/lib/apt/lists/jp.archive.ubuntu.com_ubuntu_dists_trusty_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
E o problema aqui é que os dois avisos são gerados de forma independente.
W: You may want to run apt-get update to correct these problems
é impresso quando ocorre algum erro durante a criação do cache do apt. É uma solução genérica: o código que imprime isso não sabe (ou se importa) qual erro aconteceu, mas eu diria que é razoável assumir, para a maioria dos erros que poderiam acontecer ao construir o cache, buscar um novo pacote lista pode muito bem ser a solução. (Pense em todos os problemas do apt que vimos porque alguém executou apt-get install
ou apt-get upgrade
sem executar apt-get update
.)
Mas os desenvolvedores sabem que não é uma ótima sugestão. Veja apt-pkg/cachefile.cc
:
/* This sux, remove it someday */
if (_error->PendingError() == true)
_error->Warning(_("You may want to run apt-get update to correct these problems"));
(Como sempre, os patches devem ser bem-vindos.)
Então, existe alguma razão em particular para o apt-get não resolver isso automaticamente?
Porque, IMHO, isso é sempre o resultado do PEBCAK. add-apt-repository
é inteligente o suficiente para não adicionar entradas duplicadas. Então, esse erro sempre acontece quando alguém edita as fontes manualmente. E como os humanos têm um potencial infinito para criar erros interessantes, não é seguro corrigi-los automaticamente.