LINUX.ORG.RU
ФорумTalks

Ясделял... CRUX NG

 , crux ng


3

2

CRUX NG — бездисковый дистрибутив ориентированный на сетевую прозрачность и загрузку по сети, в основе которого, конечно же, CRUX.

 — NG?
 — NextGen!

Текущее состояние пре-альфа-версия, поскольку это только initrd-образ для загрузки с локального сервера. Дистрибутив загружается напрямую в оперативную память. Если у вас дома чисто случайно так крутится DHCP, TFTP, iPXE, да ещё QEMU какой-нибудь, вам это может показаться интересным. А если нет, то вперёд, настраивать. ;)

В составе образа обновлённый core-репозиторий CRUX, сжатый при помощи xz и размером всего 132мб, — именно столько оперативной памяти будет расходовать корневая ФС дистрибутива после загрузки. В текущей стадии развития дистрибутива вы просто получаете чистый CRUX работающий из памяти.

CRUX NG использует squashfs и overlay для работы. squashfs это ФС доступная только для чтения, в которой находится сама ОС, а overlay создаёт дополнительный слой «поверх» squashfs, tmpfs-диск в памяти, куда записываются все изменения. Таким образом система полностью работоспособна. Всё очень просто, «по-CRUX'овски». Соответственно, когда вы будете собирать ядро (рекомендую), хотя бы ванильное, то обратите внимание чтобы эти опции были включены, можете посмотреть config.

 — Очередной школолодистр с нескучными обоями, надолго тебя хватит...
 — У вас, как и у меня, наверняка есть старые железки, ресурс которых ещё можно утилизировать. Да просто виртуалки с сервисами запускать. Целью проекта сделать полноценный, но лёгкий дистрибутив, такой как CRUX, загружаемым и работоспособным («прозрачным») по сети. Мне очень нравится сама идея, что одним нажатием кнопки Reset система возвращается в исходное состояние и никакие кулхацкеры вам не страшны. Пока у меня есть хотя бы один лишний ПК в доме, — я буду развивать проект.

Архитектура такой системы централизована и её удобно поддерживать. Например, мой роутер загружается по сети, по сети же получает свою конфигурацию и начинает выполнять функции роутера — раздавать интернеты, в том числе и самому серверу, с которого он эту конфигурацию получил по локальной сети. Идентификация хоста, какую ему конфигурацию отдать, происходит по mac-адресу, поэтому любая железка или виртуалка, просто сообщая свой mac-адрес, сможет получить любую конфигурацию и начать выполнять инструкции прописанные для данного mac-адреса.

Что будет сделано в ближайшее время?

1) Образ корневой ФС будет урезан до минимума. Чистый core это хорошо, но на «тонких серверах» (это как «тонкие клиенты», только «тонкие сервера», выполняющие одну задачу, но делающие её хорошо (ц) :-) все эти инструменты разработчика и прочие утилиты ни к чему. CRUX NG даст только минимум, необходимый для подключения, загрузки дополнительных пакетов и получения конфигурации по сети. По итогу система станет ещё меньше, прям, сущие копейки. В пределах 50мб (это с глибцом).

2) Будет улучшена поддержка железа. Сейчас это ядро, какое вы сами соберёте, такое у вас и будет. Никакой /lib/firmware нет, а надо бы, ради поддержки сетевых карт и Wi-Fi, хотя бы. Загружать ОС по Wi-Fi — топ.

3) Основой системы всегда будет ванильный CRUX, хотя ничего не мешает загружать любую другую ОС в оперативную память по сети, но все прочие дистрибутивы для меня слишком сложные. «Сложна, сложна!» (ц)

Скачать initrd / config (vmlinuz) / grub.cfg

★★★★★

Если у вас дома чисто случайно так крутится DHCP, TFTP, iPXE, да ещё QEMU какой-нибудь

у меня и компьютера дома нет.

«тонких серверах»

зачем его по сети грузить? или по принципу нет сети и серверу нефиг работать, пусть выключенный стоит.

