This commit is contained in:
commit
882552f4e7
10 changed files with 675 additions and 0 deletions
74
.github/workflows/build.yml
vendored
Normal file
74
.github/workflows/build.yml
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
name: Build Simple CLI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
REGISTRY: ghcr.io
|
||||
IMAGE_NAME: ${{ github.repository }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Log in to Container Registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Extract metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=sha,prefix={{branch}}-
|
||||
type=raw,value=latest,enable={{is_default_branch}}
|
||||
|
||||
- name: Build and push container image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: ./Containerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
- name: Generate bootable image
|
||||
run: |
|
||||
mkdir -p output
|
||||
docker run --rm --privileged \
|
||||
-v $PWD/output:/output \
|
||||
-v /var/lib/containers/storage:/var/lib/containers/storage \
|
||||
quay.io/centos-bootc/bootc-image-builder:latest \
|
||||
--type iso,raw \
|
||||
--output /output \
|
||||
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
|
||||
|
||||
- name: Upload bootable images
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: bootable-images
|
||||
path: output/
|
||||
retention-days: 30
|
||||
63
Containerfile
Normal file
63
Containerfile
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# Simple CLI - Debian-based particle-os system
|
||||
# Based on Aurora's architecture pattern
|
||||
FROM debian:trixie-slim
|
||||
|
||||
# Install core system packages
|
||||
RUN apt-get update && apt-get install -y \
|
||||
systemd \
|
||||
systemd-sysv \
|
||||
udev \
|
||||
procps \
|
||||
util-linux \
|
||||
mount \
|
||||
passwd \
|
||||
login \
|
||||
bash \
|
||||
coreutils \
|
||||
ostree \
|
||||
ostree-boot \
|
||||
linux-image-amd64 \
|
||||
linux-headers-amd64 \
|
||||
initramfs-tools \
|
||||
curl \
|
||||
wget \
|
||||
vim \
|
||||
less \
|
||||
locales \
|
||||
ca-certificates \
|
||||
tzdata \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Configure locale
|
||||
RUN locale-gen en_US.UTF-8
|
||||
ENV LANG=en_US.UTF-8
|
||||
|
||||
# Configure timezone
|
||||
ENV TZ=UTC
|
||||
|
||||
# Create user
|
||||
RUN useradd -m -s /bin/bash simple
|
||||
|
||||
# Configure OSTree
|
||||
RUN mkdir -p /usr/lib/ostree-boot
|
||||
|
||||
# Copy configuration files (will be layered in)
|
||||
COPY usr/ /usr/
|
||||
COPY etc/ /etc/
|
||||
COPY config/ /config/
|
||||
|
||||
# Set up firstboot scripts
|
||||
RUN mkdir -p /usr/share/particle-os/firstboot
|
||||
COPY usr/share/particle-os/firstboot/ /usr/share/particle-os/firstboot/
|
||||
|
||||
# Set up ujust commands
|
||||
RUN mkdir -p /usr/share/particle-os/just
|
||||
COPY usr/share/particle-os/just/ /usr/share/particle-os/just/
|
||||
|
||||
# Clean up package management files
|
||||
RUN rm -f /var/lib/dpkg/info/*.postinst \
|
||||
&& rm -f /var/lib/dpkg/info/*.postrm \
|
||||
&& rm -f /var/lib/dpkg/info/*.prerm
|
||||
|
||||
# Set default command
|
||||
CMD ["/bin/bash"]
|
||||
108
README.md
Normal file
108
README.md
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
# Simple CLI
|
||||
|
||||
A simple, CLI-focused Debian-based particle-os system built on Universal Blue's framework. Simple CLI provides a minimal, immutable Linux distribution optimized for command-line usage and server workloads.
|
||||
|
||||
## Features
|
||||
|
||||
- **Immutable Filesystem**: Built on OSTree for reliable, atomic updates
|
||||
- **Container-Native**: Built as a container image, deployed with bootc
|
||||
- **Minimal Footprint**: Focused on essential CLI tools and system utilities
|
||||
- **Modern Boot**: Uses bootupd for modern bootloader management
|
||||
- **Debian Base**: Built on Debian Trixie for stability and package availability
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Building the Image
|
||||
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone https://github.com/your-username/simple-cli.git
|
||||
cd simple-cli
|
||||
|
||||
# Build the container image
|
||||
just build
|
||||
|
||||
# Test the image
|
||||
just test
|
||||
|
||||
# Generate bootable images
|
||||
just generate-bootable
|
||||
```
|
||||
|
||||
### Using the System
|
||||
|
||||
```bash
|
||||
# Show system information
|
||||
ujust info
|
||||
|
||||
# Check OSTree status
|
||||
ujust ostree-status
|
||||
|
||||
# Update the system
|
||||
ujust update
|
||||
|
||||
# View system services
|
||||
ujust services
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
Simple CLI follows the particle-os architecture:
|
||||
|
||||
1. **Container Image**: The OS is built as a container image using the Containerfile
|
||||
2. **OSTree Deployment**: Container images are converted to OSTree commits
|
||||
3. **Bootable Images**: bootc-image-builder creates bootable disk images
|
||||
4. **System Management**: bootupd handles bootloader updates and management
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
simple-cli/
|
||||
├── Containerfile # Main container build definition
|
||||
├── recipe.yml # particle-os recipe configuration
|
||||
├── justfile # Build automation commands
|
||||
├── config/ # System configuration files
|
||||
├── usr/ # User space configurations
|
||||
├── etc/ # System-wide configuration
|
||||
├── build_files/ # Build-time specifications
|
||||
└── .github/workflows/ # CI/CD automation
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Podman or Docker
|
||||
- Just command runner
|
||||
- bootc-image-builder (for bootable image generation)
|
||||
|
||||
### Setup Development Environment
|
||||
|
||||
```bash
|
||||
just setup-dev
|
||||
```
|
||||
|
||||
### Available Commands
|
||||
|
||||
```bash
|
||||
just --list
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
1. Fork the repository
|
||||
2. Create a feature branch
|
||||
3. Make your changes
|
||||
4. Test with `just test`
|
||||
5. Submit a pull request
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
- Built on [particle-os](https://github.com/particle-os) framework
|
||||
- Inspired by [Aurora](https://github.com/particle-os/aurora) and other particle-os projects
|
||||
- Uses [bootc](https://github.com/containers/bootc) for container-native boot
|
||||
- Powered by [OSTree](https://ostreedev.github.io/ostree/) for immutable filesystems
|
||||
66
build_files/packages.json
Normal file
66
build_files/packages.json
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
"packages": {
|
||||
"core": {
|
||||
"description": "Core system packages",
|
||||
"packages": [
|
||||
"systemd",
|
||||
"systemd-sysv",
|
||||
"udev",
|
||||
"procps",
|
||||
"util-linux",
|
||||
"mount",
|
||||
"passwd",
|
||||
"login",
|
||||
"bash",
|
||||
"coreutils"
|
||||
]
|
||||
},
|
||||
"ostree": {
|
||||
"description": "OSTree and boot management",
|
||||
"packages": [
|
||||
"ostree",
|
||||
"ostree-boot"
|
||||
]
|
||||
},
|
||||
"kernel": {
|
||||
"description": "Kernel and boot essentials",
|
||||
"packages": [
|
||||
"linux-image-amd64",
|
||||
"linux-headers-amd64",
|
||||
"initramfs-tools"
|
||||
]
|
||||
},
|
||||
"tools": {
|
||||
"description": "Essential command line tools",
|
||||
"packages": [
|
||||
"curl",
|
||||
"wget",
|
||||
"vim",
|
||||
"less",
|
||||
"locales",
|
||||
"ca-certificates",
|
||||
"tzdata"
|
||||
]
|
||||
},
|
||||
"development": {
|
||||
"description": "Development tools (optional)",
|
||||
"packages": [
|
||||
"build-essential",
|
||||
"git",
|
||||
"python3",
|
||||
"python3-pip"
|
||||
]
|
||||
}
|
||||
},
|
||||
"repositories": {
|
||||
"debian": {
|
||||
"url": "http://deb.debian.org/debian",
|
||||
"suite": "trixie",
|
||||
"components": ["main", "contrib", "non-free"]
|
||||
}
|
||||
},
|
||||
"post_install": [
|
||||
"usr/share/particle-os/firstboot/setup-system.sh",
|
||||
"usr/share/particle-os/firstboot/configure-network.sh"
|
||||
]
|
||||
}
|
||||
94
justfile
Normal file
94
justfile
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
#!/usr/bin/env just --justfile
|
||||
|
||||
# Simple CLI - particle-os build automation
|
||||
# Based on Aurora's Justfile pattern
|
||||
|
||||
# Default recipe to display help
|
||||
default:
|
||||
@just --list
|
||||
|
||||
# Build the container image
|
||||
build:
|
||||
#!/usr/bin/env bash
|
||||
echo "Building Simple CLI container image..."
|
||||
podman build -f Containerfile -t localhost/simple-cli:latest .
|
||||
echo "Build complete: localhost/simple-cli:latest"
|
||||
|
||||
# Build and push to registry
|
||||
build-push registry="localhost":
|
||||
#!/usr/bin/env bash
|
||||
echo "Building and pushing to {{registry}}..."
|
||||
podman build -f Containerfile -t {{registry}}/simple-cli:latest .
|
||||
podman push {{registry}}/simple-cli:latest
|
||||
echo "Pushed to {{registry}}/simple-cli:latest"
|
||||
|
||||
# Generate bootable image using bootc-image-builder
|
||||
generate-bootable:
|
||||
#!/usr/bin/env bash
|
||||
echo "Generating bootable image..."
|
||||
mkdir -p output
|
||||
podman run --rm --privileged \
|
||||
-v $PWD/output:/output \
|
||||
-v /var/lib/containers/storage:/var/lib/containers/storage \
|
||||
quay.io/centos-bootc/bootc-image-builder:latest \
|
||||
--type iso,raw \
|
||||
--output /output \
|
||||
localhost/simple-cli:latest
|
||||
echo "Bootable image generated in output/"
|
||||
|
||||
# Test the container
|
||||
test:
|
||||
#!/usr/bin/env bash
|
||||
echo "Testing Simple CLI container..."
|
||||
podman run --rm localhost/simple-cli:latest \
|
||||
bash -c "echo 'System info:' && uname -a && echo 'Packages:' && dpkg -l | wc -l"
|
||||
echo "Test complete"
|
||||
|
||||
# Clean build artifacts
|
||||
clean:
|
||||
#!/usr/bin/env bash
|
||||
echo "Cleaning build artifacts..."
|
||||
rm -rf output/
|
||||
podman image prune -f
|
||||
podman system prune -f
|
||||
echo "Cleanup complete"
|
||||
|
||||
# Install ujust recipes for end users
|
||||
install-ujust:
|
||||
#!/usr/bin/env bash
|
||||
sudo mkdir -p /usr/share/particle-os/just
|
||||
sudo cp -r usr/share/particle-os/just/* /usr/share/particle-os/just/
|
||||
echo "ujust recipes installed system-wide"
|
||||
|
||||
# Validate the recipe
|
||||
validate:
|
||||
#!/usr/bin/env bash
|
||||
echo "Validating recipe.yml..."
|
||||
if command -v bluebuild >/dev/null 2>&1; then
|
||||
bluebuild validate recipe.yml
|
||||
else
|
||||
echo "bluebuild not installed, skipping validation"
|
||||
fi
|
||||
|
||||
# Full build pipeline
|
||||
pipeline: build test generate-bootable
|
||||
@echo "Full build pipeline completed"
|
||||
|
||||
# Development environment setup
|
||||
setup-dev:
|
||||
#!/usr/bin/env bash
|
||||
echo "Setting up development environment..."
|
||||
sudo apt update
|
||||
sudo apt install -y podman just
|
||||
echo "Development environment ready"
|
||||
|
||||
# Show system information
|
||||
info:
|
||||
#!/usr/bin/env bash
|
||||
echo "=== Simple CLI System Information ==="
|
||||
echo "Container image: localhost/simple-cli:latest"
|
||||
echo "Base: Debian Trixie"
|
||||
echo "Architecture: particle-os with OSTree"
|
||||
echo "Bootloader: bootupd"
|
||||
echo "Kernel: linux-image-amd64"
|
||||
echo "================================"
|
||||
4
readme-simple.md
Normal file
4
readme-simple.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
This is a testing system.
|
||||
no Dekstop or other apps.
|
||||
just a server like install.
|
||||
use oci image debian:trixie-slim
|
||||
73
recipe.yml
Normal file
73
recipe.yml
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
name: simple-cli
|
||||
description: Simple CLI-focused Debian-based particle-os system
|
||||
base-image: debian:trixie-slim
|
||||
image-version: "13"
|
||||
|
||||
# Build configuration
|
||||
build:
|
||||
containerfile: Containerfile
|
||||
registry: localhost
|
||||
tag: simple-cli:latest
|
||||
|
||||
# Package management
|
||||
packages:
|
||||
system:
|
||||
- systemd
|
||||
- systemd-sysv
|
||||
- udev
|
||||
- procps
|
||||
- util-linux
|
||||
- mount
|
||||
- passwd
|
||||
- login
|
||||
- bash
|
||||
- coreutils
|
||||
- ostree
|
||||
- ostree-boot
|
||||
- linux-image-amd64
|
||||
- linux-headers-amd64
|
||||
- initramfs-tools
|
||||
- curl
|
||||
- wget
|
||||
- vim
|
||||
- less
|
||||
- locales
|
||||
- ca-certificates
|
||||
- tzdata
|
||||
|
||||
# Configuration files to layer
|
||||
files:
|
||||
- source: usr/
|
||||
destination: /usr/
|
||||
- source: etc/
|
||||
destination: /etc/
|
||||
- source: config/
|
||||
destination: /config/
|
||||
|
||||
# Firstboot configuration
|
||||
firstboot:
|
||||
- usr/share/particle-os/firstboot/setup-system.sh
|
||||
- usr/share/particle-os/firstboot/configure-network.sh
|
||||
|
||||
# ujust commands
|
||||
ujust:
|
||||
- usr/share/particle-os/just/simple-cli.just
|
||||
|
||||
# System configuration
|
||||
system:
|
||||
locale: en_US.UTF-8
|
||||
timezone: UTC
|
||||
user: simple
|
||||
shell: /bin/bash
|
||||
|
||||
# OSTree configuration
|
||||
ostree:
|
||||
repo: simple-cli-repo
|
||||
branch: simple-cli/debian-trixie
|
||||
mode: archive
|
||||
|
||||
# Boot configuration
|
||||
boot:
|
||||
bootloader: bootupd
|
||||
kernel: linux-image-amd64
|
||||
initramfs: initramfs-tools
|
||||
52
usr/share/particle-os/firstboot/configure-network.sh
Executable file
52
usr/share/particle-os/firstboot/configure-network.sh
Executable file
|
|
@ -0,0 +1,52 @@
|
|||
#!/bin/bash
|
||||
# Simple CLI Network Configuration Script
|
||||
# Based on Aurora's network configuration pattern
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
echo "=== Configuring Network ==="
|
||||
|
||||
# Enable network services
|
||||
echo "Enabling network services..."
|
||||
systemctl enable systemd-networkd
|
||||
systemctl enable systemd-resolved
|
||||
|
||||
# Configure network interfaces
|
||||
echo "Configuring network interfaces..."
|
||||
cat > /etc/systemd/network/10-eth0.network << EOF
|
||||
[Match]
|
||||
Name=eth0
|
||||
|
||||
[Network]
|
||||
DHCP=yes
|
||||
IPv6AcceptRA=yes
|
||||
EOF
|
||||
|
||||
# Configure wireless if available
|
||||
if [ -d /sys/class/net/wlan0 ]; then
|
||||
echo "Configuring wireless network..."
|
||||
cat > /etc/systemd/network/25-wireless.network << EOF
|
||||
[Match]
|
||||
Name=wlan0
|
||||
|
||||
[Network]
|
||||
DHCP=yes
|
||||
IPv6AcceptRA=yes
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Configure DNS
|
||||
echo "Configuring DNS..."
|
||||
cat > /etc/systemd/resolved.conf << EOF
|
||||
[Resolve]
|
||||
DNS=8.8.8.8 8.8.4.4
|
||||
FallbackDNS=1.1.1.1 1.0.0.1
|
||||
EOF
|
||||
|
||||
# Start network services
|
||||
echo "Starting network services..."
|
||||
systemctl start systemd-networkd
|
||||
systemctl start systemd-resolved
|
||||
|
||||
echo "=== Network configuration complete ==="
|
||||
echo "Network services are running"
|
||||
50
usr/share/particle-os/firstboot/setup-system.sh
Executable file
50
usr/share/particle-os/firstboot/setup-system.sh
Executable file
|
|
@ -0,0 +1,50 @@
|
|||
#!/bin/bash
|
||||
# Simple CLI First Boot Setup Script
|
||||
# Based on Aurora's firstboot pattern
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
echo "=== Simple CLI First Boot Setup ==="
|
||||
|
||||
# Configure system locale
|
||||
echo "Configuring locale..."
|
||||
locale-gen en_US.UTF-8
|
||||
update-locale LANG=en_US.UTF-8
|
||||
|
||||
# Configure timezone
|
||||
echo "Configuring timezone..."
|
||||
ln -sf /usr/share/zoneinfo/UTC /etc/localtime
|
||||
|
||||
# Create user directories
|
||||
echo "Setting up user directories..."
|
||||
mkdir -p /home/simple/.config
|
||||
mkdir -p /home/simple/.local/share
|
||||
chown -R simple:simple /home/simple
|
||||
|
||||
# Configure systemd services
|
||||
echo "Configuring systemd services..."
|
||||
systemctl enable systemd-networkd
|
||||
systemctl enable systemd-resolved
|
||||
systemctl enable systemd-timesyncd
|
||||
|
||||
# Configure networking
|
||||
echo "Configuring networking..."
|
||||
cat > /etc/systemd/network/20-wired.network << EOF
|
||||
[Match]
|
||||
Name=en*
|
||||
|
||||
[Network]
|
||||
DHCP=yes
|
||||
EOF
|
||||
|
||||
# Configure OSTree
|
||||
echo "Configuring OSTree..."
|
||||
mkdir -p /usr/lib/ostree-boot
|
||||
ostree admin init-fs /usr/lib/ostree-boot
|
||||
|
||||
# Set up bootupd
|
||||
echo "Configuring bootupd..."
|
||||
bootupd install
|
||||
|
||||
echo "=== First boot setup complete ==="
|
||||
echo "System is ready for use!"
|
||||
91
usr/share/particle-os/just/simple-cli.just
Normal file
91
usr/share/particle-os/just/simple-cli.just
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
# Simple CLI ujust Commands
|
||||
# Based on Aurora's ujust pattern
|
||||
|
||||
# Show system information
|
||||
info:
|
||||
#!/usr/bin/env bash
|
||||
echo "=== Simple CLI System Information ==="
|
||||
echo "OS: $(cat /etc/os-release | grep PRETTY_NAME | cut -d'"' -f2)"
|
||||
echo "Kernel: $(uname -r)"
|
||||
echo "Architecture: $(uname -m)"
|
||||
echo "Hostname: $(hostname)"
|
||||
echo "Uptime: $(uptime -p)"
|
||||
echo "================================"
|
||||
|
||||
# Show OSTree status
|
||||
ostree-status:
|
||||
#!/usr/bin/env bash
|
||||
echo "=== OSTree Status ==="
|
||||
ostree status
|
||||
echo "==================="
|
||||
|
||||
# Update system
|
||||
update:
|
||||
#!/usr/bin/env bash
|
||||
echo "Updating Simple CLI system..."
|
||||
sudo ostree admin upgrade
|
||||
echo "Update complete. Reboot to apply changes."
|
||||
|
||||
# Show package information
|
||||
packages:
|
||||
#!/usr/bin/env bash
|
||||
echo "=== Installed Packages ==="
|
||||
dpkg -l | wc -l
|
||||
echo "========================="
|
||||
|
||||
# Show system services
|
||||
services:
|
||||
#!/usr/bin/env bash
|
||||
echo "=== System Services ==="
|
||||
systemctl list-units --type=service --state=running
|
||||
echo "======================"
|
||||
|
||||
# Show network status
|
||||
network:
|
||||
#!/usr/bin/env bash
|
||||
echo "=== Network Status ==="
|
||||
ip addr show
|
||||
echo "====================="
|
||||
|
||||
# Show disk usage
|
||||
disk:
|
||||
#!/usr/bin/env bash
|
||||
echo "=== Disk Usage ==="
|
||||
df -h
|
||||
echo "================="
|
||||
|
||||
# Show memory usage
|
||||
memory:
|
||||
#!/usr/bin/env bash
|
||||
echo "=== Memory Usage ==="
|
||||
free -h
|
||||
echo "==================="
|
||||
|
||||
# Show process information
|
||||
processes:
|
||||
#!/usr/bin/env bash
|
||||
echo "=== Top Processes ==="
|
||||
ps aux --sort=-%cpu | head -10
|
||||
echo "===================="
|
||||
|
||||
# Show system logs
|
||||
logs:
|
||||
#!/usr/bin/env bash
|
||||
echo "=== Recent System Logs ==="
|
||||
journalctl -n 20 --no-pager
|
||||
echo "========================="
|
||||
|
||||
# Help command
|
||||
help:
|
||||
@echo "Simple CLI ujust Commands:"
|
||||
@echo " info - Show system information"
|
||||
@echo " ostree-status - Show OSTree status"
|
||||
@echo " update - Update system"
|
||||
@echo " packages - Show package count"
|
||||
@echo " services - Show running services"
|
||||
@echo " network - Show network status"
|
||||
@echo " disk - Show disk usage"
|
||||
@echo " memory - Show memory usage"
|
||||
@echo " processes - Show top processes"
|
||||
@echo " logs - Show recent logs"
|
||||
@echo " help - Show this help"
|
||||
Loading…
Add table
Add a link
Reference in a new issue