From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.2.5 Message-ID: <5107B4A0.40204@altlinux.ru> Date: Tue, 29 Jan 2013 15:38:08 +0400 From: Alexey Gladkov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130117 Thunderbird/17.0.2 MIME-Version: 1.0 To: sisyphus@lists.altlinux.org References: <51065483.5090603@altlinux.ru> <51066E3B.10808@altlinux.ru> <51068813.6030500@altlinux.ru> <51069804.7080803@altlinux.ru> <20130128154912.GA30252@altlinux.org> In-Reply-To: X-Enigmail-Version: 1.5a1pre Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [sisyphus] udev-197 X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Sisyphus discussions List-Id: ALT Linux Sisyphus discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jan 2013 11:38:53 -0000 Archived-At: List-Archive: List-Post: 29.01.2013 13:44, Alexey Shabalin wrote: > 28 января 2013 г., 19:49 пользователь Dmitry V. Levin написал: >> On Mon, Jan 28, 2013 at 07:42:27PM +0400, Alexey Shabalin wrote: >>> 28 января 2013 г., 19:37 пользователь Alexey Shabalin написал: >>>> 28 января 2013 г., 19:23 пользователь Alexey Gladkov написал: >>>>> 28.01.2013 19:04, Alexey Shabalin wrote: >>>>>> Так я и прошу показать где происходит перезапуск. Под перезапуском я >>>>>> понимаю, что первый экземпляр где-то стопится. Пока я вижу только >>>>>> старт из rc.sysinit и >>>>> >>>>> Под перезапуском я понимаю, что udev останавливается в initrd и >>>>> запускается в системе с чистого листа и наполняет базу заново. >>>>> >>>>>> Т.е. если он запускается только один раз из rc.sysinit, то добавление >>>>>> "--action=add" так же поломает наполнение базы udev? >>>>> >>>>> Тут должна быть инициализация базы с нуля. Примерно также делается в >>>>> initrd. >>>> Для sysv не страшно, если база пустая, т.к. swapon, vgchange -a y, >>>> mdadm --assemble --scan и т.п. все равно при любых условиях >>>> запускаются из rc.sysinit и наполняют базу udev. >>>> Для systemd они ни откуда ни запускаются , полагается только на уже >>>> существующую наполненую базу udev. И если она пустая - то будет облом. >>> >>> Кстати, может сделаем такой компромисс - базу udev из initrd будем >>> копировать, а удалять уже из rc.sysinit ? А для systemd Эту базу можно >>> не удалять. >> >> Это будет не компромисс, а мина замедленного действия, до первого >> нарушения обратной совместимости формата базы udev. > > Тогда давайте копировать базу udev и обновлять initrd при обновлении > udev хотя бы для текущего ядра (не трогая остальные) - у > администратора останется возможность загрузится и если надо вручную > обновить initrd для других ядер. Представим ситуацию, когда новый initrd не загрузился (такое иногда бывает) и есть несовместимость баз. Что делать пользователю? Новое ядро не грузится... и старое тоже не будет грузится. Таким образом система будет работать, когда всё хорошо и не будет работать при проблемах. Собственно как и в случае неперегенерации initrd и копирования баз. Эффект будет одинаковым. Как один из обходных вариантов можно реализовать cmdline ключ для управления копированием базы udev в систему, который по умолчанию будет выставлен в "копировать". Тогда если реализовать аварийный механизм в системе на случай, когда базы udev нет, то пользователь сможет(?) загрузиться хоть как-то. Тут у меня возникают сомнения в возможности реализации аварийного режима т.к. этот тред и есть следствие того, что systemd не умеет нормально работать без базы udev. 2shaba@: Можно ли тут что-то сделать ? -- Rgrds, legion