Включение deb-multimedia на Debian 13, 12, 11: полное руководство

deb-multimedia — это сторонний репозиторий, который предоставляет более свежие версии мультимедийных пакетов (FFmpeg, VLC, HandBrake, Kodi, кодеки и др.), чем официальные репозитории Debian. Он полезен, если вам нужны новые кодеки, которых нет в Debian, или более свежие версии программ.

⚠️ Важное предупреждение:

  • deb-multimedia — НЕ официальный репозиторий Debian
  • Он может заменять стандартные пакеты Debian своими версиями (с более высоким приоритетом)
  • Это может привести к проблемам при обновлении системы
  • Включайте его только если вы точно знаете, зачем он вам нужен

Оглавление

Предварительные требования

Перед включением убедитесь, что:

  • Вы имеете права sudo (администратора)

⚠️ ВАЖНО: Проверьте права sudo перед установкой

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

sudo whoami

Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.

Ожидаемый вывод в терминале:

root

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.


Проверка версии Debian и архитектуры

. /etc/os-release
printf 'Debian %s (%s)\n' "$VERSION_ID" "$VERSION_CODENAME"
dpkg --print-architecture

Релизы Debian, поддерживаемые deb-multimedia: trixie (13), bookworm (12), bullseye (11).
Архитектура: amd64 (наиболее полная поддержка).


Удаление старых источников deb-multimedia (если есть)

Перед добавлением репозитория удалите все старые файлы, чтобы избежать конфликтов.

sudo rm -f /etc/apt/sources.list.d/deb-multimedia.sources
sudo rm -f /etc/apt/sources.list.d/extrepo_deb-multimedia.sources
sudo rm -f /etc/apt/sources.list.d/deb-multimedia.list
sudo rm -f /etc/apt/sources.list.d/dmo.list

Если вы использовали extrepo:

if command -v extrepo >/dev/null 2>&1; then
  sudo extrepo disable deb-multimedia || true
fi

Проверьте, нет ли ссылок на старый домен debian-multimedia.org (просроченный и опасный):

grep -R "debian-multimedia.org" /etc/apt/sources.list /etc/apt/sources.list.d 2>/dev/null || true

Если есть — удалите эти строки вручную.


Установка зависимостей

sudo apt update
sudo apt install -y ca-certificates curl

Скачивание и проверка ключа репозитория

Шаг 1: Скачайте пакет с ключом

curl -fsSLo /tmp/deb-multimedia-keyring_2024.9.1_all.deb https://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2024.9.1_all.deb

Шаг 2: Проверьте контрольную сумму (SHA256)

printf '%s  %s\n' \
'8dc6cbb266c701cfe58bd1d2eb9fe2245a1d6341c7110cfbfe3a5a975dcf97ca' \
'/tmp/deb-multimedia-keyring_2024.9.1_all.deb' | sha256sum -c -

Ожидаемый вывод: /tmp/deb-multimedia-keyring_2024.9.1_all.deb: OK

⚠️ Никогда не пропускайте проверку ключа! Это защита от подмены пакета.

Шаг 3: Установите ключ

sudo apt install /tmp/deb-multimedia-keyring_2024.9.1_all.deb

Проверьте, что ключ установлен в правильное место:

ls -l /usr/share/keyrings/deb-multimedia-keyring.pgp

Ожидаемый вывод: Файл существует.


Добавление репозитория deb-multimedia

Создайте файл источника в формате DEB822

(
  . /etc/os-release
  case "$VERSION_CODENAME" in
    trixie|bookworm|bullseye) ;;
    *) printf 'Unsupported Debian codename: %s\n' "$VERSION_CODENAME"; exit 1 ;;
  esac

  printf '%s\n' \
  'Types: deb' \
  'URIs: https://www.deb-multimedia.org' \
  "Suites: $VERSION_CODENAME" \
  'Components: main non-free' \
  "Architectures: $(dpkg --print-architecture)" \
  'Signed-By: /usr/share/keyrings/deb-multimedia-keyring.pgp' \
  'Enabled: yes' | sudo tee /etc/apt/sources.list.d/dmo.sources > /dev/null
)

Что делает: Создаёт файл репозитория в современном формате DEB822.

Проверьте содержимое файла

cat /etc/apt/sources.list.d/dmo.sources

