Рейтинг:-1

После обновления пакета предыдущая версия пакета теряется, поэтому я не могу вернуться к ней

флаг jp

После того, как я обновил пакет, когда я запустил Политика apt-cache <имя-пакета>, я увидел, что предыдущей версии этого самого пакета нет в списке.

До того, как пакет bind9-dnsutils был обновлен, список кеша показывал три разные версии этого пакета:

$ политика apt-cache bind9-dnsutils
bind9-dnsutils:
  Установлено: 1:9.16.1-0ubuntu2.8
  Кандидат: 1:9.16.1-0ubuntu2.9
  Таблица версий:
     1:9.16.1-0ubuntu2.9 500
        500 http://pl.archive.ubuntu.com/ubuntu focus-updates/main Пакеты amd64
        500 http://pl.archive.ubuntu.com/ubuntu focus-security/main amd64 Packages
 *** 1:9.16.1-0ubuntu2.8 100
        100 /var/lib/dpkg/status
     1:9.16.1-0ubuntu2 500
        500 http://pl.archive.ubuntu.com/ubuntu focus/main amd64 Пакеты  

Я успешно выполнил обновление пакета bind9-dnsutils до последней версии. После обновления пакета bind9-dnsutils при проверке списка кешей для этого пакета не отображается предыдущая версия 1:9.16.1-0ubuntu2.8 в списке.

$ sudo aptitude установить bind9-dnsutils=1:9.16.1-0ubuntu2.9
bind9-dnsutils:
  Установлено: 1:9.16.1-0ubuntu2.9
  Кандидат: 1:9.16.1-0ubuntu2.9
  Таблица версий:
*** 1:9.16.1-0ubuntu2.9 500
        500 http://pl.archive.ubuntu.com/ubuntu focus-updates/main Пакеты amd64
        500 http://pl.archive.ubuntu.com/ubuntu focus-security/main amd64 Packages
        100 /var/lib/dpkg/status
     1:9.16.1-0ubuntu2 500
        500 http://pl.archive.ubuntu.com/ubuntu focus/main amd64 Пакеты

В результате, если я попытаюсь перейти на версию 1:9.16.1-0ubuntu2.8, я получу следующее сообщение об ошибке:

Не удалось найти версию «1:9.16.1-0ubuntu2.8» для пакета «bind9-dnsutils».
Невозможно применить некоторые действия, прерывание

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

Greenonline avatar
флаг us
Я настоятельно рекомендую для удобочитаемости использовать правильное форматирование уценки, особенно для кода, а не используемый в настоящее время HTML.
user535733 avatar
флаг cn
Отредактируйте файл `/etc/apt/apt.conf.d/20archive` и расширьте список сохраняемых пакетов.
karel avatar
флаг sa
Вы говорите о функции **резервного копирования и восстановления**, которая долгое время была частью Windows, и с 20.04 вы можете установить пакет, который добавляет эту функциональность и в Ubuntu.
user3737851 avatar
флаг jp
@user535733 Спасибо за быстрый ответ. Я попробовал два подхода, чтобы расширить диапазон, а также отключить архивирование, установив нулевое значение для каждой переменной. Оба подхода не сработали > **Расширить диапазон** APT::Archives::MaxAge "60"; APT::Archives::MinAge "60"; APT::Archives::MaxSize "1000"; > **Отключил операцию** APT::Archives::MaxAge "0"; APT::Archives::MinAge "0"; APT::Archives::MaxSize "0"; **Информация о версии Ubuntu** Идентификатор дистрибьютора: Ubuntu Описание: Убунту 20.04.3 LTS-релиз: 20.04 Кодовое имя: фокусное Спасибо Ани
Рейтинг:0
флаг sa

Поздравляем вас с спасением от ада зависимостей с помощью apt. apt сделал то, что должен был сделать, чтобы поддерживать правильное управление пакетами, необходимое для установки, удаления и обновления программного обеспечения. Если вы хотите добавить в Ubuntu функции резервного копирования и восстановления, аналогичные функции восстановления системы в Windows, установите пакет timeshift в Ubuntu 20.04 и более поздних версиях.

судо подходящее обновление
sudo apt установить таймшифт

Timeshift — это утилита восстановления системы, которая через регулярные промежутки времени делает снимки системы. Эти моментальные снимки можно восстановить позже, чтобы отменить системные изменения. Timeshift создает добавочные снимки с помощью rsync или снимки BTRFS с помощью инструментов BTRFS.

С другой стороны, возможно, вы не хотите устанавливать Timeshift, потому что он слишком тяжелый, когда вы просто хотите понизить версию одного пакета. Если у вас получится вручную загрузить dsownload bind9-dnsutils_9.16.1-0ubuntu2.8_amd64.deb и понизить версию bind9-dnsutils без создания ошибки неудовлетворенных зависимостей, то вы можете предотвратить обновление bind9-dnsutils, следуя инструкциям в ответах на Как предотвратить обновление определенного пакета?. После загрузки bind9-dnsutils_9.16.1-0ubuntu2.8_amd64.deb вы можете проверить, можно ли его установить без необходимости установки дополнительных зависимостей, выполнив следующую команду:

apt install --simulate ./bind9-dnsutils_9.16.1-0ubuntu2.8_amd64.deb

Вышеупомянутая команда является просто симуляцией. Это не требует судо в начале, и он ничего не устанавливает и не вносит никаких изменений в вашу систему.

Ответить или комментировать

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