Je me suis assis chez Starbucks cet après-midi pour faire un travail (Ubuntu 12.04 Desktop x64), et l’icône d’erreur "cercle rouge avec ligne blanche" dans le tableau de bord signalant une erreur de paquet. De plus, apt, aptitude, update-manager et synaptic ne pouvaient même pas démarrer, à cause de cela.
A examiné de plus près, et l'erreur était:
> Sudo aptitude install mmv
[Sudo] password for kurtosis:
[ ERR] Reading package lists
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_precise_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.
[ ERR] Reading package lists
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_precise_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.
Donc, ouvrez le coupable, /var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_precise_main_binary-i386_Packages
, et voilà, tout le fichier a été écrasé par la source html de la page des termes et conditions ATT wifi de Starbuck, que vous devez accepter en cochant la case la première fois connectez-vous à leur accès wifi gratuit (premières lignes ci-dessous).
Ceci est extrêmement bizarre et un peu déconcertant, car un site Internet aléatoire a réussi à écraser un fichier qui ne devrait être modifiable que par root. Une idée de ce qui s'est passé?
Résolu en supprimant /var/lib/apt/lists
et en régénérant avec cette commande :
$ Sudo -i
# apt-get clean
# cd /var/lib/apt
# mv lists lists.old
# mkdir -p lists/partial
# apt-get clean
# apt-get update
Source de la page d'accueil wifi Starbucks ATT:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>AT&T Wi-Fi Service @ Starbucks</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" type="image/ico" href="/favicon.ico" />
<script type="text/javascript" language="javascript" src="/dhtml/master.js"></script>
<script type="text/javascript" language="javascript" src="/dhtml/x_core.js"></script>
<script type="text/javascript" language="javascript" src="/dhtml/x_event.js"></script>
<script type="text/javascript" language="javascript" src="/dhtml/x_xhr.js"></script>
<script type="text/javascript" src="/dhtml/aws/dhtml.js"></script>
<script type="text/javascript" src="/dhtml/jquery/jquery-1.3.2.js"></script>
<script type="text/javascript" language="javascript" src="/dhtml/jquery/aws_jclock_2.2.0.js"></script>
<script type="text/javascript" language="javascript">
$(function($) {
var options = {
format: '%i:%M<span class="clock_ampm">%P</span>'
}
$('.jclock').jclock(options);
});
</script>
<link rel="stylesheet" type="text/css" href="/css/att/themes/sbux/laptop_free_v3.css"/>
<link rel="stylesheet" type="text/css" href="/css/att/themes/sbux/sbux_auto_addl_v2.css"/>
</head>
<body>
<div id="free_wrap">
<div id="topblock">
<div id="topmid">
<div id="free_sbux_mainform">
<div id="iframe_free">
<iframe id="sbux_iframe" src="http://www.starbucks.com/coffeehouse/wi-fi-landing" scrolling="no">
</iframe>
</div id="iframe_free">
<div id="free_sbux_logo"><a href="http://www.starbucks.com"></a></div id="free_sbux_logo">
<div id="free_sbux_location"><div id="location_city">PALO ALTO, CA</div id="id="location_city"></div id="free_sbux_location">
<div id="inline_free_form">
<div id="free_text_line">Starbucks is pleased to offer complimentary Wi-Fi <b>including the premium content of the Starbucks Digital Network</b> to customers who are enjoying our food and beverages.</div>
...
Voici ce qui s'est passé.
Sudo apt-get update
a été exécuté manuellement ou a été déclenché automatiquement (vous vous souvenez des mises à jour automatiques du gestionnaire de mises à jour?) Et a tenté d'actualiser les listes.Si vous êtes connecté à Internet, il devrait être parfaitement sûr de supprimer le dossier entier /var/lib/apt/lists
et de le mettre à jour. Cela va résoudre ce problème. Pour plus de sécurité, vous pouvez choisir de sauvegarder au lieu de supprimer.
Sudo mv /var/lib/apt/lists ~;Sudo apt-get update
devrait faire l'affaire, et si ce n'est pas le cas, revenir en arrière avec Sudo mv ~/lists /var/lib/apt