apt-ostree/docs/apt-ostree-daemon-plan/reference/command-reference.md
robojerk 306a68b89a fix: Resolve compilation errors in parallel and cache modules
- Fix parallel execution logic to properly handle JoinHandle<Result<R, E>> types
- Use join_all instead of try_join_all for proper Result handling
- Fix double question mark (??) issue in parallel execution methods
- Clean up unused imports in parallel and cache modules
- Ensure all performance optimization modules compile successfully
- Fix CI build failures caused by compilation errors
2025-08-16 15:10:00 -07:00

565 lines
13 KiB
Markdown

# 📚 **apt-ostree Command Reference**
## 🎯 **Overview**
This document provides a complete reference for all apt-ostree CLI commands, organized by functionality and including examples, flags, and usage patterns. All commands maintain 100% compatibility with rpm-ostree.
## 🔧 **Global Options**
All commands support these global options:
```bash
-h, --help Show help message
-V, --version Show version information
-q, --quiet Suppress output
-v, --verbose Verbose output
--debug Enable debug output
```
## 📊 **System Status Commands**
### **`status`** - Show System Status
Display current system status including OSTree deployments and package information.
```bash
# Basic status
apt-ostree status
# Status for specific OS
apt-ostree status --os debian
# JSON output
apt-ostree status --json
# Verbose output
apt-ostree status --verbose
```
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `-j, --json` - Output in JSON format
- `-v, --verbose` - Verbose output
### **`db`** - Database Operations
Query and manage the package database.
```bash
# List packages
apt-ostree db list
# Show package differences
apt-ostree db diff
# Show database version
apt-ostree db version
```
**Subcommands:**
- `list` - List packages in database
- `diff` - Show differences between deployments
- `version` - Show database version information
## 🚀 **System Management Commands**
### **`upgrade`** - Upgrade System
Perform a system upgrade to the latest available version.
```bash
# Basic upgrade
apt-ostree upgrade
# Upgrade with reboot
apt-ostree upgrade --reboot
# Upgrade specific OS
apt-ostree upgrade --os debian
# Preview upgrade
apt-ostree upgrade --preview
```
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `-r, --reboot` - Reboot after upgrade
- `--preview` - Preview changes without applying
- `-y, --yes` - Answer yes to prompts
### **`deploy`** - Deploy Specific Commit
Deploy a specific OSTree commit.
```bash
# Deploy specific commit
apt-ostree deploy <COMMIT>
# Deploy with reboot
apt-ostree deploy <COMMIT> --reboot
# Deploy with options
apt-ostree deploy <COMMIT> --os debian --reboot
```
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `-r, --reboot` - Reboot after deployment
- `--preview` - Preview deployment without applying
### **`rollback`** - Rollback to Previous Deployment
Revert to the previously booted deployment.
```bash
# Basic rollback
apt-ostree rollback
# Rollback with reboot
apt-ostree rollback --reboot
# Rollback specific OS
apt-ostree rollback --os debian
```
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `-r, --reboot` - Reboot after rollback
## 📦 **Package Management Commands**
### **`install`** - Install Packages
Install additional packages into the current deployment.
```bash
# Install single package
apt-ostree install vim
# Install multiple packages
apt-ostree install vim emacs nano
# Install with reboot
apt-ostree install vim --reboot
# Install specific version
apt-ostree install vim=2:9.0.1378-1
```
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `-r, --reboot` - Reboot after installation
- `-y, --yes` - Answer yes to prompts
### **`uninstall`** - Remove Packages
Remove previously installed packages.
```bash
# Remove single package
apt-ostree uninstall vim
# Remove multiple packages
apt-ostree uninstall vim emacs
# Remove with reboot
apt-ostree uninstall vim --reboot
```
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `-r, --reboot` - Reboot after removal
- `-y, --yes` - Answer yes to prompts
### **`override`** - Package Overrides
Manage base package overrides.
```bash
# Replace package
apt-ostree override replace vim 2:9.0.1378-1
# Reset package override
apt-ostree override reset vim
# List overrides
apt-ostree override list
```
**Subcommands:**
- `replace <PACKAGE> <VERSION>` - Replace base package with different version
- `reset <PACKAGE>` - Reset package to base version
- `list` - List current package overrides
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `-r, --reboot` - Reboot after override
- `--lock-finalization` - Lock finalization
## 🔄 **Advanced System Commands**
### **`usroverlay`** - User Overlays
Apply transient overlayfs modifications to /usr.
```bash
# Apply overlay
apt-ostree usroverlay apply my-overlay /path/to/source /usr/local/custom
# List overlays
apt-ostree usroverlay list
# Reset overlay
apt-ostree usroverlay reset my-overlay
# Remove overlay
apt-ostree usroverlay remove my-overlay
```
**Subcommands:**
- `apply <NAME> <SOURCE> <TARGET>` - Apply user overlay
- `list` - List current user overlays
- `reset <NAME>` - Reset overlay to base state
- `remove <NAME>` - Remove user overlay
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `--read-only` - Make overlay read-only
- `--allow-other` - Allow other users to access
- `--default-permissions` - Use default permissions
### **`apply-live`** - Live Updates
Apply changes to the running system without rebooting.
```bash
# Apply live update
apt-ostree apply-live apply <DEPLOYMENT>
# Show live update status
apt-ostree apply-live status
# Rollback live update
apt-ostree apply-live rollback <UPDATE_ID>
```
**Subcommands:**
- `apply <DEPLOYMENT>` - Apply live update to deployment
- `status` - Show live update status
- `rollback <UPDATE_ID>` - Rollback live update
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `-r, --reboot` - Reboot after live update
- `--lock-finalization` - Lock finalization
### **`compose`** - Tree Composition
Compose and manage OSTree trees.
```bash
# Compose tree
apt-ostree compose tree treefile.yml
# Install packages in tree
apt-ostree compose install treefile.yml vim emacs
# Post-process tree
apt-ostree compose postprocess treefile.yml
# Commit tree
apt-ostree compose commit treefile.yml
```
**Subcommands:**
- `tree <TREEFILE>` - Compose tree from treefile
- `install <TREEFILE> <PACKAGES...>` - Install packages in tree
- `postprocess <TREEFILE>` - Post-process composed tree
- `commit <TREEFILE>` - Commit composed tree
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `--output-dir <DIR>` - Output directory for artifacts
## 🔧 **System Configuration Commands**
### **`initramfs`** - Initramfs Management
Manage initramfs generation and configuration.
```bash
# Regenerate initramfs
apt-ostree initramfs regenerate
# Enable initramfs
apt-ostree initramfs enable
# Disable initramfs
apt-ostree initramfs disable
```
**Subcommands:**
- `regenerate` - Regenerate initramfs
- `enable` - Enable initramfs generation
- `disable` - Disable initramfs generation
**Options:**
- `-o, --os <OSNAME>` - Operating system name
### **`kargs`** - Kernel Arguments
Query and modify kernel command-line arguments.
```bash
# Get kernel arguments
apt-ostree kargs get
# Set kernel arguments
apt-ostree kargs set console=ttyS0
# Delete kernel arguments
apt-ostree kargs delete console
# Reset kernel arguments
apt-ostree kargs reset
```
**Subcommands:**
- `get` - Get current kernel arguments
- `set <ARGS...>` - Set kernel arguments
- `delete <ARGS...>` - Delete kernel arguments
- `reset` - Reset to default kernel arguments
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `-r, --reboot` - Reboot after changes
### **`rebase`** - Rebase to Different Base
Switch to a different base tree.
```bash
# Rebase to different base
apt-ostree rebase <NEW_BASE>
# Rebase with reboot
apt-ostree rebase <NEW_BASE> --reboot
# Preview rebase
apt-ostree rebase <NEW_BASE> --preview
```
**Options:**
- `-o, --os <OSNAME>` - Operating system name
- `-r, --reboot` - Reboot after rebase
- `--preview` - Preview changes without applying
## 🧹 **System Maintenance Commands**
### **`cleanup`** - Clean Up System
Clear cached and pending data.
```bash
# Basic cleanup
apt-ostree cleanup
# Clean specific items
apt-ostree cleanup --pending --cache
# Force cleanup
apt-ostree cleanup --force
```
**Options:**
- `--pending` - Clean pending deployments
- `--cache` - Clean package cache
- `--force` - Force cleanup operations
### **`refresh-md`** - Refresh Metadata
Refresh package repository metadata.
```bash
# Refresh metadata
apt-ostree refresh-md
# Refresh specific repository
apt-ostree refresh-md --repo <REPO>
```
**Options:**
- `--repo <REPO>` - Specific repository to refresh
### **`reload`** - Reload Configuration
Reload system configuration.
```bash
# Reload configuration
apt-ostree reload
# Reload specific components
apt-ostree reload --daemon --config
```
**Options:**
- `--daemon` - Reload daemon configuration
- `--config` - Reload system configuration
### **`reset`** - Reset System State
Reset system to clean state.
```bash
# Reset system
apt-ostree reset
# Reset with reboot
apt-ostree reset --reboot
# Reset specific components
apt-ostree reset --packages --overrides
```
**Options:**
- `-r, --reboot` - Reboot after reset
- `--packages` - Reset package installations
- `--overrides` - Reset package overrides
## 🐳 **Container and Image Commands**
### **`container`** - Container Operations
Manage container images and operations.
```bash
# List containers
apt-ostree container list
# Pull container
apt-ostree container pull <IMAGE>
# Push container
apt-ostree container push <IMAGE>
```
**Subcommands:**
- `list` - List available containers
- `pull <IMAGE>` - Pull container image
- `push <IMAGE>` - Push container image
### **`image`** - Image Operations
Manage system images.
```bash
# Build image
apt-ostree image build <CONFIG>
# Export image
apt-ostree image export <IMAGE> <FORMAT>
# Import image
apt-ostree image import <FILE>
```
**Subcommands:**
- `build <CONFIG>` - Build system image
- `export <IMAGE> <FORMAT>` - Export image in format
- `import <FILE>` - Import image from file
## 🔌 **Remote Management Commands**
### **`remote`** - Remote Management
Manage remote repositories and sources.
```bash
# List remotes
apt-ostree remote list
# Add remote
apt-ostree remote add <NAME> <URL>
# Remove remote
apt-ostree remote remove <NAME>
# Show remote info
apt-ostree remote show <NAME>
```
**Subcommands:**
- `list` - List configured remotes
- `add <NAME> <URL>` - Add new remote
- `remove <NAME>` - Remove remote
- `show <NAME>` - Show remote information
## 🎮 **Daemon Control Commands**
### **`start-daemon`** - Start Daemon
Start the apt-ostree daemon.
```bash
# Start daemon
apt-ostree start-daemon
# Start with options
apt-ostree start-daemon --foreground --debug
```
**Options:**
- `--foreground` - Run in foreground
- `--debug` - Enable debug mode
### **`stop-daemon`** - Stop Daemon
Stop the apt-ostree daemon.
```bash
# Stop daemon
apt-ostree stop-daemon
# Force stop
apt-ostree stop-daemon --force
```
**Options:**
- `--force` - Force stop daemon
## 📋 **Command Categories Summary**
| Category | Commands | Description |
|----------|----------|-------------|
| **Status** | `status`, `db` | System information and database queries |
| **Management** | `upgrade`, `deploy`, `rollback` | System deployment and updates |
| **Packages** | `install`, `uninstall`, `override` | Package management and overrides |
| **Advanced** | `usroverlay`, `apply-live`, `compose` | Advanced system features |
| **Configuration** | `initramfs`, `kargs`, `rebase` | System configuration |
| **Maintenance** | `cleanup`, `refresh-md`, `reload`, `reset` | System maintenance |
| **Containers** | `container`, `image` | Container and image management |
| **Remotes** | `remote` | Remote repository management |
| **Daemon** | `start-daemon`, `stop-daemon` | Daemon control |
## 🔍 **Finding Commands**
### **By Functionality**
- **Package Management**: `install`, `uninstall`, `override`
- **System Updates**: `upgrade`, `deploy`, `rollback`
- **Configuration**: `initramfs`, `kargs`, `rebase`
- **Advanced Features**: `usroverlay`, `apply-live`, `compose`
### **By Privilege Level**
- **Local Commands**: `status`, `db`, `pkg` (no root required)
- **Root Commands**: Most commands require root privileges
- **Daemon Commands**: `start-daemon`, `stop-daemon`
### **By System Impact**
- **Read-Only**: `status`, `db`, `list` commands
- **System Changes**: `install`, `upgrade`, `deploy`
- **Configuration**: `kargs`, `initramfs`, `rebase`
## 📖 **Getting Help**
### **Command Help**
```bash
# General help
apt-ostree --help
# Command help
apt-ostree <COMMAND> --help
# Subcommand help
apt-ostree <COMMAND> <SUBCOMMAND> --help
```
### **Examples**
```bash
# Show examples for command
apt-ostree <COMMAND> --help | grep -A 10 "EXAMPLES"
# Run with verbose output
apt-ostree <COMMAND> --verbose
```
---
*This command reference provides comprehensive coverage of all apt-ostree CLI commands. For detailed implementation information, refer to the architecture documents in the `docs/apt-ostree-daemon-plan/architecture/` directory.*