The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

booty - утилита для создания загрузочных образов и накопителей, opennews (?), 25-Июл-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


23. "booty - утилита для создания загрузочных образов и накопител..."  +5 +/
Сообщение от Spoofing (?), 25-Июл-20, 14:58 
а что вы, простите, ожидали увидеть? смуззи-технологии? python запускающий nodejs?

данная программа должна быть максимально портируема и независима от окружения и/или дистрибутива.

вы наверное будете неприятно удивлены, узнав, что makepkg в вашем Арчике это тоже "баш-портянка".

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

24. "booty - утилита для создания загрузочных образов и накопител..."  –2 +/
Сообщение от Аноним (24), 25-Июл-20, 15:06 
Я думаю он подразумевал то что автор шизофреник судя по коду.
Ответить | Правка | Наверх | Cообщить модератору

26. "booty - утилита для создания загрузочных образов и накопител..."  +/
Сообщение от Spoofing (?), 25-Июл-20, 15:09 
автор -- я. интересно, почему это? не понравилось /usr/bin/env sh? это единственный верный способ для запуска POSIX shell интерпретатора, поскольку сам sh в различных дистрибутивах лежит в разных местах: /bin/sh, /usr/bin/sh, а env лежит всегда в /usr/bin/env. что не так-то?
Ответить | Правка | Наверх | Cообщить модератору

28. "booty - утилита для создания загрузочных образов и накопител..."  +1 +/
Сообщение от n80 (?), 25-Июл-20, 15:16 
Можно, пожалуйста, пример дистра, в котором есть /usr/bin/sh и нет /bin/sh (даже в виде симлинка)?
Ответить | Правка | Наверх | Cообщить модератору

30. "booty - утилита для создания загрузочных образов и накопител..."  –1 +/
Сообщение от flkghdfgklh (?), 25-Июл-20, 15:21 
В NixOS у тебя сработает `#!/usr/bin/env sh` и не сработает никакой `#!/bin/sh`, например
Все правильно в этом месте автор сделал
Ответить | Правка | Наверх | Cообщить модератору

79. "booty - утилита для создания загрузочных образов и накопител..."  +/
Сообщение от nich (ok), 26-Июл-20, 05:52 
В NixOS /bin/sh есть.  Ты такой же эксперт, как и автор этого скрипта.
Ответить | Правка | Наверх | Cообщить модератору

33. "booty - утилита для создания загрузочных образов и накопител..."  +6 +/
Сообщение от Spoofing (?), 25-Июл-20, 15:24 
В процессе создания программы мне писали пользователи различных дистрибутивов, к слову, пользователей Debian я до сих пор обижаю, не переименовывая mkinitramfs (не знаю во что переименовать).

Соответственно, мне приходилось ставить дистрибутивы тех пользователей и повторять баги самому. Так вот один из багов. Пользователь Manjaro Linux. Пишет, что у него не загружается /init из initramfs, kernel panic.

Я так же как и вы, использовал #! /bin/sh в /init для initramfs образа. Оказалось, что sh в Manjaro лежит в /usr/bin/sh, и при копировании "родных" утилит в initramfs интерпретатор sh копируется в свою директорию /usr/bin/sh. А у меня в /init стоит #! /bin/sh. Вот поэтому /init не мог запуститься ядром и случался kernel panic.

Теперь я везде пишу #! /usr/bin/env sh и со 100% уверен, что sh будет исполнен где бы тот не находился.

Такая предыстория. А теперь отвечая на ваш вопрос, скажите, где лежит sh в дистрибутиве Manjaro? Могу скачать сам посмотреть, но мне лень.

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

47. "booty - утилита для создания загрузочных образов и накопител..."  –1 +/
Сообщение от Аноним (20), 25-Июл-20, 17:48 
Это следствие криво сделанного initramfs. «Спасибо» Лёньке Потному,теперь почти во всех дистрах /bin стал симлинком на /usr/bin. Похоже, в initramfs про симлинк забыли.
Вообще же, если говорить не о systemd/linux, а более общо, куда выше вероятность того, что /usr/bin не будет на месте, потому что /usr может быть не смонтирован. Скрипт с шебангом #!/bin/sh в таком случае хотя бы запустится (но не факт, что сможет что-то полезное сделать, конечно).

