Центр программного обеспечения берет возраст, чтобы загрузить


10

У меня быстрый компьютер (отличный процессор, хороший SSD), но Software Center загружается за 30 секунд. Это не круто, я думаю, что-то может быть не так. Synaptic занимает секунду, чтобы загрузить.

Я побежал strace software-centerпосмотреть, не треснул ли он диск (это SSD - я его не слышу), и он пытался открыть целую загрузку файлов. Вот выдержка:

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)

Это может быть красная сельдь. Позже это делает паузу в этом:

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

И затем он делает это снова ... Эти две паузы составляют большую часть времени загрузки.

И затем это действительно всплывает с тысячами строк опроса / чтения / временно недоступных.

Так что же здесь происходит? Почему Software Center сканирует то, что ищет любой возможный пакет python StringIO? Ошибка?

Тогда почему он останавливается на том, что похоже на веб-запрос к нечто .ubuntu.com (не может видеть полное сообщение)? В любом случае, почему он общается с ubuntu.com?


+1, то же самое на всех компьютерах, на которых я установил Ubuntu, поэтому нам нужно дождаться исправления
Praweł

@Oli Какая версия Ubuntu это? Я уже давно использую Lucid и никогда не сталкивался с этим.
Mussnoon

Я могу подтвердить: это очень медленно! Я использую Synaptic Infact.
Андреа Гранди

@Mussnoon: Maverick. И это было так медленно со времен Маверика. Я думаю, что это может иметь какое-то отношение к добавленным компонентам «Покупка» или «единый вход» в новой версии ... В любом случае, такое зависание довольно ужасно.
Оли

3
Это, вероятно, следует сообщить об ошибке.
Хорхе Кастро

Ответы:


5

Похоже, что он получает полностью обновленное представление доступных пакетов (например, что apt-get updateделает), что может занять некоторое время в зависимости от того, насколько устаревшим является кэш, как быстро реагируют репозитории программного обеспечения и скорость вашего подключение к сети.

Как уже упоминалось в комментариях, это отсутствие интерактивности при обновлении выглядит как ошибка.


Я бы принял это как ответ, если Aptitude, Synaptic или даже просто apt-get updateто же самое заняли где-то в одно и то же время. В том числе и я, набрав мой пароль, time bash -c "sudo apt-get update" возвращает 0m2.446s. Горячий запуск (сразу без ввода пароля) занял 0м0,572 с. SC постоянно занимает> 30 с, поэтому, если это и является причиной задержки, ошибка - это гораздо больше, чем просто проблема интерактивности.
Оли

Хм, странно. В первый раз, когда я его запустил, прошло около 30 секунд, а потом потребовалось всего несколько минут. «30 секунд» - это всегда красный флаг для меня, указывающий на то, что что-то не работает в DNS. В любом случае, открытие ошибки было бы наиболее разумным.
Кис Кук

Знаете ли вы, что я могу обернуть это, чтобы проверить только сетевой трафик?
Оли

И я думал, что преувеличиваю, но оказывается, что я более терпелив, чем я себе доверяю. Просто запустил центр программного обеспечения с time. 1m.55.410s. Уч.
Оли

Обычно я просто запускаю виртуальную машину и пытаюсь воспроизвести ее во время работы tcpdumpили wireshark. Но было бы неплохо иметь способ сделать это. Я спросил: askubuntu.com/q/11709/721
Кис Кук

0

Я встречаю ту же проблему. Когда я впервые открываю софт-центр, он открывается быстро. Затем я закрываю его, но нахожу процесс софт-центра не убитым. Во второй раз я открою, это займет много времени, чтобы открыть. Метод заключается в том, что я закрываю процесс софт-центра вручную после закрытия софт-центра.

Я использую Ubuntu11.04 AMD64 Arch в ThinkPad W500.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.