From: Leonid Krivoshein <klark.devel@gmail.com>
To: devel@lists.altlinux.org
Subject: Re: [devel] разбивалка диска (почему-то было: Шаги инсталлятора)
Date: Thu, 21 Jun 2018 22:43:52 +0300
Message-ID: <de961f95-eacd-7313-e420-7b5cf801cb4b@gmail.com> (raw)
In-Reply-To: <20180621093635.GC15692@altlinux.org>
21.06.2018 12:36, Alexey V. Vissarionov пишет:
> On 2018-06-21 11:17:43 +0300, Michael Shigorin wrote:
>
> >> решил пока сильно шашкой не размахивать, а осилить "маленький,
> >> но важный кусочек", связанный с разбивкой диска,
> > Это ни разу не "маленький", а САМЫЙ (с большим отрывом) сложный
> > кусок инсталятора для разработчика и для пользователя тоже.
>
> Самым сложным при этом является вопрос "чего хочу?", на который
> приходится отвечать пользователю.
При написании такого бэкэнда с нуля мне бы очень хотелось реализовать
несколько вещей. Во-первых, обеспечить хотя бы тот функционал, что мы
имеем на сейчас через libevms. Во-вторых, обеспечить возможность
расширения базового функционала. В-третьих, очень хочется не нарушать
семантики существующих командных интерфейсов работы с дисками (sfdisk,
mdadm, lvm, dmsetup, losetup, cryptsetup). В четвёртых, хотелось бы
обеспечить функционал для работы с кнопками "отменить" и "вернуть" на
любое число шагов в дополнении к ранее оговоренной кнопке "применить". В
пятых, с чего я собственно и начал, хотелось бы иметь возможность
разбивать не только реальные диски "на живую", но и планировать будущую
разбивку с последующей записью в файл или скрипт на вполне себе
"выдуманных" блочных устройствах. А уж чего там хочет пользователь,
какими подсказками или дефолтами ему это обеспечит фронтэнд
инсталлятора, меня пока точно не касается.
> > Его сложность обусловлена, с одной стороной, огромным
> > наследием самых разных устройств
>
> Практически все современные блочные устройства, используемые для
> размещения корневой ФС, позволяют работать с ними точно так же,
> как с жесткими дисками, а эти методы не менялись более 20 лет.
В плане достаточных и необходимых знаний о блочном устройстве -- да. Но
подходы по организации работы с ними как раз в последние годы достаточно
сильно менялись, хотя конечно речь о новых возможностях, которые мы не
привыкли активно использовать, в том числе на этапе инсталляции или
массового развёртывания. Например, отложенная запись на backing-device,
integrity (совместно с шифрованием), кэширование (lvm), replay log имени
Facebook, да я наверное всего сходу не перечислю.
> > Известных мне работающих "машинок состояния", которые умеют
> > "держать в уме" нюансы устройств/разбивок/ФС -- ровно два: libevms
> > (апстрим давно умер) и libparted (который, помнится, сделали из
> > партеда дебианщики для своего инсталятора).
>
> Лично я не доверяю ни тому, ни другому. Поэтому просто озвучу хотелку:
> нужна возможность запустить терминал и сделать вручную все необходимое
> (в вышеприведенном примере это будет монтирование /dev/md0 в /target и
> /dev/md1 в /target/home).
С таким выбором согласен. Для скриптов/автоматики sfdisk лучше прочих,
пригоден для разметки MBR/GPT и не только. sfdisk/fdisk/cgdisk/gdisk
основаны на libfdisk из linux-utils. На текущий момент код там очень
качественный, много переносов из ядра. Если не доверять ему, тогда
вообще непонятно, чему доверять. В некоторых наших инсталляторах нет ни
mdadm, ни lvm, графический фронтэнд работает напрямую через libevms. Но
то, что ты хочешь, он делать умеет, хотя монтируется у нас всё всегда в
/mnt/destination. Надеюсь, к 8.3 исправится ситуация с установкой grub
на md-raid (на сейчас только в этом небольшой затык, пакет к этому
готов, но установочных образов 8.3 с ним на борту в природе ещё не
появились).
--
Best regards,
Leonid Krivoshein.
next prev parent reply other threads:[~2018-06-21 19:43 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-21 8:17 Michael Shigorin
2018-06-21 8:19 ` Anton Farygin
2018-06-21 8:30 ` Yuri Sedunov
2018-06-21 18:35 ` Leonid Krivoshein
2018-06-22 4:50 ` Anton Farygin
2018-06-22 8:32 ` Paul Wolneykien
2018-06-22 8:44 ` Alexey V. Vissarionov
2018-06-22 8:49 ` Paul Wolneykien
2018-06-22 8:51 ` Anton Farygin
2018-06-22 8:48 ` Anton Farygin
2018-06-22 8:53 ` Paul Wolneykien
2018-06-22 8:54 ` Anton Farygin
2018-06-22 8:58 ` Paul Wolneykien
2018-06-22 9:06 ` Anton Farygin
2018-06-25 11:08 ` Sergey V Turchin
2018-06-25 11:23 ` Sergey V Turchin
2018-06-22 20:29 ` Leonid Krivoshein
2018-06-21 9:36 ` Alexey V. Vissarionov
2018-06-21 9:44 ` Anton V. Boyarshinov
2018-06-21 9:47 ` Michael Shigorin
2018-06-21 10:52 ` Anton Farygin
2018-06-21 10:59 ` Alexey V. Vissarionov
2018-06-21 21:45 ` Leonid Krivoshein
2018-06-22 4:59 ` Anton Farygin
2018-06-22 6:21 ` Alexey V. Vissarionov
2018-06-22 6:13 ` Alexey V. Vissarionov
2018-06-22 8:05 ` Anton Farygin
2018-06-22 8:53 ` Alexey V. Vissarionov
2018-06-22 8:55 ` Anton Farygin
2018-06-22 8:19 ` Leonid Krivoshein
2018-06-22 8:56 ` Alexey V. Vissarionov
2018-06-21 9:54 ` Alexey V. Vissarionov
2018-06-21 19:52 ` [devel] Шаги инсталлятора Leonid Krivoshein
2018-06-21 10:51 ` [devel] разбивалка диска (почему-то было: Шаги инсталлятора) Anton Farygin
2018-06-21 11:08 ` Alexey V. Vissarionov
2018-06-21 11:15 ` Anton Farygin
2018-06-21 13:59 ` Alexey V. Vissarionov
2018-06-21 22:34 ` Leonid Krivoshein
2018-06-22 5:00 ` Anton Farygin
2018-06-22 13:50 ` Vitaly Lipatov
2018-06-22 14:02 ` Alexey V. Vissarionov
2018-06-23 11:16 ` Vitaly Lipatov
2018-06-23 11:37 ` Alexey V. Vissarionov
2018-06-23 16:23 ` Vitaly Lipatov
2018-06-21 11:39 ` [devel] разбивалка диска Michael Shigorin
2018-06-21 12:22 ` Michael A. Kangin
2018-06-21 22:39 ` Leonid Krivoshein
2018-06-21 21:43 ` [devel] разбивалка диска (почему-то было: Шаги инсталлятора) Leonid Krivoshein
2018-06-22 5:01 ` Anton Farygin
2018-06-22 6:28 ` Alexey V. Vissarionov
2018-06-22 8:06 ` Anton Farygin
2018-06-22 9:00 ` Alexey V. Vissarionov
2018-06-22 9:03 ` Anton Farygin
2018-06-22 9:36 ` Alexey V. Vissarionov
2018-06-22 9:39 ` Anton Farygin
2018-06-22 9:49 ` Alexey V. Vissarionov
2018-06-22 9:57 ` Anton Farygin
2018-06-22 8:24 ` Leonid Krivoshein
2018-06-22 8:27 ` Anton Farygin
2018-06-22 9:06 ` Alexey V. Vissarionov
2018-06-22 9:11 ` Anton Farygin
2018-06-22 20:48 ` Leonid Krivoshein
2018-06-23 9:19 ` Anton Gorlov
2018-06-23 11:01 ` Leonid Krivoshein
2018-06-23 13:56 ` Anton Gorlov
2018-06-23 14:17 ` Leonid Krivoshein
2018-06-23 20:44 ` Anton Gorlov
2018-06-25 8:36 ` Leonid Krivoshein
2018-06-25 22:06 ` Leonid Krivoshein
2018-06-23 11:14 ` Leonid Krivoshein
2018-06-23 12:18 ` Alexey V. Vissarionov
2018-06-23 14:06 ` Anton Gorlov
2018-06-23 14:34 ` Leonid Krivoshein
2018-06-23 16:16 ` Anton Gorlov
2018-06-23 17:12 ` Leonid Krivoshein
2018-06-23 17:31 ` Anton Gorlov
2018-06-25 8:50 ` Leonid Krivoshein
2018-06-25 11:33 ` Anton Gorlov
2018-06-25 22:29 ` Leonid Krivoshein
2018-06-23 15:52 ` Alexey V. Vissarionov
2018-06-23 16:13 ` Anton Gorlov
2018-06-24 3:54 ` Anton Farygin
2018-06-25 8:32 ` Leonid Krivoshein
2018-06-25 8:59 ` Alexey V. Vissarionov
2018-06-25 10:30 ` Anton Farygin
2018-06-25 21:58 ` Leonid Krivoshein
2018-06-25 11:31 ` Anton Gorlov
2018-06-25 12:25 ` Alexey V. Vissarionov
2018-06-25 12:46 ` Anton Gorlov
2018-06-25 14:57 ` Alexey V. Vissarionov
2018-06-25 17:55 ` Anton Gorlov
2018-06-25 22:25 ` Leonid Krivoshein
2018-06-25 22:14 ` Leonid Krivoshein
2018-06-21 19:43 ` Leonid Krivoshein [this message]
2018-06-21 19:03 ` Leonid Krivoshein
2018-06-22 5:04 ` Anton Farygin
2018-06-22 20:18 ` Leonid Krivoshein
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=de961f95-eacd-7313-e420-7b5cf801cb4b@gmail.com \
--to=klark.devel@gmail.com \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git