mirror of
https://github.com/kevinveenbirkenbach/linux-image-manager.git
synced 2025-11-20 01:06:32 +00:00
Implemented wrapper for pkgmgr and more sync for safe image transfer and manjaro gnome 24
This commit is contained in:
120
README.md
120
README.md
@@ -1,61 +1,126 @@
|
||||
# Linux Image Manager🖥️🛠️
|
||||
[](https://github.com/sponsors/kevinveenbirkenbach) [](https://www.patreon.com/c/kevinveenbirkenbach) [](https://buymeacoffee.com/kevinveenbirkenbach) [](https://s.veen.world/paypaldonate)
|
||||
# Linux Image Manager 🖥️🛠️
|
||||
|
||||
[](https://github.com/sponsors/kevinveenbirkenbach) [](https://www.patreon.com/c/kevinveenbirkenbach) [](https://buymeacoffee.com/kevinveenbirkenbach) [](https://s.veen.world/paypaldonate)
|
||||
|
||||
[](./LICENSE.txt) [](https://github.com/kevinveenbirkenbach/linux-image-manager/stargazers)
|
||||
|
||||
Linux Image Manager(lim) is a powerful collection of shell scripts for downloading, configuring, and managing Linux images. Whether you're setting up encrypted storage, configuring a virtual Btrfs RAID1, performing backups, or chrooting into an image, this tool makes Linux image administration simple and efficient. 🚀
|
||||
Linux Image Manager (lim) is a powerful collection of shell scripts for downloading, configuring, and managing Linux images. Whether you're setting up encrypted storage, configuring a virtual Btrfs RAID1, performing backups, or chrooting into an image, this tool makes Linux image administration simple and efficient. 🚀
|
||||
|
||||
> **Note:** In this project, `lim` is an alias for the **main.py** wrapper script which orchestrates the execution of the various shell scripts.
|
||||
|
||||
## Features ✨
|
||||
|
||||
- **Image Download & Setup:** Automatically download and prepare Linux distributions.
|
||||
- **Encrypted Storage:** Configure LUKS encryption for secure image management.
|
||||
- **Virtual RAID1:** Easily set up virtual Btrfs RAID1 for data redundancy.
|
||||
- **Chroot Environment:** Seamlessly chroot into your Linux image for system maintenance.
|
||||
- **Backup & Restore:** Comprehensive backup and restore options for system images.
|
||||
- **Backup & Restore:** Create image backups from devices using dd.
|
||||
- **Chroot Environment:** Easily enter a chroot shell to maintain or modify Linux images.
|
||||
- **Automated Procedures:** Simplify partitioning, formatting, mounting, and more.
|
||||
|
||||
## Installation 📦
|
||||
|
||||
Install Linux Image Manager quickly with [Kevin's Package Manager](https://github.com/kevinveenbirkenbach/package-manager) under the alias `lim`. Just run:
|
||||
Install Linux Image Manager quickly using [Kevin's Package Manager](https://github.com/kevinveenbirkenbach/package-manager) under the alias `lim`. Just run:
|
||||
|
||||
```bash
|
||||
package-manager install lim
|
||||
```
|
||||
|
||||
This command makes Linux Image Manager globally available as `lim` in your terminal. 🔧
|
||||
This command makes Linux Image Manager globally available as `lim` in your terminal. The `lim` alias points to the **main.py** wrapper script.
|
||||
|
||||
## Usage ⚙️
|
||||
|
||||
Linux Image Manager comes with a variety of scripts tailored for different tasks. Here are a few examples:
|
||||
The **main.py** wrapper provides a unified interface to run the different shell scripts included in this project. It supports various script types and allows you to pass additional parameters. The built-in `--help` option displays detailed usage information.
|
||||
|
||||
### Virtual Btrfs RAID1 Setup
|
||||
```bash
|
||||
lim raid1/setup.sh
|
||||
```
|
||||
### Available Script Types
|
||||
|
||||
### Linux Image Setup
|
||||
```bash
|
||||
lim image/setup.sh
|
||||
```
|
||||
- **Image Setup (`--type image`):**
|
||||
Executes the Linux image setup located at `scripts/image/setup.sh`. This setup:
|
||||
- Creates partitions and formats them.
|
||||
- Transfers the Linux image file to the device.
|
||||
- Configures boot and root partitions.
|
||||
|
||||
### Chroot into Linux Image
|
||||
```bash
|
||||
lim image/chroot.sh
|
||||
```
|
||||
- **Single Drive Encryption Setup (`--type single`):**
|
||||
Executes the single-drive encryption setup from `scripts/encryption/storage/single_drive/setup.sh`. This setup:
|
||||
- Sets up disk encryption using LUKS on one drive.
|
||||
- Configures a Btrfs file system for secure storage.
|
||||
|
||||
### Backup Image
|
||||
```bash
|
||||
lim image/backup.sh
|
||||
```
|
||||
- **RAID1 Encryption Setup (`--type raid1`):**
|
||||
Executes the RAID1 encryption setup found at `scripts/encryption/storage/raid1/setup.sh`. This setup:
|
||||
- Configures a virtual RAID1 with two drives.
|
||||
- Uses LUKS encryption and a Btrfs RAID1 file system for redundancy.
|
||||
|
||||
Explore the `scripts/` directory for more functionalities and detailed usage instructions.
|
||||
- **Backup Image Setup (`--type backup`):**
|
||||
Executes the backup image setup located at `scripts/image/backup.sh`. This setup:
|
||||
- Creates an image backup from a memory device to a file.
|
||||
- Uses `dd` to transfer the image from the specified device to an image file.
|
||||
|
||||
- **Chroot Environment Setup (`--type chroot`):**
|
||||
Executes the chroot setup from `scripts/image/chroot.sh`. This setup:
|
||||
- Mounts partitions and configures the chroot environment for a Linux image.
|
||||
- Provides a shell within the Linux image for system maintenance.
|
||||
|
||||
### Command-Line Options
|
||||
|
||||
- **`--type`**
|
||||
**(Required)** Choose the type of script to execute. Options include: `image`, `single`, `raid1`, `backup`, and `chroot`.
|
||||
|
||||
- **`--extra`**
|
||||
**(Optional)** Pass any extra parameters directly to the selected shell script.
|
||||
|
||||
- **`--auto-confirm`**
|
||||
**(Optional)** Automatically bypass the confirmation prompt before executing the selected script.
|
||||
|
||||
- **`--help`**
|
||||
**(Optional)** Displays detailed help information about the command-line options and usage of the wrapper. Simply run:
|
||||
```bash
|
||||
lim --help
|
||||
```
|
||||
to view the complete help message.
|
||||
|
||||
### Example Commands
|
||||
|
||||
- **Display Help:**
|
||||
```bash
|
||||
lim --help
|
||||
```
|
||||
|
||||
- **Show Information About the Image Setup:**
|
||||
```bash
|
||||
lim --type image --info
|
||||
```
|
||||
|
||||
- **Execute the Linux Image Setup (with extra parameters):**
|
||||
```bash
|
||||
lim --type image --extra --some-option value
|
||||
```
|
||||
|
||||
- **Run the Single Drive Encryption Setup without a confirmation prompt:**
|
||||
```bash
|
||||
lim --type single --auto-confirm
|
||||
```
|
||||
|
||||
- **Execute the RAID1 Encryption Setup:**
|
||||
```bash
|
||||
lim --type raid1
|
||||
```
|
||||
|
||||
- **Perform a Backup of an Image:**
|
||||
```bash
|
||||
lim --type backup
|
||||
```
|
||||
|
||||
- **Enter a Chroot Environment for a Linux Image:**
|
||||
```bash
|
||||
lim --type chroot
|
||||
```
|
||||
|
||||
For additional details on each script and further configuration options, please refer to the `scripts/` and `configuration/` directories.
|
||||
|
||||
## Configuration & Customization 🔧
|
||||
|
||||
Customize your environment in the `configuration/` folder:
|
||||
- **General Packages:** Common packages for all setup scripts.
|
||||
- **Server LUKS Packages:** Packages needed for setting up LUKS encryption on servers.
|
||||
- **General Packages:** Contains common packages for all setup scripts.
|
||||
- **Server LUKS Packages:** Contains packages needed for setting up LUKS encryption on servers.
|
||||
|
||||
## License 📜
|
||||
|
||||
@@ -68,3 +133,4 @@ This project is licensed under the GNU General Public License Version 3. See the
|
||||
- **Website:** [https://www.veen.world/](https://www.veen.world/)
|
||||
|
||||
Feel free to contribute, report issues, or get in touch. Happy Linux managing! 😊
|
||||
```
|
||||
Reference in New Issue
Block a user