Кстати да, сделай чтоб дистрибутив при отсутствии сети выключался с запросом типа: «У вас сеть отвалилась, а мы тут по сети грузимся, выключишь щас - потом не включишь пока сеть не наладишь!»

irton ★★★★★
()

Спуфинг вернул 1980?

Deleted
()

Как насчет

  1. необоснованная привязка к дистрибутиву будет выпилена, а заодно весь не относящийся к схеме загрузки сыряк будет заменён на проверенный годняк.

?

t184256 ★★★★★
()
Ответ на: комментарий от chenbr0

нормальный вобще вопрос, я применительно к «тонким серверам» спрашивал.

irton ★★★★★
()

Предлагаю тебе вызубрить за пару лет алгоритмы и прочие ненужные вещи, и отъехать в какой-нибудь Google, где такие штуки действительно нужны, и где тебе будут за них платить сотку тысяч денег в год

stevejobs ★★★★☆
()
Ответ на: комментарий от irton

Современные сервера - это коммодити железо, ядро с минимальной ОС, гипервизор на основе Кубернетиса, и приложения вращающиеся в контейнерах. Всё это реализация идеи software-defined infrastructure. Я так понял, поделие Спуфинга занимает здесь слот стейтлесс оси для запуска гипевизора, и это нужно. Но нужно в больших компаниях, имеющих собственное private cloud, либо производителей публичных клаудов (гугл, ажур, итп), либо каких-то гибридных схем. У тебя сервак в клауде отъехал (это происходит постоянно), старую железку выбросили, воткнули в дырку новую, и она работает как ни в чём не бывало, это как дома лампочку в люстре заменить. Вопрос в том, где Спуфинг найдёт в России кого-то, кому это нужно. Может, какой-нибудь КРОК оценит его порывы...

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)

В контейнере из под андрюши сиё сложно пустить?

pon4ik ★★★★★
()

http-сервер говорит, что initrd - это text/plain. o_0

Radjah ★★★★★
()
Ответ на: комментарий от stevejobs

старую железку выбросили, воткнули в дырку новую,

это понятно. но переткнуть из старой железки «флешку» в новую железку не проблема (все равно не уборщица заменяет же).

Лично я ставить новую железку без подключения и проверки настроек в bios-uefi не стал бы, тем более в типа корпоративном клауде. Тот же network boot может быть отключен по дефолту.

На ЛОР еще никто не возмущался что повсеместно хотят «быстро развернуть и запустить» без предварительной проверки и настройки? так я первым буду. Есть админ пусть настраивает по уму.

irton ★★★★★
()
Ответ на: комментарий от stevejobs

У IP телефонов подобное практикуется, cisco например при включении берут настройки с tftp и работают. Но начальную настройку телефона делать все равно надо, чтоб этот tftp он увидел.

irton ★★★★★
()
Ответ на: комментарий от greenman

А там в распаковку что-то жёстко упирается?
Как по мне, тогда уж лучше lzip, в котором контроль целостности и коррекция битовых ошибок распространятся в т.ч. на заголовки.

aidaho ★★★★★
()
Ответ на: комментарий от irton

(все равно не уборщица заменяет же).

правильно, заменяет робот-манипулятор или специальные техники, которым нужно заменить железку за считаные секунды, чтобы не даунтаймить датацентр.

Одни отщелкивают сервак (или компоненты вроде жестких) от стойки, кидают его целиком в телегу и телегу сразу везут в помойку не разбираясь. Другие сразу же достают из телеги новый сервак или компонент, впихивают в слот, нажимают кнопку включения и бегут дальше.

В случае с роботом, это можно делать прямо на гипервизоре - например скомандовать экстеншен зоны, и вначале автоматизированно подвезут железо, так же автоматизированно раскатают ось, и так же автоматизированно Кубернетис или что там у тебя начнёт передвигать туда докерные контейнеры

https://youtu.be/ZYNwIfCb440?t=39 (с таймкодом) https://www.youtube.com/watch?v=ceLBlwvfjnk https://www.youtube.com/watch?v=XZmGGAbHqa0