Ожидаемый вывод: Строки с URIs: https://www.deb-multimedia.org и вашим кодовым именем.


Обновление списка пакетов

sudo apt update

Ожидаемый вывод (должны быть строки с deb-multimedia.org):

Get:4 https://www.deb-multimedia.org trixie InRelease [18.6 kB]
Get:5 https://www.deb-multimedia.org trixie/main amd64 Packages [136 kB]

Проверка приоритета пакетов

Посмотрим, какой пакет FFmpeg теперь предлагается:

apt-cache policy ffmpeg

На Debian 13 deb-multimedia обычно имеет более высокий приоритет (благодаря эпохе 10: против 7:):

ffmpeg:
  Installed: (none)
  Candidate: 10:7.1.4-dmo1+deb13u1
  Version table:
     10:7.1.4-dmo1+deb13u1 500
        500 https://www.deb-multimedia.org trixie/main amd64 Packages
     7:7.1.3-0+deb13u1 500
        500 http://deb.debian.org/debian trixie/main amd64 Packages

⚠️ Это означает, что при установке FFmpeg будет установлена версия из deb-multimedia, а не из Debian.


(Опционально) Понижение приоритета deb-multimedia

Если вы хотите, чтобы пакеты из Debian оставались приоритетнее (т.е. deb-multimedia использовался только по явному указанию), создайте файл с низким приоритетом:

printf '%s\n' \
'Package: *' \
'Pin: release o=Unofficial Multimedia Packages' \
'Pin-Priority: 100' | sudo tee /etc/apt/preferences.d/dmo-low-priority.pref > /dev/null

После этого проверьте приоритет:

apt-cache policy ffmpeg

Теперь кандидатом станет пакет из Debian, а deb-multimedia будет иметь приоритет 100.

Чтобы удалить этот пин (вернуть нормальный приоритет):

sudo rm -f /etc/apt/preferences.d/dmo-low-priority.pref

Просмотр изменений перед установкой

Всегда проверяйте, какие пакеты будут заменены, перед установкой!

apt-get -s install ffmpeg

Что делает: Симулирует установку, не изменяя систему. Вы увидите, какие пакеты будут заменены на версии из deb-multimedia.

Если всё устраивает — устанавливайте.

sudo apt install ffmpeg

Обновление системы с deb-multimedia

Перед обновлением проверьте, какие пакеты из deb-multimedia уже установлены:

dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package} ${Version}\n' | grep '^ii .*dmo' || echo "No installed deb-multimedia packages found"

Симулируйте полное обновление:

apt-get -s full-upgrade

Если симуляция показывает приемлемые изменения, выполните обновление:

sudo apt full-upgrade

⚠️ Не используйте -y при обновлении с deb-multimedia — всегда проверяйте, что будет изменено.


Решение типичных проблем

8.1 Ошибка: GPG key not found / unsigned repository

Симптом: sudo apt update сообщает, что репозиторий не подписан.

Причина: Ключ не установлен или путь в Signed-By неверный.

Пошаговое решение:

Шаг 1: Проверьте, установлен ли пакет с ключом:

dpkg -l deb-multimedia-keyring | grep '^ii'

Шаг 2: Проверьте путь в файле репозитория:

cat /etc/apt/sources.list.d/dmo.sources | grep Signed-By

Должно быть: Signed-By: /usr/share/keyrings/deb-multimedia-keyring.pgp

Шаг 3: Переустановите ключ:

sudo apt install --reinstall /tmp/deb-multimedia-keyring_2024.9.1_all.deb

8.2 Ошибка: Duplicate source / Signed-By conflict

Симптом: Предупреждения о дублировании источника при apt update.

Причина: Остались старые файлы репозитория.

Пошаговое решение:

Удалите все старые файлы (см. раздел «Удаление старых источников»).


8.3 Ошибка: APT всё ещё выбирает пакеты из Debian, а не из deb-multimedia

Симптом: apt-cache policy ffmpeg показывает кандидатом пакет из Debian.

Причина: Установлен низкий приоритет для deb-multimedia (файл в /etc/apt/preferences.d/).

Пошаговое решение:

Шаг 1: Проверьте, есть ли файл с низким приоритетом:

ls -la /etc/apt/preferences.d/dmo-low-priority.pref

