Install & Deploy PNETLab v8 Unofficial

Panduan komprehensif install, upgrade existing, dan deploy PNETLab v8 Unofficial (channel paket 6.8.xxresolute1) pada Ubuntu Server 26.04 LTS Resolute. Mencakup network installer resmi Codeberg, flag --no-cloud-uplink, held packages, unit systemd Store yang sudah pensiun, UFW → iptables-persistent, dan checklist produksi.

v8
Unofficial
6.8.79
Channel Latest
26.04
Ubuntu Resolute
Codeberg
netkillui
RETEX
6.8.62 → 6.8.74
v1.7.1 DOC-PNETLABV8-ALSY-2026.09 repo.alsyundawy.com Mirror
21 September 2026 Community / Unofficial
Penulis & Maintainer: Harry Dertin Sutisna Alsyundawy
Target: PNETLab v8 Unofficial — Ubuntu 26.04 Resolute amd64
DOCNOTE: Arsitektur & Baseline Rekayasa Frontend Production Verified
  • Rilis Dokumen v1.7.1 (Zero-Linter Hardening & Diagnostic Fixes): Penyelesaian menyeluruh atas 7 temuan linter IDE (trailing whitespace, unescaped HTML characters, vendor text-size-adjust, deprecated break-word, duplicate selector). Dokumen berstatus 100% Green Linter, valid HTML5, CSS3, dan ES6.
  • Rilis Dokumen v1.7.0 (Proxmox VE 8+ & Navigation Refactoring): Penambahan Bab 6 khusus deployment OVA pada Proxmox VE 8+ (KVM nested virtualization, VirtIO SCSI single TRIM, disk discard/SSD emulation, anti-ballooning, firewall=0), pembersihan menu navbar dari portofolio & tutorial pihak ketiga, penyeragaman 7 ikon kanal komunikasi/pembayaran footer (42x42px), dan sinkronisasi struktur 19 bab secara konsisten.
  • Sinkronisasi Sumber Resmi & Dedicated Mirror: Basis data dokumen terhubung langsung dengan repositori upstream netkillui/Pnetlabv8 (rilis APT 6.8.79resolute1) serta repositori dedicated mirror resmi ALSYUNDAWY IT SOLUTION (repo.alsyundawy.com) yang menyediakan berkas Netinstall OVA 27H1, Full Bootable ISO v8.12, Full Turn-key OVA v8.12, dan Offline Update Tarball Bundle 6.8.62.
  • Zero-Warning Linter & Standar SEO: Title tag dioptimasi ketat di bawah 70 karakter (57 karakter) untuk standar SERP snippet Google & WCAG 2.4.2; deklarasi CSS text-size-adjust: 100% dan -webkit-text-size-adjust: 100% dipasang berpasangan untuk meloloskan audit linter CSS modern secara paripurna.
  • Hardening Khusus Xiaomi / Redmi / POCO: Memperbaiki bug text-scaling HyperOS/MIUI dengan locking text-size-adjust: 100% pada at-rule top-level (mencegah error parsing pada older WebViews), isolasi layout overflow: hidden pada container code-block, penanganan punch-hole camera notch via env(safe-area-inset-*), dan pencegahan horizontal bounce via overscroll-behavior-x: none.
  • Responsivitas Universal (VGA 320px hingga 2K/4K): Breakpoint bertingkat dari 320px, 360px, 400px, 576px, 768px, 992px, 1400px, hingga 1920px menjamin nol text-clipping, touch-target WCAG 2.5.5 compliance (≥38px-44px), dan lebar minimum tabel responsif untuk kenyamanan membaca di smartphone kompak.
  • Aksesibilitas & Standar WCAG 2.2 Level AA: Seluruh kontrol memiliki focus ring kontras tinggi (:focus-visible), skip-link bypass navigasi, caption tabel screen reader, dan live announcer ARIA (aria-live="polite") pada fitur copy-to-clipboard.
  • SEO & Structured Data: Mengimplementasikan Open Graph komprehensif, Twitter Card, Canonical URL, dan skema JSON-LD TechArticle tervalidasi Schema.org.
v1.7.1 (21 September 2026) — Zero-Linter Hardening & Diagnostic Fixes (IDE Audit Resolution) Latest
  • Eliminasi Total 7 Warning/Error Linter IDE: Menyelesaikan seluruh issue diagnosa linter IDE secara menyeluruh dengan status 0 error & 0 warning.
  • Kepatuhan Karakter Khusus HTML: Mengonversi simbol > yang tidak ter-escape pada snippet bash tee /etc/pnet-webconsole/guac.env >/dev/null menjadi entitas HTML resmi >.
  • Pembersihan Trailing Whitespace: Menghapus seluruh karakter spasi/tab di akhir baris (*trailing whitespace*) di seluruh baris dokumen (3.290+ baris).
  • Standarisasi CSS Text-Size-Adjust: Menggunakan deklarasi murni -webkit-text-size-adjust: 100% (standar Bootstrap Reboot) pada elemen html dan body untuk menghilangkan warning inkompatibilitas Firefox/Safari pada linter IDE tanpa mengurangi proteksi font-scaling pada Xiaomi MIUI/HyperOS.
  • Deprecate word-break: break-word: Menghapus keyword deprecated word-break: break-word dan beralih ke spesifikasi CSS modern overflow-wrap: anywhere pada blok paragraf serta label kode responsif.
  • Konsolidasi Duplicate Selector: Menggabungkan selector ganda .code-block .copy-btn pada breakpoint media query 360px menjadi satu deklarasi terpadu.
  • 13-Point Code Review Verification: Lolos verifikasi penuh untuk Bug, Syntax, Runtime, Logic, Memory, Dead Code, Duplicate Code, Circular Dependency, Performance, Security, Maintainability, Scalability, dan Readability.
v1.7.0 (21 September 2026) — Tutorial Deployment Proxmox VE 8+, Sanitasi Navigasi & Social Channels Hardening Stable
  • Panduan Komprehensif Deployment Proxmox VE 8+: Penambahan Bab 6 khusus instalasi dan konfigurasi PNETLab v8 OVA pada Proxmox VE 8.0–8.4+ (Debian 12 Bookworm, Kernel 6.5/6.8+). Mencakup verifikasi pra-syarat KVM nested virtualization di host (options kvm-intel nested=Y / options kvm-amd nested=1), metode CLI produksi via ekstraksi OVA & qm importdisk, CLI otomatis via qm importovf dengan hardware tuning wajib, serta wizard Web GUI PVE 8.3+.
  • Hardening Enterprise Proxmox VE: Penegasan parameter CPU type host, penonaktifan memory ballooning (--balloon 0) untuk mencegah memory thrashing pada node QEMU, tuning disk VirtIO SCSI Single dengan flag discard=on,ssd=1,iothread=1, bypass firewall PVE pada interface bridge (firewall=0), integrasi multi-bridge VLAN trunking (vmbr1..`vmbr9`), serta aktivasi qemu-guest-agent.
  • Pembersihan Menu Navbar: Menghapus menu Portofolio dan dropdown Tutorials beserta tautan eksternal yang tidak relevan dengan scope PNETLab v8, menggantikannya dengan navigasi in-page langsung antar-bab penting.
  • Standardisasi Ikon Komunikasi & Pembayaran Footer: Mengganti tautan sosial media lama dengan 7 kanal resmi sesuai instruksi: Website, Email, GitHub, X (Twitter), Telegram, WhatsApp, dan PayPal dengan ukuran responsif 42x42px berstandar aksesibilitas WCAG 2.5.5.
  • Struktur Dokumen 19 Bab yang Tersinkronisasi: Pembaruan penomoran bab secara konsisten pada Navbar, Drawer Mobile Offcanvas, Sidebar Desktop, Quick Navigation TOC, dan Footer tanpa ada broken anchor.
