Debian apt get update не работает

Обновлено: 01.07.2024

Если вы активный пользователь Linux, то наверняка встречались с тем, что некоторые пакеты так сказать ломаются. Это может быть вызвано по разным причинам, некорректно установленный пакет, какие-то ошибки во время установки и многое другое. Что в свою очередь может сказаться и на самом менеджере пакетов “apt-get”, и как итог, возможно что дойдет даже то того, что вы не сможете обновляться или устанавливать программное обеспечения. Данная статья поможет вам решить вопрос со сломанными пакетами в Debian / Ubuntu, а так же их производными. Так как сломанные пакеты могут возникать по разным причинам, существует несколько способов для решения этой задачи, но, не все они могут сработать, тут все зависит от конкретного случая.

P.S. Желательно точно знать какой пакет у вас сломан, так как это поможет вам выбрать один из способом решения задачи.

Чиним сломанные пакеты с apt-get

Первый вариант, который может помочь починить сломанные пакеты имеется в самом менеджере пакетов apt, и для починки сломанных пакетов достаточно ввести две команды:

sudo apt-get update --fix-missing
sudo apt-get install -f

Этот способ поможет для решения уже установленных в вашей системе пакетов, который по каким то причинам сломались. После выполнения первой команды необходимо убедиться, что она исправила ошибки, а затем переходить к введению второй команды. Возможно, что для исправления сломанных пакетов понадобиться несколько минут:

Чиним сломанные пакеты с apt-get и dpkg

Но, что делать если пакет сломался во время установки? Можно попробовать выполнить команды из первого примера, если они не сработают, переходим к использованию apt-get и dpkg, для этого первым делом используем dpkg для настройки пакетов. А затем выполняем очистку apt-get:

sudo dpkg --configure -a
sudo apt-get clean
sudo apt-get update

В некоторых ситуациях может понадобиться удалить файл блокировки, после удаления файла блокировки, снова выполните предыдущие команды:

sudo rm /var/lib/apt/lists/lock

Принудительное удаление пакета с помощью apt-get и dpkg

В редких ситуациях может случиться и такое, что ни один из выше указанных методов не сработает и вам понадобиться вручную удалить сломанный пакет. Для этого разумеется вы должны точно знать что это за пакет, и первый вариант удаление пакета с помощью apt-get, для этого вводим команду:

sudo apt-get remove и название пакета

Если же вам не удалось удалить пакет, переходим к кардинальным мерам, для принудительного пакеты введите команду:

sudo dpkg --remove --force-remove-reinstreq и название пакеты

Затем выполните очистку и обновление пакетов:

sudo apt-get clean && sudo apt-get update

Заключение

Если вы не знаете про менеджеры пакетов apt-get и dpkg, на WIKI имеется статьи, первая про apt , вторая статья про dpkg . В редких ситуациях, выше приведенных мер может быть недостаточно для исправления сломанных пакетов. В этом случае, может понадобиться ручная сборка и удаление сломанных пакетов, правда, имеется риск повредить работоспособность всей системы, что в свою очередь может вывести ее из строя. В этом случае, если вы делали резервные копии вашей системы можно откатиться работоспособной версии системы. Сделать резервную копию вашей системы можно при помощи Timeshift или Deja Dup , последняя имеется в дистрибутиве Ubuntu. Но, чаще всего удается отделаться малой кровью когда появляются сломанные пакеты, и выше приведенных мер достаточно для исправления сломанных пактов.

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

В дистрибутивах Debian, Linux Mint, Ubuntu, Kali Linux и других на их основе при установке пакета командой «sudo apt install ПАКЕТ» может возникнуть ошибка, что не удалось получить некоторые архивы.

Эта же самая ошибка может возникнуть при использовании команд sudo apt full-upgrade и sudo apt dist-upgrade.

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

Пример такой ошибки:


Ключевой здесь является строка Ошб:1 404 Not Found — то есть файл пакета не найден. Самой частой причиной этого является устаревший кэш с информацией о пакетах и ссылками на их загрузку.

Поэтому перед установкой пакета или обновлением системы обновите кэш:

При обновлении, используйте такую комбинированную команду, которая обновит кэш и сразу запустит загрузку и установку обновлённых версий пакетов:

Часть выводимой при неудачном обновлении информации:

Ключевой здесь является информация:

То есть не удалось получить некоторые файлы пакетов.

  • у вас нестабильное Интернет-подключение и некоторые файлы не были загружены из-за разрывов подключения
  • между обновлением кэша приложений и загрузкой файлов прошло некоторое время, в течении которого пакеты в репозитории успели обновиться — то есть вы пытаетесь загрузить старые пакеты, а на сервере они больше недоступны, так как заменены новыми версиями. Такая ситуация вполне вероятно, особенно если вам необходимо обновиться много пакетов, а ваше Интернет-подключение является медленным.

