Как понизить версию пакета в Ubuntu
Быстрые ссылки
- Как это работает
- Графически — Synaptic
- Терминал — apt-get
Как это работает
Система Ubuntu обычно хранит несколько версий пакета в разных репозиториях. Когда выходит обновление, новая версия появляется в репозитории обновлений, а старая остаётся в основном репозитории. Если вы устанавливали пакеты из PPA, старые версии всё ещё могут находиться в официальных репозиториях Ubuntu.
Важно: откат пакета может привести к конфликтам зависимостей. Менеджеры пакетов не всегда рассчитаны на откат и могут считать это “трюком”. Всегда проверяйте зависимости перед применением.

Графически — Synaptic
Ubuntu Software Center в упрощённом виде не предлагает откат. Для графического отката используйте Synaptic — продвинутый менеджер пакетов. Если Synaptic не установлен, установите его:
sudo apt update
sudo apt install synaptic
Откройте Synaptic через Dash или меню приложений. Найдите пакет, который нужно понизить, выделите его и в меню выберите Package → Force Version.

В списке версий выберите требуемую и нажмите Force Version. Synaptic покажет только те версии, которые доступны в ваших репозиториях.

Нажмите Apply, чтобы применить изменения. Synaptic попытается разрешить зависимости и установить выбранную версию.

После успешного отката зафиксируйте пакет: выделите его и в меню выберите Package → Lock Version. Без этого Ubuntu попытается снова обновить пакет при следующем обновлении системы.


Терминал — apt-get
Если вы предпочитаете терминал, можно установить конкретную версию пакета и затем «удержать» её от обновления.
- Узнать доступные версии:
apt-cache showpkg packagename
- Установить конкретную версию (замените packagename и version на реальные значения):
sudo apt-get install packagename=versionЕсли при установке возникнут зависимости, apt-get предложит варианты их решения. Внимательно читайте предложения и подтверждайте только в том случае, если понимаете изменения.
- Зафиксировать версию, чтобы пакет не обновлялся автоматически. Два распространённых способа:
Через dpkg:
echo "packagename hold" | sudo dpkg --set-selectionsЧерез apt-mark (удобнее и более привычно):
sudo apt-mark hold packagenameЧтобы снять блокировку:
sudo apt-mark unhold packagenameПроверка статуса блокировки
dpkg --get-selections | grep packagename
# или
apt-mark showholdМини-методология: быстрый план действий
- Определите проблему и пакет, вызывающий регрессию.
- Посмотрите доступные версии (apt-cache showpkg).
- Сравните зависимости старой и новой версий.
- Сделайте резервную копию критичных конфигураций.
- Установите старую версию (apt-get / Synaptic).
- Зафиксируйте пакет (apt-mark hold / Synaptic lock).
- Тестируйте систему и откат обеспечьте репродуцируемость.
Что может пойти не так (когда это не работает)
- Старую версию нельзя установить из-за несоответствия зависимостей — другие пакеты требуют новую версию.
- Пакет был обновлён с изменением формата конфигурации, и старый конфиг несовместим.
- Вы устанавливали пакеты из PPA, где старые сборки отсутствуют; тогда откат возможен только при наличии .deb или зеркала старой версии.
Важно: если откат вызывает сильные зависимости, лучше искать фикс в новой версии, а не держать систему в старом состоянии длительное время.
Альтернативные подходы
- Использовать контейнеры (Docker) или chroot для запуска проблемного приложения в изолированной среде с нужной версией.
- Установить конкретную версию из .deb-файла (download + sudo dpkg -i) и затем исправить зависимости через apt –fix-broken install.
- Откатить весь пакетный источник (переключиться на другой релиз репозитория) — рискованно и требует осторожности.
Чек-лист администратора перед откатом
- Сделан резерв конфигураций и критичных данных.
- Проверены доступные версии и зависимости.
- Уведомлены пользователи о возможном даунтайме.
- Готов план отката изменений (unhold, повторное обновление).
Краткая справка (глоссарий в 1 строке)
- apt-cache: показывает информацию о пакетах и доступных версиях.
- apt-get / apt: пакетные менеджеры для установки/обновления пакетов.
- dpkg: низкоуровневый менеджер пакетов Debian/Ubuntu.
- apt-mark hold: помечает пакет, чтобы его не обновляли.
Критерии приёмки
- Пакет успешно установлен в нужной версии.
- Система и зависимые компоненты работают как раньше.
- Пакет зафиксирован (hold) и не обновляется при apt upgrade.
- Документированы выполненные действия и причину отката.
Советы по безопасности и зависимости
- Не загружайте .deb из непроверенных источников.
- Если используете PPA, удалите или отключите его, если он вызывает нестабильность.
- Тестируйте изменения в тестовой среде перед применением на продакшн-серверах.
Итог
Откат пакета — полезный приём при регрессиях, но он должен быть временным решением. При возможности добейтесь исправления в новой версии или используйте контейнеризацию для изоляции проблемного приложения.
Важно: документируйте откаты и причины — это упростит диагностику и предотвратит повторение проблемы.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента