Das Laden des Software Centers dauert einige Zeit

10

Ich habe einen schnellen Computer (großartiger Prozessor, gute SSD), aber das Laden des Software Centers dauert gut 30 Sekunden. Dies ist kein Problem, ich denke, es könnte etwas falsch sein. Das Laden von Synaptic dauert eine Sekunde.

Ich bin gelaufen, um strace software-centerzu sehen, ob es die Festplatte kaputt gemacht hat (es ist eine SSD - ich kann es nicht hören) und es passiert und versucht, eine ganze Menge Dateien zu öffnen. Hier ist ein Auszug:

open("/usr/local/lib/python2.6/dist-packages/FlexGet-1.0r1465-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/FlexGet-1.0r1465-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/FlexGet-1.0r1465-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/progressbar-2.3_dev-py2.6.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/progressbar-2.3_dev-py2.6.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/progressbar-2.3_dev-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/progressbar-2.3_dev-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/progressbar-2.3_dev-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/pynzb-0.1.0-py2.6.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/pynzb-0.1.0-py2.6.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/pynzb-0.1.0-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/pynzb-0.1.0-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/pynzb-0.1.0-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/PyRSS2Gen-1.0.0-py2.6.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyRSS2Gen-1.0.0-py2.6.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyRSS2Gen-1.0.0-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyRSS2Gen-1.0.0-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyRSS2Gen-1.0.0-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/html5lib-0.90-py2.6.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/html5lib-0.90-py2.6.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/html5lib-0.90-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/html5lib-0.90-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/html5lib-0.90-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/PyYAML-3.09-py2.6-linux-x86_64.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyYAML-3.09-py2.6-linux-x86_64.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyYAML-3.09-py2.6-linux-x86_64.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyYAML-3.09-py2.6-linux-x86_64.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyYAML-3.09-py2.6-linux-x86_64.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/transmissionrpc-0.6-py2.6.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/transmissionrpc-0.6-py2.6.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/transmissionrpc-0.6-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/transmissionrpc-0.6-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/transmissionrpc-0.6-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)

Dies könnte ein roter Hering sein. Später pausiert es dabei:

poll([{fd=3, events=POLLIN}], 1, 25000) = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"l\2\1\1\v\0\0\0\3\0\0\0=\0\0\0\6\1s\0\7\0\0\0:1.3497\0"..., 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 91
recvmsg(3, 0x7fff8c57cc00, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\0\1\0\0\0\0\3\0\0\0{\0\0\0\1\1o\0\32\0\0\0/com/ubu"..., 144}, {"", 0}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 144
poll([{fd=3, events=POLLIN}], 1, 25000

Und dann macht es es wieder ... Diese beiden Pausen machen den größten Teil der Ladezeit aus.

Und dann flippt es wirklich mit Tausenden von Abstimmungs- / Lese- / vorübergehend nicht verfügbaren Zeilen aus.

Was um alles in der Welt ist hier los? Warum scannt das Software Center nach einem möglichen Python-Paket StringIO? Fehler?

Warum blockiert es dann bei einer Webanforderung an etwas.ubuntu.com (kann die vollständige Nachricht nicht sehen)? Warum spricht es überhaupt mit ubuntu.com?

Oli
quelle
+1, es ist das gleiche auf allen Computern, auf denen ich Ubuntu installiert habe, also müssen wir auf eine Lösung warten
Praweł
@Oli Welche Version von Ubuntu ist das? Ich benutze Lucid jetzt schon eine Weile und bin noch nie darauf gestoßen.
Mussnoon
Ich kann bestätigen: Es ist extrem langsam! Ich benutze Synaptic Infact.
Andrea Grandi
@Mussnoon: Maverick. Und seit Maverick ist es nur so langsam. Ich denke, es könnte etwas mit den hinzugefügten For Purchase- oder Single Sign-On-Teilen der neuen Version zu tun haben ... In jedem Fall ist es ziemlich schrecklich, wenn es so zum Stillstand kommt.
Oli
3
Dies sollte wahrscheinlich als Fehler gemeldet werden.
Jorge Castro

Antworten:

5

Es scheint, als würde eine vollständig aktuelle Ansicht der verfügbaren Pakete abgerufen (wie z. B. was apt-get update). Dies kann eine Weile dauern, je nachdem, wie weit der Cache veraltet ist, wie schnell die Software-Repositorys reagieren und wie schnell Sie sind Netzwerkverbindung.

Wie in den Kommentaren erwähnt, scheint dieser Mangel an Interaktivität beim Aktualisieren ein Fehler zu sein.

Kees Cook
quelle
Ich würde das als Antwort akzeptieren, wenn Aptitude, Synaptic oder auch nur apt-get updatedas Gleiche annähernd zur gleichen Zeit dauern würden. Wenn ich mein Passwort time bash -c "sudo apt-get update" eingebe, wird 0m2.446s zurückgegeben. Ein heißer Lauf (direkt danach ohne Passworteingabe) dauerte 0m0.572s. Der SC benötigt durchweg> 30 Sekunden. Wenn dies die Verzögerung verursacht, ist der Fehler viel mehr als nur ein Interaktivitätsproblem.
Oli
Hm, komisch. Es dauerte ungefähr 30 Sekunden, als ich es zum ersten Mal lief, dann dauerte es nur ein paar Momente. "30 Sekunden" ist für mich immer eine rote Fahne, dass auf DNS eine Zeitüberschreitung auftritt. Unabhängig davon wäre das Öffnen eines Fehlers am sinnvollsten.
Kees Cook
Wissen Sie, ob ich etwas einpacken kann, das nur den Netzwerkverkehr untersucht?
Oli
Und ich dachte, ich übertreibe, aber es stellt sich heraus, dass ich geduldiger bin, als ich mir selbst zuschreibe. Gerade lief Software-Center mit time. 1m.55.410s. Autsch.
Oli
Normalerweise starte ich einfach eine VM und versuche sie dort zu reproduzieren, während ich laufe tcpdumpoder wireshark. Aber es wäre schön, einen Weg zu haben, dies zu tun. Ich habe gefragt: askubuntu.com/q/11709/721
Kees Cook
0

Ich treffe das gleiche Problem. Wenn ich das Software-Center zum ersten Mal öffne, wird es schnell geöffnet. Dann schließe ich es, aber ich finde, dass der Prozess des Software-Centers nicht beendet wird. Wenn ich es zum zweiten Mal öffne, dauert das Öffnen lange. Die Methode ist, dass ich den Software-Center-Prozess manuell beende, nachdem ich das Software-Center geschlossen habe.

Ich benutze ubuntu11.04 amd64 arch in thinkpad w500.

waterloo2005
quelle