this post was submitted on 12 Dec 2023
56 points (85.0% liked)

Linux

48328 readers
602 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.

You might be asking why can't you just use your system's built-in package manager. While that will work for most apps there might be some problems with others:

  • Some apps might not be on your system's package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.
  • Apps you have to run through wine generally are not in package manager's repositories. They also might need extra libraries that might be complicated to install.
  • There might be some weirder software that isn't really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.
  • Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.

As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.

There are some design choices I am yet to make, so I would like your guy's input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).

Future Plans
  • Utility Scripts: General purpose shell scripts.
  • CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.
  • Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.
  • User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.

As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.

Happy Scripting!

Links
you are viewing a single comment's thread
view the rest of the comments
[–] Snarwin@kbin.social 16 points 11 months ago (1 children)

If you're using a shell script to install software, you've already failed.

Better alternatives include

  • Third-party package managers like Homebrew and Nix.
  • Language-specific package managers like pip and npm.
  • Self-contained package formats like Flatpak, Snap and AppImage.
  • Using checkinstall to turn a package with an install script or a "make install" command into a package your distro recognizes.
  • Downloading a tarball and using GNU Stow to install it into /usr/local.
  • Compiling from source and installing in $HOME.
[–] Berserkware@lemmy.ml 4 points 11 months ago (1 children)

The point is not to have the script directly install the program (e.g. getting the binary, putting it where it needs to be, and making a desktop file), but to have the script be used as a wrapper for any of the methods you mentioned above. This would allow for a more consistent installing experience, and in the future, a unified CLI. It would also be better for the reasons mentioned in my post.