Вообще, мужики, я когда на днях немного выпил, сел и написал такой вот черновик. Типа «какой бы дистрибутив я взялся делать, если бы мне пришла в голову эта сумасшедшая идея».
Метазадачи/принципы:
* Простота.
* Компактность.
* Отработка новых технологий.
Простота.
В рамках поставленных задач архитектура системы должна оставаться настолько простой, насколько это возможно.
Компактность.
Система содержит только необходимое и ничего сверх этого. Однако поскольку в ряде случае невозможно найти точный баланс необходимого, мы предоставляем пользователю соответствующий выбор.
Отработка новых технологий.
Существует изрядное количество Хороших Вещей, которые могли бы приносить добро, однако не делают этого просто потому, что не нашлось того, кто интегрировал бы их в какой-либо дистрибутив и показал людям проистекающие из этого новые возможности. Мы попробуем сделать это.
===============================================================================
Внедряемые технологии (неполный список) :
* Новая структура пространства имён файловой системы. (Четкое разделение на ядро (/boot), юзерленд (/usr) и конфигурацию (/etc + /var). Модули ядра преезжают в /boot. Все бинарники перезжают в /usr. Вычистка из /etc всех variable файлов для возможности нормально монтировать её в ro. )
* Использование zeroinstall для установки приложений. Базовая система обеспечивает специфицированный ABI (надмножество LSB). Поверх него работают приложения, собранные в zeroinstall.
* Песочница приложений Plash.
* Мандатный контроль доступа TOMOYO.
* Планировщик процессов BFS и планировщик ввода-вывода BFQ.
===============================================================================
Принятые решения.
Пакетный менеджер, система сборки.
В качестве отправной точки мы используем систему сборки пакетов из ОС Archlinux и пакетный менеджер pacman оттуда же. Они являются достаточно продвинутыми для наших задач, и в то же время не такими переусложненными, как экосистемы deb и rpm.
Интерфейсный подход к разрешению зависимостей.
В отслеживании зависимостей используются именования абстрактных интерфейсов, а не пакетов. Это аналогично тому, как это принято в rpm-based дистрибутивах. Данный подход являтся гибким и логичным, и мы не видим причин не использовать его.
Собственнические компоненты в отдельном репозитории.
Мы не считаем себя вправе ограничивать свободу выбора пользователя, использовать ли ему проприетарное ПО, или ограничиться свободным. Всё проприетарное ПО и зависящие от него компоненты будут расположены в отдельном репозитории, чтобы гарантировать чистоту базового репозитория.
Методы установки операционной системы.
Мы полагаем, что привычный подход с использованием "установочных дисков" и специальных программ, выполняющих установку, является полумерой и не соответствует принципу простоты. В установке unix-системы нет никакой магии: после того, как она собрана из исходных кодов, она может быть "установлена" простым копированием с носителя на носитель. Поэтому мы предоставляем следующие два официально поддерживаемых метода установки системы:
1. Образ с полноценной, настроенной, пригодной к использованию системой, который может быть нарезан на dvd, размещен на флешке или на жестком диске.
2. Установка из-под другой системы при помощи пакетного менеджера pacman.
Ванильность.
Большая часть программного обеспечения в составе дистрибутива по возможности является максимально "ванильной", т.е. не содержит никаких дополнительных патчей, не являющихся багфиксами. Другая часть ПО может иметь значительные модификации, связанные с обкатываемыми технологиями и дистрибутиво-специфичной интеграцией компонент. Поскольку такие модификации могут оказаться нежелательными для ряда пользователей, для всего такого ПО будет предоставляться альтернативный — ванильный — вариант пакета.
disable-nls
Пакеты репозитория core будут собраны с ключем --disable-nls. Мы полагаем, что в базовой части системы неуместно использование никаких языков, кроме английского. Кроме того, сборка с --disable-nls позволит уменьшить размер пакетов и повысить быстродействие ПО.
Однако мы также предоставляем альтерантивный репозиторий core-nls, собранный с --enable-nls.
Более дробное пакетирование.
Файлы программного продукта разделяются на несколько пакетов, в зависимости от предназначения:
packagename — основная часть
packagename-devel — файлы для сборки (/usr/include/** и /usr/lib*.a)
packagename-locale-* — файлы локализации для указанного языка
packagename-doc — /usr/share/info/** и /usr/share/doc/** в случае, если суммарный объем выше 100КБ (иначе идут в основную часть)
packagename-doc-* — документация на указанном языке, может быть выделена из состава packagename-doc на усмотрение мейнтейнера пакета.
===============================================================================
Репозитории.
pacman-репозитории:
core — пакеты, образующие минимальную работоспособную систему.
core-nls — те же пакеты, что и в core, но собранные с --enable-nls
base — основной массив пакетов: библиотеки, демоны, базовый набор приложений, таких как текстовые редакторы, почтовые клиенты и т.п.
extra — пакеты, образующие графическую среду
locale — locale-пакеты для ПО из core-nls, base, extra.
devel — devel-пакеты для ПО из core-nls, base, extra.
doc — doc-пакеты для ПО из core-nls, base, extra.
nonfree — несвободное программное обеспечение.
zeroinstall-репозитории:
Для zeroinstall нет понятия репозитория, однако у нас будет веб-сервис, на котором будет размещено ПО. Можно считать его специфическим репозиторием.
Ну лично мне нужно что-то что можно быстро и удобно собрать под mips и арм вместе с репозиториями на любом не слишком древнем *nix хосте. embedian шлак, OE - УГ, buildroot простоват и укурен, OpenWRT хорош и годен, но юзерспейс однопользовательский, в основном, местами слишком много специфики ненужной на более мощных железках и много патчей на ведро для фичей типа automatic rootfs split. Генточка со своим crossdev'ом тоже совершенно не вставляет. Nixos слишком эксперементален на мипсах и arm'ах. А тут мужики свое с блекджеком пилят, почему бы не помочь им.
disable-nls
Пакеты репозитория core будут собраны с ключем --disable-nls. Мы полагаем, что в базовой части системы неуместно использование никаких языков, кроме английского. Кроме того, сборка с --disable-nls позволит уменьшить размер пакетов и повысить быстродействие ПО.
Однако мы также предоставляем альтерантивный репозиторий core-nls, собранный с --enable-nls.
если твоя главная претензия в отсутствии чего-либо, то первое: Агилия делалась теми же людьми, соответственно, какой-то выхлоп уже был, мы не с бодуна просто так такой командой собрались, и второе: я уже всех предупредил, что «когда что-то будет, вы это узнаете», нет новостей — сидите на своей убунте спокойно
Угу, щупал. Все вышеперечисленное, а так же ubuntu для арма, arch (sic!). Не щупал только OpenBricks, но особо многого ожидать от него боюсь нельзя. Когда требуется БЫСТРО запилить систему с бинарными репозиториями, не так сильно эмбеддед как опенврт, без овер 100 патчей на ядро, без которых не собираются юзерспейсные костыли, и половины которых, как тот же minifo и кучи ledtrigger'ов нет и не будет в апстриме (д.з. посмотреть на target/linux/generic/ и сосчитать кол-во патчей), все это оказывается непрофпригодным. И при этом надо чтобы можно было параллельно делать сборки под несколько разных конфигов системы, разом. Так что посмотрим что выйдет. Назад на NixOs/Openwrt я всегда успею уйти.
Ну уж нет, ЗДЕСЬ давай третьегномосрач не будем устраивать, тут и так тема вкусная.
Ваши личные предпочтения в переключателе окошек системным библиотекам по барабану. (Как и мне.) Устареет он тогда, когда затраты усилий на его сборку превысят предполагаемые затраты на, например допилку xfce или lxde до желаемоего состояния. Так что не увлекайтесь фантазиями.
> Устареет он тогда, когда затраты усилий на его сборку превысят предполагаемые затраты на, например допилку xfce или lxde до желаемоего состояния. Так что не увлекайтесь фантазиями.
на данный момент усилия по сборке GNOME2 на современной системе ограничиваются патчами для работы с libnotify 0.7.x.
Правда, я не собирал с GCC выше 4.5.х, так как в Агилии GCC 4.6.х так и не наступил %)
Убунту переустанавливал 4 (или пять? о_О) раза (за год), LMDE - 0 раз (тьфу-тьфу-тьфу), шиндус - 2 раза за два года (и то не себе - в семье ноуты «починял»).
Хм, для тех кто в танке, а какие фичи ноутов требуют демона? Вроде достаточно чмоднуть и писть по кнопочкам 1 и 0 в /sys/devices/platform/asus_laptop и тому подобное, или в других лаптопах механизм сложнее?