Anda merasa bosan saat cuti kerja? Mungkin melakukan upgrade Linux bisa jadi salah satu opsi selain main game seharian (atau mengajak anak istri main ke luar rumah). Dengan melakukan upgrade, niscaya tak terasa waktu berlalu begitu cepat.
Semenjak beli laptop Thinkpad (bekas) setahun lalu, laptop Lenovo yang sudah menemani perjalanan hidup dari 2016, sudah tidak pernah lagi dibuka. Laptop yang cukup tebal ini hanya disimpan di lemari baju, tertutupi tumpukan baju.
Mumpung sekarang proyek BlankOn kembali berjalan, rencananya saya mau pasang distro kebanggaan anak bangsa tersebut di laptop ini. Meski sudah berumur, harddisknya cukup besar. Selain dipasang harddisk sebesar 500GB, juga sudah ditambah SSD sebesar 250GB.
Di laptop ini pun sudah bersarang beberapa distro, baik yang masih bisa dibuka maupun yang sudah tewas. Setidaknya ada 3 distro yang aktif, Ubuntu 22.04 dan Debian Bookworm yang dipasang di SSD, serta Debian Bullseye di harddisk. Dua distro lain, openSUSE dan Fedora, sepertinya sudah tidak bisa diakses, hanya tersisa grubnya saja.
Selain ingin pasang BlankOn, saya pun berencana ingin membuat semacam homeserver di laptop ini sebagai sarana belajar. Syukur-syukur bisa sampai bikin semacam NAS (karena masih banyak ruang kosongnya). Karena itulah saya coba pasang ssh-server di Ubuntu 22.04 LTS.
Setelah memecut Gemini supaya bisa setting ssh, saya cobalah login dari laptop baru yang bekas itu lewat ssh. Setelah beberapa kali percobaan akhirnya 15 menit sebelum jumatan saya sudah berhasil login via ssh. Sebuah kemajuan.
Nah, karena Ubuntu yang dipakai masih versi lawas (padahal LTS), isenglah saya googling dan nanya Gemini cara upgrade Ubuntu ke versi LTS berikutnya, yaitu 24.04. Prosesnya ternyata tidak rumit-rumit amat.
Dengan kesadaran penuh, saya pun iseng menjalankan perintah agama sudo do-release-upgrade. Hasilnya, ternyata banyak paket yang harus dipasang, dipudate, maupun dihapus. Karena pasti lama, laptop pun saya tinggal untuk beli makan siang, berharap setelah balik, semuanya sudah beres.
Kenyataannya tidak.
Karena lama ditinggal, kedua laptop masuk mode sleep. Saya pun kembali menyalakan kedua laptop, dan di Powersheel ada pesan error:
client_loop: send disconnect: Connection reset
Saya coba login lagi via ssh, tapi gagal. Untungnya, laptop Ubuntu masih nyala dan tidak ada error apapun. Saya pun coba lanjutkan upgrade langsung di laptop, tak lagi via ssh. Tapi error. Sepertinya proses upgrade masih berjalan di belakang layar. Karena ketika coba sudo do-release-upgrade lagi, muncul error seperti ini:
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock. It is held by process 46164 (dpkg)
Karena tidak selesa-selesai, akhirnya saya bunuh itu proses dengan perintah sapu jagat, sudo kill 46164. Selesai? Tentu saja belum. Kali ini malah proses apt-nya semakin bermasalah. Mulai dari tidak bisa konek ke repo (padahal ping ke 1.1.1.1 aman, yang artinya ada isu di DNS), hingga muncul error misterius yang mirip log crash. Karena gagal terus, akhirnya saya coba reboot, dengan harapan mungkin ada proses yang harus di-reboot supaya tuntas.
Alih-alih selesai, masalahnya kini makin bertambah. Kali ini grub Ubuntu yang bermasalah, yang artinya saya tidak bisa masuk sama sekali. Meski masuk, tapi malah ke mode teks, itupun saya tidak bisa mengetik apapun.
Untunglah ternyata di sistem EFI, kita bisa bikin banyak grub, dan masing-masing distro bisa punya grub masing-masing. Maka di BIOS, saya ubah urutan bootingnya dengan Debian di paling atas, sehingga saya bisa masuk ke Debian. Rencananya, dari Debian saya akan jalankan sudo update-grub agar Ubuntu muncul di grub Debian.
Kenyataannya jauh panggang dari api. Meski berulangkali coba update grub, si Ubuntu tidak juga terbaca sama Debian. Padahal menurut Gemini, seharusnya bisa. Selidik punya selidik, ternyata ini karena Ubuntu pakai filesystem btrfs, sementara Debian masih pakai yang lawas, ext4.
Dari penjelasan Gemini, saya harus masukkan entri Ubuntu secara manual di /etc/grub.d/40_custom, barulah Debian bisa membacanya. Kira-kira datanya seperti ini:
menuentry 'Ubuntu (Noble)' --class ubuntu --class gnu-linux {
insmod part_gpt
insmod btrfs
search --no-floppy --fs-uuid --set=root UUID-punya-ubuntu
linux /@/boot/vmlinuz root=UUID=UUID-punya-ubuntu ro rootflags=subvol=@ quiet splash
initrd /@/boot/initrd.img
}
Benar saja, ketika saya reboot, di grub Debian akhirnya si Ubuntu muncul. Masalah selesai? Tentu saja tidak. Ubuntunya masih ngambek dan malah restart terus menerus. Untungnya ada mode recovery.
Dari mode inilah saya coba perbaiki dan menyelesaikan upgrade yang belum tuntas. Long stry short, sebelum magrib akhirnya proses upgrade sudah selesai. Sebuah proses yang cukup panjang, hampir seharian hanya ngulik masalah dpkg dan apt gara-gara iseng upgrade via ssh.
Pelajaran hari ini: Kalau mau menghabiskan cuti di laptop seharian, silakan upgrade Linux anda. Atau kalau mau lebih menantang, install Gentoo bisa dicoba.