From: Leonid Krivoshein <klark.devel@gmail.com> To: devel@lists.altlinux.org Subject: Re: [devel] разбивалка диска (почему-то было: Шаги инсталлятора) Date: Thu, 21 Jun 2018 22:03:46 +0300 Message-ID: <89da0bf5-91b4-53d1-a026-aed84dac91d2@gmail.com> (raw) In-Reply-To: <20180621081743.GT20609@imap.altlinux.org> 21.06.2018 11:17, Michael Shigorin пишет: > On Wed, Jun 20, 2018 at 12:50:21AM +0300, Leonid Krivoshein wrote: >> Поизучав исходники Каламариса, посмотрев на инсталляторы в других >> дистрибутивах, неоднократно выслушав пожелания иметь ещё и текстовый >> инсталлятор, имея собственное желание объединить систему массового >> развёртывания с инсталлятором в единое целое, поговорив с отдельными >> товарищами на эту тему, решил пока сильно шашкой не размахивать, а >> осилить "маленький, но важный кусочек", связанный с разбивкой диска, > Это ни разу не "маленький", а САМЫЙ (с большим отрывом) сложный > кусок инсталятора для разработчика и для пользователя тоже. Потому и в кавычках. :) Надо же с чего-то начать. > Его сложность обусловлена, с одной стороной, огромным наследием > самых разных устройств и вариантов организации данных на них, > а с другой -- риском потери этих данных лёгким движением руки. > > Известных мне работающих "машинок состояния", которые умеют > "держать в уме" нюансы устройств/разбивок/ФС -- ровно два: > libevms (апстрим давно умер) и libparted (который, помнится, > сделали из партеда дебианщики для своего инсталятора). Посмотрел много кода, в том числе linux-utils со всеми библиотеками, evms, код dm/md в ядре. libfdisk, используемый всеми *disk'ами, тоже ничего не меняет до последнего, но я бы не назвал её "машиной состояния". Равно как libparted, она не поможет в случае md, lvm, dm, и др... evms, подобно ядру и linux-utils, имеет описания множества структур метаданных, но, в отличии от апстрима, там некому приводить это в актуальное состояние. В результате чем дальше, тем хуже. Достаточно сравнить структуры суперблока пресловутой ext2. Я нашёл способ не использовать знания о размере и расположении метаданных, о внутренней их структуре, а также дешёвый способ штатными методами обеспечить сохранение состояния, комит и откат при необходимости. А для тех, у кого достаточно лишней оперативки или на время инсталляции (развёртывания) есть возможность выделить небольшой кусок реального диска, можно будет предложить фичу "инсталляция в режиме --dry-run" с возможным применением всех изменений только в самом конце. Но это я опять скатился к обсуждению инсталлятора. -- Best regards, Leonid Krivoshein.
next prev parent reply other threads:[~2018-06-21 19:03 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 2018-06-21 19:03 ` Leonid Krivoshein [this message] 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=89da0bf5-91b4-53d1-a026-aed84dac91d2@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