Apt-get застрял на 0% [Работает]

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

28
задан 16 July 2014 в 13:55

13 ответов

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

aptitude update

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

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

2
ответ дан 16 July 2014 в 13:55

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

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

    Он удаляет все, кроме файла блокировки, из / var / cache / apt / archives / и /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

    обновляет кеш пакетов и проверяет наличие сломанных зависимостей.

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

  • в конечном итоге вы можете проверить, есть ли у вас файл исходных списков с https , а не с http, но apt-transport-https не установлен (см. комментарий ).
  • попробуйте еще раз sudo apt-get update и в случае сбоя
  • сделайте резервную копию вашего / var / lib / apt / перечисляет каталог с помощью 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.
  • etc / apt / preferences.d /
    Фрагменты файлов для настроек версии. Элемент конфигурации: Dir :: Etc :: PreferencesParts.
  • / var / cache / apt / archives / partial /
    Область хранения файлов пакетов в пути. Элемент конфигурации: Dir :: Cache :: Archives (частичное будет добавлено неявно)
  • / var / lib / apt / lists / partial / Область хранения информации о состоянии в пути. Элемент конфигурации: Dir :: State :: Lists (части будут добавлены неявно)
  • / var / lib / apt / lists / Область хранения информации о состоянии для каждого ресурса пакета, указанного в sources.list (5) Элемент конфигурации: Dir :: State :: Lists.

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

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

Удаление строки:
Получить :: http :: ProxyAutoDetect "/ usr / share / squid-deb-proxy-client / apt-avahi-discover";

из:
/etc/apt/apt.conf.d / 30autoproxy

Может быть, вам может пригодиться эта ветка с ошибкой

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

23
ответ дан 16 July 2014 в 13:55

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

apt-get clean
25
ответ дан 17 July 2014 в 00:55

Убедитесь, что вы можете выполнить эхо-запрос из своей собственной сети и, что более важно, из сети 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
3
ответ дан 17 July 2014 в 00:55

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

2
ответ дан 17 July 2014 в 00:55

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

9
ответ дан 17 July 2014 в 00:55

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

0
ответ дан 17 July 2014 в 00:55

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

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

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

0
ответ дан 17 July 2014 в 00:55

Ellenőrizze, hogy a hálózata elérhető-e vagy sem. Esetemben újratelepítettem a Raspiberry-Pi-t. Ellenőriztem az RPi dátumát és idejét, nem frissült. Szóval kézzel módosítottam a dátumot,

sudo date -s "2019 Mar 20 02:42"

és újraindítottam. Most az RPi-m jól fut.

1
ответ дан 6 August 2019 в 18:20

У меня та же проблема, но я решил ее так:

sudo systemctl restart networking

надеюсь это может помочь.

0
ответ дан 6 August 2019 в 18:20

Эта проблема также может быть вызвана наличием файловой системы только для чтения .

Вы можете проверить это с помощью следующей команды:

mount | grep "on / "

Если вывод содержит ro как один из флагов монтирования, ваша корневая файловая система находится в режиме только для чтения. Вам придется перемонтировать файловую систему для чтения и записи, прежде чем apt-get update продолжится.

Ресурсы о том, как перемонтировать файловую систему:

0
ответ дан 6 August 2019 в 18:20

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

sudo software-properties-gtk

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

select best server 1 select best server 2

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

 delete all other software repositories

наконец:

sudo apt-get update
sudo apt-get upgrade
3
ответ дан 6 August 2019 в 18:20

Установка apt-transport-https помогла мне на свежем Debian 9.

sudo apt-get install apt-transport-https
2
ответ дан 16 November 2019 в 12:13

Другие вопросы по тегам:

Похожие вопросы: