Назад | Перейти на главную страницу

Как найти сервисные зависимости для обновлений пакетов в Ubuntu?

Этот вопрос похож на вот этот.

При установке обновлений пакетов легко узнать зависимости пакетов с помощью apt-cache dependsоднако я не знаю, как узнать, какие службы могут быть затронуты. В некоторых случаях это серьезная проблема; Ответы на этот другой вопрос предполагают, что перезапуск службы занимает всего несколько секунд, но это не всегда верно, например, для завершения большого экземпляра MySQL может потребоваться несколько часов! Скажем, есть обновление для php5-curl. Это зависит от libapache2-mod-php5, который, в свою очередь, зависит от apache2-mpm-prefork. Этот пакет имеет apache2 в списке предоставляемых aptitude show, так что это говорит мне, что это связано с этой службой, но не обязательно, что она требует перезапуска. Я подозреваю, что одних зависимостей пакетов недостаточно для решения этой проблемы - я могу представить себе аналогичные цепочки зависимостей, которые не требуют перезапуска службы (например, если служба загружает такие внешние компоненты динамически).

Когда я делаю aptitude full-upgrade, Я получаю приятный вывод «Следующие пакеты будут обновлены ...». То, что мне нужно, было бы разделом в этом выводе, в котором говорится: «Следующие службы будут перезапущены ...». Как я могу это получить?

способ узнать окончательно - прочитать (до / после) установочные скрипты, которые идут с пакетами. может быть достаточно grep "restart".

Другой способ - иметь идентичную тестовую систему, в которой вы могли бы запускать свои команды и смотреть, что произойдет.

вам нужно будет создать скрипт, который будет искать обновления для вашей системы и, как сказал jojo, искать строку «перезапуск»