Skip to content

JCTRoth/Shell_Script_Utilities

Repository files navigation

Shell Script Utilities

Overview

This repository contains various shell scripts designed to simplify common tasks on Linux systems, including package management, system configuration, backups, and development environment setup.

Utilities

Backup and Restore Sources

Backs up and restores package sources and associated keys of Debian-based systems (e.g., Ubuntu, Linux Mint, etc.).

The script provides a terminal-based input menu.

Scripts:

  • Backup_Source_and_Key.sh – Creates a backup of package sources and keys

  • Restore_Source_and_Key.sh – Restores package sources and keys from a backup

Location: Backup_Tools/Backup_and_Restore_Sources/


Backup Folder

Backs up a folder while preserving file attributes (e.g., timestamps and creation dates). Optional folder compression is supported.

The script provides a terminal-based input menu.

Script: Backup_Folder.sh

Location: Backup_Tools/Backup_Folder/


Generate System Logs

  • Generate_Compact_System_Status.sh – Short hardware and system status report

  • Generate_System_Report.sh – Extensive system status report

Location: Generate_System_Logs/


List Installation

  • install_list.sh – Installs a list of packages

Example:

sudo ./install_list.sh ./lists/serverInstallation.list
  • add_pack.sh – Adds a package from the system package manager to a list Prevents duplicate entries and typos.

Available Lists:

  • developer.list – Development tools and IDEs

  • home_server_installation.list – Home server packages

  • install_latex.list – LaTeX and document processing tools

  • mint_post_install_DEV.list – Linux Mint developer post-install

  • mint_post_install.list – Linux Mint general post-install

  • PHPinstall.list – PHP development environment

  • python.list – Python development tools

  • serverInstallation.list – Server administration tools

Location: List_Installation/


Add Fonts

Copies your fonts to the system.

Scripts:

  • copieToSystem.sh – Copies fonts into system font directories

Location: Add_Fonts/


Solve Android Mount Problem

Opens required ports for ADB and MTP on Linux.

Script: copyToDestination.sh

Location: rulesD_Problems/Solve_Android_Mount_Problem/


Solve Arduino Upload Problem

Configures udev rules for Arduino board uploads on Linux.

Script: setup_hardware_udev_rules.sh

Location: rulesD_Problems/Solve_Arduino_Upload_Problem/


Useful Commands

Contains various useful command examples and hints for Linux administrators.

Location: Usefull_Commands/ (Directory name kept as-is)


Program Setups

Automated setup scripts for various development environments.

Scripts:

  • setup_fish.sh – Setup for the Fish shell

  • setup_LAMP.sh – Setup for LAMP stack (Linux, Apache, MySQL, PHP)

  • setup_nodeJs.sh – Setup for the Node.js environment

  • Pine64_GPIO_Setup/ – GPIO setup for Pine64 devices

Location: Program_Setups/


System Configurations

System configuration and optimization scripts.

Scripts:

  • Disable_Window_Animations.sh – Disable window animations for performance

  • configure-unattended-upgrades/ – Configure automatic security updates

Location: System_Configurations/


Image Correction

Scripts for image processing and correction.

Scripts:

  • auto_brightenup_images.sh – Automatic image brightness correction

  • normalise_images.sh – Normalize image properties

Location: Image_Correction/


Other Systems

Scripts for additional operating systems and platforms.

Android

Scripts:

  • Generate_Android_System_Report.sh – Generate Android system reports

Location: Other_Systems/Android/

  • Remove_Android_Bloatware.sh

Safely preview and remove or disable Android packages (bloatware) over ADB. \ Takes a blacklist file (Apps never to remove, negative list) and a bloatwear.list. \ You can use the here provided files or create your own ones.

MacOS

Scripts:

  • agree_to_xcode.sh – Automate Xcode license agreement

  • Eject_All_Ntfs_Drives.sh – Eject all NTFS drives

  • Mount_All_Ntfs_Drives.sh – Mount all NTFS drives

  • Run_Install.sh – Run installation scripts

Location: Other_Systems/MacOs/


Zenity Learning By Example

Interactive script demonstrating Zenity dialog usage.

Script: Zenity_Learning_By_Example.sh

Location: Root directory

Installation

  1. Clone the repository:

    git clone https://github.com/JCTRoth/Shell_Script_Utilities.git
    cd Shell_Script_Utilities
  2. Make scripts executable:

    find . -name "*.sh" -type f -exec chmod +x {} \;
  3. Run scripts with appropriate permissions (some require sudo):

    sudo ./script.sh

Requirements

  • Linux operating system

  • Bash shell

  • Standard Unix utilities (grep, sed, awk, etc.)

  • Root privileges for system modifications

Usage Examples

Installing Development Tools

cd List_Installation
sudo ./install_list.sh ./lists/developer.list

Setting up Node.js

cd Program_Setups
sudo ./setup_nodeJs.sh

Backing up Package Sources

cd Backup_Tools/Backup_and_Restore_Sources
sudo ./Backup_Source_and_Key.sh

Adding a Package to a List

cd List_Installation
sudo ./add_pack.sh

About

Collection of shell scripts to admin a server or automate device installation processes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages