Apt-get застрял на 0% [Working]

15

Когда я пытаюсь сделать что-либо с apt-get с помощью терминала, apt-get застрял в 0% [Working] .

    
задан Digital 16.07.2014 в 09:37
источник

9 ответов

18

Я пришел на эту страницу с помощью высокопоставленного поиска Google, но эти ответы мне не помогли. Вместо этого я очистил свой локальный репозиторий полученных файлов пакетов:

apt-get clean
    
ответ дан hexnet 30.12.2015 в 11:10
15

Вы можете попробовать проверить кеш и очистить каталог кеша.
В порядке (каждый шаг более глубокий, поэтому остановитесь, когда найдете решение):

  • sudo apt-get clean ( Обновить ) в последних версиях он очистит локальный репозиторий полученных файлов пакетов. Этого будет достаточно в большинстве случаев. Это (было) не так на ранних версиях.

    It removes everything but the lock file from /var/cache/apt/archives/ and /var/cache/apt/archives/partial/.

  • Просмотр /var/lib/apt/lists/partial/ он должен быть пустым.
    Если нет, вы можете решить удалить его sudo rm /var/lib/apt/lists/partial/* , в конце концов вам может понадобиться sudo rm -f /var/lib/apt/lists/partial/*

  • sudo apt-get check

    it updates the package cache and checks for broken dependencies.

  • Сократите до нормального (не огромного) количества репозиториев список /etc/apt/sources.list .
    Если их слишком много, ваша система может зависать в попытке построить все дерево зависимостей.
    Вы можете создать минимальный набор репозиториев из сайта генератора списков источников Ubuntu и , после чего вы создадите резервную копию . /etc/apt/sources.list (например, sudo cp -i /etc/apt/sources.list /etc/apt/sources.list.000 ) вы можете вставить этот вместо вашего текущего списка.

  • В конечном итоге вы можете проверить, есть ли у вас файл исходных списков с Ссылка , а не http, но apt-transport-https не установлен (см. комментария ).
  • повторите попытку sudo apt-get update , и если он не работает
  • создайте резервную копию своего каталога /var/lib/apt/lists с sudo cp -r -p -i /var/lib/apt/lists ${HOME}/temp_apt_lists и после sudo rm -R /var/lib/apt/lists/*
  • снова запустите sudo apt-get update

Возможно, вам нужно очистить вручную некоторые из следующих каталогов (вы всегда можете их создавать и только после удаления файлов внутри):

  • <Сильный> /etc/apt/sources.list.d /
    Файловые фрагменты для местоположений для извлечения пакетов. Элемент конфигурации: Dir :: Etc :: SourceParts.
  • <Сильный> и т.д. / кв / preferences.d /
    Файловые фрагменты для параметров версии. Элемент конфигурации: Dir :: Etc :: PreferencesParts.
  • <Сильный> / вар / кэш / меткие / архив / частичный /
    Область хранения файлов пакетов в пути. Элемент конфигурации: Dir :: Cache :: Архивы (частичные будут неявно добавлены)
  • <Сильный> / вар / Библиотека / меткие / списки / частичный / Место хранения государственной информации в пути. Элемент конфигурации: Dir :: State :: Lists (частичный будет неявно добавлен)
  • / вар / Lib / APT / списки / Область хранения информации состояния для каждого ресурса пакета, указанного в source.list (5) Элемент конфигурации: Dir :: State :: Lists.

PS > Если у вас все получилось, не забудьте удалить резервную копию, которая вам больше не нужна, но не sources.list.000 она всегда может быть полезна!
Вы можете найти дополнительные подсказки в соответствующем ответе как этот .

Обновление
Была старая ошибка, потому что пакет squid-deb-proxy-client не очищает все его изменения, решается так:

Removing the line:
Acquire::http::ProxyAutoDetect "/usr/share/squid-deb-proxy-client/apt-avahi-discover";

от:
/etc/apt/apt.conf.d/30autoproxy

Может быть, может быть полезно этот поток ошибок

Более радикально удалить пакет, если это возможно.

    
ответ дан Hastur 17.07.2014 в 09:13
3

Убедитесь, что вы можете выполнить ping из своей собственной сети и, что еще важнее, в сети Ubuntu, т. е.

 ping us.archive.ubuntu.com
 OR
 ping security.ubuntu.com

Вы должны получить результат, похожий на:

 PING security.ubuntu.com (91.189.88.161) 56(84) bytes of data.
 64 bytes from keeton.canonical.com (91.189.88.161): icmp_seq=1 ttl=52 time=127 ms
 64 bytes from keeton.canonical.com (91.189.88.161): icmp_seq=2 ttl=52 time=128 ms

  --- security.ubuntu.com ping statistics ---
  2 packets transmitted, 2 received, 0% packet loss, time 1000ms
  rtt min/avg/max/mdev = 127.325/127.952/128.579/0.627 ms
    
ответ дан toystory 29.05.2016 в 18:49
3

Я также обнаружил, что это происходит со мной, когда я переключился на некоторые https-репозитории. apt требует apt-transport-https для установки для работы (что, по понятным причинам, может быть проблемой при попытке загрузить некоторые вещи).

    
ответ дан Peter Turner 07.06.2017 в 15:35
2

сначала попробуйте обновить его

aptitude update

, а затем запустите apt-get

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

    
ответ дан Rahul V Sharma 16.07.2014 в 10:22
2

Это также может быть вызвано тем, что находится за прокси-сервером, который блокирует доступ. Иногда я получал ошибку NODATA ... иногда он остался на уровне 0% [Working...] .     

ответ дан Keith 30.10.2016 в 19:58
1

, если вы изменили местоположение, также измените сервер загрузки:

sudo software-properties-gtk

нажмите другой, затем выберите лучший сервер:

после этого выберите и удалите все остальные репозитории программного обеспечения:

наконец:

sudo apt-get update
sudo apt-get upgrade
    
ответ дан Farid Oubbati 07.02.2018 в 11:17
0

В debian 9 мой apt был застрял на 0% [работает] на некоторое время, прежде чем он выполнит любую задачу, требующую доступа в Интернет. После использования многих других методов, когда я отключил диспетчер сети и начал использовать systemd-networkd, эта проблема была наконец решена.

    
ответ дан iinnke 30.06.2017 в 18:27
0

Ответ, который я не нашел в Интернете нигде, но на самом деле нашел его на основе команды, которую я выполнил пару часов назад. Примером такой команды является

echo "deb http://dl.bintray.com/tproenca/pmsarm7 jessie main" | sudo tee /etc/apt/sources.list.d/pms.list

После чего файл добавляется в /etc/apt/sources.list.d/. В этом каталоге также могут быть добавлены источники. В моем случае это был teamviewer, в котором содержался собственный список, в котором был неверный URL-адрес. Поэтому выключение моего обновления. Это команды, которые я выполнил.

Примечание. teamviewer.list вызывал у меня проблемы, но это может быть что угодно для вас внутри этого каталога. Попробуйте и сделайте резервные копии!)

cd /etc/apt/
cp sources.list.d/* sources.list.d.backup/
rm sources.list.d/teamviewer.list
apt-get clean
apt-get check
apt-get update

Надеюсь, это спасет кого-то часы, которые он мог бы спасти меня!

    
ответ дан Jorrick Sleijster 21.08.2017 в 21:55