Я таки посмотрел скрипт чуть более детально, и прошу прощения за наезд: написан он весьма грамотно. Но, как говорится, есть нюанс. Уже был проект, пытавшийся делать загрузочные флешки из каких угодно iso, может быть, даже и сейчас есть. К счастью, я не слышал про него достаточно давно, чтобы забыть название (ну все поняли, о чём я, очень популярная штука была). Дело в том, что, как они ни старались, вероятность получить загружающуюся систему была примерно такой же, как встретить динозавра на улице. Вероятно, что-то они чинили, в результате переставало работать другое… За сотней дистрибутивов угнаться — это не за какими-то там двумя зайцами. В конечном итоге некоторым дистростроителям надоели жалобы юзеров на левую, в общем-то, утилиту, и они везде, где только можно, написали, что она не поддерживается. Так вот, дело там было не в криворукости разработчиков, а в изначальной провальности самой затеи. Тут она ещё более масштабная, а значит, и сложностей будет больше, и ломаться будет чаще. Короче, не верю я, что это будет жить. Как учебный проект или дополнение к резюме — вполне норм.

Ответить | Правка | Наверх | Cообщить модератору

54. "booty - утилита для создания загрузочных образов и накопител..."  +/
Сообщение от Аноним (54), 25-Июл-20, 22:25 
Ненавижу манджару, манджара гавно, не надо делать поддержку манджары, пусть стралают
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

80. "booty - утилита для создания загрузочных образов и накопител..."  –1 +/
Сообщение от nich (ok), 26-Июл-20, 06:01 
sh в Manjaro лежит в /bin/sh.  У него было сломана система, а он тебе баг накатал.  А ты вместо того, чтобы послать идиота, сам им стал.
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

109. "booty - утилита для создания загрузочных образов и накопител..."  –1 +/
Сообщение от kmeaw (?), 26-Июл-20, 11:15 
А где sh лежит в initramfs у Manjaro?
Ответить | Правка | Наверх | Cообщить модератору

27. "booty - утилита для создания загрузочных образов и накопител..."  +5 +/
Сообщение от n80 (?), 25-Июл-20, 15:15 
Думаю, он ожидал что в любой системе [на поддержку которой не жалко тратить время] можно писать просто #!/bin/sh
Честно говоря, у меня тоже такие ожидания есть.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

31. "booty - утилита для создания загрузочных образов и накопител..."  +1 +/
Сообщение от mos87 (ok), 25-Июл-20, 15:21 
Applications should note that the standard PATH to the shell cannot be assumed to be either /bin/sh or /usr/bin/sh, and should be determined by interrogation of the PATH returned by getconf PATH
Ответить | Правка | Наверх | Cообщить модератору

35. "booty - утилита для создания загрузочных образов и накопител..."  +/
Сообщение от Аноним (20), 25-Июл-20, 15:34 
Сначала объясни это вон тем чувакам: https://www.sourceware.org/bugzilla/show_bug.cgi?id=12678
Ответить | Правка | Наверх | Cообщить модератору

49. "booty - утилита для создания загрузочных образов и накопител..."  +3 +/
Сообщение от mos87 (ok), 25-Июл-20, 18:17 
там правильно ответили - зачем системе искать где в системе шелл?
Ответить | Правка | Наверх | Cообщить модератору

38. "booty - утилита для создания загрузочных образов и накопител..."  +1 +/
Сообщение от n80 (?), 25-Июл-20, 15:51 
Спасибо за ссылку и цитату. Трагично это, конечно, но придётся в дальнейшем учесть.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

29. "booty - утилита для создания загрузочных образов и накопител..."  +1 +/
Сообщение от mos87 (ok), 25-Июл-20, 15:20 
Как настоящие позикс-мужыки определяют путь до интерпретатора в шебанге: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/s...
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру