LINUX.ORG.RU

Установка NixOS на выделенный root сервер в Hetzner.

 ,


0

2

Собственно возникла необходимость установить NixOS на выделенный сервер (не виртуалка).
Из доступа есть только SSH.
Из требований - загрузчик UEFI, файловая система F2FS (SSD).
И вот тут возникает вопрос, как собственно установить.
Загрузка с PXE не доступна.
https://gist.github.com/cstrahan/15668500a2b78d3c11cb - установка по этому скрипту не получается, т.к. debian образ (rescue режим) не умеет в F2FS.

# CONFIG_F2FS_FS is not set

mount: unknown filesystem type 'f2fs'

NixOps тоже не вариант, т.к. доступа к robot-панели нет.

Может кто подскажет способ установки? Ибо у меня мыслей больше нет.


NixOS is a wonderful project, but it is very unfinished.
Too many places where instead of simplification you get complications.
NixOS looks simple only at the beginning of the path.
And the nix syntax only complicates everything.
I have a lot of free time and I could contribute in nixpkgs,
but nix does not dispose of this.
NixOS obviously needs serious refactoring.

Хз, мне на десктопе норм. Альтернативы вообще не вижу. NixOS единственный линукс, который мне понравился.

anonymous
()

В общем вопрос был решен следующим образом:

1. Создаем образ NixOS с настроенной сетью и фаерволом.
Главное не забыть про название сетевого интерфейса.
У меня он назывался eno1.
Про наименование интерфейсов читать тут - https://github.com/systemd/systemd/blob/master/src/udev/udev-builtin-net_id.c...

2. Загружаем образ на сервер (сервер загружен в rescue режиме) и записываем на свободный диск с помощью dd dd if=./image.iso of=/dev/sda
У меня на сервере несколько дисков, поэтому записал на HDD, а ставил на SSD.
Можно ли так установить используя один диск, я не в курсе.
Но у меня ругнулось на то, что диск смонтирован как /root.

3. Перезагружаемся и ставим NixOS. Вот в принципе и всё.
P.S. UEFI предварительно нужно включить в биос-е.
Сам я его не включал, мне его включили с припиской «магия».
Хз, может это как-то через ось можно сделать.
Может кто-то тут знает об этом.

Sorcus
() автор топика
Ответ на: комментарий от anonymous

Такая же фигня. Но все-равно его тяжеловато использовать.
С тем же арчем было как-то попроще, после перехода с убунты.

Sorcus
() автор топика
Ответ на: комментарий от telikan

1. Столманом

2. Скобками

3. Меньшей готовностью и комьюнити, чем у никсоси

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

Можно ли так установить используя один диск, я не в курсе.

можно. у хетцнера есть rescue система для внешней загрузки (сетевой линь, который видит винты компа). через неё можно что угодно устанавливать. я так накатывала Void Linux на выделенный сервер.

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

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

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

это страница resque в панели управления сервером.

After activating the rescue system a config file will be created on our DHCP-server. On the next reboot your server will boot from the network and a minimal operating system will be loaded from our TFTP-server. Then you will be able to use the rescue system as long as you want.

The order for the rescue system will be active for 60 minutes. If you then reboot your server, the usual system will be started from the hard disk.

из сети грузится минимальный линь, запускается в RAM, при запросе resque генерится рутовый пароль и ты по нему получаешь доступ к этому загруженному линю и можешь что угодно делать на машине.

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

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

А, так из rescue я поставить систему не мог.
Там debian образ без поддержки f2fs в ядре.
Поэтому и пришлось записать из rescue образ на диск и перезагрузиться уже в свой образ из которого и ставил систему.

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

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

к тому же, f2fs - всего лишь ФС и вряд ли для неё нужна «поддержка в ядре», если ты не собираешься с неё грузиться. в случае с загрузкой из сети это не так. а всё прочее можно поставить. в дебиане имеются и дрова и тулзы.

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

Поставить-то я поставил f2fs-utils, но при попытке смонтировать в rescue выдало unknown filesystem type 'f2fs'
Может конечно это все и можно было сделать как-то еще, но у меня получилось только так.
Ну да ладно, главное, что всё заработало как надо.

Sorcus
() автор топика
Ответ на: комментарий от Iron_Bug

f2fs - всего лишь ФС и вряд ли для неё нужна «поддержка в ядре», если ты не собираешься с неё грузиться

У меня для тебя плохие новости - userland-тулзы линуксовых ФС работают через ядерную прослойку(fuse и ceph не рассматриваем сейчас, окей). То есть если из ядра выкомпилить ext4, то ты не сможешь не то что с неё загрузиться, но даже смонтировать. Просто ext4 обычно никто в здравом уме не выкомпиливает на десктопе/серверах(вшивают намертво либо, что чаще, оставляют модулем). А вот F2FS мало кому нужен - поэтому может и не идти в поставке, даже в качестве модуля.

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

ну дык там стандартный дебиан. взял и скачал модуль. я не думаю, что они стали заморачиваться с выпиливанием поддержки ФС наглухо. они же хостеры, а не майнтейнеры. с их точки зрения городить какие-то огороды, которые могут вдруг не поддерживать что-то, нелогично. а дебиановское ядро жирное, потому что туда вкомпилено практически всё, что только существует в природе. модуля может не быть в rootfs, но в дистре-то он наверняка есть. в конце концов, скачать нужное ядро и чрутнуться в него, если уж совсем невмоготу. но обычно загрузка из сети нужна только чтобы сделать dd и настроить grub.

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

Я бы с тобой согласился, но реальность у ТСа такова(с его слов):

CONFIG_F2FS_FS is not set

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

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