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