Первый день лета 2018-го года ознаменовался в наших палестинах жиденьким снегопадом, а в мире прекращением поддержки во многих отношениях знакового дистрибутива Debian GNU/Linux версии 7. Это означало что велосипедный сезон открывать рано, а дожидаться появления уязвимости в ssh, apache2 и пр. для того, чтобы обновить систему до поддерживаемой, наверное не стоит.
По сути, у администраторов, поддерживающих легаси сервисы, и просто у консервативных администраторов вариантов не так уж и много. Если хочется сохранить sysvinit, средней свежести стек LAMP и не сильно разбираться в тонкостях, варианта на первый взгляд всего два: CentOS 6 и Devuan GNU+Linux 1. С первым всё в общем понятно — около двух лет оно будет поддерживаться, а дальше опять выбирать дистрибутив. 2020-й год — это с одной стороны очень не скоро, а с другой, для серверов, о которых вспоминаешь только по snmp событию или когда оно таки упало, два года пролетят незаметно.
Со вторым понятно не очень. Данный дистрибутив поставляется без каких либо гарантий, информации о сроках поддержки я не нашел (2020.06.30 как у Debian Jessie?), и решил попробовать, в основном из-за лени (не Lenny).
Процесс обновления достаточно подробно описан тут, но я бы хотел его несколько уточнить. Обновлял на 100% ванильную систему без графики, без стороннего софта (сервис работает обособленно) и без серьезных изменений конфигов. Порядок был такой:
1. Правим источники:
Комментируем всё что там есть и добавляем:
deb http://pkgmaster.devuan.org/merged jessie main
deb http://pkgmaster.devuan.org/merged jessie-updates main
deb http://pkgmaster.devuan.org/merged jessie-security main
deb http://pkgmaster.devuan.org/merged jessie-backports main
deb http://auto.mirror.devuan.org/merged jessie-updates main
deb http://auto.mirror.devuan.org/merged jessie-security main
deb http://auto.mirror.devuan.org/merged jessie-backports main
2. Разбираемся с кэшами:
apt-get update
apt-get install devuan-keyring --allow-unauthenticated
apt-get update
3. Делаем что, что возможно не нужно, но опыт обновления шапок даёт о себе знать:
apt-get install base-files
да, кстати, я люблю mcedit, htop и rcconf
4. Собственно, обновляем дистрибутив:
5. Избавляемся от лишнего:
apt-get autoclean
Тут важно отметить один момент. Если у Вас какая-то хитрая среда виртуализации, или хитрые железки, которые требуют ядерных модулей, лучше сделать шаг 5 после перезагрузки, ибо система честно выгрузит модули удаляемого ядра и не очевидно к чему это приведет. С ESXi проблем нет, просто падают тулзы, не более.
6. Перезагрузка:
7. если всё загрузилось, то:
apt-get autoremove --purge
apt-get autoclean
apt-get upgrade
На этом шаге у меня вылезла проблема с db5.1-util, решилась просто:
apt-get install db-util
NB!
В Debian GNU/Linux 8 и соответственно Devuan GNU+Linux 1 содержимое папки sites-avaliable должно иметь расширения. Т.е. если раньше было /etc/apache2/sites-avaliable/foo, то теперь надо /etc/apache2/sites-avaliable/foo.conf. Вот лишние пробелы в ports.conf мне apt поставил на вид, а это не показал…. обидно 🙂
В целом, проблем, а вернее индикаторов недостатка матчасти, у меня породила больше миграция с apache httpd 2.2 на apache httpd 2.4 (пришлось переписывать все конфиги вхостов и .htaccess), нежели миграция с Debian GNU/Linux 7 на Devuan GNU+Linux 1. Памятуя об апгрейде со squeeze на wheezy, думаю с MySQL тоже будет не всё гладко.