Отменить команду apt update

Вопрос или проблема

Я использую Debian Bullseye и хотел установить KeePassXC. Я попробовал выполнить sudo apt install keepassxc, но оказалось, что KeePassXC не является частью релиза Bullseye. Я добавил строку для зеркала Sid в /etc/apt/sources.list и затем выполнил sudo apt update. Поняв, что это, вероятно, плохая идея, я прервал выполнение обновления (Ctrl-C), так как оно шло уже какое-то время и даже запрашивало 2 перезапуска программ. Затем я закомментировал строку в файле sources.list и снова выполнил sudo apt update, по выходным данным которого не было обновлений. Я затем выполнил sudo apt autoremove, который удалил 3 пакета.

Мое дерево зависимостей навсегда испорчено? Если я выполню sudo apt upgrade, не подтянутся ли изменения из релиза Sid? Я не совсем понимаю разницу между обновлением и обновлением, так что это может быть несущественным вопросом.

Правка:

Вывод apt policy:

Файлы пакетов:
 100 /var/lib/dpkg/status
     релиз a=now
 500 http://httpredir.debian.org/debian stretch/non-free amd64 Пакеты
     релиз v=9.13,o=Debian,a=oldstable,n=stretch,l=Debian,c=non-free,b=amd64
     источник httpredir.debian.org
 500 http://httpredir.debian.org/debian stretch/contrib amd64 Пакеты
     релиз v=9.13,o=Debian,a=oldstable,n=stretch,l=Debian,c=contrib,b=amd64
     источник httpredir.debian.org
 500 http://httpredir.debian.org/debian stretch/main amd64 Пакеты
     релиз v=9.13,o=Debian,a=oldstable,n=stretch,l=Debian,c=main,b=amd64
     источник httpredir.debian.org
 500 http://security.debian.org/debian-security stretch/updates/main amd64 Пакеты
     релиз v=9,o=Debian,a=oldstable,n=stretch,l=Debian-Security,c=main,b=amd64
     источник security.debian.org
 500 http://mirrors.ocf.berkeley.edu/debian stretch/main amd64 Пакеты
     релиз v=9.13,o=Debian,a=oldstable,n=stretch,l=Debian,c=main,b=amd64
     источник mirrors.ocf.berkeley.edu
Закрепленные пакеты:

Я несколько удивлён, что apt update запросил “2 перезапуска программ”.

apt update получает информацию о репозиториях для всех репозиториев, настроенных в /etc/apt/sources.list и файлах в /etc/apt/sources.list.d. Это не приводит к обновлению каких-либо пакетов или перезапуску чего-либо и не запрашивает перезапуск.

apt upgrade обновляет установленные пакеты системы так, чтобы они соответствовали наиболее доступным версиям, скорректированным в соответствии с “приоритетами закрепления”, если это необходимо (и с данным релизом, если он настроен, что является своего рода приоритетом закрепления).

Таким образом, apt update самостоятельно, после добавления записей для Sid, только извлечет информацию о репозиториях, он не обновит ничего до Sid. Удаление записей Sid и повторный запуск apt update приведет к тому, что информация о Sid будет забыта (или, точнее, больше не будет учитываться). Последующий apt upgrade не будет знать о пакетах (и версиях) в Sid.

Ваша первоначальная проблема возникла из-за того, что вы не используете Bullseye, а используете Stretch. keepassxc доступен в Bullseye и был доступен постоянно с тех пор, как существует Bullseye, но недоступен в Stretch.

В общем: если вы восстановили вашу конфигурацию /etc/apt/sources.list до предыдущих значений и с тех пор выполнили apt update, ничего не изменилось, и вы должны смочь установить keepassxc без необходимости в репозиториях Sid.

Что касается отмены команды apt update, вы никогда не сможете полностью отменить её, если у вас нет резервной копии /var/lib/apt/lists, потому что информация из репозиториев, которые все еще настроены, была обновлена. Однако только репозитории, которые все еще настроены, когда-либо учитываются.

Ответ или решение

Как отменить команду apt update в Debian Bullseye

Введение

Вы столкнулись с ситуацией, когда внесли изменения в конфигурацию источников пакетов в Debian Bullseye с целью установки KeePassXC, но, в результате, возникли неопределенности и беспокойства о состоянии вашей системы. В данном ответе мы рассмотрим, как отменить изменения, связанные с командой apt update, и что делать дальше.

Суть проблемы

Вы добавили строку для зеркала Sid в файл /etc/apt/sources.list и выполнили команду sudo apt update. Это привело к обновлению информации о пакетах, и в ходе этого процесса система запросила перезапуск некоторых программ. После этого вы закомментировали строку и снова выполнили sudo apt update, который, как вы отметили, не показал никаких обновлений.

Понимание команд apt

Перед тем как углубляться в подробности, давайте разберемся в различиях между командами apt update и apt upgrade:

  • apt update — эта команда обновляет локальную информацию о пакетах из всех активных источников, указанных в конфигурации. Она не устанавливает новые версии пакетов.
  • apt upgrade — эта команда обновляет все установленные пакеты до последних доступных версий, основываясь на информации, полученной командой apt update.

Таким образом, выполнение команды apt update само по себе не приводит к изменению установленных пакетов.

Как вернуть настройки

Если вы хотите вернуть систему в состояние перед добавлением репозитория Sid, выполните следующие шаги:

  1. Проверьте файл sources.list: Убедитесь, что вы закомментировали (или удалили) строку, связанную с Sid. Проверьте, что в файле /etc/apt/sources.list остались только нужные репозитории для вашей версии (Bullseye или Stretch).

  2. Обновите список пакетов: Выполните команду:

    sudo apt update

    Это действие обновит информацию о пакетах только из тех источников, которые остались в списке.

  3. Проверка состояния пакетов: Используйте команду:

    apt policy

    Это даст вам представление о текущих версиях пакетов и их источниках.

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

    apt list --upgradable

    Если команда выводит пустой список, значит, нет доступных обновлений.

  5. Установка KeePassXC: После того как вы удостоверитесь, что настройка возвращена к прежнему состоянию, можно без опасений установить KeePassXC, используя команду:

    sudo apt install keepassxc

Дополнительные рекомендации

Если вы все еще испытываете беспокойство по поводу состояния зависимостей или удаленных пакетов, рекомендуется проверить следующие моменты:

  • Проверка зависимостей: Выполните команду:

    sudo apt check

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

  • Изучение истории изменений: Для обратного отслеживания изменений пакетов можно воспользоваться командой:

    grep "upgrade" /var/log/dpkg.log

    Это даст вам информацию о том, какие пакеты были обновлены, если это произошло.

Заключение

Несмотря на переживания, связанные с использованием репозитория Sid, вы можете вернуть свою систему в стабильное состояние. Как только вы удостоверились, что настройки восстановлены и информация о репозиториях обновлена, ваша система должна функционировать корректно, и вы сможете установить необходимые пакеты, не переживая за стабильность.

Оцените материал
Добавить комментарий

Капча загружается...