Apt-застрять в 0% [Рабочая]

21

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

цифровой
источник
как насчет способностей ?? Способность установить Firefox
Рахул V Шарма
Способность работает, я спрашиваю. Я открыл его, и он работал нормально. Я никогда не использовал это ..
Digital
Я попытался установить aptitude, и он (после нескольких вещей) тоже застрял.
Digital
1
Каков результат ping -c 3 google.com?
pmichna
1
мой apt-get застревал всякий раз, когда он пытался подключиться к IPv6-адресу .... этот SE-ответ исправил это: askubuntu.com/a/575130/421665
Eric

Ответы:

25

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

apt-get clean
hexnet
источник
22

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

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

    Он удаляет все, кроме файла блокировки, из / var / cache / apt / archives / и / var / cache / apt / archives / частичный /.

  • Загляните внутрь, /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.list.
    Если их слишком много, ваша система может зависнуть при попытке построить все дерево зависимостей.
    Вы можете создать минимальный набор хранилищ из Ubuntu Источники сайта List Generator и после этого резервного/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/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.
  • etc / apt / preferences.d /
    Фрагменты файла для настроек версии. Элемент конфигурации: Dir :: Etc :: PreferencesParts.
  • / var / cache / apt / архивы / частичные /
    Область хранения файлов пакетов в пути. Элемент конфигурации: Dir :: Cache :: Archives (частичное будет добавлено неявно)
  • / var / lib / apt / lists / part / Область хранения информации о состоянии в пути. Элемент конфигурации: 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

Может быть, может быть полезна эта тема

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

Hastur
источник
Хм, это выглядит многообещающе, я попробую это завтра (На самом деле это сегодня, но между ними есть период сна: б). Я опубликую результаты!
Digital
Хорошей ночи ... и мечтайте о точке № 3 (чтобы заменить список источников / сократить количество источников). Если кеш очищается, обычно он решает. Всегда проверяйте, что можно добраться до ваших репозиториев. Например, вставьте http://extras.ubuntu.com/ubuntuв браузер ... (или лучше строки внутри вашего /etc/apt/sources.list
Hastur
Я пробовал каждый шаг, но те почему-то не помогли. Я думаю, что я переустановлю свою Ubuntu. Может кто-нибудь сказать мне, как я могу переустановить Ubuntu, который был установлен в качестве вторичной ОС (с Windows)? Нужно ли мне вручную удалять все файлы Ubuntu, а затем снова устанавливать, или как?
Digital
ДОБАВИТЬ: Также, когда я прерываю операцию «Работа», используя Control-C, это apperars на терминале: pastebin.com/GgJ2R3Ph . Вы найдете ответы оттуда?
Digital
4
У меня была проблема, что один из хостов sources.listиспользовал, httpsа не http, но apt-transport-httpsне был установлен.
cimnine
8

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

Питер Тернер
источник
3

Убедитесь, что вы можете подключиться к вашей собственной сети и, что более важно, к сети 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
Кайл Кутс
источник
2

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

aptitude update

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

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

Рахул V Шарма
источник
Я сделал, sudo aptitude updateи теперь я снова застрял в0% [Working]
Digital
Я также попытался изменить зеркало, но я не вижу никаких изменений.
Digital
1
Вы столкнулись со странной проблемой ... я исследовал ее ... Но безрезультатно
Рахул V Шарма
2

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

Кит
источник
2

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

sudo software-properties-gtk

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

выбрать лучший сервер 1 выбрать лучший сервер 2

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

 удалить все остальные программные репозитории

Ну наконец то:

sudo apt-get update
sudo apt-get upgrade
Фарид Оббати
источник
1

Проверьте, доступна ли ваша сеть или нет. В моем случае я переустановил свой Raspiberry-Pi. Я проверил дату и время моего RPi, он не был обновлен. Поэтому я изменил дату вручную,

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

И перезагрузка. Теперь мой RPi работает хорошо.

student399
источник
0

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

iinnke
источник
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

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

Джоррик Слэйстер
источник
0

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

sudo systemctl restart networking

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

Мостафа Мауи
источник
0

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

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

mount | grep "on / "

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

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

Хийс де Йонг
источник
0

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

sudo apt-get install apt-transport-https
Роберт Робий Сабо
источник