Здравствуйте, vsb, Вы писали:
vsb>Объясните на пальцах сабж на примере, например CentOS. Если это какой-нибудь /usr/bin/vim, который сейчас не запущен, вопросов нет. Теперь первый вариант: он таки запущен. При обновлении делается unlink/creat? Т.е. запущенный процесс использует старый файл, новые процессы используют новые файлы? Т.е. при обновлении нужно перезапустить все старые процессы? Кто этим занимается, особенно если обновление автоматическое?
Да каждый пакет сам и решает походу. vim так и будет старый работать, пока процесс не закроют, а sshd перестартует.
vsb>Что насчёт какого-нибудь openssl? Например запущен postfix, который слинкован с openssl, в котором нашлась дырка. Кто его перезапустит?
Конкретный сервис перестартует конкретный пакет обновления. Дошло то того, что можно перезапустить удаленный sshd из ssh сессии и соединение не рвется. И ядро можно загрузить новое через kexec, если хочется (мне не хочется и федорин обновлятор этим не мается).
vsb>По-моему таки в линуксе после обновлений надо перезагружаться. Как работает система, в которой какие-то программы держат в памяти удалённые файлы, какие-то — обновлённые, я даже не представляю.
Да нормально работает, я б проблем ждал от взаимодействия процессов через какой нибудь ipc/dbus (но не сталкивался), а так то в чем проблема на бытовом то уровне?
Я наоборот не понимаю нафига винда каждый раз назойливо так требует перезагрузки — виндовые сервисы перестартуют нормально, а ведь они источник экплойтов обычно (или нет?).