Fishing OS adalah live/rescue ISO berbasis Arch Linux untuk pengembang dan engineer DevOps. Boot dari USB atau mesin virtual, lalu langsung punya git, Docker, kubectl, Helm, Terraform, Ansible, toolchain pemrograman, dan desktop XFCE dengan Firefox tanpa instalasi apa pun.
Status: pengembangan aktif. ISO menyediakan live medium konsol (zsh) plus desktop XFCE (autologin
liveuser). Installer ke disk masih rencana fase 2.
- Unduh
- Verifikasi unduhan
- Menjalankan ISO
- Memulai
- Alat siap pakai
- Keterbatasan
- Membangun ISO
- Struktur repositori
- CI/CD dan rilis
- Masukan dan kontribusi
- Lisensi
Ambil rilis terbaru di halaman Releases. Setiap rilis berisi:
| Berkas | Fungsi |
|---|---|
fishing-os-VERSI-x86_64.iso |
Image live (BIOS dan UEFI) |
fishing-os-VERSI-x86_64.iso.sig |
Tanda tangan GPG untuk ISO |
sha256sums.txt |
Checksum SHA-256 |
sha256sums.txt.sig |
Tanda tangan GPG untuk checksum |
ci-key-fingerprint.txt |
Fingerprint kunci penandatangan |
ci-key.asc |
Kunci publik penandatangan (armored) |
VERSI mengikuti tag rilis vAAAA.BB.N (misalnya tag v2026.10.3 menghasilkan
fishing-os-2026.10.3-x86_64.iso). Jika rilis menyertakan tautan mirror
(Cloudflare R2), tautannya ada di catatan rilis.
Selalu verifikasi ISO sebelum dipakai. Rilis ditandatangani oleh kunci CI
Fishing OS. Kunci publiknya tersedia di dua tempat: aset ci-key.asc pada
halaman rilis, dan berkas ci-key.asc di repo ini. WKD aktif
sebagai jalur utama (gpg --auto-key-locate clear,wkd --locate-keys bangkah@mdhiyaulatha.me),
dan ci-key.asc sebagai cadangan.
| Identitas | Fishing OS CI <bangkah@mdhiyaulatha.me> |
| Jenis kunci | RSA 4096 |
| Fingerprint | 69AA 973A 33A3 930B B1C8 3850 F713 BCD7 D6E8 F591 |
Di Linux, macOS, atau WSL (ganti VERSI dengan versi yang kamu unduh):
VERSI=2026.10.3
# 1. Impor kunci publik (dari aset rilis, atau dari repo ini)
gpg --import ci-key.asc
# 2. Cocokkan fingerprint dengan tabel di atas
gpg --fingerprint bangkah@mdhiyaulatha.me
# 3. Verifikasi tanda tangan pada checksum
gpg --verify sha256sums.txt.sig sha256sums.txt
# 4. Cocokkan checksum ISO
sha256sum -c --ignore-missing sha256sums.txt
# 5. (Opsional) verifikasi tanda tangan ISO secara langsung
gpg --verify fishing-os-$VERSI-x86_64.iso.sig fishing-os-$VERSI-x86_64.isoHasil yang benar pada langkah 3 dan 5 adalah
Good signature from "Fishing OS CI <bangkah@mdhiyaulatha.me>".
Peringatan The key's User ID is not certified with a trusted signature itu
normal untuk kunci yang baru kamu ambil: artinya kamu belum menyatakan
mempercayainya, bukan tanda tangannya salah. Yang penting, baris
Primary key fingerprint harus sama persis dengan fingerprint di atas.
Di Windows tanpa gpg, kamu bisa mencocokkan checksum dengan PowerShell:
Get-FileHash .\fishing-os-VERSI-x86_64.iso -Algorithm SHA256Hasilnya harus sama dengan baris untuk ISO di sha256sums.txt. Untuk
memverifikasi tanda tangan, pakai Gpg4win atau WSL.
Cocokkan fingerprint dari sedikitnya dua sumber yang berbeda, misalnya README ini dan halaman rilis (
ci-key-fingerprint.txt). Kunci yang diambil dari satu tempat saja belum membuktikan apa-apa. Kunci CI dirotasi berkala; pengumuman rotasi dan fingerprint baru dipublikasikan di halaman rilis.
Mesin virtual (disarankan untuk mencoba). RAM 2 GB atau lebih, satu CPU atau lebih. Contoh dengan QEMU (mode BIOS):
qemu-system-x86_64 -enable-kvm -m 4G -smp 2 \
-cdrom fishing-os-VERSI-x86_64.iso -boot dUntuk mode UEFI tambahkan firmware OVMF sesuai distro kamu. Di VirtualBox, VMware, atau Hyper-V, pasang ISO sebagai DVD.
USB. Tulis ISO sebagai image mentah (jangan sekadar menyalin berkas):
sudo dd if=fishing-os-VERSI-x86_64.iso of=/dev/sdX bs=4M status=progress oflag=syncGanti /dev/sdX dengan perangkat USB yang benar; perintah ini menghapus
seluruh isinya. Di Windows gunakan Rufus dengan mode DD Image, atau Ventoy.
Secure Boot harus dimatikan di firmware, karena bootloader belum ditandatangani untuk Secure Boot.
Menu boot menyediakan entri live, opsi with speech (pembaca layar), memtest86+,
dan HDT (informasi perangkat keras). Setelah login, LightDM masuk otomatis ke
sesi XFCE sebagai liveuser.
Setelah boot, LightDM masuk otomatis ke desktop XFCE sebagai liveuser.
Untuk bekerja di konsol, buka terminal (mis. xfce4-terminal) atau tekan
Ctrl+Alt+F2 untuk TTY; shell default adalah zsh.
# Cek versi semua alat pemrograman
fishing-check
# Jalankan Docker daemon
sudo fishing-container up
# Setup awal: user dev, layanan, sudo
sudo fishing-setup| Perintah | Fungsi |
|---|---|
fishing-check |
Menampilkan alat yang terpasang beserta versinya |
fishing-container up | down | status |
Mengelola Docker daemon |
fishing-setup |
Mengaktifkan layanan jaringan dan membuat user dev (wheel, docker) |
Jaringan. Ethernet, WLAN, dan WWAN memakai systemd-networkd dan DHCP
otomatis. Untuk Wi-Fi pakai iwctl:
iwctl
# di dalam iwctl: station wlan0 scan, station wlan0 get-networks,
# station wlan0 connect NAMA-WIFICatatan Docker. Daemon dijalankan manual dan image disimpan di RAM
(tmpfs), jadi image besar menghabiskan memori. Periksa dengan
sudo fishing-container status.
| Kategori | Alat |
|---|---|
| Version control | git, gh |
| Kontainer | docker, docker-compose |
| Orkestrasi | kubectl, helm |
| IaC dan konfigurasi | terraform, ansible (ansible-core) |
| Bahasa | python3 dan pip, nodejs dan npm, go |
| Build | make, cmake, gcc, gdb |
| Jaringan dan debug | curl, wget, jq, tcpdump, nmap, socat, mtr, traceroute, ssh, iproute2 |
| Shell dan editor | zsh, fish, bash, vim, neovim, nano, tmux, fzf, bat, fd, ripgrep, htop |
| Desktop | XFCE (xfce4, xfce4-goodies), LightDM, Firefox |
| Informasi sistem | fastfetch (logo huruf F), htop, dmidecode |
| Perangkat keras | dmidecode, pciutils, usbutils, memtest86+ |
| Aksesibilitas | espeak-ng dan espeakup (opsi boot with speech) |
Ansible dibawa sebagai ansible-core (tanpa koleksi lengkap) supaya ISO tetap
kecil. Pasang koleksi yang kamu perlukan dengan ansible-galaxy collection install.
Fishing OS adalah live/rescue medium, bukan sistem yang dipasang ke disk.
rootdanliveusertanpa password adalah perilaku bawaan live medium (sama seperti Arch ISO). Layanansshdaktif secara bawaan. Userdevdarifishing-setupmemakai password yang kamu atur dan sudo tanpa password. Jangan pakai di jaringan yang tidak tepercaya tanpa mengganti kredensial.- Semua perubahan hilang setelah reboot. Installer ke disk belum ada (fase 2).
- Batas ukuran ISO 2000 MiB mengikuti batas berkas GitHub Releases; penambahan desktop dan Firefox masih berada dalam batas ini.
- Secure Boot tidak didukung (lihat bagian menjalankan ISO).
- ISO tidak memuat repositori paket sendiri;
pacmanmemakai mirror Arch resmi.
Butuh Arch Linux (atau container Arch) dengan paket archiso:
sudo pacman -S archiso
sudo mkarchiso -v -w work -o out profileHasilnya ada di out/. Build lokal memakai nilai rolling pada /etc/os-release;
build CI mengisinya dengan versi ISO.
Uji cepat sebelum merilis (butuh qemu-system-x86_64 dan xorriso):
bash tests/check_bootmenu.sh # validasi label/entri menu boot
bash tests/test_iso.sh out/*.iso # boot ISO di QEMU + smoke test internaltest_iso.sh mengekstrak kernel dan initramfs dari ISO, mem-boot-nya di QEMU
dengan fishing.test=1, lalu mewajibkan penanda FISHING-SMOKETEST: PASS dari
fishing-smoketest.service di konsol serial.
.
├── profile/ Profil archiso
│ ├── profiledef.sh Metadata ISO
│ ├── packages.x86_64 Daftar paket
│ ├── pacman.conf
│ ├── airootfs/ Isi sistem live (konfigurasi, skrip fishing-*)
│ ├── syslinux/ Menu boot BIOS
│ ├── efiboot/ Menu boot UEFI (systemd-boot)
│ └── grub/ Konfigurasi GRUB
├── tests/ check_bootmenu.sh, test_iso.sh
├── docs/SRS.md Spesifikasi kebutuhan perangkat lunak
└── .github/workflows/ Pipeline CI/CD
| Workflow | Pemicu | Isi |
|---|---|---|
lint.yml |
push dan PR ke main |
shellcheck, yamllint, berkas kosong, branding menu boot, validasi menu boot, ketersediaan paket |
ci.yml |
push dan PR ke main |
build ISO (batas 2000 MiB) dan smoke test di QEMU |
nightly.yml |
mingguan | build dengan repositori Arch terbaru; membuka issue otomatis bila gagal |
release.yml |
tag v* |
build, smoke test, tanda tangan GPG, mirror R2 (opsional), publikasi GitHub Release |
build.yml |
dipanggil workflow lain | build dan smoke test (reusable) |
Untuk merilis: pastikan CI di main hijau, lalu beri tag dan push.
git tag v2026.10.4
git push origin v2026.10.4Rilis GitHub tetap menjadi kanal utama. Jika secrets R2 terisi, release.yml
juga mengunggah artefak ke releases/<tag>/ di bucket R2 dan menambahkan
tautan mirror ke catatan rilis. Jika belum diisi, job mirror dilewati dengan
peringatan dan rilis GitHub tetap berjalan.
| Tipe | Nama | Isi |
|---|---|---|
| Secret | R2_ACCOUNT_ID |
Account ID Cloudflare |
| Secret | R2_ACCESS_KEY_ID |
Access Key ID token R2 |
| Secret | R2_SECRET_ACCESS_KEY |
Secret Access Key token R2 |
| Secret | R2_BUCKET |
Nama bucket |
| Variable | R2_PUBLIC_BASE_URL |
URL publik bucket, tanpa slash akhir |
Verifikasi unduhan dari mirror sama dengan kanal GitHub: checksum dan tanda tangan GPG yang sama.
Proyek ini terbuka untuk masukan, kritik, dan saran. Silakan buka
GitHub Issues, atau kirim
Pull Request ke main. Sebelum mengirim PR, jalankan shellcheck pada skrip
yang kamu ubah dan bash tests/check_bootmenu.sh; lint.yml memeriksa hal yang
sama.
Rencana dan keputusan desain ada di docs/SRS.md.
Kode dan konfigurasi profil ini dilisensikan di bawah GNU GPL v3
(lihat LICENSE). Paket-paket di dalam ISO memiliki lisensi
masing-masing dari repositori Arch Linux.
Bagian dari gudang project publik Bangkah — dokumentasi dan alat developer di satu domain.