LINUX.ORG.RU

Обновить системдэ руками

 ,


1

1

Пишу вам из горящего танка седьмой центоси. На рабочей тачке у меня последняя рабочая на данный момент центось, которую мне не обновят/сменят до второго пришествия её EOL. Либы тут древних версий, особенно glibc, поэтому некоторый софт отказывается запускаться и начинаются пляски c LD_PRELOAD или контейнерами.

В системдэ есть такая штука systemd-nspawn, которая вкупе с machinectl, даёт удобное средство для управления контейнерами/vm с тесной интеграцией в хост систему. Я дебутстрапнул себе свежого убунтца, но т.к. хостовый системдэ тоже древний, то работа с убунтовским контейнером не так удобна как могла бы быть. Отсутуствуют некоторые фичи типа: private users, bind user и т.д. Не говоря уж о том, что походу эта версия nspawn не умеет в конфиги и пришлось писать юнит для его запуска.

Отсюда вопрос: насколько безумна идея обновить системдэ руками, что-то вроде такого? Кто-нибудь так извращался? Какие подводные камни?

★★★★☆

любитель виртуалок?
качаешь виртуалку centos7, качаешь systemd srpm, собираешь новый, ставишь, устраняешь баги, применяешь к своей системе, рабочий рецепт отписываешь сюда.

anonymous2 ★★★★★
()
Ответ на: комментарий от anonymous2

Да там багов не будет! Просто полная несовместимость.

Если так хочется, то читай changelogs kernel и systemd.

Systemd завязан на модули ядра сильно. Остальное не так критично. Ну а потом косметика - проверка и переписывание юнитов под новые ключи/понты, проверка размещения всякого хлама, чтобы пути совпадали, потом проверка демонов, чтобы жили в новых условиях, редактирование настроек, устранение странного и необъяснимого поведения etc.

«Странно, очень странно» - https://www.youtube.com/watch?v=aYCPEy0nwUs

modest
()
Ответ на: комментарий от anonymous2

Вопрос не в том, как это сделать, а стоит ли это делать? Может эта ваша системдэ вообще не обратно совместима.

cocucka ★★★★☆
() автор топика

Ну ты извращенец.

На рабочей тачке у меня последняя рабочая на данный момент центось, которую мне не обновят/сменят до её EOL

То есть ты пользователь, а админит её кто-то другой?

Или

обновить системдэ руками,

Тебе рут-права к ней полагаются или нет? Если не полагаются - не лезь куда не положено и решай вопрос административно. Если полагаются - переустанови сам на другую ОС (и лучше не помойкоубунту а дебиан), обновлять отдельно systemd это чушь какая-то.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от anonymous2

Тогда дело техники. Я с таким справлялся довольно быстро (час), если заранее знал, что будет запущено на машине. Systemd компилится быстро, хоть исходников на +-10Mb

modest
()
Последнее исправление: modest (всего исправлений: 1)
Ответ на: комментарий от modest

теперь возвращается в первому вопросу, если в системе 5.10 что мешает обновить systemd если умеешь rpm и действительно нужно?

anonymous2 ★★★★★
()
Ответ на: комментарий от anonymous2

Пфф, классно ты меня послал на LFS ))) Пишут же

которую мне не обновят/сменят до второго пришествия её EOL.

modest
()
Ответ на: комментарий от firkax

То есть ты пользователь, а админит её кто-то другой?

Я разработчик, а не админ. Мне дали тачку – я на ней погромирую. Мне стало неудобно погромировать, т.к. некоторый софт хочет либы посвежее.

Тебе рут-права к ней полагаются или нет? Если не полагаются - не лезь куда не положено и решай вопрос административно. Если полагаются - переустанови сам на другую ОС (и лучше не помойкоубунту а дебиан), обновлять отдельно systemd это чушь какая-то.

Полагаются, но сменить систему я не смогу – её не введут в домен и у меня не будет доступа ко внутренним ресурсам.

cocucka ★★★★☆
() автор топика
Ответ на: комментарий от anonymous2

Мне ничего не мешает, я уже попересобирал некоторые федорины пакеты под свою систему, но там просто было. А тут я хочу сначала выяснить что меня ждёт при обновлении этого комбайна. Вот, уже узнал, что нужно ещё ядро посвежее.

cocucka ★★★★☆
() автор топика
Ответ на: комментарий от cocucka

Я разработчик, а не админ. Мне дали тачку – я на ней погромирую. Мне стало неудобно погромировать, т.к. некоторый софт хочет либы посвежее.

Ну, мазохизм с виртуализацией определённо в итоге отнимет больше ресурсов чем нормальная переустановка системы. Остаётся только выбрать хочешь ли ты их тратить или нет. Если тратить - лучше на переустановку. Если нет - опять же жалуйся начальству что предоставленный комп не соответствует требованиям.

её не введут в домен

Сохрани учётные данные для домена (я уж не знаю какие) и пропиши в новой системе, чтоб софт домена не заметил изменений.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Ну, мазохизм с виртуализацией

Это не виртуализация, а корявый аналог бздшных jails.

Сохрани учётные данные для домена (я уж не знаю какие) и пропиши в новой системе, чтоб софт домена не заметил изменений.

Не всё так просто.

cocucka ★★★★☆
() автор топика
Ответ на: комментарий от rupert

Если плюсы - продолжай страдать )))
Если Java - продолжай страдать )))

modest
()
Последнее исправление: modest (всего исправлений: 1)
Ответ на: комментарий от FireFighter

Тем что докер для запуска одного процесса внутри контейнера предназначен изначально, а мне надо полноценные сервисы унутре. В nspawn ты можешь запустить init как при нормальной загрузке линукса. В докере можно сделать тоже самое, но нужно пердолиться с пробросом кучи всякого говна, установкой systemd внутрь итд.

cocucka ★★★★☆
() автор топика
Ответ на: комментарий от sudopacman

Можно, но в докере больше геморроя с тем, что делается в nspawn за пару минут. Там надо запускать контейнер в privileged mode, прокидывать фс, мапить юзера и тд.

cocucka ★★★★☆
() автор топика
Ответ на: комментарий от cocucka

Тогда используй podman. Он умеет в одном поде поднимать несколько контейнеров методом sidecar.

FireFighter ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.