Как вручную перезапустить службы, затронутые apt-обновлениями?

Похоже, что в основном происходит то, что файлы с трещинами, вероятно, хранят открытые файлы из файловой системы, которую вы пытаетесь отключить. Вы можете попробовать использовать lsof, чтобы узнать, что предотвращает размонтирование. Что-то вроде lsof | grep / the / mountpoint устройства.Nautilus может вводить в заблуждение, хотя иногда, потому что он может быть установлен где-то еще, чем ожидалось.

lsof Откройте жесткий диск SATA и нажмите Ctrl + H (или перейдите в меню «Просмотр» и выберите «Показать скрытые файлы») вы увидите папку с именем «Trash» или аналогичную снимок ниже, удалите ее. Затем отключите ее.

1
задан 6 December 2012 в 23:23

2 ответа

Я хотел бы сказать «да» обновлению, чтобы применить все исправления, а затем вручную перезапустить службу в удобное для вас время.

Вы не можете сделать это в общем случае, извините. Даже если служба не перезапускается, пакеты не гарантируют, что обновления без перезагрузки службы не будут нарушать работу (например, что-то динамически загружено, например, модули).

Если вы хотите стабильную систему, вы должны либо сдерживаться при обновлении пакета, либо полностью обновлять его, либо перезагружать службу.

Я не могу на самом деле указать на достоверный источник, так как я не могу доказать отрицательный результат. Здесь важна политика Debian; он просто не обеспечивает гарантию, которую вы ищете. Согласно политике Debian, функциональность пакета не требуется для работы до тех пор, пока postinst не завершится успешно. Таким образом, мы можем заключить, что если postinst включает обязательный перезапуск службы, тогда это должно произойти.

Некоторые другие механизмы, которые могут вам помочь:

Используйте apt-get --download-only upgrade для загрузки обновлений в авансовый. Верните определенные пакеты из обновлений. Посмотрите на «высокую доступность», чтобы серверы могли быть обновлены в свою очередь, без прерывания обслуживания. В Postgres это, вероятно, будет включать некоторую реплицированную конфигурацию.
2
ответ дан 25 May 2018 в 03:37
  • 1
    Это определенно возможно, если пакеты следуют политике Debian и используют «invoke-rc.d». который имеет привязку к «policy-rc.d». См. Мой ответ для деталей. – tlo 13 February 2013 в 00:03
  • 2
    Хорошо, но сервис по-прежнему может быть нарушен, несмотря на то, что обновление может продолжать работу над файлами, от которых зависит сервис. – Robie Basak 13 February 2013 в 00:46
  • 3
    Отличная дискуссия, спасибо. Наиболее неприятной частью поведения по умолчанию является то, что postgresql остановлен, запускаются различные триггеры упаковки, после чего postgresql запускается снова. В зависимости от обновлений, это может занять несколько минут, и это касается некритических вещей, таких как обработка человеком. Даже выбор одного пакета имеет такую ​​задержку. Я понимаю, что динамически загружаемые модули могут сломаться, но я хотел бы оценить мои альтернативы. Более явный контроль и проверка обновлений должны предотвращать поврежденные системы. Я искал крючок, на который отвечает @tlo. – rduplain 13 February 2013 в 22:54
  • 4
    Это актуально: ubuntu.com/usn - поддерживает RSS и электронную почту. – rduplain 13 February 2013 в 23:56

Существует инструмент на основе CLI, называемый sysv-rc-conf. Вы также можете установить его, выполнив следующую команду в терминале:

sudo apt-get install sysv-rc-conf

Затем вы можете активировать / открыть его, выполнив:

sudo sysv-rc-conf

Снимок экрана:

1
ответ дан 25 May 2018 в 03:37
  • 1
    sysv-rc-conf управляет конфигурацией уровня запуска. Я хочу выполнить обновления и сообщить apt, что он не должен останавливать затронутые сервисы, чтобы я мог перезапустить их вручную, когда настало время. В моем примере это будет вызов sudo service postgresql restart. – rduplain 7 December 2012 в 07:22
  • 2
    Я не вижу, как этот ответ относится к перезапускам службы, вызванным APT. – gertvdijk 13 February 2013 в 22:47
  • 3
    это не только для APT & amp; подходит для всех видов услуг. – Ten-Coin 13 February 2013 в 22:49
  • 4
    @snow Нет, это не так. Вы можете деконфигурировать службу в конфигурации уровня запуска, но service myservicename start все равно запустит службу. Это также относится к запуску / остановкам, вызываемым APT. Это точно так же, как @rduplain также пытался объяснить, я думаю. – gertvdijk 13 February 2013 в 22:56
  • 5
    @gertvdijk ok как насчет удаления? – Ten-Coin 13 February 2013 в 22:57

Другие вопросы по тегам:

Похожие вопросы: