ALT Linux Team development discussions
 help / color / mirror / Atom feed
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.



  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