Шаг 2: Удалите его, если хотите恢复正常ный приоритет:

sudo rm -f /etc/apt/preferences.d/dmo-low-priority.pref
sudo apt update

8.4 Ошибка: Hash sum mismatch

Симптом: При apt update ошибка Hash Sum mismatch.

Причина: Временная проблема синхронизации репозитория.

Пошаговое решение:

Подождите несколько минут и повторите:

sudo apt update

Если не помогает — очистите кэш APT:

sudo apt clean
sudo apt update

8.5 Проблема: После удаления репозитория пакеты остались из deb-multimedia

Симптом: Вы удалили репозиторий, но ffmpeg и другие пакеты всё ещё с суффиксом -dmo.

Причина: Сами пакеты были установлены из deb-multimedia и не удалились автоматически.

Пошаговое решение:

Шаг 1: Посмотрите, какие пакеты из deb-multimedia установлены:

dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package} ${Version}\n' | grep '^ii .*dmo'

Шаг 2: Удалите репозиторий (см. раздел «Удаление deb-multimedia»).

Шаг 3: Понизьте версии пакетов до стандартных из Debian.

Для Debian 13:

sudo apt install --allow-downgrades ffmpeg libavcodec61 libavformat61 libavutil59 libswresample5 libswscale8

Для Debian 12:

sudo apt install --allow-downgrades ffmpeg libavcodec59 libavformat59 libavutil57 libswresample4 libswscale6

Для Debian 11:

sudo apt install --allow-downgrades ffmpeg libavcodec58 libavformat58 libavutil56 libswresample3 libswscale5

Шаг 4: Удалите неиспользуемые зависимости:

sudo apt autoremove

Отключение и удаление deb-multimedia

Шаг 1: Удалите файл репозитория

sudo rm -f /etc/apt/sources.list.d/dmo.sources

Шаг 2: Удалите пин (если был)

sudo rm -f /etc/apt/preferences.d/dmo-low-priority.pref

Шаг 3: Удалите ключ

sudo apt remove deb-multimedia-keyring

Шаг 4: Обновите список пакетов

sudo apt update

Шаг 5: Проверьте, что deb-multimedia больше нет в источниках

apt-cache policy ffmpeg

В выводе не должно быть строк с deb-multimedia.org.


Чек-лист: что проверить после включения

  • [ ] Ключ установлен: dpkg -l deb-multimedia-keyringii
  • [ ] Файл репозитория создан: cat /etc/apt/sources.list.d/dmo.sources → правильные строки
  • [ ] apt update проходит без ошибок: нет сообщений о неподписанном репозитории
  • [ ] Пакеты из deb-multimedia видны: apt-cache policy ffmpeg показывает строку с deb-multimedia.org
  • [ ] Приоритет настроен (если нужно): apt-cache policy ffmpeg → кандидат из Debian или из deb-multimedia

Часто задаваемые вопросы (FAQ)

Вопрос: deb-multimedia безопасен?
Ответ: Это сторонний репозиторий, не контролируемый Debian. Он существует много лет, но может заменять системные библиотеки, что иногда приводит к конфликтам. Используйте на свой страх и риск.

Вопрос: В чём разница между deb-multimedia и официальными репозиториями Debian?
Ответ: deb-multimedia предлагает более свежие версии мультимедийных пакетов, но может заменять стандартные пакеты Debian. Официальные репозитории Debian — стабильные, но иногда устаревшие.

Вопрос: Нужно ли мне отключать официальные репозитории Debian?
Ответ: Нет, deb-multimedia добавляется дополнительно к официальным источникам.

Вопрос: Как откатить пакет, установленный из deb-multimedia?
Ответ: Удалите репозиторий, затем установите пакет с флагом --allow-downgrades и укажите версию из Debian (см. раздел «Удаление и откат»).

Вопрос: Почему у пакетов из deb-multimedia такие странные версии (например, 10:7.1.4)?
Ответ: Эпоха (10:) используется, чтобы версия из deb-multimedia всегда была «новее», чем версия из Debian (7:). Это заставляет APT выбирать пакет из deb-multimedia, если он доступен.


Заключение

Вы включили deb-multimedia на вашем Debian. Теперь у вас есть доступ к более свежим мультимедийным пакетам.

Что дальше?