Это загруженный вопрос, потому что я уже в курсе, и меня очень интересуют ksplice . Проблема в том, что с тех пор, как они были куплены Oracle, они были вынуждены извлечь из предложений множество дистрибутивов серверов. Ответ не так прост, как когда-то.
Я заметил вопрос о Unix.SE , в котором говорится:
Вы можете создавать свои собственные патчи ksplice для динамической загрузки в ваше собственное ядро
blockquote>Отлично! Но как?!
Я установил бесплатный пакет
ksplice
в репозиторий на своем рабочем столе (неksplice-uptrack
, который не является бесплатным) и теперь хочу создавать и применять обновления. Что за процесс? Существуют ли какие-либо сценарии для автоматизации процесса?Более того, если весь механизм, необходимый для обновлений без перезагрузки, находится в ядре (и пакете
ksplice
), почему же мы не пользуемся преимуществами? по умолчанию?
Совсем недавно было объявлено kGraft . Кажется, что это примерно тот же результат, так что если у вас есть ответ, который включает в себя, я был бы так же счастлив с этим. Это в настоящее время несколько месяцев с момента освобождения.
Примечание 1: Я рад за решение, кроме ksplice, но оно должно доставить то же самое: обновляемые обновления ядра, которые можно применять без перезагрузки сервера.
Примечание 2: Я скажу это снова; основной "сервис" ksplice не поддерживает Ubuntu Server. Раньше, но больше нет. Когда я говорю о желании использовать ksplice, я говорю об инструментах с открытым исходным кодом в пакете
ksplice
. Любой ответ, в котором говорится оksplice-uptrack
, вероятно, не тот, который мне нужен, поскольку именно эта часть напрямую интегрируется с вышеупомянутой «службой».
Все остальные ответы здесь великолепны, но для Ubuntu, в частности, Canonical теперь предоставляет эту услугу 16.04.
Используется технология исправления в реальном времени в ядре Linux с версии 4.0, выпущенной ранее.
Я не знаю много о ksplice, но подумал, что упомяну это - вы слышали о kexec
? Это может быть то, что вам нужно.
Что касается вопроса, почему мы не приняли это как механизм по умолчанию? Что ж, перезапись памяти текущего ядра, пока оно еще работает, может вызвать потенциальные проблемы. Он также ожидает, что аппаратные устройства находятся в четко определенном состоянии, что не всегда возможно.
Вы можете взглянуть на статью о работе разработчика IBM , чтобы решить, соответствует ли она вашим потребностям.
ksplice позволяет менять ядро без перезагрузки. Uptrack работает в ksplice и имеет редактируемый файл конфигурации в /etc/uptrack/uptrack.conf
Существует пара полностью открытых альтернатив Ksplice, которые были представлены для включения в основное ядро Linux. Еще слишком рано говорить, что окажется в ядре, но вы все равно можете попробовать их, если вы достаточно смелы:
. Вы можете прочитать больше об обоих их здесь: SUSE Posts kGraft, Red Hat Posts Kpatch Patches
Вики в Arch Linux содержали инструкции: https://wiki.archlinux.org/index.php/ksplice
Единственная часть, которая, похоже, специфична для дистрибутива, - это как установить Сам ксплице. Поскольку вы уже поняли это, кажется, я думаю, это должно помочь вам в этом.
С 16 июля 2015 года «Oracle Ksplice предлагается бесплатно в Fedora и Ubuntu Desktop Edition.», Официально.
Просто установите скачанный файл .deb , который вы можете получить здесь .
Если вы попытаетесь sudo dpkg -i ksplice-uptrack.deb
, вам, возможно, придется исправить зависимости с помощью sudo apt-get install -f
.