this post was submitted on 07 Apr 2024
18 points (84.6% liked)

Shell Scripting

1367 readers
1 users here now

From Ash, Bash and Csh to Xonsh, Ysh and Zsh; all shell languages are welcome here!

Rules:
  1. Follow Lemmy rules!
  2. Posts must relate to shell scripting. (See bottom of sidebar for more information.)
  3. Only make helpful replies to questions. This is not the place for low effort joke answers.
  4. No discussion about piracy or hacking.
  5. If you find a solution to your problem by other means, please take your time to write down the steps you used to solve your problem in the original post. You can potentially help others having the same problem!
  6. These rules will change as the community grows.

Keep posts about shell scripting! Here are some guidelines to help:


In general, if your submission text is primarily shell code, then it is welcome here!

founded 2 years ago
MODERATORS
all 9 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 8 months ago (1 children)

There are automation tools that are much better suited for that then pure shell. Kickstart for anaconda based installers, preseed for debian installer etc. Or configuration management tools.

[–] [email protected] 1 points 8 months ago (1 children)

All require installing something so why not use this script to automate the installation and execution of those tools?

[–] [email protected] 4 points 8 months ago* (last edited 8 months ago) (1 children)

Kickstart and preseed do not require installing anything. These are features of distro installers. Such configuration management tools as ansible also do nat require installing agent on a target machine (only python is needed, but it is usually installed by default).

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago) (1 children)

Yeah but this script works on all distros and operating systems regardless of whether they have Kickstart. Also lots of OS's don't ship with Python, Void Linux for example.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago) (1 children)

This script won't work in any distro, you have to use a lot of distro specific commands in it. But if you write a script for a specific distro anyway, why not use a tool that distro provides? You'll be sure that it does everything correct way and you even won't need to run anything after installation completed. You can also save time and disk space by excluding packages you don't need but that would be installed by default. You can also automate disk partitioning and customize other installer settings saving even more time.

Speaking about configuration management tools, they can look a bit overkill, but they have at least one advantage of shell script - idempotency. They won't try to install already installed software, change configs that don't need to be changed etc.

[–] [email protected] 1 points 8 months ago (1 children)

What commands do I use that are distro specific?

[–] [email protected] 1 points 8 months ago (1 children)
[–] [email protected] 1 points 8 months ago

I actually don't use them in the main script, I do specify you can add them to the script if you use them.