в России такое тоже есть - у всяких Сбербанков (которым ДЦ строили вроде бы тоже КРОК), Мэйл-Ру, Ростелеком, Транстелеком, Газпром...

Есть админ пусть настраивает по уму.

современные админы в больших компаниях с клаудами пишут софт для управления железом и ничего не настраивают руками уже. Software-defined infrastructure, everything as a code

https://www.youtube.com/watch?v=HcmPi7-IVQo

железки хоть и коммодити, но поставляются сразу большими партиями, и партии одинаковые, и на них прям с момента заказа у поставщика накладывается ряд ограничений, чтобы это был plug-n-play

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от irton

У меня на прошлой работе DHCP раздавал параметр с адресом tftp. Cisco 3905 взлетал на «ура»

HellDog
()
Ответ на: комментарий от irton

Но начальную настройку телефона делать все равно надо, чтоб этот tftp он увидел.

По-умолчанию телефон пытается загрузиться из сети. Телефон вообще никак не надо настраивать, всё на provision-сервере, максимум - телефон по питанию рубануть :)

Deleted
()
Ответ на: комментарий от Deleted

Да, интересно, как будет проходить установка больших пакетов (pkg.tar.zst) на системе с ОЗУ 1-2GB. Через swapping?

greenman ★★★★★
()
Ответ на: комментарий от Hertz

Или Spoofoñka.

Как ни крути, Спуфинг — это уже узнаваемый бренд. Спуфинга знают все. А кто знает, что такое Crux? %)

Nervous ★★★★★
()
Ответ на: комментарий от Nervous

Сам удивляюсь, почему ТС ещё не запилил Ъ-дистр для охранных систем

Deleted
()
Ответ на: комментарий от greenman

Скоро узнаем, когда он в Арче появится, а следом и в Манжаре)

Deleted
()
Ответ на: комментарий от stevejobs

Но ведь всё это давно известно и активно используется. Разве что ему не лень было оформить это в виде образа

grem ★★★★★
()
Ответ на: комментарий от paran0id

Предлагаю название Sroox, ну типа: с рук Спуфи

Deleted
()

Переименуй под свой ник, тебя знают больше народу чем пользуются CRUX вообще.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от grem

Ну так-то в принципе, смартфоны с тачскрином изобрели до Apple. А в общественном сознании их изобрели в Apple. Джобсу и ко тоже было не лень оформить образ телефона

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

в общественном сознании их изобрели в Apple.

У фанатов apple. Как порошок #1 против перхоти.

Там где это используется всё равно активное допиливание под собственные хотелки требуется.

Или есть, например, http://thinstation.org

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от Hertz

Хрюкс не знает почти никто, а Спуфоньку знают все!

Я бы даже предложил SPF NG. Звучит круто и энтерпрайзно. Можно какой-нибудь рекурсивный акроним придумать: например, [SP]F NG [F]UCKS [N]OT [G]IVES.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)
Ответ на: комментарий от stevejobs

Куда полезнее будет, если он это дело протолкнёт в мейнстрим самого crux, для регулярного выпуска отдельного официального iso.

grem ★★★★★
()
Ответ на: комментарий от stevejobs

Предлагаю тебе вызубрить за пару лет алгоритмы и прочие ненужные вещи

Щито? Чтобы вызубрить ненужные алгоритмы на достаточном для прохода интервью уровни достаточно пары дней, если есть методичка (а она есть)

michwill ★★★★★
()
Ответ на: комментарий от michwill

какая такая методичка?

