# admin-unix > Native macOS and Linux administration (non-WSL). Profile-aware - reads preferences from ~/.admin/profiles/{hostname}.json. Use when: macOS system admin, Homebrew packages, native Linux admin, apt/dnf/pacman packages, systemd services, launchd/brew services, Python/Node on mac or linux. NOT for: WSL (use admin-wsl), Windows (use admin-windows). Keywords: macos, osx, darwin, homebrew, brew, linux, ubuntu, debian, fedora, apt, dnf, pacman, systemctl, launchd, brew services, python mac, node mac - Author: Wes Odom - Repository: evolv3-ai/vibeskills - Version: 20260131171740 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/evolv3-ai/vibeskills - Web: https://mule.run/skillshub/@@evolv3-ai/vibeskills~admin-unix:20260131171740 --- --- name: admin-unix description: | Native macOS and Linux administration (non-WSL). Profile-aware - reads preferences from ~/.admin/profiles/{hostname}.json. Use when: macOS system admin, Homebrew packages, native Linux admin, apt/dnf/pacman packages, systemd services, launchd/brew services, Python/Node on mac or linux. NOT for: WSL (use admin-wsl), Windows (use admin-windows). Keywords: macos, osx, darwin, homebrew, brew, linux, ubuntu, debian, fedora, apt, dnf, pacman, systemctl, launchd, brew services, python mac, node mac license: MIT --- # Unix Administration (macOS + Linux) **Requires**: macOS or native Linux (NOT WSL) --- ## Navigation - Troubleshooting & known issues: `references/OPERATIONS.md` - Environment verification: `scripts/verify-unix-environment.sh` --- ## Platform Detection ```bash OS=$(uname -s) case "$OS" in Darwin) echo "macOS" ;; Linux) if grep -qi microsoft /proc/version 2>/dev/null; then echo "WSL detected - use admin-wsl instead" exit 1 fi echo "Native Linux" ;; esac ``` --- ## Quick Start ```bash # Verify environment first bash scripts/verify-unix-environment.sh # Load profile source /path/to/admin/scripts/load-profile.sh load_admin_profile show_admin_summary ``` --- ## Package Management (Profile-Aware) ### Check Preference First ```bash PKG_MGR=$(jq -r '.preferences.packages.manager' "$PROFILE_PATH") ``` ### macOS (Homebrew) ```bash brew install $package # Install brew upgrade $package # Update brew list # List installed brew search $package # Search ``` ### Linux (apt - Debian/Ubuntu) ```bash sudo apt update sudo apt install -y $package sudo apt upgrade -y ``` ### Linux (dnf - Fedora/RHEL) ```bash sudo dnf install -y $package sudo dnf update -y ``` --- ## Python Commands (Profile-Aware) ```bash PY_MGR=$(get_preferred_manager python) case "$PY_MGR" in uv) uv pip install "$package" ;; pip) pip3 install "$package" ;; conda) conda install "$package" ;; esac ``` --- ## Node Commands (Profile-Aware) ```bash NODE_MGR=$(get_preferred_manager node) case "$NODE_MGR" in npm) npm install "$package" ;; pnpm) pnpm add "$package" ;; yarn) yarn add "$package" ;; bun) bun add "$package" ;; esac ``` --- ## Services ### Linux (systemd) ```bash sudo systemctl status $service sudo systemctl start $service sudo systemctl stop $service sudo systemctl restart $service sudo systemctl enable $service # Start on boot sudo systemctl disable $service journalctl -u $service -f # View logs ``` ### macOS (Homebrew services) ```bash brew services list brew services start $service brew services stop $service brew services restart $service ``` --- ## SSH to Servers Use the loader helper: ```bash ssh_to_server "cool-two" ``` Or manually: ```bash SERVER=$(jq '.servers[] | select(.id == "cool-two")' "$PROFILE_PATH") HOST=$(echo "$SERVER" | jq -r '.host') USER=$(echo "$SERVER" | jq -r '.username') KEY=$(echo "$SERVER" | jq -r '.keyPath') ssh -i "$KEY" "$USER@$HOST" ``` --- ## Docker Operations ```bash # Verify Docker working docker info # Common commands docker ps docker logs docker exec -it bash docker-compose up -d ``` **macOS**: Start Docker Desktop app if daemon not running. **Linux**: `sudo systemctl start docker` --- ## Capabilities Check ```bash has_capability "hasDocker" && docker info has_capability "hasGit" && git --version ``` --- ## Scope Boundaries | Task | Handle Here | Route To | |------|-------------|----------| | Homebrew (macOS) | ✅ | - | | apt/dnf/pacman (Linux) | ✅ | - | | systemd services | ✅ | - | | brew services (macOS) | ✅ | - | | Python/Node | ✅ | - | | Docker | ✅ | - | | SSH to servers | ✅ | - | | WSL operations | ❌ | admin-wsl | | Windows operations | ❌ | admin-windows | | Server provisioning | ❌ | admin-devops | --- ## References - `references/OPERATIONS.md` - Known issues, platform-specific notes, troubleshooting, setup checklist