175 lines
4.1 KiB
Markdown
175 lines
4.1 KiB
Markdown
# Airgap Installation Guide for AtlasOS
|
|
|
|
## Overview
|
|
|
|
AtlasOS installer supports airgap (offline) installation for data centers without internet access. All required packages and dependencies are bundled into a single directory that can be transferred to the airgap system.
|
|
|
|
## Quick Start
|
|
|
|
### Step 1: Download Bundle (On System with Internet)
|
|
|
|
On a system with internet access and Ubuntu 24.04:
|
|
|
|
```bash
|
|
# Clone the repository
|
|
git clone <repository-url>
|
|
cd atlas
|
|
|
|
# Run bundle downloader (requires root)
|
|
sudo ./installer/bundle-downloader.sh ./atlas-bundle
|
|
```
|
|
|
|
This will create a directory `./atlas-bundle` containing:
|
|
- All required .deb packages (~100-200 packages)
|
|
- All dependencies
|
|
- Go binary (fallback)
|
|
- Manifest and README files
|
|
|
|
**Estimated bundle size:** 500MB - 1GB
|
|
|
|
### Step 2: Transfer Bundle to Airgap System
|
|
|
|
Transfer the entire bundle directory to your airgap system using:
|
|
- USB drive
|
|
- Internal network (if available)
|
|
- Physical media
|
|
|
|
```bash
|
|
# Example: Copy to USB drive
|
|
cp -r ./atlas-bundle /media/usb/
|
|
|
|
# On airgap system: Copy from USB
|
|
cp -r /media/usb/atlas-bundle /tmp/
|
|
```
|
|
|
|
### Step 3: Install on Airgap System
|
|
|
|
On the airgap system (Ubuntu 24.04):
|
|
|
|
```bash
|
|
# Navigate to bundle directory
|
|
cd /tmp/atlas-bundle
|
|
|
|
# Run installer with offline bundle
|
|
cd /path/to/atlas
|
|
sudo ./installer/install.sh --offline-bundle /tmp/atlas-bundle
|
|
```
|
|
|
|
## Bundle Contents
|
|
|
|
The bundle includes:
|
|
|
|
### Main Packages
|
|
- **Build Tools**: build-essential, git, curl, wget
|
|
- **ZFS**: zfsutils-linux, zfs-zed, zfs-initramfs
|
|
- **Storage Services**: samba, samba-common-bin, nfs-kernel-server, rpcbind
|
|
- **iSCSI**: targetcli-fb
|
|
- **Database**: sqlite3, libsqlite3-dev
|
|
- **Go Compiler**: golang-go
|
|
- **Utilities**: openssl, net-tools, iproute2
|
|
|
|
### Dependencies
|
|
All transitive dependencies are automatically included.
|
|
|
|
## Verification
|
|
|
|
Before transferring, verify the bundle:
|
|
|
|
```bash
|
|
# Count .deb files (should be 100-200)
|
|
find ./atlas-bundle -name "*.deb" | wc -l
|
|
|
|
# Check manifest
|
|
cat ./atlas-bundle/MANIFEST.txt
|
|
|
|
# Check total size
|
|
du -sh ./atlas-bundle
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Missing Dependencies
|
|
|
|
If installation fails with dependency errors:
|
|
|
|
1. Ensure all .deb files are present in bundle
|
|
2. Check that bundle was created on Ubuntu 24.04
|
|
3. Verify system architecture matches (amd64/arm64)
|
|
|
|
### Go Installation Issues
|
|
|
|
If Go is not found after installation:
|
|
|
|
1. Check if `golang-go` package is installed: `dpkg -l | grep golang-go`
|
|
2. If missing, the bundle includes `go.tar.gz` as fallback
|
|
3. Installer will automatically extract it if needed
|
|
|
|
### Package Conflicts
|
|
|
|
If you encounter package conflicts:
|
|
|
|
```bash
|
|
# Fix broken packages
|
|
sudo apt-get install -f -y
|
|
|
|
# Or manually install specific packages
|
|
sudo dpkg -i /path/to/bundle/*.deb
|
|
sudo apt-get install -f -y
|
|
```
|
|
|
|
## Bundle Maintenance
|
|
|
|
### Updating Bundle
|
|
|
|
To update the bundle with newer packages:
|
|
|
|
1. Run `./installer/bundle-downloader.sh` again on internet-connected system
|
|
2. This will download latest versions
|
|
3. Transfer new bundle to airgap system
|
|
|
|
### Bundle Size Optimization
|
|
|
|
To reduce bundle size (optional):
|
|
|
|
```bash
|
|
# Remove unnecessary packages (be careful!)
|
|
# Only remove if you're certain they're not needed
|
|
```
|
|
|
|
## Security Considerations
|
|
|
|
- Verify bundle integrity before transferring
|
|
- Use secure transfer methods (encrypted USB, secure network)
|
|
- Keep bundle in secure location on airgap system
|
|
- Verify package signatures if possible
|
|
|
|
## Advanced Usage
|
|
|
|
### Custom Bundle Location
|
|
|
|
```bash
|
|
# Download to custom location
|
|
sudo ./installer/bundle-downloader.sh /opt/atlas-bundles/ubuntu24.04
|
|
|
|
# Install from custom location
|
|
sudo ./installer/install.sh --offline-bundle /opt/atlas-bundles/ubuntu24.04
|
|
```
|
|
|
|
### Partial Bundle (if some packages already installed)
|
|
|
|
If some packages are already installed on airgap system:
|
|
|
|
```bash
|
|
# Installer will skip already-installed packages
|
|
# Missing packages will be installed from bundle
|
|
sudo ./installer/install.sh --offline-bundle /path/to/bundle
|
|
```
|
|
|
|
## Support
|
|
|
|
For issues with airgap installation:
|
|
1. Check installation logs
|
|
2. Verify bundle completeness
|
|
3. Ensure Ubuntu 24.04 compatibility
|
|
4. Review MANIFEST.txt for package list
|