-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplify linux install scripts #199
Comments
Hi,
Anyway, all the binaries are open source and can be reproduced. So I think there is no security problem. |
Hmm, removing bashisms will likely reduce the package size way more than compressing ash… Most tools have a simpler version that's always there, like, |
Yes, but if I don't use bashisms scripts, I will have to deal with many compatibility probems. For example dash/mksh/ksh ... may have different behaviors for some shell commands like echo, let, expr, output redirection and so on. Take mkfs.exfat for example, it is necessary to Ventoy, but many distros don't contain it by default. |
Well the complexity you remove by shipping bins for a single platforms will just come back when having to deal with the other platforms. You'll end up having to ship bins for BSD, Haiku… (well, some do like kBuild for VirtualBox, but that's build tools that have to bootstrap themselves…) 🤔 |
As for the script compatibility problem, you will only know if someone reports it, unless you test all the ksh/mksh/dash ... with ash I will have the same behavior in any envrioment. As for BSD/Haiku, I prefer to provide a new install package with full test. As for apt-get/rpm, there are many cases without an internet connect. |
Of course I can also provide a pure shell script. But the binaries should also be shipped. If your system contains all the needed things you can choose the pure shell script and these binraries will not be used. |
Hmm, another option could be to check for host tools and if not present prepend |
Unrelated |
I do agree 100%. Ventoy is said to be really easy to use, but it's not really easy to install, when someone uses Linux. |
Maybe a series of zenity prompts would help. Some sort of basic GUI for installation would be nice for a lot of people. I am ok with how things are now but accessibility for many others is very low, especially for non Linux users . |
Looking at Ventoy2Disk.sh & friends, I'm quite perplex as to why it's so convoluted:
I see absolutely no reason to bundle a shell binary alongside. Even if you require bash features it's quite easy to test if bash is present and rerun oneself with it without a separate script.
Why compress those binaries? The archive is already compressed, and it's not like they take as much as the payload that is copied to the usb key anyway.
Why ship binary tools instead of testing for existing tools and propose installing them if missing? Most people should have those already anyway. Besides, the number of Raspberry Pi users now likely outweighs the number of people who don't have them, and those won't be able to run the script due to x86 binaries being required.
Some home-made tools can very well be replaced by a single line of shell, like
vtoy_gen_uuid
which is basicallydd if=/dev/random bs=16 count=1
… Would need some error checking, but then the current code doesn't have it either.As such, I'm really not inclined to trust this script to run it as root, due to its apparent useless complexity. For such a tool that is used to install distros to many computers, One should probably expect some guaranties in terms of code auditability, perhaps even reproducible builds. Admittedly I didn't check others like MultibootUSB, but at least the code I've seen from them seems less convoluted so I'm more inclined to trust them.
So before I start cleaning those up I'd like any rationale as to why we should keep them…
The text was updated successfully, but these errors were encountered: