From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: To: ALT Linux Team development discussions , Leonid Krivoshein References: <20180621081743.GT20609@imap.altlinux.org> <89da0bf5-91b4-53d1-a026-aed84dac91d2@gmail.com> From: Anton Farygin Organization: BaseALT Message-ID: <51e1f9e2-2f37-9f64-4c2f-0cb94d67678e@basealt.ru> Date: Fri, 22 Jun 2018 08:04:09 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <89da0bf5-91b4-53d1-a026-aed84dac91d2@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Subject: Re: [devel] =?utf-8?b?0YDQsNC30LHQuNCy0LDQu9C60LAg0LTQuNGB0LrQsCAo?= =?utf-8?b?0L/QvtGH0LXQvNGDLdGC0L4g0LHRi9C70L46INCo0LDQs9C4INC40L3RgdGC?= =?utf-8?b?0LDQu9C70Y/RgtC+0YDQsCk=?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jun 2018 05:04:09 -0000 Archived-At: List-Archive: List-Post: 21.06.2018 22:03, Leonid Krivoshein пишет: > > 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" с > возможным применением всех изменений только в самом конце. Но это я > опять скатился к обсуждению инсталлятора. > > Глядя на всё это выглядит разумным стать апстримом для libevms. В принципе там не так уж много и менять надо.