xbps-alternatives

xbps-alternatives adalah utilitas XBPS untuk mengelola sistem alternatives — mekanisme yang memungkinkan beberapa paket menyediakan fungsionalitas yang sama melalui file yang seharusnya saling konflik, dengan cara membuat symlink dari path umum ke versi spesifik yang dipilih pengguna.

Cara Kerja

Alternatives dikelompokkan dalam group. Setiap group berisi sejumlah symlink yang diterapkan saat group tersebut diaktifkan.

  • Saat paket diinstal → alternative group-nya didaftarkan ke database paket (pkgdb).
  • Saat paket dihapus → alternative group-nya dihapus dari pkgdb. Jika masih ada provider lain, provider sebelumnya otomatis menjadi default.

Contoh: nano dan vim keduanya bisa menyediakan /usr/bin/editor. Dengan alternatives, pengguna bisa memilih salah satu tanpa harus menghapus yang lain.

Perintah

Melihat Daftar Alternatives

# Semua alternative group yang terinstal
xbps-alternatives -l

# Alternatives dari paket tertentu
xbps-alternatives -l <paket>

# Group tertentu saja
xbps-alternatives -l -g <group>

# Alternatives yang tersedia di repositori (belum tentu terinstal)
xbps-alternatives -R -l

Mengatur Alternatives

# Set semua group dari suatu paket
xbps-alternatives -s <paket>

# Set hanya group tertentu dari suatu paket
xbps-alternatives -s <paket> -g <group>

Contoh Penggunaan

Ganti Default Editor

# Lihat alternatives untuk group editor
xbps-alternatives -l -g editor

# Ganti ke vim
xbps-alternatives -s vim -g editor

Ganti Versi Java

# Lihat alternatives untuk group java
xbps-alternatives -l -g java

# Gunakan OpenJDK 17
xbps-alternatives -s openjdk17 -g java

Contoh Output

$ xbps-alternatives -l

java:
  current: /usr/lib/jvm/java-11-openjdk/bin/java -> /usr/bin/java
  available:
    java-11-openjdk: /usr/lib/jvm/java-11-openjdk/bin/java (current)
    java-17-openjdk: /usr/lib/jvm/java-17-openjdk/bin/java

editor:
  current: /usr/bin/vim -> /usr/bin/editor
  available:
    nano: /usr/bin/nano
    vim: /usr/bin/vim (current)

Provider yang sedang aktif ditandai dengan (current).

Perbandingan dengan Distro Lain

DistroToolContoh Perintah
T4n OS / Voidxbps-alternativesxbps-alternatives -s <paket> -g <group>
Debian / Ubuntuupdate-alternativesupdate-alternatives --config <group>
Arch LinuxTidak ada bawaan

File Terkait

PathKeterangan
/var/db/xbps/pkgdb-0.38.plistDatabase paket tempat alternatives dicatat
/etc/xbps.d/Konfigurasi XBPS kustom
/usr/share/xbps.d/Konfigurasi XBPS default sistem

Referensi


@T4n-Labs · @Gh0sT4n