Как остановить автоматические обновления при обновлении моих пользовательских установленных пакетов Debian?

#ubuntu #apt-get #dpkg

#ubuntu #apt-get #dpkg

Вопрос:

Я специально скомпилировал свою собственную версию ffmpeg и создал файл .deb из этого пакета. Пакет описан следующим образом

control.txt

 Package: ffmpeg
Version: 4.3-ubuntu1804 hwaccel.cuda 20200806
Architecture: amd64
Depends: ${insert dependencies here}
Replaces: ffmpeg, libavutil-dev, libavformat-dev, libavcodec-dev, libswresample-dev, libavdevice-dev, libavfilter-dev, libavresample-dev, libpostproc-dev, libswscale-dev, libmp3lame0
Maintainer: me@me.com
Description: some ffmpeg package I built with CUDA hwaccel for Ubuntu 1804 targets
  

Затем я беру свою систему, серверное устройство Ubuntu 18.04, которое уже ffmpeg установлено из системных репозиториев, и запускаю следующее

 sudo apt-get install -y ./ffmpeg_4.3-ubuntu1804 hwaccel.cuda 20200806_amd64.deb
  

и он устанавливает ffmpeg в мою систему и заменяет тот, который уже был установлен. Я позволяю этому работать некоторое время, и когда я возвращаюсь, я замечаю, что ffmpeg в моей системе установлен тот, который находится в репозиториях Ubuntu. А именно, версия 7:3.4.8-0ubuntu0.2 .

Я захожу, чтобы проверить /var/log/apt/history.log файл и вижу это

 Upgrade: ffmpeg:amd64 (4.3-ubuntu1804 hwaccel.cuda 20200919, 7:3.4.8-0ubuntu0.2)
End-Date: 2020-09-20  06:04:48
  

Похоже, что он заметил мою пользовательскую скомпилированную версию ffmpeg в системе и провел какое-то сравнение версий с версией в репозиториях и заметил, что она стоит за этой и выполнила автоматическое обновление. Проблема в том, что мой не отстает от того, что находится в репозиториях (4.3 против 3.4.8), а также в том, что я сам установил эту пользовательскую версию, почему автоматические обновления продолжаются и отменяют мою работу, устанавливая стандартную версию из репозиториев?

Мой вопрос — как мне сказать unattended-upgrades , чтобы я ни при каких обстоятельствах не касался этого пакета, и еще лучше, как сказать ему, чтобы он не касался никаких пакетов, которые я устанавливаю из пользовательских скомпилированных файлов .deb?

Ответ №1:

К вашему сведению, на случай, если кто-нибудь столкнется с этим ответом в будущем, вы можете сделать три вещи.

  1. Удалить unattended-upgrades
  2. Измените строку, /etc/apt/apt.conf.d/20auto-upgrades чтобы APT::Periodic::Unattended-Upgrade "0"; вместо 1
  3. Отметьте «hold» на соответствующем пакете. Итак sudo apt-mark hold ffmpeg . Это указывает apt-get и другим программам не обновлять этот пакет.