"Требуется обновление ядра" - это не одно из примененных, применено-не выполнено, не применено, необходимо проверить, ничего не применить, неизвестно, выполнить проверку не удалось
К сведению: в трекере ошибок Canonical есть ошибка на launchpad.net, поэтому я не могу опубликовать эту ошибку на их платформе. Canonical решила не предоставлять прямую поддержку, поэтому этот недостаток безопасности теперь выпускается в дикую природу, поэтому им нужно что-то с этим делать.
Прежде чем мы начнем, я пометил это как уязвимость безопасности просто потому, что цель canonical-livepatch состоит в том, чтобы поддерживать систему в безопасности, и с этой ошибкой она неспособна сделать это.
Все наши машины сообщают об ошибке HTTP 400 при использовании их соответствующего URL для службы исправлений.
Инструмент canonical-livepatch запускается автоматически после настройки в соответствии с инструкциями на веб-сайте Canonical. Всякий раз, когда он запускается, он отправляет нам следующую ошибку в нашем файле alerts.log из OSSEC.
canonical-livepatch[31251]: during refresh: cannot check: Bad server status code: 400. URL: https://livepatch.canonical.com/api/machine/[REDACTED MACHINE TOKEN] {"details": {"Status.0.Livepatch.State": "\"kernel-upgrade-required\" is not one of applied, apply-failed, unapplied, needs-check, nothing-to-apply, unknown, check-failed"}, "error": "Invalid payload"}
Запуск "apt-get update", а затем "apt-get-upgrade" не дает никаких обновляемых ядер Linux. Предположительно, ваше программное обеспечение не синхронизировано с сервером API. Если это не так, пожалуйста, дайте мне знать, если есть какой-то способ исправить это с нашей стороны.
Когда я пытаюсь сделать это вручную, вот что он говорит:
$ sudo canonical-livepatch refresh
Before refresh:
kernel: 4.15.0-29.31-generic
fully-patched: false
version: "42.1"
After refresh:
kernel: 4.15.0-29.31-generic
fully-patched: false
version: "42.1"
Вот дамп конфигурации:
$ sudo canonical-livepatch config
http-proxy: ""
https-proxy: ""
no-proxy: ""
remote-server: https://livepatch.canonical.com
ca-certs: ""
check-interval: 60 # minutes
2 ответа
Я не уверен, что ваш вопрос, но есть разница между следующими двумя командами:
apt-get upgrade
apt-get dist-upgrade
Как правило (или всегда?), upgrade
не будет устанавливать новые ядра, тогда как dist-upgrade
будут.
От apt-get
справочная страница:
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.
dist-upgrade
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the
expense of less important ones if necessary. The dist-upgrade
command may therefore remove some packages. The
/etc/apt/sources.list file contains a list of locations from which
to retrieve desired package files. See also apt_preferences(5) for
a mechanism for overriding the general settings for individual
packages.
Смутно, apt upgrade
отличается от apt-get upgrade
, я верю apt upgrade
такой же как apt-get dist-upgrade
,
Рик также говорит, что он использует следующую команду:
sudo apt-get upgrade linux-generic linux-headers-generic linux-image-generic
Тем не менее, следующего должно быть достаточно:
sudo apt-get upgrade linux-generic
Выше будут обновлены все пакеты, и будут установлены все новые пакеты, необходимые для последней версии linux-generic
, (А также linux-generic
зависит от linux-headers-generic
а также linux-image-generic
.)
В качестве альтернативы, если вы хотите установить только самые последние linux-generic
(и его зависимости), а не обновлять любые другие пакеты, рассмотрим:
sudo apt-get install linux-generic
Итак, я обнаружил, что поддержка [at] canonical / com электронная почта работает, даже несмотря на то, что в ней говорится, что она отослала мое сообщение им. Их поддержка отреагировала почти сразу и с правильным решением.
Вот что они сказали:
Привет Рик,
Я могу подтвердить, что с нашим инструментом Livepatch была проделана определенная работа, чтобы лучше определить, когда Livepatch не может установить исправление для исправления CVE и требуется обновление / перезагрузка пакета ядра. Я обязательно передам эту ошибку группе, которая работает над этим обновлением, чтобы лучше предупредить, что необходимо обновить пакет, а не чтобы он выглядел как сбой / ошибка.
Это ситуация, в которой вы находитесь сейчас. Вы используете ядро, уязвимое для эксплойта L1TF [1]. Исправление заключается в обновлении до 4.15.0-32. Я могу подтвердить, что эта версия выпущена, поскольку я обновил ее на прошлой неделе: клиент-версия: 8.0.3 идентификатор машины: отредактированный маркер машины: отредактированная архитектура: x86_64 модель процессора: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz последняя проверка: 2018-08-18T09:49:12.018793176-07:00 время загрузки: 2018-08-15T12:07:32-07:00 время работы: 70h5m42s статус: - ядро: 4.15.0-32.35-generic работает: true livepatch: checkState: проверено patchState: ничего не применять версия: "" fixes: ""
Пожалуйста, проверьте ваш /etc/apt/sources.list, чтобы убедиться, что обновления или карманы безопасности включены: deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates основной ограниченный юниверс multiverse deb http://security.ubuntu.com/ubuntu bionic-security главная ограниченная вселенная multiverse
Кроме того, чтобы узнать, какие пакеты доступны после включения обновлений и / или защиты и запуска apt update, введите следующую команду: apt-cache policy linux-image-generic linux-image-generic: Установлено: 4.15.0.32.34 Кандидат: 4.15.0.32.34 Таблица версий: *** 4.15.0.32.34 500 500 http://us.archive.ubuntu.com/ubuntu bionic-updates / main amd64 Пакеты 500 http://security.ubuntu.com/ubuntu bionic -security / main amd64 Packages 100 / var / lib / dpkg / status 4.15.0.20.23 500 500 http://us.archive.ubuntu.com/ubuntu bionic / main amd64 Packages
Я надеюсь, что это помогает вашей ситуации.
Спасибо, Крис Каноническая поддержка
На DigitalOcean все эти репозитории уже установлены. Однако проблема заключалась в том, что apt-get
не устанавливает автоматически обновления ядра, потому что это может вызвать проблемы в другом программном обеспечении, если другое программное обеспечение не совместимо с ним.
Итак, поскольку наша система совместима и имеет регулярные резервные копии, я обновил ее с помощью следующей команды.
sudo apt-get upgrade linux-generic linux-headers-generic linux-image-generic
Не забудьте перезагрузить систему, чтобы изменения вступили в силу.
sudo reboot
Чтобы запустить патчер вручную, выполните:
sudo canonical-livepatch refresh
Вы должны увидеть нечто похожее на следующее.
Перед обновлением:
kernel: 4.15.0-32.35-generic
fully-patched: true
version: ""
After refresh:
kernel: 4.15.0-32.35-generic
fully-patched: true
version: ""