Summary: | Предложения по улучшению детектирования установленных ОС | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | ruslandh <ruslandh> | ||||
Component: | os-prober | Assignee: | Anton V. Boyarshinov <boyarsh> | ||||
Status: | NEW --- | QA Contact: | qa-sisyphus | ||||
Severity: | enhancement | ||||||
Priority: | P5 | CC: | boyarsh, nickel, ruslandh, zerg | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Attachments: |
|
И да, уберите слово "Unknown" - достаточно написать просто Linux и раздел загрузки. Оно не несёт никакого смысла, а только вызывает подзрение у заказчиков, что ему подсуенули недоделанную стстему. (Ответ для ruslandh на комментарий #1) > И да, уберите слово "Unknown" Или заменить на Generic. > - достаточно написать просто Linux Слишком жирно для какого-то Unknown. ;-) (Ответ для ruslandh на комментарий #0) > 1 определять версию Linux по началу названия файла *-release Этот костыль нужен только при отсутствии /etc/os-release. В grub есть GRUB_OS_PROBER_SKIP_LIST http://git.altlinux.org/people/nickel/packages/?p=grub.git;a=blob;f=grub/util/grub.d/30_os-prober.in;h=515a68c7aa023afa1fae5fd5d79d450cf76a9935;hb=5d7cce0ded7bb3ddc4bd88c39b0720753837452a#l125 Кстати, текущее состояние связки grub + os-prober 1.77 можно потестировать из задания 245634, а результаты и критику оставить тут: https://bugzilla.altlinux.org/show_bug.cgi?id=37224 Новая версия всё равно поймала лишний Linux, если подключен внешний SSD с установленным Linux, "критику" - да какая критика - сами такие ;-) (Ответ для Sergey V Turchin на комментарий #3) > (Ответ для ruslandh на комментарий #0) > > 1 определять версию Linux по началу названия файла *-release > Этот костыль нужен только при отсутствии /etc/os-release. Возможно, но когда это будет в большинстве дистрибутивах, тогда возможно будет и так. ps Generic-Linux, можно и так ;-) (Ответ для nickel@altlinux.org на комментарий #4) > В grub есть GRUB_OS_PROBER_SKIP_LIST Да, но толку от него немного. Он скореее для одного конкретного раздела, который есть в компьютере. Гораздо практичнее, если бы был белый список. Там можно-бы было, например прописать разделы, которые должны быть опробованы. Хоть по UUID, хоть по /dev/id/,,, Такое решение гораздо менее трудоёмкое, и легко может быть проконтролировано или изминено пользователем. Тем более в grub2.conf уже есть информация о /dev/id/,,, , которое использует grub, Число внутренних компонентов компьютера всегда ограничено и меньше по объёму, чем возможное число внешних носителей, которое может быть подключено к компьютеру. (Ответ для ruslandh на комментарий #5) > Новая версия всё равно поймала лишний Linux, если подключен внешний SSD с > установленным Linux, Давайте с обсуждением результатов переместимся в багу [1], чтобы не засорять эту тему? [1] https://bugzilla.altlinux.org/show_bug.cgi?id=37224 |
Created attachment 8586 [details] Пример возможной реализации /usr/lib/os-probes/mounted/90linux-distro Предлагаю внести следующие улучшения : 1 определять версию Linux по началу названия файла *-release (пример предлагаемы изменнений прилагаю) 2 Если возможно взять имя дистрибутива из его файла настройки загрузчика, то взять его (тем более, что в advanced режиме так и делается) 3. Добавить к os-prober возможность использования белого и черного списка, например из /etc/os-prober/white_list и /etc/os-prober/black_list Если есть файл с white_list, то пропускать на проверку дальше диски и разделы из него, если нет, то все Если есть файл с blacl_list, то не пропускать на проверку диски и разделы прописанные в нём, даже если они есть в белом списке.