Вопрос или проблема
Я следовал инструкциям на сайта поддержки Mozilla:
Установите пакет Firefox .deb для дистрибутивов на основе Debian (Рекомендуется)
Чтобы установить пакет .deb через репозиторий APT, выполните следующее:
Создайте каталог для хранения ключей репозитория APT, если он не существует:
sudo install -d -m 0755 /etc/apt/keyrings
Импортируйте ключ подписи репозитория Mozilla APT:
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
Если у вас не установлен wget, вы можете установить его с помощью: sudo apt-get install wget
Отпечаток ключа должен быть 35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3. Вы можете проверить его с помощью следующей команды:
gpg -n -q --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc | awk '/pub/{getline; gsub(/^ +| +$/,""); if($0 == "35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3") print "\nОтпечаток ключа совпадает ("$0").\n"; else print "\nПроверка не удалась: отпечаток ("$0") не совпадает с ожидаемым.\n"}'
Затем добавьте репозиторий APT Mozilla в ваш список источников:
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null
Настройте APT для приоритета пакетов из репозитория Mozilla:
echo '
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
' | sudo tee /etc/apt/preferences.d/mozilla
Обновите список пакетов и установите пакет Firefox .deb:
sudo apt-get update && sudo apt-get install firefox
Теперь у меня есть:
$ apt list --installed | grep firefox
firefox/mozilla,now 132.0~build1 amd64 [установлено]
$ snap list | grep firefox
firefox 131.0.2-1 5091 latest/stable
mozilla** -
Я не против иметь установленными как apt, так и snap в системе. Проблема в том, что версия apt удаляется при выполнении обновления программного обеспечения, даже несмотря на то, что настройка “Настроить APT для приоритета пакетов из репозитория Mozilla” была выполнена.
Как мне остановить удаление версии apt и замену её версией snap при обновлениях программного обеспечения?
Попробуйте одновременно понизить приоритет пакета Ubuntu.
echo '
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
Package: firefox*
Pin: release o=Ubuntu
Pin-Priority: -1
' | sudo tee /etc/apt/preferences.d/mozilla
Ответ или решение
Для того чтобы фиксировать версию Firefox, установленную с использованием APT, на Ubuntu 22.04 и предотвратить её автоматическое удаление или замену версией из Snap во время обновлений, выполните следующие шаги:
Шаги по закреплению версии Firefox с помощью APT
-
Создание каталога для ключей APT, если он ещё не существует:
sudo install -d -m 0755 /etc/apt/keyrings
-
Импорт ключа подписи APT-репозитория Mozilla:
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
Убедитесь, что
wget
установлен. Если его нет, выполните:sudo apt-get install wget
-
Проверка отпечатка ключа:
Убедитесь, что отпечаток ключа совпадает с ожидаемым:gpg -n -q --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc | awk '/pub/{getline; gsub(/^ +| +$/,""); if($0 == "35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3") print "\nОтпечаток ключа совпадает ("$0").\n"; else print "\nПроверка не пройдена: отпечаток ("$0") не совпадает с ожидаемым.\n"}'
-
Добавление APT-репозитория Mozilla в список источников:
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null
-
Настройка APT для приоритета пакетов из репозитория Mozilla:
Создайте или редактируйте файл/etc/apt/preferences.d/mozilla
:echo ' Package: * Pin: origin packages.mozilla.org Pin-Priority: 1000 Package: firefox* Pin: release o=Ubuntu Pin-Priority: -1 ' | sudo tee /etc/apt/preferences.d/mozilla
В этом шаге мы не только указываем, что пакеты из Mozilla должны иметь высокий приоритет (1000), но также понижаем приоритет версий Firefox, поставляемых из стандартного репозитория Ubuntu до -1. Это решает проблему, когда версия Firefox, установленная из APT, заменяется версией Snap.
-
Обновление списка пакетов и установка Firefox:
Обновите списки пакетов и убедитесь, что установлена нужная версия Firefox:sudo apt-get update && sudo apt-get install firefox
Проверка установленных версий
Для проверки, какие версии Firefox установлены, выполните:
apt list --installed | grep firefox
snap list | grep firefox
Вы должны увидеть, что версия, установленная через APT (например, 132.0~build1), не будет заменена версией Snap при последующих обновлениях.
Заключение
Теперь вы успешно закрепили версию Firefox, установленную через APT, на Ubuntu 22.04. Следуя вышеописанным шагам, можно быть уверенным, что при обновлениях системы версия, установленная из официального репозитория Mozilla, останется в системе. Этот метод позволяет избежать конфликта между версиями пакетов Snap и APT, обеспечивая стабильное использование требуемого программного обеспечения.