Я начинаю все больше и больше задумываться о переходе на какой-нибудь immutable-дистр, мне нравится концепция разделения базовой системы (которая не должна меняться в штатном режиме) и приложений, да и к Flatpak я с годами сильно потеплел.
Но остается один вопрос - а как ставить консольные программы? Flatpak все еще отвратно с ними работает, и я, честно говоря, не видел чтобы cli-приложения запаковывали во флатпаки.
Если кто тут юзает иммуты вроде Silverblue - как вы с этим справляетесь?
> потому что сил моих больше нет терпеть вечно пропадающие из apt-get пакеты и прописывание урлов руками в sources.list.
Так в пределах LTS релизов ничего не пропадает обычно, а LTS поддерживаются несколько лет. А что именно пропадало?
А вообще на серверах подобие "immutable" обычно пилят на базе контейнеров: базовая ОС ставится обычная типа Debian/Ubuntu и т.п., а всё ПО, необходимое для работы проекта, ставится докерами или подобным нужных версий. В дальнейшем всё это дело разворачивается одной командой.
Ну, aptitude safe-upgrade это то же самое что и apt upgrade вместо apt full-upgrade. Суть команды не обновлять пакеты, зависимости которых требуют что либо удалить. Команда не всегда полезная, смотря чего ты хочешь. В любом случае apt перед началом показывает список всего что будет обновлено, что будет удалено, что будет дополнительно установлено.
Я когда-то давно использовал aptitude, но последние годы хватает дефолтного apt. А aptitude изредка использую для команд aptitude why и aptitude why-not.
Кстати, ещё бывает полезен ключ --no-install-recommends при установке или обновлении, чтобы не притаскивало лишние необязательные пакеты.
> aptitude разрешает зависимости до начала всего процесса.
Apt тоже (было бы странно если бы нет, иначе зачем нужен механизм зависимостей, если стандартный пакетный менеджер с ними не работает), он аналогично отображает перед началом список всего что будет рекурсивно установлено, удалено, какие конфликты, если есть, запрашивая у пользователя подтверждение для продолжения. Разница в том что у них алгоритмы разрешения зависимостей немного отличаются, плюс у aptitude есть возможность в случае конфликтов выбрать другой способ разрешения ситуации. Но у меня за много лет бывали и случаи когда наоборот aptitude не справлялся, а apt норм обработал. А учитывая что я давно перестал засирать систему левыми репозиториями, стандартный apt у меня справляется ок.
Плюс aptitude при разрешении конфликтов альтернативными алгоритмами бывало выставлял некоторым пакетам флаги hold, что в долгосрочной перспективе выходило боком в будущих обновлениях, после чего и apt сходил с ума. В общем, как-то так, в большинстве случаев aptitude работал норм, бывало стандартный apt работал лучше, если система не засрана посторонними репозиториями, то apt справляется. Я, попользовавшись aptitude в нулевых-десятых, пока вернулся к apt.
@top @drq @grishka да аптитуд еще досыпает нужных пакетов при анализе и предлагает удалить конфликтующие, это вообще спасение во многих случаях...и в целом решает, как я написал, все проблемы вообще. Так как эти пакеты проверяется, что есть.