Пакеты, субьективная целостность системы и время
Так получилось что я стал изучать nix подобные OS начиная с FreeBSD, и благодаря ей мне было легко перейти на Linux и использовать его ну вот буквально каждый день на серверах с переменным успехом.
Вот во FreeBSD так все устроено что есть Ядро есть стандартное Окружение и есть софт из портов или собственно сборный установленный итд. Ты какбы всегда знаеш что у тебя весь софт что ты поставил он живет в /usr/local/… Ты через пакетный менеджер видиш установленный софт, ты грубо можеш говоря его весь удалить и получить грубо говоря чистую систему.
В Linux же вот к примеру Debian я делаю apt list –installed и получаю портянку из всего что мне надо и ненадо и особенно ненадо. Если теоретически я все удалю системы и не останется вовсе, она перестанет как минимум загружаться.
Есть ли какойто способ узнать какие пакеты ставил я руками а какие пакеты обновляла сама система со времен установочного стока.
Вот я настроил сервант, он весь такой красивый мигает лампочками все работает… проходит время.. я там через полгода года надо поставить какуюто софтинку я захожу обновляю систему скажем ставлю софтину настраиваю он дальше мигает лампочками все работает.. потом какойто косяк там чтото отвалилось свет вырубился мускул упал или еще чтото обновилось криво не грузится я все фикшу, логи\бекапы сожрали все место, отвалился letsencrypt итд сервер живет какойто своей жизнью… и вот через какоето количество лет я захожу на сервак и делаю там apt update и бац ошибки все устарело внезапно. Неприятный момент, че как его оживлять все сносить на новую версию теперь? Вот парк CentOS 6 как жил годами так и живет, боюсь что мало что я смогу там обновить, ну работает не трогаю пока.
Или скажем вот домашний сервак с самбой там и иногда для экспериментов используется, вот я захожу и вообще в теории я хочу посмотреть что там сейчас установлено, я не могу отличить мух от системы. У меня начинается психическое ощущение что система попросту грязная после моих экспериментов с питоном например или php. Я не могу целостно оценить что в системе надо а что нет, как это все разом взять и посмотреть чисто список так у тебя python3 там samba там proftpd… maradb asterisk ..etc… скрипты в кроне которые крипту все еще пытаются торговать пишут в базу какието котировки.
Я вот помогал товарищу запустить питон приложение через Xming, и в какойто момент я ставил себе на сервер это вот все дело чтобы подсказать ему какие точно команды надо писать, в этоге у меня зачемто либы от Xorg и много питона.
И для меня единственный выход очистить систему это попросту переустановить все нафиг. И у меня постоянно в мыслях что нужна система которая бы ставила софт в какуюто отдельную папку, толи использовать какието виртуалки, толи chroot, докер наконец, чтото такое чтобы я скажем мог тупо хранить на отдельном разделе чтобы оно работало всегда когда мне надо легко и просто.
Docker казалосьбы вариант, мне кажется нет, кажется что это слишком большое нагромождение, давольно сложное я несколько раз подходил к этому и так ничего не получилось осилить, какието снепшоты ничего не сохраняется, все на птичьих правах в системе, и плюсом оно тянет большой шлейф софта, слабое взаимодействие между процессами.
Ладно былбы один сервер, так серверов насамом деле некоторая кучка штук 20, все вручную настроенно и в свое время притерпевало какието эксперименты.
Например есть сервера в ActiveDirectory, бывает весело что телефоны не звонят по причине того что отвалилось в AD между линем и виндой. Единожды настроив ты уже даже боишься что-то тронуть поскольку это повлечет за собой вспоминания что оно как было.
Конечно в идеале я хотелбы чтобы система мне могла выдать чувак вот у тебя стоит такойто такойто софт и ты правил такието такието конфиги, чтобы я мог хотябы прикидочно оценить что там было и нафиг оно надо.
Парой бывает что ты думал что на серваке вертится только скажем FTP и Веб сервер ты это все сносишь а потом оказывается что там еще что-то было и нужное, а ты тупо не вспомнил об этом.
Подскажите может быть есть какието дистрибутивы или системы управления софтом или какието магические встроенные функции по анализу того чем занимается мой сервер и что я на нем сделал спустя время.
Docker и Ansimble я пока не осилил но имею желание, иметь горстку конфигов в github и одной командой сносить сервера и чтобы они сами настраивались, но както пока не вижу дорожной карты к такому светлому будущему.
Саша 33 годика все еще ходит по SSH под рутом конфижить руками сервера.