Для решение проблемы — просто заново перезапустите обновление командами:

С течением времени жажда «химичить» с железкой (wd my book live) не иссякла. В общем, появились проблемки. Так как опыт в работе с *nix ну совсем не значительный, ветка ос — старенькая, а проблемы довольно специфичные — даже вопросы у ясеня гугла результа особого не дают. Ничего не удается ни поставить, ни обновить, манипуляции с sources.list результатов должных тоже не оказывают. Надеюсь сможете помочь:

Reading package lists… Done
Building dependency tree
Reading state information… Done
Correcting dependencies… Done
The following extra packages will be installed:
libc-bin
The following packages will be upgraded:
libc-bin
1 upgraded, 0 newly installed, 0 to remove and 252 not upgraded.
Need to get 0B/765kB of archives.
After this operation, 8192B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Чтение базы данных…
dpkg: предупреждение: список файлов пакета ramlog отсутствует, предполагаем, что на данный момент у пакета нет установленных файлов.

dpkg: предупреждение: список файлов пакета libparted0 отсутствует, предполагаем, что на данный момент у пакета нет установленных файлов.
(Чтение базы данных… на данный момент установлено 20006 файлов и каталогов.)
Подготовка к замене пакета libc-bin 2.11.2-2 (используется файл . /libc-bin_2.11.3-4_powerpc.deb)…
Распаковывается замена для пакета libc-bin…
dpkg: не удалось обработать параметр /var/cache/apt/archives/libc-bin_2.11.3-4_powerpc.deb (--unpack):
trying to overwrite '/etc/ld.so.conf.d/libc.conf', which is also in package wd-lib 01.04.01-81092
Обрабатываются триггеры для man-db…
При обработке следующих пакетов произошли ошибки:
/var/cache/apt/archives/libc-bin_2.11.3-4_powerpc.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Reading package lists… Done
Building dependency tree
Reading state information… Done
You might want to run `apt-get -f install' to correct these:
The following packages have unmet dependencies:
gcc: Depends: cpp (>= 4:4.4.5-1) but it is not going to be installed
Depends: gcc-4.4 (>= 4.4.5-1

) but it is not going to be installed
Recommends: libc6-dev but it is not going to be installed or
libc-dev
libc6: Depends: libc-bin (= 2.11.3-4) but 2.11.2-2 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Data:

Я не могу запустить, apt-get update поскольку я сталкиваюсь со следующей ошибкой:

Что я могу сделать? APT говорит мне, чтобы я прочитал apt-secure(8) , но в нем либо нет нужной мне информации, либо я не могу ее понять.

Затем запустите apt update вместо того, apt-get update чтобы в интерактивном режиме принять различные изменения.

Этот ответ, кажется, единственный, который отвечает на фактический вопрос, хотя другие ответы все еще интересны. Я долго думал о apt против apt-get . Это заставило меня наконец искать это. apt является предпочтительным способом управления пакетами для конечных пользователей. Это решает проблему. Кроме того, ответ на другой мой вопрос: ссылка, которую я разместил, верна; отсутствует файл выпуска. Но файл говорит " buster ". Я предполагаю, что это было устарело некоторое время назад, и я пропустил объявление. Ссылка, которую вы разместили, действительно существует, но zzz-dists часть в URL необычна. Это выглядит как папка, которую я бы переименовал, чтобы поместить ее в список файлов. Я не знал о testing/updates переименовании, пока не столкнулся с той же проблемой, что и вы. Это упоминается Debian : если вы отслеживаете тестирование или код следующего стабильного имени, у вас всегда должна быть соответствующая основная строка deb security.debian.org <"testing" или кодовое имя> -security в вашем / etc / apt / sources .list .

Если вы переходите с тестирования на бустер, обязательно запустите

apt-get update --allow-releaseinfo-change

Согласно новостям Debian Project, опубликованным 1 июля, Debian 10 "Buster" должен был перейти с тестирования на стабильный на 2019-07-06.

Похоже, что переход фактически был выполнен в соответствии с графиком, и поэтому тестируемый дистрибутив теперь должен догонять нестабильно , чтобы в конечном итоге стать Debian 11 «Bullseye». Вы можете испытывать некоторые временные побочные эффекты из-за этого перехода зеркал Debian.

Если вы хотите , чтобы остаться с Debian 10 «Buster», теперь будет время хорошо переключить /etc/apt/sources.list использовать имя освобождения buster вместо testing .

В противном случае, вы скоро будете получать сырые передовые материалы из нестабильного , и вы можете случайно получить частичное обновление до прото- «яблочко».

Читайте также: