Trik Mencari File Cepat di Terminal: Niat Hati Install mlocate di Alpine Linux, Malah Nemu plocate yang 50x Lebih Ngebut

Daftar Isi

Halo Sobat, kali ini saya mau berbagi sedikit catatan teknis dan pengalaman menarik seputar pengelolaan server Linux, khususnya di Alpine Linux. Saat kita mengelola server produksi dan perlu mencari file konfigurasi secara cepat—misalnya nginx.conf—perintah locate adalah senjata andalan kita. Dibanding perintah find yang memindai seluruh direktori secara real-time dan makan waktu lama, locate jauh lebih praktis karena membaca database indeks.

Namun, pas kemarin saya mencoba menginstal paket mlocate di Alpine Linux, saya sempat dibuat bingung oleh pesan error bentrok paket, bahkan sampai salah ketik perintah karena panik! Di artikel ini, saya bagikan cerita lengkapnya dari error awal hingga solusi mudahnya agar Sobat tidak perlu mengalami kebingungan yang sama.

1. Cerita Kesalahan Awal: Konflik Paket dan Typo Panik

Awalnya saya berasumsi sangat sederhana: tinggal jalankan apk add mlocate lalu selesai. Tapi terminal Alpine justru menolak instalasi tersebut dengan pesan konflik paket:

localhost:/home/ripanel/mysql# apk add mlocate
fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
ERROR: unable to select packages:
  mlocate-0.26-r9:
    conflicts: plocate-1.1.23-r0[cmd:updatedb=0.26-r9]
    breaks: plocate-1.1.23-r0[!mlocate]
    satisfies: world[mlocate]
  plocate-1.1.23-r0:
    conflicts: mlocate-0.26-r9[cmd:updatedb=1.1.23-r0]
    satisfies: world[plocate]

Karena bingung, saya coba memanggil perintah locate dan hasilnya gagal:

localhost:/home/ripanel/mysql# locate nginx
-sh: locate: not found

Mikir database-nya belum di-update, saya terburu-buru mengetikkan perintah hingga terjadi typo konyol, sebelum akhirnya membenarkannya:

# Typo karena buru-buru
localhost:/home/ripanel/mysql# updaedb
-sh: updaedb: not found

# Memperbarui database indeks
localhost:/home/ripanel/mysql# updatedb

# Dicoba lagi, tetap tidak bisa!
localhost:/home/ripanel/mysql# locate nginx
-sh: locate: not found

localhost:/home/ripanel/mysql# mlocate nginx
-sh: mlocate: not found

2. Plot Twist: Kenapa plocate Ternyata Lebih Unggul?

Setelah saya amati lagi baris log satisfies: world[plocate], barulah terungkap penyebabnya: sistem Alpine Linux saya ternyata sudah terpasang paket bernama plocate!

Sebagai pemain lama di dunia Linux, kita mungkin sudah terbiasa dengan mlocate yang legendaris. Tapi tahukah Sobat? plocate adalah proyek modern diciptakan tahun 2020 yang jauh lebih superior dibanding mlocate:

  • Pencarian Ekstrem (20x – 50x Lebih Cepat): plocate memanfaatkan fitur io_uring pada kernel Linux modern untuk membaca data secara asinkron dan paralel di SSD/NVMe.
  • Database Lebih Hemat: Struktur indeksnya dikompresi sedemikian rupa sehingga ukuran file database di sistem Sobat bisa hemat hingga 50%.
  • Sangat Ringan: Penggunaan CPU dan RAM saat proses updatedb berjalan jauh lebih rendah dibanding mlocate.

3. Mengapa Alpine Linux Mengadopsinya?

Alpine Linux sangat menjunjung tinggi prinsip efisiensi dan ukuran yang minimalis. Karena itulah sejak Alpine v3.16 (dirilis Mei 2022), Alpine menjadikan plocate sebagai standar utama pengganti mlocate.

Distro besar lain seperti Ubuntu (sejak 21.10 / 22.04 LTS) dan Debian (sejak Debian 11/12) juga sudah beralih ke plocate. Bedanya, Ubuntu otomatis membuatkan alias ke perintah locate, sedangkan Alpine membiarkannya tetap bernama plocate agar sistem tetap bersih.

4. Solusi Agar Perintah “locate” Tetap Bisa Digunakan

Agar jemari Sobat yang sudah terbiasa mengetik locate tidak perlu berubah, kita tidak perlu membuang plocate. Cukup buatkan symbolic link (symlink) satu kali di direktori sistem:

# Buat symlink dari plocate ke locate
ln -s /usr/bin/plocate /usr/bin/locate

# Sekarang jalankan perintah pencarian seperti biasa!
locate nginx

Alternatif lainnya, Sobat juga bisa menambahkan alias pada file konfigurasi shell ~/.profile:

echo "alias locate='plocate'" >> ~/.profile
source ~/.profile

Nah, itu dia catatan singkat dari eksperimen saya kali ini. Semoga tulisan ini membantu Sobat yang sempat kebingungan saat hendak memakai perintah locate di Alpine Linux!

Tinggalkan Balasan

Informasi kontak Anda tidak akan dipublikasikan. Kolom yang wajib diisi ditandai *. Notifikasi akan dikirim ke telegram untuk mempercepat tanggapan komentar