ты сам-то пробовал? На собеседованиях тебя дрочат тем, что нужно на бумаге решать задачи с алгоритмическими трюками и системными трюками (неасимптотические оптимизации, знание аппаратной платформы итп) и рассуждать о них. При этом времени у тебя кот наплакал. Обычная практика подготовки сейчас - вызубрить наизусть всё что советовали в сочинениях вроде «cracking the code interview», вызубрить стандартные мерзкие вопросы и стандартные мерзкие ответы в стандартном наборе мерзких тем, ботануть от корки до корки какую-нибудь книжку по алгоритмам вроде Седжвика, и прорешать весь чёртов Leetcode или тому подобный сайт с вопросами (объем - около тысячи задачек). Это примерно как готовиться к экзаменам в университет по незнакомой теме, например на математику ты берешь книжку «все задачи на вступительных 1995-2005» и решаешь последовательно пока всё не решишь и во всём не разберешься. Тут то же самое. И дальше на экзамене у тебя работает уже распознавание паттернов, ты помнишь что где-то ты видел похожую задачу, и догадываешься что автор хотел подколоть тебя вот таким трюком, и надо решать примерно в ту сторону. А твои конкуренты в этом «почти-экзамене» - это выпускники вузов, которые только что потратили 4+ года на эту муйню на фуллтайм. Это огромная нагрузка, год на неё уходит только так даже если ты в теме. А если ты не в теме, или если у тебя есть ещё какие-то занятия по вечерам (семья, например), то и больше года...

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 3)
Ответ на: комментарий от stevejobs

Пробовал, и интервьюировал еще потом человек 100.

Да, это как готовиться к экзамену по незнакомой тематике за пару ночей, точно так. Ни разу не делал что ли когда был студентом?

Естественно не зазубрить типовые задачи - это нереально без пары лет зубрежки. Решать на месте, разумеется. Тогда 2 дней подготовки хватит

michwill ★★★★★
()
Последнее исправление: michwill (всего исправлений: 1)
Ответ на: комментарий от stevejobs

зубрить задачи надо, потому что на месте решить без подготовки нереально

Хзхз. Лично мне именно вызубрить было нереально кроме самого фундаментального. Учеба на Физтехе это только усилила (научила решать на месте).

Но вообще, если работодателю нужны те, кто хорошо умеют зубрить - это какой-то неправильный работодатель (да, таких большинство - Гуглы и Пейсбуки таковы). Потом появляются армии копипастеров со Stackoverflow, а мы удивляемся почему web-gmail жрёт сотни мегабайт при старте.

Стартапы лучше, но платят всё же меньше

michwill ★★★★★
()
Последнее исправление: michwill (всего исправлений: 1)

Вот, ребята, закатал в исошник: NGOS.ISO (64мб), можно запускать в qemu, а можно грузить по сети, кому как. Размер дистрибутива, как вы можете заметить, тоже «почикан» до 64мб (пока что).

Эксперименты с названиями продолжаются. Не могу не согласиться с товарищем paran0id, чей пингвин тоже пьян (всмысле, тоже пользуется CRUX). С одной стороны, надо сразу дать понять, что в базе лежит CRUX, с другой, выпускаться под чужим брендом не корректно. Пробую исправиться.

К вопросу о привязке к дистрибутиву. Закатать корень любого дистрибутива в squashfs, а затем switch_root'нуться в него, дело пары-тройки команд. Сейчас стоит задача грамотно реализовать работу оверлея. Не, он конечно работает, но немного не так, как я ожидал, в плане, — что это за / размером 640K? Где реальный размер корня? Вот...

Да, спасибо stevejobs что помог разжевать. Именно так. Я искренне не понимаю, почему никто не замечает очевидных вещей, когда замена хоста становится подобно замене лампочки. А ещё, со точки зрения безопасности хоста, главное во время обнаружить проникновение чтобы нажать Reset.

На текущем этапе получился так называемый «overkill» initrd-образ, в который закатан полноценный дистрибутив, а не огрызок busybox. С этой отправной точки уже можно творить всё что угодно. А пока, разберусь со слоями, придумаю интерфейс взаимодействия с внешним «миром», чтобы удобно было подгружать конфигурацию и выполнять её. Вот.

Spoofing ★★★★★
() автор топика
Ответ на: комментарий от michwill

Компаниям нужны те, кто умеет решать на месте.

Другое дело, что я - из тех обычных людей, которые не могут ничего решить на месте. Просто думать над алгоритмами - это глубоко не моё. Но это не значит, что я не могу писать софт :)

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Но это не значит, что я не могу писать софт :)

Именно поэтому правильные работодатели внимательно читают гитхаб!

michwill ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.