Update README to clarify Particle-OS focus and uBlue OS inspiration
This commit is contained in:
parent
4f21a06af8
commit
ed8f2bc68b
1 changed files with 39 additions and 36 deletions
75
Readme.md
75
Readme.md
|
|
@ -1,10 +1,10 @@
|
|||
# Ubuntu uBlue System Tools
|
||||
# Particle-OS System Tools
|
||||
|
||||
A comprehensive collection of tools for creating and managing immutable Ubuntu systems, providing functionality similar to Fedora Silverblue/Kinoite but designed specifically for Ubuntu/Debian-based distributions.
|
||||
A comprehensive collection of tools for creating and managing immutable Ubuntu systems, inspired by uBlue OS but designed specifically for **Particle-OS** - a Ubuntu-based immutable distribution. These tools provide functionality similar to Fedora Silverblue/Kinoite but are built for Ubuntu/Debian-based distributions.
|
||||
|
||||
## 🎯 Overview
|
||||
|
||||
Ubuntu uBlue System Tools provides a complete solution for immutable Ubuntu systems using:
|
||||
Particle-OS System Tools provides a complete solution for immutable Ubuntu systems using:
|
||||
- **ComposeFS Alternative**: Immutable filesystem backend using squashfs and overlayfs
|
||||
- **apt-layer**: Package management and layer creation (similar to rpm-ostree)
|
||||
- **bootupd Alternative**: Bootloader management and deployment
|
||||
|
|
@ -12,13 +12,15 @@ Ubuntu uBlue System Tools provides a complete solution for immutable Ubuntu syst
|
|||
- **OCI Integration**: Container image export/import capabilities
|
||||
- **Transaction Management**: Atomic operations with rollback support
|
||||
|
||||
**Important**: While these tools are inspired by uBlue OS concepts and design patterns, they are specifically designed for **Particle-OS** - a Ubuntu-based immutable system. The tools are optimized for Ubuntu/Debian package management (apt/dpkg) rather than RPM-based systems.
|
||||
|
||||
## 🏗️ System Architecture
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ Ubuntu uBlue System │
|
||||
│ Particle-OS System │
|
||||
├─────────────────────────────────────────────────────────────┤
|
||||
│ main.sh (Orchestrator) │
|
||||
│ orchestrator.sh (System Orchestrator) │
|
||||
│ ┌─────────────┬─────────────┬─────────────┐ │
|
||||
│ │ apt-layer.sh│composefs-alt│bootupd-alt │ │
|
||||
│ │ │ │ │ │
|
||||
|
|
@ -29,9 +31,9 @@ Ubuntu uBlue System Tools provides a complete solution for immutable Ubuntu syst
|
|||
│ └─────────────┴─────────────┴─────────────┘ │
|
||||
├─────────────────────────────────────────────────────────────┤
|
||||
│ Supporting Tools │
|
||||
│ • oci-integration.sh • ublue-config.sh │
|
||||
│ • bootc-alternative.sh • ublue-logrotate.sh │
|
||||
│ • dracut-module.sh • install-ubuntu-ublue.sh │
|
||||
│ • oci-integration.sh • particle-config.sh │
|
||||
│ • bootc-alternative.sh • particle-logrotate.sh │
|
||||
│ • dracut-module.sh • install-particle-os.sh │
|
||||
│ • fsverity-utils • Integrity verification │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
|
@ -46,7 +48,7 @@ git clone <repository-url>
|
|||
cd tools
|
||||
|
||||
# Run the installation script
|
||||
sudo ./install-ubuntu-ublue.sh
|
||||
sudo ./install-particle-os.sh
|
||||
|
||||
# Verify installation
|
||||
sudo ./test-integration.sh
|
||||
|
|
@ -56,7 +58,7 @@ sudo ./test-integration.sh
|
|||
|
||||
```bash
|
||||
# Install packages and create new system image
|
||||
sudo ./main.sh install ubuntu-base-24.04 firefox steam
|
||||
sudo ./orchestrator.sh install ubuntu-base-24.04 firefox steam
|
||||
|
||||
# Install packages on live system (no reboot required)
|
||||
sudo ./apt-layer.sh --live-install firefox steam
|
||||
|
|
@ -65,19 +67,19 @@ sudo ./apt-layer.sh --live-install firefox steam
|
|||
sudo ./apt-layer.sh --live-commit "Add gaming packages"
|
||||
|
||||
# Rebase to new Ubuntu version
|
||||
sudo ./main.sh rebase ubuntu-base-25.04
|
||||
sudo ./orchestrator.sh rebase ubuntu-base-25.04
|
||||
|
||||
# Rollback to previous deployment
|
||||
sudo ./main.sh rollback
|
||||
sudo ./orchestrator.sh rollback
|
||||
|
||||
# Check system status
|
||||
sudo ./main.sh status
|
||||
sudo ./orchestrator.sh status
|
||||
```
|
||||
|
||||
## 📦 Core Components
|
||||
|
||||
### 1. **main.sh** - System Orchestrator
|
||||
The central orchestrator that coordinates all uBlue operations:
|
||||
### 1. **orchestrator.sh** - System Orchestrator
|
||||
The central orchestrator that coordinates all Particle-OS operations:
|
||||
- **Package Installation**: Atomic package installation with new image creation
|
||||
- **System Rebase**: Upgrade to new base images while preserving layers
|
||||
- **Rollback Management**: Safe rollback to previous deployments
|
||||
|
|
@ -85,19 +87,20 @@ The central orchestrator that coordinates all uBlue operations:
|
|||
|
||||
**Usage:**
|
||||
```bash
|
||||
sudo ./main.sh install <base-image> <package1> [package2]...
|
||||
sudo ./main.sh rebase <new-base-image>
|
||||
sudo ./main.sh rollback [target-image]
|
||||
sudo ./main.sh status
|
||||
sudo ./orchestrator.sh install <base-image> <package1> [package2]...
|
||||
sudo ./orchestrator.sh rebase <new-base-image>
|
||||
sudo ./orchestrator.sh rollback [target-image]
|
||||
sudo ./orchestrator.sh status
|
||||
```
|
||||
|
||||
### 2. **apt-layer.sh** - Package Layer Management
|
||||
Advanced package management with layer-based approach:
|
||||
Advanced package management with layer-based approach, designed for Ubuntu/Debian systems:
|
||||
- **Layer Creation**: Create new system layers with packages
|
||||
- **Live Overlay**: Install packages without rebooting
|
||||
- **Container Support**: Build layers in containers for isolation
|
||||
- **Transaction Safety**: Atomic layer operations with rollback
|
||||
- **OCI Integration**: Export/import layers as container images
|
||||
- **Ubuntu/Debian Optimized**: Uses apt/dpkg instead of RPM
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
|
|
@ -202,35 +205,35 @@ sudo ./bootc-alternative.sh update my-container:v2.0
|
|||
sudo ./bootc-alternative.sh rollback
|
||||
```
|
||||
|
||||
### **ublue-config.sh**
|
||||
Unified configuration system:
|
||||
### **particle-config.sh**
|
||||
Unified configuration system for Particle-OS:
|
||||
```bash
|
||||
# Show configuration
|
||||
sudo ./ublue-config.sh show
|
||||
sudo ./particle-config.sh show
|
||||
|
||||
# Update configuration
|
||||
sudo ./ublue-config.sh update
|
||||
sudo ./particle-config.sh update
|
||||
|
||||
# Validate configuration
|
||||
sudo ./ublue-config.sh validate
|
||||
sudo ./particle-config.sh validate
|
||||
```
|
||||
|
||||
### **ublue-logrotate.sh**
|
||||
Log rotation and maintenance:
|
||||
### **particle-logrotate.sh**
|
||||
Log rotation and maintenance for Particle-OS:
|
||||
```bash
|
||||
# Rotate oversized logs
|
||||
sudo ./ublue-logrotate.sh rotate
|
||||
sudo ./particle-logrotate.sh rotate
|
||||
|
||||
# Clean up old logs
|
||||
sudo ./ublue-logrotate.sh cleanup
|
||||
sudo ./particle-logrotate.sh cleanup
|
||||
|
||||
# Show log statistics
|
||||
sudo ./ublue-logrotate.sh stats
|
||||
sudo ./particle-logrotate.sh stats
|
||||
```
|
||||
|
||||
## 🧪 Testing
|
||||
|
||||
Comprehensive test suite for all components:
|
||||
Comprehensive test suite for all Particle-OS components:
|
||||
|
||||
```bash
|
||||
# Run full integration tests
|
||||
|
|
@ -292,10 +295,10 @@ Detailed documentation is available in the `docs/` directory:
|
|||
| apt-layer.sh | ✅ Production Ready | Full layer management with live overlay, OCI integration |
|
||||
| composefs-alternative.sh | ✅ Production Ready | Immutable filesystem backend with squashfs/overlayfs |
|
||||
| bootupd-alternative.sh | ✅ Production Ready | Multi-bootloader support (UEFI, GRUB, LILO, syslinux) |
|
||||
| main.sh | ✅ Production Ready | System orchestrator with transaction management |
|
||||
| orchestrator.sh | ✅ Production Ready | System orchestrator with transaction management |
|
||||
| oci-integration.sh | ✅ Production Ready | Container image export/import |
|
||||
| ublue-config.sh | ✅ Production Ready | Unified configuration system |
|
||||
| ublue-logrotate.sh | ✅ Production Ready | Log rotation and maintenance |
|
||||
| particle-config.sh | ✅ Production Ready | Unified configuration system |
|
||||
| particle-logrotate.sh | ✅ Production Ready | Log rotation and maintenance |
|
||||
| bootc-alternative.sh | 🔄 In Development | Container-native booting |
|
||||
|
||||
## 🤝 Contributing
|
||||
|
|
@ -309,7 +312,7 @@ git clone <repository-url>
|
|||
cd tools
|
||||
|
||||
# Install development dependencies
|
||||
sudo ./install-ubuntu-ublue.sh --dev
|
||||
sudo ./install-particle-os.sh --dev
|
||||
|
||||
# Run tests
|
||||
sudo ./test-integration.sh
|
||||
|
|
@ -340,4 +343,4 @@ This project is open source. Please check individual component licenses.
|
|||
|
||||
---
|
||||
|
||||
**Note**: All tools are designed to work 1:1 with their official counterparts and are compatible with Ubuntu, Debian, and Pop!_OS systems.
|
||||
**Note**: All tools are designed to work 1:1 with their official counterparts and are compatible with Ubuntu, Debian, and Pop!_OS systems. While inspired by uBlue OS concepts, these tools are specifically optimized for **Particle-OS** - a Ubuntu-based immutable distribution.
|
||||
Loading…
Add table
Add a link
Reference in a new issue