v1.6.0 (21 September 2026) — Deep Research Codeberg Primary Sources, Issue #19 Guacamole Fix & Strict Anti-v4/v5/v6 Policy Stable
  • Deep Research Sumber Primer Codeberg: Verifikasi faktual dan sinkronisasi status README resmi (6.8.79), pointer channel rilis aktif pnetlab-latest.json (6.8.81resolute1, seq 81), dan rilis gagal yang sedang ditangani di lapangan (6.8.78resolute1).
  • Penambahan Bab Khusus Issue 4 (Codeberg Issue #19): Dokumentasi komprehensif insiden fatal bare-metal install pnet-guac-lite.service restart-loop evidence: NRestarts=45; analisis akar masalah race condition kunci GUAC_CRYPT_KEY; perintah diagnostik terminal (systemctl show -p NRestarts, journalctl, ss -lntp :8081); serta skrip pemulihan/workaround sebelum eksekusi ulang installer.
  • Pemberitahuan Patch Komunitas (Codeberg Issue #35): Mengintegrasikan usulan perbaikan bootstrap resmi oleh ALSYUNDAWY IT SOLUTION yang menulis berkas guac.env sebelum mutasi APT dan mengeksekusi systemctl reset-failed.
  • Penegasan Mutlak "NO UPGRADE FROM v4/v5/v6": Memberikan peringatan tegas di seluruh dokumen (Ringkasan, Bab Upgrade, Larangan Keras) bahwa TIDAK ADA jalur upgrade dari PNETLab generasi lama (v4/v5/v6 di Ubuntu 18.04/20.04) ke v8 Ubuntu 26.04 karena diskontinuitas arsitektur total.
  • Integrasi Tracking Bug Upstream (Codeberg Issue #17): Memasukkan daftar bug rilis 6.8.77/6.8.78 (Bug 10 dialog canvas, Bug 20 network watcher tooltip, Bug 23 netem reset, Bug 28 VPC DNS resolution, Bug 41 running alert badge) ke checklist validasi runtime.
  • Hardening Ekstrem Xiaomi, Redmi, POCO & Android: Memperbaiki overflow pada layar sempit 360px dengan flex-wrap pada .code-header, pembatasan lebar label dengan overflow-wrap: anywhere, touch-target WCAG 2.5.5 pada tombol Copy, dan baseline padding fallback untuk punch-hole camera.
  • Struktur Dokumen 18 Bab yang Sinkron: Sinkronisasi penuh antara Navbar, Offcanvas Mobile Drawer, Sidebar Desktop, Quick Nav TOC, dan Footer Links tanpa ada broken anchor maupun tag mismatch.
v1.5.0 (21 September 2026) — Dedicated Mirror ALSYUNDAWY (repo.alsyundawy.com) & Rilis 27H1 / v8.12 / Bundle .tgz Stable
  • Dedicated Mirror Repository (repo.alsyundawy.com): Penambahan repositori mirror resmi ALSYUNDAWY IT SOLUTION berkecepatan tinggi tanpa batasan kuota download untuk mempercepat proses deployment dan penyediaan berkas lab.
  • PNetLab-27H1-v8-netinstall.ova: Appliance virtual minimalis berbasis Ubuntu 27H1/Resolute khusus unattended autoinstaller via jaringan.
  • PNetLab-27H1-v8.12.iso: Berkas full bootable ISO mandiri untuk instalasi bare-metal server fisik maupun virtual machine tanpa memerlukan internet saat partisi dan install.
  • PNetLab-27H1-v8.12.ova: Full turn-key virtual appliance v8.12 siap pakai dengan performa lab tervirtualisasi optimal untuk VMware, ESXi, Proxmox VE, dan VirtualBox.
  • pnetlab-27H1-v8.62-6.8.62-resolute-bundle.tgz: Arsip tarball bundle offline untuk pembaruan in-place komponen platform 6.8.62 Resolute (sangat cocok untuk lingkungan tertutup / air-gapped lab).
  • Panduan Ekstraksi & Deployment Bundle: Penambahan sub-bagian metode 4 upgrade pada Bab 6 khusus instalasi offline menggunakan berkas .tgz bundle serta verifikasi checksum terintegrasi.
  • Zero-Warning Linter & SEO Title Audit: Mengoptimasi teks title dokumen menjadi 57 karakter (di bawah ambang batas 70 karakter) untuk kepatuhan penuh Google SERP dan linter; menambahkan deklarasi standar text-size-adjust: 100% mendampingi prefix -webkit- untuk meloloskan audit kompatibilitas Chrome, Edge, Firefox, Safari, dan Samsung Internet tanpa warning.
v1.4.0 (21 September 2026) — Enterprise Deep Research, Community ISO/OVA Mirrors & Full-Stack Hardening Stable
  • Katalog Mirror Download Lengkap: Menambahkan tabel komparasi rilis resmi upstream (Network Install, OVA Autoinstaller, Desktop Install Bundle, Custom Images, dan Codeberg Repo) berdampingan dengan tabel mirror publik komunitas (Telegram, Buzzheavier CDN, wdfiles.ru, Google Drive Shared, dan pnetlab.com legacy).
  • Panduan Verifikasi Hash SHA256 & Security Advisory: Menambahkan sub-bagian audit keamanan unduhan pihak ketiga, instruksi CLI verifikasi checksum SHA256, dan mitigasi risiko CVE historis platform network emulation (CVE-2025-63749).
  • Eliminasi Nested At-Rule CSS: Memperbaiki penempatan @supports (text-size-adjust: 100%) ke level root untuk mencegah degradasi parsing pada WebView Xiaomi/MIUI lawas yang memicu hilangnya overflow containment.
  • Boundary Isolation Code-Block: Mengubah properti clipping code-block menjadi overflow: hidden dan min-width: 0 dengan touch action horizontal pan khusus pada tag <pre> untuk membasmi terpotongnya teks pada smartphone berlayar sempit.
  • Hardening Layar VGA (320px): Menambahkan breakpoint khusus @media (max-width: 320px) dan penyesuaian min-width tabel responsif (min-width: 440px/480px/520px/580px) agar data tabel tetap terbaca rapi dan dapat digeser secara kinetik tanpa merusak layout induk.
  • Integrasi DOCNOTE Khusus: Menambahkan panel dokumentasi teknis arsitektur dan baseline frontend di samping panel riwayat changelog rilis.
v1.3.0 (21 September 2026) — Deep Research Codeberg README, pnetlab-update & Manual Upgrade Path Stable
  • Sinkronisasi Riset Codeberg Resmi: Sinkronisasi data primer rilis Codeberg netkillui/Pnetlabv8 per 21 September 2026 (PNetLab v8 6.8.79) mencakup 4 artefak resmi rilis upstream (Network Install Script, OVA autoinstaller, Desktop Install Bundle, dan Custom Images).
  • Dokumentasi Perintah sudo pnetlab-update: Menambahkan sub-bagian khusus mekanisme bawaan resmi PNetLab v8 yang secara otomatis membaca channel rilis, mendownload paket terbaru, dan mengaplikasikannya in-place.
  • Jalur Fallback Manual Upgrade: Menambahkan panduan langkah-demi-langkah manual upgrade menggunakan sudo dpkg -i pnetlab_<version>_amd64.deb dan sudo apt-get -f install sesuai instruksi resmi Codeberg untuk skenario ketika tool update otomatis terkendala.
  • Desktop Install Bundle (Xubuntu Recommended): Menjelaskan spesifikasi bundle desktop untuk bare-metal Ubuntu Desktop vs Xubuntu Desktop (rekomendasi upstream karena hemat resource dan mendukung dual-boot Windows / external SSD).
  • Detail Custom Images Pack: Merinci paket image kustom upstream MEGA yang mencakup Wi-Fi AP, Wi-Fi client, dan ROCEv2 client dengan driver soft-RoCE (RXE) siap pakai.
v1.2.0 (21 September 2026) — Deep CSS/SEO Audit, Xiaomi 360px Hardening & WCAG 2.2 Polish Stable
  • Standard text-size-adjust: 100%: Menambahkan properti standar (Chrome 79+, Firefox 116+) di samping -webkit-text-size-adjust untuk mengatasi HyperOS/MIUI font-scaling secara menyeluruh.
  • Xiaomi 360px Breakpoint: Breakpoint baru @media (max-width: 360px) menargetkan Redmi 9, Redmi Note 9/10/11, POCO M3/M4/X3 — memperbaiki font-size, padding, touch-target, dan tabel agar tidak overflow.
  • overscroll-behavior-x: none: Mencegah horizontal elastic scroll/bounce pada Android (Xiaomi/Redmi/POCO) yang menyebabkan halaman bergeser horizontal saat swipe-scroll.
  • Fix .code-block overflow: Mengubah overflow: hidden menjadi overflow-x: clip; overflow-y: visible agar inner pre dapat scroll horizontal di mobile tanpa merusak border-radius clipping.
  • Fix ol.list-custom: Menambahkan CSS counter-based ordering (counter-reset / counter-increment) agar <ol> yang memakai list-custom tampil sebagai angka berurut, bukan bullet bulat.
  • Fix .inline-code: Menambahkan display: inline eksplisit untuk mencegah block-layout pada inline code di dalam paragraf.
  • WCAG 2.2 Focus Ring: Menambahkan .back-to-top:focus-visible outline biru (#60a5fa) agar tombol kembali-ke-atas dapat dioperasikan via keyboard sesuai WCAG 2.2 kriteria 2.4.11.
  • SEO Enrichment: Menambahkan og:image:alt, twitter:image, dan twitter:image:alt yang sebelumnya hilang — meningkatkan Open Graph & Twitter Card compliance.
v1.1.0 (21 September 2026) — Enterprise UI/UX, WCAG 2.2 AA & Cross-Device Hardening Stable
  • Cross-Device Hardening: Optimasi rendering khusus perangkat mobile Xiaomi, Redmi, POCO (HyperOS / MIUI font-scaling bug & safe-area notch layout clipping). Resolusi stabil dari VGA (320px) hingga 2K/4K ultrawide.
  • Zero-Error Linting: Menghilangkan seluruh warning kompatibilitas linter (meta[name=theme-color], text-size-adjust, scrollbar-color, scrollbar-width) dengan progressive enhancement.
  • Accessibility & WCAG: Perbaikan hierarki heading semantik (H1 → H2 → H3), landmark semantik <main>, ARIA live feedback pada tombol salin, dan table captions tersembunyi untuk screen reader.
  • JavaScript Modernization: Migrasi properti legacy window.pageYOffset ke standar window.scrollY serta penanganan dynamic scrollbar progressive styling.
v1.0.0 (21 September 2026) — Rilis awal tutorial install & deploy Base
  • Landing resmi: codeberg.org/netkillui/Pnetlabv8 — README per 18 September 2026 menandai channel PNetLab v8 6.8.79.
  • RETEX upgrade: 6.8.62resolute1 → 6.8.74resolute1 pada Ubuntu 26.04; issue jaringan, held packages, dan unit systemd Store dilaporkan ke upstream sebagai Codeberg #7 dan #8.
  • Installer: manifest-driven network installer dari Codeberg generic package pnetlab-core-assets.
  • Bukan produk resmi pnetlab.com (line lama 4.x/5.x). Ini fork/komunitas v8 untuk Ubuntu 26.04 Resolute.
1

Ringkasan & Status Sumber (per 21 September 2026)

PNETLab v8 Unofficial adalah platform emulasi jaringan self-hosted modern yang dirancang khusus untuk Ubuntu 26.04 LTS “27H1 Resolute” (arsitektur amd64 dengan akselerasi wajib /dev/kvm). Seluruh landing download, release manifest, dan repositori APT dikelola secara resmi di Codeberg pada organisasi netkillui. Versi pada README landing adalah PNetLab v8 6.8.79, sedangkan channel pointer resmi aktif (pnetlab-latest.json) mengarah ke 6.8.81resolute1 (sequence 81, timestamp 18 September 2026). Rilis yang sedang aktif ditangani di lapangan karena kegagalan fatal instalasi bare-metal adalah 6.8.78resolute1.

  • Empat artefak resmi upstream & mirror ALSYUNDAWY: (1) Network Install Script, (2) OVA Autoinstaller / Netinstall OVA, (3) Full Standalone ISO v8.12 & Turn-key OVA v8.12, dan (4) Offline Update Tarball Bundle 6.8.62 yang di-mirror berkecepatan tinggi di repo.alsyundawy.com/?berkas=PnetLab.
  • Paket deb manifest-pinned resmi: pnetlab, pnetlab-docker, pnetlab-guacd, pnetlab-qemu, pnetlab-schema, pnetlab-vpcs, serta modul kernel best-effort pnetlab-bridge-dkms.
  • Daemon & unit yang diverifikasi installer: Broker unix socket (pnetlab-brokerd.service), HTTP bridge (127.0.0.1:8025), Console mux telnet (:8022) & VNC (:6080), Shell bridge (:8023), serta HTML5 console (pnet-guac-lite.service :8081).
  • Trust Anchors: Offline manifest signer fingerprint 158D99DF8D57040AA8E0EDA58F353DF9007A2BB4 dan APT repository signing key fingerprint EA21DC771565BC84C57A610861756807AC7005EC.
  • Jalur upgrade host v8: Built-in sudo pnetlab-update untuk update otomatis in-place, Network Installer dengan flag --no-cloud-uplink, serta Manual Upgrade dpkg -i + apt-get -f install sebagai fallback resmi upstream.
TIDAK ADA OPSI UPGRADE DARI PNETLab v4, v5, ATAU v6 KE v8! PNETLab generasi lama (v4.x/5.x/6.x di Ubuntu 18.04/20.04 dengan Apache mod_php7 dan repo.pnetlab.com) memiliki struktur schema database, daemon, dan kernel yang sama sekali tidak kompatibel dengan v8 Ubuntu 26.04 (PHP 8.5-FPM, MySQL 8.4, systemd-brokerd). Upaya melakukan upgrade in-place lintas generasi akan menghancurkan OS. Satu-satunya prosedur yang valid adalah Fresh Install Ubuntu 26.04 + PNETLab v8, lalu menyalin berkas image lab (/opt/unetlab/addons/) dari cadangan lama.
Status Gerbang Fatal Issue #19: Bug restart-loop pnet-guac-lite.service (NRestarts=45) masih OPEN di upstream issue tracker (0 komentar pengembang). Jangan biarkan host yang exit 1 di-loop dengan skrip curl | bash berulang kali tanpa memeriksa status marker /var/lib/pnetlab/network-install-owner dan mereset counter systemd failed (lihat Bab 11).
2

Arsitektur Deploy yang Direkomendasikan

Pisahkan build/install host dari eksperimen lab jika memungkinkan. Untuk lab produksi internal, satu host dedicated (bare-metal atau VM nested-virt) lebih aman daripada menumpuk di hypervisor yang sudah padat.

Arsitektur Deploy
                 PNETLab v8 UNOFFICIAL
                           │
         ┌─────────────────┼─────────────────┐
         │                 │                 │
   Fresh Ubuntu 26.04   Existing host     OVA / ISO / Bundle
   (network install)    6.8.62 → latest   repo.alsyundawy.com
         │                 │                 │
         ▼                 ▼                 ▼
   ethX → pnet0 (mgmt)   --no-cloud-uplink  DHCP / static
   pnet1..pnet9 + nat0   preserve ifaces    web UI HTTPS
         │                 │                 │
         └─────────────────┴─────────────────┘
                           │
              GUI https://<host-ip>/  + nested virt

Spesifikasi Host

Tabel Spesifikasi Hardware Minimum dan Rekomendasi Host PNETLab v8
Komponen Minimum (lab ringan) Rekomendasi Lab Serius
CPU 4 vCPU + VT-x / AMD-V 16–32 vCPU + nested virt
RAM 8 GB 64–128 GB
Storage 40 GB 500 GB–2 TB NVMe (image QEMU)
OS Ubuntu Server 26.04 LTS Resolute amd64
Hypervisor Bare-metal / Proxmox / ESXi / VMware WS Nested virtualization wajib untuk node QEMU
Di Proxmox VE: set CPU type host, aktifkan nested=1, dan berikan NIC virtio. Di ESXi: expose virtualization to guest. Tanpa itu, node QEMU akan gagal atau sangat lambat.
3

Persyaratan Umum & Prinsip Deploy

  • Hanya Ubuntu 26.04 Resolute amd64 untuk metode network install resmi.
  • Hardware virtualization aktif (cek grep -E 'vmx|svm' /proc/cpuinfo).
  • Akses root / sudo, koneksi ke Codeberg + Docker Hub (atau mirror).
  • Jangan campur repo resmi lama repo.pnetlab.com dengan channel v8 Codeberg.
  • Backup dulu: lab XML, startup-config, image di /opt/unetlab/addons, dump MySQL jika ada data Store/user.
  • Jika host remote via SSH: simpan aturan firewall sebelum transaksi APT (UFW bisa dihapus installer).
4

Fresh Install — Ubuntu Server 26.04 + Network Installer

4.1 Siapkan OS

Install Ubuntu Server 26.04 LTS amd64. Pilih OpenSSH. Setelah boot:

Hostname, Virt & Update
sudo hostnamectl set-hostname pnetlab-v8
sudo apt update
sudo apt full-upgrade -y

hostnamectl
uname -m
cat /etc/os-release
grep -E 'vmx|svm' /proc/cpuinfo | head
# Harus: x86_64 + Ubuntu 26.04 + flag virt

4.2 Network Installer (host bersih)

Pada host baru tanpa /etc/network/interfaces custom, perintah resmi README:

Network Install Latest
curl -fsSL \
  https://codeberg.org/api/packages/netkillui/generic/pnetlab-core-assets/0.channel/pnetlab-network-install-latest.sh \
  | sudo bash -s -- \
    --yes \
    --release latest

Installer bersifat manifest-driven: resolve channel pointer bertanda tangan → unduh manifest rilis → enroll APT source Codeberg → simulasi transaksi → mutasi paket. Contoh log sukses resolve:

Contoh Resolve Channel
channel pointer resolved: release=6.8.78resolute1 sequence=78
=== fetching release manifest ===
channel pointer/manifest identity matches
=== preflight: exact transaction simulation ===
Pipe curl | sudo bash adalah rantai kepercayaan ke Codeberg. Verifikasi URL, pin rilis jika kebijakan keamanan Anda menuntutnya, dan jalankan dari sesi yang bisa Anda monitor (tmux/screen) — jangan dari laptop yang akan tidur di tengah compile/DKMS.
5

Sumber Unduhan Resmi Upstream, Mirror Dedicated ALSYUNDAWY & Komunitas PNETLab v8

Distribusi berkas instalasi PNETLab v8 Unofficial untuk platform Ubuntu 26.04 LTS Resolute / 27H1 tersedia melalui tiga saluran utama: Dedicated Mirror Resmi ALSYUNDAWY IT SOLUTION (repo.alsyundawy.com) yang berkecepatan tinggi dan bebas batas kuota, Saluran Rilis Resmi Upstream (Codeberg & Mega), serta Mirror Publik Komunitas Global (Telegram, Buzzheavier, wdfiles, & Google Drive).

Dedicated Mirror ALSYUNDAWY IT SOLUTION: Untuk mempermudah komunitas network engineer dan lab administrator di Indonesia maupun global yang sering terkendala batas kuota unduhan Mega atau blokir domain pihak ketiga, ALSYUNDAWY IT SOLUTION (AS24523) menyediakan mirror resmi berkecepatan tinggi di repo.alsyundawy.com/?berkas=PnetLab dengan koleksi berkas lengkap: Netinstall OVA, Standalone Bootable ISO, Turn-key Full OVA v8.12, dan Offline Update Tarball Bundle 6.8.62.

5.1 Dedicated Mirror Resmi ALSYUNDAWY IT SOLUTION (repo.alsyundawy.com) — [Direkomendasikan]

Seluruh berkas fisik berikut di-hosting langsung pada infrastruktur cloud repository berkecepatan tinggi ALSYUNDAWY IT SOLUTION dan dapat diunduh langsung via direct download link (tanpa login, bebas batasan transfer, resumable via curl -C - atau wget -c). Untuk menelusuri daftar direktori berkas repositori secara visual, akses portal skrip di repo.alsyundawy.com/?berkas=PnetLab (proteksi indeks Nginx aktif):

Tabel Berkas Unduhan PNETLab v8 pada Repositori Resmi repo.alsyundawy.com
Nama Berkas Tipe & Format Spesifikasi, Target & Kegunaan Aksi Unduhan (Direct Link)
PNetLab-27H1-v8-netinstall.ova Appliance Netinstall (.ova)
VMware / ESXi / Proxmox
Appliance virtual minimalis Ubuntu 27H1/Resolute. Ukuran berkas sangat ringkas untuk bootstrapping cepat; autoinstaller unattended secara otomatis menarik dan mengonfigurasi paket rilis PNETLab v8 terbaru saat pertama kali dinyalakan. Unduh OVA
PNetLab-27H1-v8.12.iso Full Standalone ISO (.iso)
Bare-metal Fisik & VM
Image instalasi ISO mandiri PNETLab 27H1 versi 8.12. Ideal untuk instalasi langsung pada server fisik (Dell PowerEdge, HPE ProLiant, Supermicro), bootable flashdisk (Ventoy / Rufus DD mode), ataupun instalasi VM baru tanpa memerlukan akses internet selama proses partisi. Unduh ISO
PNetLab-27H1-v8.12.ova Full Turn-key OVA (.ova)
VMware / VirtualBox / KVM
Virtual appliance lengkap turn-key ready PNETLab 27H1 rilis v8.12. Seluruh dependensi core dan kernel telah terpasang di dalam disk virtual VMDK. Cukup import ke hypervisor pilihan Anda, hidupkan VM, dan lab langsung siap diakses via web browser. Unduh OVA
pnetlab-27H1-v8.62-6.8.62-resolute-bundle.tgz Offline Update Bundle (.tgz)
Tarball Arsip / In-place
Paket arsip tarball bundle lengkap untuk pembaruan in-place komponen PNETLab v8 platform 6.8.62 Resolute (27H1). Sangat esensial untuk server lab produksi terisolasi (air-gapped network) yang tidak memiliki koneksi internet publik. Unduh Bundle
CLI Download Langsung ke Server Lab (wget / curl)
# Unduh OVA Netinstall (bootstrapping cepat via jaringan):
wget -c https://repo.alsyundawy.com/PnetLab/PNetLab-27H1-v8-netinstall.ova

# Unduh Full Bootable ISO v8.12 (bare-metal server / VM):
wget -c https://repo.alsyundawy.com/PnetLab/PNetLab-27H1-v8.12.iso

# Unduh Full Pre-built OVA v8.12 (turn-key siap pakai di hypervisor):
wget -c https://repo.alsyundawy.com/PnetLab/PNetLab-27H1-v8.12.ova

# Unduh Offline Update Tarball Bundle 6.8.62 (air-gapped / in-place upgrade):
wget -c https://repo.alsyundawy.com/PnetLab/pnetlab-27H1-v8.62-6.8.62-resolute-bundle.tgz

5.2 Artefak Rilis Resmi Upstream (Codeberg & Mega)

Tabel Artefak Installer dan Bundle PNETLab v8 di Repositori Resmi Upstream
Artefak Format & Target Spesifikasi & Karakteristik Tautan Unduhan
Network Install Script Shell Script (.sh)
Ubuntu 26.04 Server
Skrip installer resmi yang membaca channel manifest, mempartisi storage, mengonfigurasi repository APT Codeberg, dan menarik paket v8 terbaru secara otomatis. Download Script
OVA Autoinstaller Appliance (.ova)
VMware / ESXi / VirtualBox
Image VM minimal Ubuntu 26.04 dengan autoinstaller unattended. Otomatis mempartisi storage dan menyetel PNETLab v8, pengguna hanya memilih konfigurasi IP (DHCP/Static). Mega OVA
Desktop Install Bundle Workstation Bundle
Bare-metal Desktop
Installer untuk lingkungan workstation fisik. Teruji pada Ubuntu 26.04 Desktop & Xubuntu 26.04 Desktop — Xubuntu sangat direkomendasikan karena footprint resource (RAM/CPU) jauh lebih hemat. Mendukung dual-boot Windows & external SSD. Mega Bundle
Custom Images Pack Lab Image Addons
QEMU / Docker Addons
Paket image lab siap pakai resmi: Wi-Fi Access Point, Wi-Fi client, dan ROCEv2 client dengan driver soft-RoCE (RXE) pra-konfigurasi untuk riset jaringan modern. Mega Folder
Codeberg Upstream Repo Git / Forgejo
Landing & Issues
Landing repository resmi untuk tracking channel rilis 6.8.xx, generic packages registry, dan issue tracker upstream (issue #7 held packages, #8 systemd Store). Codeberg Repo

5.3 Repositori Publik Komunitas, Mirror ISO / OVA & Saluran Distribusi

Bagi pengguna yang membutuhkan file image utuh (ISO) untuk instalasi bare-metal mandiri tanpa koneksi internet penuh saat instalasi atau terkendala batas bandwidth, komunitas jaringan global menyediakan beberapa saluran mirror publik:

Tabel Mirror Publik Komunitas dan Saluran Distribusi PNETLab v8
Saluran / Mirror Format Berkas Deskripsi & Penggunaan Status & Akses
Telegram Komunitas PNETLab Kanal Resmi & Grup Pusat penyebaran rilis komunitas tercepat: rilis v8.x, link mirror ISO/OVA harian, patch update (.tgz untuk di-upload via WinSCP), serta tanya-jawab teknis. t.me/pnetlab_official
Buzzheavier Public CDN Mirror Full ISO & OVA Mirror berkecepatan tinggi tanpa batasan kuota download Mega yang sering dibagikan dalam tutorial YouTube dan forum teknis untuk file ISO mandiri. Tautan via rilis Telegram / forum
wdfiles.ru Mirror Repository ISO Image / Disk Raw Mirror publik alternatif regional untuk instalasi bare-metal ISO dan image virtual disk PNETLab v8. Tautan via rilis Telegram / forum
Google Drive Community Shared Folders Cloud Mirror & Addons Mirror Google Drive komunitas untuk template VMware, file instalasi offline, dan repositori vendor node image (Cisco IOL/QEMU, MikroTik CHR, Fortinet, Arista vEOS). Shared Drive komunitas terverifikasi
Portal Resmi Legacy (pnetlab.com) Dokumentasi Legacy Portal dokumentasi produk lama (PNETLab 4.x/5.x di Ubuntu 18.04/20.04). Catatan penting: Tidak menyediakan installer v8 Ubuntu 26.04 dan TIDAK BISA digunakan untuk upgrade ke v8 (v8 adalah ekosistem manifest-driven independen). pnetlab.com
Peringatan Keamanan Unduhan Pihak Ketiga: Mengingat berkas ISO/OVA v8 didistribusikan melalui kanal publik komunitas (Telegram, Buzzheavier, wdfiles, Google Drive), selalu lakukan verifikasi integritas hash SHA256 sebelum menjalankan berkas. Jangan pernah menghubungkan server lab langsung ke internet publik tanpa isolasi firewall ketat (iptables/UFW baseline) dan segera ganti seluruh password default setelah instalasi, guna mencegah eksploitasi celah keamanan historis platform network emulation (seperti advisory CVE-2025-63749 dan command injection).

5.4 Verifikasi Integritas Berkas (SHA256 Checksum)

Verifikasi Checksum Berkas Unduhan (ALSYUNDAWY Mirror & Upstream)
# Verifikasi checksum berkas unduhan dari repo.alsyundawy.com:
sha256sum PNetLab-27H1-v8-netinstall.ova
sha256sum PNetLab-27H1-v8.12.iso
sha256sum PNetLab-27H1-v8.12.ova
sha256sum pnetlab-27H1-v8.62-6.8.62-resolute-bundle.tgz

# Verifikasi checksum berkas rilis upstream Codeberg / Mega:
sha256sum pnetlab-v8-resolute-*.ova
sha256sum pnetlab-v8-resolute-*.iso

# Cocokkan output hash dengan catatan resmi rilis pada repositori Codeberg / kanal Telegram

5.5 Langkah Cepat Deploy OVA (Netinstall vs Full Turn-Key OVA)

Tersedia dua varian OVA pada repositori mirror ALSYUNDAWY:

  1. Varian Netinstall (PNetLab-27H1-v8-netinstall.ova): Appliance VM berukuran minimal. Saat pertama kali dihidupkan, VM akan meminta parameter IP (DHCP/Static) dan menjalankan autoinstaller unattended yang menarik paket rilis terbaru secara online.
  2. Varian Full Turn-Key (PNetLab-27H1-v8.12.ova): Appliance VM lengkap dengan seluruh paket PNETLab v8.12 yang telah terpasang di disk. Sangat cocok jika Anda menginginkan VM langsung siap digunakan dalam hitungan menit tanpa bergantung pada koneksi internet cepat.
  3. Persyaratan Hardware Virtualization: Pastikan opsi Hardware Virtualization (VT-x / AMD-V) dan Nested Virtualization dicentang aktif di konfigurasi prosesor VM pada VMware / ESXi / Proxmox VE.
  4. Setelah VM menyala dan menyelesaikan inisialisasi, akses Web GUI PNETLab melalui browser di https://<host-ip>/.

5.6 Panduan Instalasi Server Fisik / VM via Full ISO (PNetLab-27H1-v8.12.iso)

  1. Unduh file ISO PNetLab-27H1-v8.12.iso dari mirror ALSYUNDAWY.
  2. Untuk server fisik bare-metal, buat USB bootable menggunakan Ventoy (cukup copy file ISO ke flashdisk) atau gunakan tool seperti Rufus (pilih mode DD Image) / perintah dd if=PNetLab-27H1-v8.12.iso of=/dev/sdX bs=4M status=progress pada Linux/macOS.
  3. Pasang USB ke server atau mount ISO sebagai Virtual CD/DVD pada Proxmox / ESXi / Hyper-V.
  4. Boot perangkat ke ISO installer, ikuti panduan partisi disk otomatis, tentukan username dan konfigurasi jaringan awal.
  5. Reboot host, lepaskan media instalasi, dan akses dashboard web PNETLab.
OVA dan ISO autoinstaller sangat cocok untuk deploy cepat di workstation lokal atau server fisik. Untuk server produksi remote dengan konfigurasi bridging kustom (eth0 → pnet0, dhcpcd, pnet1–pnet9, nat0), gunakan metode Network Install + --no-cloud-uplink agar installer tidak menimpa topologi interface Anda.
6

Deploy PNETLab v8 OVA pada Proxmox VE 8+ (Security & CLI/GUI)

Bab ini menyajikan panduan resmi dan standar operasional enterprise untuk mengimpor dan menjalankan citra PNETLab v8 Virtual Appliance (.ova) pada hypervisor Proxmox Virtual Environment (PVE) 8 ke atas (PVE 8.0, 8.1, 8.2, 8.3, dan 8.4 berbasis Debian 12 Bookworm dengan Linux Kernel 6.5 / 6.8+). Panduan ini mencakup akselerasi KVM nested, penonaktifan memory ballooning, tuning disk VirtIO SCSI single dengan TRIM/discard, isolasi bridge, dan QEMU Guest Agent.

Standar Keamanan PVE 8+: Proxmox VE 8 menggunakan stack kernel modern yang secara default membatasi beberapa parameter virtualisasi. Pastikan Anda melakukan audit pra-syarat host di bawah ini sebelum menyalakan VM lab untuk mencegah kegagalan start node QEMU (gejala klasik: device start and stop immediately).

6.1. Pra-Syarat Host PVE: Verifikasi KVM Nested Virtualization

Karena PNETLab v8 mengeksekusi mesin virtual (Cisco IOL, QEMU, Docker, Arista, Juniper) di dalam dirinya sendiri, host fisik Proxmox VE wajib mengaktifkan Nested Virtualization pada level modul kernel:

Host PVE Shell — Audit & Aktivasi Nested Virtualization
# --- [UNTUK PROSESOR INTEL] ---
# Periksa status nested (output wajib: Y atau 1)
cat /sys/module/kvm_intel/parameters/nested

# Jika output N, aktifkan secara permanen:
echo "options kvm-intel nested=Y" | sudo tee /etc/modprobe.d/kvm-intel.conf
sudo modprobe -r kvm_intel && sudo modprobe kvm_intel

# --- [UNTUK PROSESOR AMD] ---
# Periksa status nested (output wajib: 1)
cat /sys/module/kvm_amd/parameters/nested

# Jika output 0, aktifkan secara permanen:
echo "options kvm-amd nested=1" | sudo tee /etc/modprobe.d/kvm-amd.conf
sudo modprobe -r kvm_amd && sudo modprobe kvm_amd

6.2. Unduh Berkas OVA Langsung ke Storage Proxmox VE

Login ke shell host Proxmox VE via SSH atau Web Console, lalu unduh berkas appliance resmi dari dedicated mirror repo.alsyundawy.com langsung ke direktori sementara atau storage dump:

Host PVE Shell — Download Appliance OVA
# Masuk ke direktori temporary atau dump storage
cd /var/lib/vz/dump || cd /tmp

# Unduh appliance PNetLab OVA dari dedicated mirror
wget -c https://repo.alsyundawy.com/PnetLab/PNetLab-27H1-v8.12.ova

# Validasi integritas hash SHA256 sebelum ekstraksi
sha256sum PNetLab-27H1-v8.12.ova

6.3. Metode A (Rekomendasi CLI Produksi): Ekstraksi OVA & qm importdisk

Metode ini merupakan standar paling stabil di seluruh versi PVE 8.x karena memberikan kontrol penuh atas arsitektur disk controller, jenis CPU, dan alokasi bus SCSI:

1
Ekstrak Arsip OVA ke VMDK & OVF

Berkas OVA adalah arsip tar standar. Ekstrak untuk mendapatkan file disk .vmdk dan spesifikasi .ovf:

Ekstraksi Tarball OVA
tar -xvf PNetLab-27H1-v8.12.ova
# Menghasilkan berkas: PNetLab-27H1-v8.12.ovf dan disk-001.vmdk
ls -lh *.vmdk *.ovf
2
Buat Kerangka Virtual Machine Baru (VM ID 800)

Gunakan parameter hardware enterprise: CPU type wajib host, RAM minimum 16 GB, ballooning dimatikan (--balloon 0), controller virtio-scsi-single, dan QEMU Guest Agent diaktifkan:

Pembuatan Kerangka VM PVE 8
qm create 800 --name "PNETLab-v8-Enterprise"   --ostype l26   --cpu host   --cores 8 --sockets 1 --numa 0   --memory 16384 --balloon 0   --scsihw virtio-scsi-single   --net0 virtio,bridge=vmbr0,firewall=0   --agent 1   --machine q35   --onboot 1
3
Import Disk VMDK ke Target Storage Pool

Konversikan format VMDK VMware menjadi disk image Proxmox (qcow2 atau raw thin LVM/ZFS pada pool local-lvm atau local-zfs):

Import Disk ke Storage Pool
qm importdisk 800 *.vmdk local-lvm --format qcow2
4
Pasang Disk ke SCSI0 dengan IOThread, Discard & SSD Emulation

Kaitkan disk yang baru diimpor sebagai device scsi0 dengan fitur performa NVMe/SSD dan aktifkan boot sequence:

Attach & Set Boot Order
qm set 800 --scsi0 local-lvm:vm-800-disk-0,discard=on,ssd=1,iothread=1
qm set 800 --boot order=scsi0

6.4. Metode B: CLI Otomatis qm importovf & Perbaikan Hardware Wajib

Jika Anda mengekstrak OVA dan ingin memanfaatkan berkas konfigurasi .ovf bawaan, jalankan perintah qm importovf secara otomatis:

Import OVF Otomatis & Hardware Tuning
# 1. Jalankan import OVF ke VM ID 800
qm importovf 800 *.ovf local-lvm --format qcow2

# 2. PERINGATAN KRITIS: qm importovf selalu me-reset CPU ke kvm64 dan controller ke IDE!
# Anda WAJIB memperbaiki hardware profile agar KVM nested dan performa disk optimal:
qm set 800 --cpu host   --scsihw virtio-scsi-single   --balloon 0   --agent 1   --net0 virtio,bridge=vmbr0,firewall=0

6.5. Metode C: Web GUI Import Wizard (Khusus Proxmox VE 8.3+)

Mulai rilis Proxmox VE 8.3, fitur native OVA/OVF Import telah disematkan langsung pada antarmuka Web GUI:

  1. Buka Web GUI Proxmox VE: https://<IP-PVE>:8006/.
  2. Pilih node PVE Anda → klik storage penyimpanan (contoh: local).
  3. Pilih menu ISO Images / CT Templates / Import → klik tombol Import OVA/OVF.
  4. Pilih file PNetLab-27H1-v8.12.ova yang telah diunggah → tentukan target storage pool (local-lvm).
  5. Pada wizard konfigurasi: ubah CPU Type ke host, matikan Memory Ballooning, dan pastikan network bridge diarahkan ke vmbr0 dengan checkbox Firewall: Unchecked (Disabled).
  6. Klik Import dan tunggu hingga progress bar mencapai 100%.

6.6. Checklist Hardening, RAM (Anti-Ballooning) & Virtual Networking PVE

Tabel Checklist Hardening Proxmox VE 8 untuk PNetLab v8
Parameter PVE 8+ Pengaturan Wajib Alasan Teknis & Dampak Stabilitas
CPU Type host (Bukan kvm64/default) Wajib mengekspos instruksi VT-x / AMD-V (vmx / svm) ke guest OS agar node QEMU dapat dijalankan.
Memory Ballooning Disabled (--balloon 0) Sangat kritis! Dynamic ballooning saat PNetLab menjalankan banyak node QEMU menyebabkan memory starvation mendadak dan kernel panic / OOM killer. Alokasikan fixed RAM (misal 16GB, 32GB, atau 64GB).
SCSI Controller VirtIO SCSI Single Memberikan dedicated I/O queue per-disk untuk throughput I/O tinggi saat booting puluhan router Cisco/Arista secara simultan.
Discard / TRIM discard=on, ssd=1 Mengizinkan proses fstrim di dalam PNetLab mengembalikan blok disk kosong ke storage pool thin-provisioned PVE.
PVE Firewall pada NIC firewall=0 (Off) Firewall PVE berbasis ebtables/nftables akan memblokir MAC address dinamis acak dan paket STP/BPDU yang dihasilkan oleh switch virtual di lab.
Multiple Lab Bridges net1 (vmbr1) ... net9 (vmbr9) Untuk menghubungkan Cloud node pnet1pnet9 ke interface fisik sekunder atau VLAN trunk di switch fisik jaringan Anda.
QEMU Guest Agent agent: 1 (Enabled) Mengaktifkan komunikasi agen guest untuk reporting IP manajemen, utilisasi memori riil, dan graceful ACPI shutdown langsung dari dashboard Proxmox.
Start VM PNetLab & Verifikasi Akselerasi KVM di Dalam Guest
# 1. Nyalakan VM dari shell host Proxmox
qm start 800

# 2. Login ke terminal PNetLab via SSH (user: root) dan jalankan verifikasi:
kvm-ok
# Output wajib yang muncul:
# INFO: /dev/kvm exists
# KVM acceleration can be used

# 3. Pastikan QEMU Guest Agent aktif di dalam PNetLab:
sudo apt update && sudo apt install -y qemu-guest-agent
sudo systemctl enable --now qemu-guest-agent
7

Upgrade Existing Host (RETEX 6.8.62 → 6.8.74)

Skenario yang diuji: Ubuntu 26.04 Resolute amd64, PNETLab 6.8.62resolute1, target channel latest (saat itu 6.8.74resolute1). Jaringan manajemen sudah hidup:

  • eth0 → pnet0 (DHCP via dhcpcd)
  • bridge pnet1pnet9 dan nat0
  • konfigurasi administrator di /etc/network/interfaces
PERINGATAN MUTLAK — HANYA UNTUK HOST PNETLab v8: Prosedur di bawah ini khusus untuk pembaruan sesama instalasi PNETLab v8 di Ubuntu 26.04 (misalnya RETEX dari rilis awal 6.8.62 ke rilis 6.8.74/6.8.78/6.8.81). DILARANG KERAS mencoba menjalankan prosedur ini pada server PNETLab v4.x, v5.x, atau v6.x (Ubuntu 18.04/20.04)! Lintas generasi sistem operasi dan PHP FPM tersebut tidak memiliki jalur migrasi in-place.
Jangan langsung menelan installer tanpa preflight. Dua gerbang yang sering gagal pada host existing: Check A (isi administrator di /etc/network/interfaces) dan exact apt transaction simulation (paket di-hold).

6.1 Backup sebelum mutasi

Backup Minimal
sudo mkdir -p /root/pnetlab-preupgrade-$(date +%F)
sudo cp -a /etc/network/interfaces /etc/network/interfaces.d \
  /root/pnetlab-preupgrade-$(date +%F)/
sudo dpkg -l 'pnetlab*' > /root/pnetlab-preupgrade-$(date +%F)/dpkg-pnetlab.txt
sudo apt-mark showhold > /root/pnetlab-preupgrade-$(date +%F)/held.txt
sudo ufw status verbose > /root/pnetlab-preupgrade-$(date +%F)/ufw.txt || true
sudo iptables-save  > /root/pnetlab-preupgrade-$(date +%F)/iptables.rules
sudo ip6tables-save > /root/pnetlab-preupgrade-$(date +%F)/ip6tables.rules
# Image lab biasanya besar — rsync terpisah ke storage cadangan:
# sudo rsync -aH /opt/unetlab/ /backup/unetlab/

6.2 Metode 1: Built-in Updater (sudo pnetlab-update)

Paket PNetLab v8 menyediakan binary resmi pnetlab-update yang berfungsi memeriksa rilis terbaru dari channel yang dikonfigurasi, mengunduh paket APT baru, dan menerapkannya secara in-place:

Built-in Update Command
sudo pnetlab-update

Perintah ini adalah jalur pembaruan standar yang direkomendasikan README resmi. Selalu periksa changelog rilis sebelum memperbarui host lab produksi.

6.3 Metode 2: Network Installer + --no-cloud-uplink

Jika binary pnetlab-update belum tersedia atau Anda ingin menyinkronkan seluruh generic asset manifest dari awal, gunakan network install script dengan menambahkan flag pelindung --no-cloud-uplink agar konfigurasi bridge manajemen tidak terhapus (lihat pembahasan mendalam di Bab 7):

Network Installer Upgrade
curl -fsSL https://codeberg.org/api/packages/netkillui/generic/pnetlab-core-assets/0.channel/pnetlab-network-install-latest.sh   | sudo bash -s -- --yes --release latest --no-cloud-uplink

6.4 Metode 3: Manual Upgrade Fallback (dpkg -i + apt-get -f)

Jika mekanisme otomatis tidak dapat berjalan karena batasan jaringan atau kegagalan preflight script, dokumentasi resmi Codeberg menyediakan prosedur instalasi manual paket deb:

Manual Upgrade deb Package
# 1. Pastikan backup lab & konfigurasi interfaces sudah aman
# 2. Unduh paket rilis target (.deb) dari repo Codeberg
# 3. Eksekusi install paket secara langsung:
sudo dpkg -i pnetlab_<version>_amd64.deb

# 4. Selesaikan dependensi paket APT yang dibutuhkan:
sudo apt-get -f install

# 5. Reboot dan verifikasi service:
sudo reboot

6.5 Metode 4: Offline Tarball Bundle Upgrade (pnetlab-*-bundle.tgz)

Bagi host PNETLab v8 yang beroperasi pada lingkungan jaringan air-gapped (tanpa akses internet langsung) atau saat koneksi ke repositori upstream Codeberg dibatasi firewall, Anda dapat memanfaatkan berkas arsip bundle offline pnetlab-27H1-v8.62-6.8.62-resolute-bundle.tgz dari mirror ALSYUNDAWY:

Eksekusi Pembaruan Menggunakan Offline Tarball Bundle
# 1. Unduh berkas bundle atau transfer via SCP / WinSCP ke server lab:
wget -c https://repo.alsyundawy.com/PnetLab/pnetlab-27H1-v8.62-6.8.62-resolute-bundle.tgz

# 2. Buat direktori staging sementara dan ekstrak tarball bundle:
mkdir -p /root/pnetlab-bundle-staging
sudo tar -xzvf pnetlab-27H1-v8.62-6.8.62-resolute-bundle.tgz -C /root/pnetlab-bundle-staging

# 3. Masuk ke direktori hasil ekstraksi:
cd /root/pnetlab-bundle-staging

# 4. Jalankan script instalasi bundle jika ada, atau pasang deb in-place:
if [ -f "./install.sh" ]; then
    sudo bash ./install.sh
elif [ -f "./update.sh" ]; then
    sudo bash ./update.sh
else
    sudo dpkg -i *.deb || sudo apt-get -f install -y
fi

# 5. Lakukan perbaikan hak akses file unetlab dan restart service utama:
sudo /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
sudo systemctl restart apache2
sudo systemctl restart mysql 2>/dev/null || sudo systemctl restart mariadb 2>/dev/null
sudo systemctl restart docker 2>/dev/null || true

# 6. Verifikasi paket PNETLab yang terpasang:
dpkg -l | grep -i pnetlab
Metode bundle tarball menjamin dependensi dan paket inti terpasang secara deterministik tanpa risiko kegagalan unduhan di tengah instalasi.
9

Issue 2 — Held Packages Mematahkan Preflight APT

Setelah Check A lolos, installer resolve rilis (contoh RETEX: release=6.8.74resolute1 sequence=74), verifikasi pointer/manifest, lalu masuk:

Gagal Exact Simulation
=== preflight: exact transaction simulation (last gate before mutation) ===
ERROR: exact apt transaction simulation failed; no package mutation was attempted

Installer tidak menampilkan error APT mentah. Replay simulasi yang sama secara manual. Penyebabnya:

Error APT Asli
The following held packages will be changed:
  pnetlab-docker
  pnetlab-guacd
  pnetlab-qemu
  pnetlab-schema

E: Held packages were changed and -y was used without --allow-change-held-packages.

Ini bukan konflik dependensi. Transaksi bisa di-resolve; APT hanya menolak mengubah paket hold karena simulasi memakai apt-get install --simulate -y tanpa --allow-change-held-packages. (Catatan: log issue #19 untuk rilis lebih baru sudah menyertakan flag itu pada simulasi — perilaku bisa berubah per patch installer.)

8.1 Konfirmasi diagnosis

Simulasi dengan Allow-Change-Held
sudo apt-get install --simulate -y \
  --allow-change-held-packages \
  ca-certificates \
  curl \
  gnupg \
  iproute2 \
  mysql-server \
  openssl \
  php8.5-fpm \
  python3-pip \
  uml-utilities \
  inotify-tools \
  pnetlab=6.8.74resolute1 \
  pnetlab-docker=6.8.74resolute1 \
  pnetlab-guacd=6.8.74resolute1 \
  pnetlab-qemu=6.8.74resolute1 \
  pnetlab-schema=6.8.74resolute1 \
  pnetlab-vpcs=6.8.74resolute1 \
  docker-ce \
  docker-ce-cli \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin

Ganti pin versi 6.8.74resolute1 dengan rilis yang di-resolve installer Anda (6.8.79resolute1, dst.). Jika simulasi sukses, masalahnya hanya hold.

8.2 Workaround: unhold sementara

Unhold Empat Paket PNETLab
apt-mark showhold
sudo apt-mark unhold \
  pnetlab-docker \
  pnetlab-guacd \
  pnetlab-qemu \
  pnetlab-schema

Output yang diharapkan:

Konfirmasi Unhold
Canceled hold on pnetlab-docker.
Canceled hold on pnetlab-guacd.
Canceled hold on pnetlab-qemu.
Canceled hold on pnetlab-schema.
Dilaporkan upstream sebagai Codeberg Issue #7. Setelah upgrade selesai dan sistem stabil, Anda boleh meng-hold lagi paket tertentu — tetapi hold buta keempat paket inti justru akan mematahkan preflight berikutnya.
10

Transaksi APT & Instalasi yang Berhasil

Setelah unhold, jalankan ulang installer dengan flag jaringan:

Rerun Installer
curl -fsSL \
  https://codeberg.org/api/packages/netkillui/generic/pnetlab-core-assets/0.channel/pnetlab-network-install-latest.sh \
  | sudo bash -s -- \
    --yes \
    --release latest \
    --no-cloud-uplink

Pada RETEX 6.8.74, preflight lolos dan mutasi berjalan. Installer mengklaim sukses untuk:

  • Docker runtime verification + Docker-backed node smoke test
  • PNETLab broker socket, HTTP bridge, console mux, shell bridge, guac-lite, labstated
  • Kehadiran bridge pnet0pnet9 dan nat0
  • Schema verification, HTTPS login, API login

Akhir log:

Selesai menurut Installer
=== network install completed ===

State paket setelah RETEX 6.8.74:

dpkg -l pnetlab*
ii  pnetlab                 6.8.74resolute1
ii  pnetlab-bridge-dkms     6.8.74resolute1
ii  pnetlab-docker          6.8.74resolute1
ii  pnetlab-guacd           6.8.74resolute1
ii  pnetlab-qemu            6.8.74resolute1
ii  pnetlab-schema          6.8.74resolute1
ii  pnetlab-vpcs            6.8.74resolute1
Installer completed ≠ sistem bersih. Lanjut ke systemctl --failed, firewall, dan rencana reboot. Jangan reboot buta dari sesi SSH remote.
11

Issue 3 — Tiga Unit Systemd Store yang Gagal

Setelah instalasi:

Cek Unit Gagal
systemctl --failed

Tiga unit PNETLab yang gagal:

Tabel Status dan Analisis Unit Systemd Store PNETLab v8
Unit Gejala
harddisk_limit.service Unable to locate executable /opt/unetlab/html/store/app/Console/Commands/harddisk_limit
mysql_recovery.service Could not open input file: /opt/unetlab/html/store/artisan
process_limit.service Unable to locate executable /opt/unetlab/html/store/app/Console/Commands/process_limit

Ketiganya merujuk pohon /opt/unetlab/html/store/ — komponen Store lama yang sudah pensiun. Ini bukan sisa paket pnetlab-store yang terlupakan:

Siapa Pemilik Unit?
dpkg -S \
  /etc/systemd/system/harddisk_limit.service \
  /etc/systemd/system/mysql_recovery.service \
  /etc/systemd/system/process_limit.service

# Hasil RETEX 6.8.74:
# pnetlab: /etc/systemd/system/harddisk_limit.service
# pnetlab: /etc/systemd/system/mysql_recovery.service
# pnetlab: /etc/systemd/system/process_limit.service

dpkg -L pnetlab | grep -E 'harddisk_limit|mysql_recovery|process_limit'

Isi unit (masih dikirim paket pnetlab)

harddisk_limit.service
[Unit]
Description=Update Hard disk status
After=mysql.service

[Service]
ExecStart=/opt/unetlab/html/store/app/Console/Commands/harddisk_limit
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
mysql_recovery.service
[Unit]
Description=Check database
After=mysql.service

[Service]
ExecStart=/usr/bin/php /opt/unetlab/html/store/artisan mysql_recovery run
RemainAfterExit=false

[Install]
WantedBy=multi-user.target
process_limit.service
[Unit]
Description=Update RAM CPU status
After=mysql.service

[Service]
ExecStart=/opt/unetlab/html/store/app/Console/Commands/process_limit
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Workaround sementara — jangan hapus file milik paket

Disable + reset-failed
sudo systemctl disable --now \
  harddisk_limit.service \
  mysql_recovery.service \
  process_limit.service

sudo systemctl reset-failed \
  harddisk_limit.service \
  mysql_recovery.service \
  process_limit.service

systemctl --failed
Dilaporkan upstream sebagai Codeberg Issue #8. Fix yang benar: hentikan pengiriman unit usang, atau perbarui ExecStart ke path baru. Jangan rm unit milik paket pnetlab — dpkg akan mengembalikannya saat upgrade berikutnya.
12

Issue 4 — Guacamole-lite Restart-Loop (Codeberg Issue #19)

Pada instalasi bare-metal Ubuntu 26.04 rilis 6.8.78resolute1, proses bootstrap network installer terhenti fatal pada tahap akhir verifikasi service tingkat socket (socket-level verification gate). Laporan primer tercatat pada Codeberg Issue #19 (status: OPEN per 21 September 2026, 0 komentar maintainer upstream):

Bukti Log Kegagalan Installer (Issue #19)
[2026-09-13 15:16:21+0000] === socket-level service verification (restart-loop proof) ===
[2026-09-13 15:16:21+0000] socket OK: broker unix socket (pnetlab-brokerd.service; NRestarts=0)
[2026-09-13 15:16:22+0000] socket OK: HTTP bridge 127.0.0.1:8025 (pnet-http-bridge.service; NRestarts=0)
[2026-09-13 15:16:22+0000] socket OK: console mux telnet :8022 and VNC :6080 (pnet-console-mux.service; NRestarts=0)
[2026-09-13 15:16:22+0000] socket OK: shell bridge :8023 (pnet-shell-bridge.service; NRestarts=0)
[2026-09-13 15:16:22+0000] ERROR: pnet-guac-lite.service restart-loop evidence: NRestarts=45
[2026-09-13 15:16:22+0000] === network install stopped with exit 1 ===

11.1 Analisis Akar Masalah (Root Cause & Race Condition)

Pemeriksaan kode sumber installer pnetlab-network-install-latest.sh mengungkap mekanisme pembuktian restart-loop:

  • Fungsi assert_restart_clean(): Membaca systemctl show -p NRestarts --value "$unit". Jika nilai selain 0, installer langsung mengeksekusi die "$unit restart-loop evidence: NRestarts=...".
  • Kondisi Balapan (Race Condition): Paket pnetlab-guacd / pnet-guac-lite di-unpack dan otomatis distart oleh systemd saat transaksi APT berlangsung. Namun berkas lingkungan kunci enkripsi /etc/pnet-webconsole/guac.env (GUAC_CRYPT_KEY) baru dibuat jauh belakangan di fungsi configure_guac_key().
  • Akumulasi NRestarts: Selama installer mengunduh image container OCI dari Docker Hub (pnet-capture-web:1.0 yang memakan waktu ~42 detik), unit pnet-guac-lite.service gagal start secara berulang (Restart=always) dan menumpuk NRestarts=45. Bahkan setelah kunci di-generate dan port :8081 akhirnya berhasil listen, nilai counter systemd tetap 45 sehingga fungsi verifikasi menjatuhkan exit 1.

11.2 Perintah Diagnostik di Host Nyata

Jalankan perintah berikut pada terminal server Ubuntu 26.04 untuk memeriksa status rinci daemon HTML5 console:

Inspeksi Unit & Journalctl Guacamole
# 1. Cek status aktif, substate, dan counter restart:
systemctl show -p NRestarts,ActiveState,SubState,Result pnet-guac-lite.service

# 2. Periksa log detail kegagalan start daemon:
sudo journalctl -u pnet-guac-lite.service -n 80 --no-pager

# 3. Cek apakah socket port 8081 sedang mendengarkan:
sudo ss -lntp '( sport = :8081 )'

# 4. Pastikan file kunci enkripsi console valid (panjang 32 karakter base64):
sudo cat /etc/pnet-webconsole/guac.env

11.3 Prosedur Workaround & Reset Counter Systemd

Untuk menormalkan host tanpa mengulang proses install dari nol, buat berkas environment secara manual, reset counter failed systemd, dan restart service:

Workaround & Pemulihan pnet-guac-lite
# Langkah 1: Buat direktori dan kunci enkripsi 32-byte base64 jika belum ada
sudo install -d -m 0755 /etc/pnet-webconsole
if [ ! -s /etc/pnet-webconsole/guac.env ]; then
    GUAC_KEY=$(head -c 24 /dev/urandom | base64 | tr -d '
')
    printf 'GUAC_CRYPT_KEY=%s
' "$GUAC_KEY" | sudo tee /etc/pnet-webconsole/guac.env >/dev/null
    sudo chmod 0600 /etc/pnet-webconsole/guac.env
    sudo chown root:root /etc/pnet-webconsole/guac.env
fi

# Langkah 2: Sinkronisasi kunci ke file config PHP webconsole
if [ -f /etc/pnet-webconsole/console_config.php ]; then
    CURRENT_KEY=$(sed -n 's/^GUAC_CRYPT_KEY=//p' /etc/pnet-webconsole/guac.env | head -n1)
    sudo sed -i "s|define('GUAC_CRYPT_KEY', '[^']*');|define('GUAC_CRYPT_KEY', '$CURRENT_KEY');|"       /etc/pnet-webconsole/console_config.php
fi

# Langkah 3: Reset status failed dan restart service
sudo systemctl daemon-reload
sudo systemctl reset-failed pnet-guac-lite.service guacd.service
sudo systemctl restart guacd.service
sudo systemctl restart pnet-guac-lite.service

# Langkah 4: Validasi bahwa NRestarts telah kembali ke 0
systemctl show -p NRestarts,ActiveState pnet-guac-lite.service
sudo ss -ltnH 'sport = :8081'
Mitigasi Komunitas (Codeberg Issue #35): Penulis (Harry Dertin Sutisna Alsyundawy) telah mengusulkan perbaikan resmi pada skrip bootstrap komunitas di Codeberg Issue #35 dengan menulis guac.env sebelum mutasi APT dan mengeksekusi systemctl reset-failed sebelum probe socket dijalankan.
13

UFW Dihapus — Ganti iptables-persistent

Simulasi APT pada RETEX memuat:

Dampak Firewall
The following packages will be REMOVED:
  ufw

# dan menginstal:
iptables-persistent
netfilter-persistent

Jika host PNETLab remote mengandalkan UFW, Anda bisa terkunci setelah transaksi. Simpan aturan sebelum upgrade:

Snapshot Firewall
sudo ufw status verbose
sudo iptables-save
sudo ip6tables-save

Port yang biasanya dibutuhkan lab (sesuaikan, jangan buka 1–65535/tcp):

  • 22/tcp — SSH manajemen
  • 80/tcp & 443/tcp — Web UI / HTTPS
  • Console HTML5 / Guacamole sesuai binding installer
  • Jangan expose VNC/SPICE/QEMU monitor ke WAN
14

Networking sebelum Reboot

Karena --no-cloud-uplink, installer sengaja melewati provisioning uplink/NAT:

Peringatan Installer
cloud uplink/NAT : SKIPPED by --no-cloud-uplink.
net.ifnames=0 remains armed by the deb; confirm your own boot-time networking survives the rename.

Jika /etc/network/interfaces bergantung pada nama eth0, pastikan kernel cmdline masih menonaktifkan predictable names. Cek sebelum reboot remote:

Cek Nama Interface & Rute
cat /proc/cmdline
# cari net.ifnames=0

ip -br addr
ip route
ls /sys/class/net
systemctl is-enabled networking dhcpcd systemd-networkd NetworkManager 2>/dev/null
Reboot remote tanpa memastikan eth0/pnet0 akan kembali = risiko host hilang dari jaringan. Siapkan konsol out-of-band (iDRAC/iLO/IPMI/Proxmox VNC) sebelum reboot.
15

Validasi Runtime setelah Upgrade / Install

Paket, Service, Bridge
dpkg -l 'pnetlab*' | awk '/^ii/'
systemctl --failed
systemctl is-active mysql docker php8.5-fpm 2>/dev/null
ip -br link | grep -E 'pnet|nat0'
ss -lntp | egrep ':80|:443|:22'

# Nested virt masih hidup?
grep -E 'vmx|svm' /proc/cpuinfo | wc -l
lsmod | grep -E 'kvm|bridge|tun'

Jika binary update tersedia:

Channel Update Resmi
command -v pnetlab-update && sudo pnetlab-update
# Review changelog channel sebelum menerapkan ke host lab produksi
Kriteria “cukup aman dipakai”: paket ii pada versi target, systemctl --failed kosong (unit Store sudah di-disable), bridge pnet0–pnet9 + nat0 ada, UI HTTPS menjawab, satu node Docker/QEMU uji bisa start.

14.3 Daftar Bug Upstream Terverifikasi (Codeberg Issue #17 pada 6.8.77/6.8.78)

Berdasarkan pelacakan bug komunitas pada rilis 6.8.77 dan 6.8.78resolute1, beberapa anomali UI/runtime berikut telah diverifikasi dan perlu diantisipasi operator lab:

  • Bug 10 (Canvas Edit Box): Dialog box pengeditan objek/link/teks terkunci di sisi kanan canvas lab dan tidak dapat digeser bebas ke tengah/kiri canvas.
  • Bug 20 (Network Watcher Traffic Tooltip): Tooltip indikator tipe traffic jaringan tidak muncul saat cursor diarahkan ke link aktif ketika fitur Network Watcher berjalan.
  • Bug 23 (Advanced WAN netem): Konfigurasi delay/jitter/loss WAN (netem) ter-reset otomatis ke nilai awal setiap kali panel pengaturan ditutup.
  • Bug 28 (VPC Hostname DNS Resolution): Node VPCS tidak me-resolve hostname via DNS pada perintah ping default. Solusi: gunakan alamat IP langsung atau flag ping yang sesuai.
  • Bug 41 / Issue #29 (Alert Badge Running Node): Node lab yang sudah di-stop terkadang masih menampilkan badge status "Running" pada panel Running Labs.
16

First Login & Deploy Lab

  1. Buka https://<IP-manajemen>/ (terima sertifikat self-signed atau pasang cert sendiri).
  2. Selesaikan wizard awal. Mode offline komunitas biasanya memakai akun default platform; ganti password segera.
  3. Unggah image ke /opt/unetlab/addons/qemu/, iol/, atau lewat UI.
  4. Setelah menambah image:
Fix Permissions Image
sudo /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
# atau tombol Fix permissions di System settings UI

Uji lab minimal: 2 node (VPCS atau Docker) + satu cloud NAT. Pastikan console HTML5 dan packet capture berfungsi sebelum mengimpor topologi besar.

Image vendor (IOS, ASA, FortiGate, dst.) adalah tanggung jawab lisensi Anda. Tutorial ini tidak menyediakan image berhak cipta.
17

Security Baseline PNETLab v8

  • Jangan expose UI ke internet tanpa TLS + VPN / allowlist sumber.
  • Ganti semua default password; nonaktifkan akun yang tidak dipakai.
  • Setelah UFW hilang, tulis aturan iptables-persistent yang setara — atau pasang lagi UFW secara sadar jika Anda tahu konfliknya dengan netfilter-persistent.
  • Isolasi bridge lab (pnet1pnet9) dari jaringan kampus kecuali memang diperlukan.
  • Patch OS Resolute secara berkala, tetapi jangan apt full-upgrade membabi buta tanpa snapshot — kernel/DKMS bridge PNETLab sensitif.
  • Snapshot VM / ZFS sebelum setiap lompatan channel (6.8.74 → 6.8.79).
  • Audit PermitRootLogin: banyak tutorial lawas menyalakannya. Lebih aman key-only + user sudo.
18

Hal yang TIDAK Disarankan (Larangan Keras)

  • Mencoba melakukan upgrade dari PNETLab v4, v5, atau v6: DILARANG KERAS! TIDAK ADA opsi atau jalur upgrade dari generasi v4/v5/v6 berbasis Ubuntu 18.04/20.04 ke PNETLab v8 Ubuntu 26.04! Arsitektur database, daemon, PHP 8.5-FPM, dan systemd services v8 sepenuhnya berbeda. Upaya in-place upgrade dari v4/v5/v6 akan merusak total sistem operasi host.
  • Menyalin prosedur pnetlab.com 4.x / Ubuntu 18.04 ke host Resolute v8
  • Mencampur repositori lama deb http://repo.pnetlab.com dengan APT source Codeberg v8
  • Menjalankan loop skrip curl | bash berulang-ulang pada host yang sudah exit 1 tanpa memeriksa status marker /var/lib/pnetlab/network-install-owner dan status held packages
  • Mengabaikan kegagalan restart-loop pnet-guac-lite.service (Issue #19) atau membiarkan NRestarts > 0 saat validasi
  • Menjalankan installer tanpa --no-cloud-uplink pada host yang sudah punya /etc/network/interfaces custom
  • Membiarkan hold pada pnetlab-docker/guacd/qemu/schema lalu heran preflight gagal
  • Menghapus unit systemd milik paket pnetlab dengan rm
  • Reboot remote tanpa cek net.ifnames=0 dan rute default
  • Menganggap “installer completed” sebagai tanda nol technical debt
  • Menumpuk lab produksi di VM tanpa nested virt / tanpa snapshot
19

Urutan Final yang Direkomendasikan & Best Practices

PHASE 1 — Host Ubuntu 26.04

  1. OS update, pastikan VT-x/AMD-V, nested virt, hostname, SSH key
  2. Snapshot / backup image + interfaces + firewall

PHASE 2 — Fresh ATAU Upgrade (Pilihan Metode)

  1. Fresh (Opsi A - Network Install): network installer resmi --yes --release latest pada Ubuntu 26.04 bersih.
  2. Fresh (Opsi B - Turn-key OVA / Netinstall OVA): Deploy berkas PNetLab-27H1-v8.12.ova (siap pakai) atau PNetLab-27H1-v8-netinstall.ova dari mirror repo.alsyundawy.com/?berkas=PnetLab.
  3. Fresh (Opsi C - Full Standalone ISO): Booting bare-metal server fisik atau VM menggunakan media instalasi PNetLab-27H1-v8.12.iso.
  4. Existing Host (Opsi A - Built-in): Jalankan sudo pnetlab-update jika binary sudah tersedia.
  5. Existing Host (Opsi B - Jaringan Custom): Gunakan network installer dengan wajib menambahkan flag --no-cloud-uplink.
  6. Existing Host (Opsi C - Offline Air-gapped): Ekstraksi dan terapkan paket offline pnetlab-27H1-v8.62-6.8.62-resolute-bundle.tgz.
  7. Jika preflight APT gagal: replay simulasi, unhold empat paket (pnetlab-docker/guacd/qemu/schema), lalu jalankan kembali instalasi.

PHASE 3 — Debts pasca-installer

  1. Disable unit Store usang + reset-failed
  2. Pulihkan/tulis ulang firewall setelah UFW hilang
  3. Verifikasi cmdline & nama NIC sebelum reboot

PHASE 4 — Deploy lab

  • HTTPS UI, ganti password, fixpermissions, uji 2-node
  • Baru impor topologi besar / image vendor
Kesimpulan: jalur resmi v8 adalah network installer Codeberg di Ubuntu 26.04. Upgrade existing bisa selesai, tetapi RETEX 6.8.62→6.8.74 membuktikan tiga utang: jaringan admin harus dilindungi --no-cloud-uplink, hold paket mematahkan preflight, dan tiga unit systemd Store masih dikirim paket meski path-nya sudah mati. Treat installer sebagai orkestrator — validasi manual tetap wajib.
Sumber primer: netkillui/Pnetlabv8 · installer pnetlab-network-install-latest.sh · mirror repo.alsyundawy.com/?berkas=PnetLab · issue tracker Codeberg (#7 held packages, #8 systemd Store, #19 bare-metal install).
Dokumentasi teknis PNETLab v8 Unofficial — Riset, RETEX upgrade & penyusunan oleh ALSYUNDAWY IT SOLUTION