В продолжение предыдущей части, предлагаю посмотреть как подобная же система организуется на базе bsd.
Здесь есть значительные отличия - во-первых сама система - source-based. Пакеты по дефолту собираются на самой целевой машине. Бинарные пакеты - не более чем опция, до последнего времени прилепленная достаточно сбоку.
Во-вторых, нет 2х одинаковых систем. Прежде чем переходить на обновление бинарниками, требуется привести настройки, версии системы и расположение файлов более-менее к одному виду.
В-третьих - немного другая цель. Под дебиан дефолт тебя как правило устраивает, пересобираешь выборочно и своё. Под бзд ты это делаешь, чтобы ХОТЯ БЫ ЧАСТИЧНО избавиться от гемора с обновлением и от затрат времени на него. Примеры - кольцевая зависимость apr <=> svn, perl <=> exim, icu, lzo <=> bacula-fd. Всё это при сборке руками периодически ломается.
→ Читать дальше...
Зачем оно вообще нужно? В процессе использования любого дистрибутива накапливается некий список улучшений, который ты воссоздаёшь каждый раз на новых машинах и виртуалках. Это могут быть:
- конфиги
- пакеты, которых нет в дистрибутиве
- пакеты, сборка которых не устраивает по разным причинам
- собственные проекты
Для меня актуальны последние три пункта. В четвёртом, дополнительно хочется ставить их как белый человек, а не методом слаквари.
→ Читать дальше...
Предпосылка первая: cli это конечно хорошо, но пользоваться этим для "штучной" работы - неудобно. Хочется иметь файл перед глазами как минимум для картинок и видео.
Предпосылка вторая: как проще всего написать переносимый гуй? Сделать вебморду! Шинды, слава б-гу, у меня уже нет, а вот андроиды есть.
→ Читать дальше...
Во время попытки русификации SCIF'овской сониевской хреновины, пришлось покопаться в прошивке. Один из "нескучных" форматов файлов почти получилось разобрать по запчастям.
Возможно кому-то пригодится.
→ Читать дальше...
Итак, что у нас по конфигам?
Мне нужны конфиги со следующими критериями:
- простые, читаемые человеком и обрабатываемые sed'ом
- с высокой скоростью разбора (поскольку, tool может вызываться чем-то вроде xargs)
- поддержка структур, hex-значений, списков, массивов - не нужна, у меня 3 типа данных - int, string и bool
→ Читать дальше...