Perintah hostnamectl Linux: periksa dan ganti nama host

Perintah hostnamectl menampilkan hostname atau nama host beserta informasi sistem pada lingkungan systemd. Perintah ini juga dapat mengganti nama host; periksa mesin tujuan dan ketergantungan layanan sebelum menjalankan perintah perubahan.

Informasi status dapat mencakup sistem operasi, kernel, dan arsitektur. Mengubah nama lokal tidak otomatis memperbarui catatan DNS, yaitu catatan pemetaan nama dalam layanan Domain Name System, atau seluruh pengaturan layanan yang memakai nama lama.

Sintaks dan prasyarat

hostnamectl [PERINTAH] [ARGUMEN]

PERINTAH dan ARGUMEN adalah penanda, bukan teks yang diketik secara harfiah. Panduan ini membahas hostnamectl dari systemd, bukan perintah hostname dari paket lain. Periksa hostnamectl --version, hostnamectl --help, dan man hostnamectl pada mesin yang akan dikelola.

Versi lama mendokumentasikan set-hostname NAMA untuk perubahan. Manual systemd terbaru mendokumentasikan hostname NAMA, yang ditambahkan pada versi 249. Contoh set-hostname di bawah mengikuti bentuk pada sumber panduan ini; pilih bentuk yang tersedia dalam bantuan versi terpasang. Jangan menganggap perintah baru tersedia pada semua distribusi.

Periksa nama dan informasi sistem

hostnamectl status

Jalankan pemeriksaan ini lebih dahulu untuk memastikan mesin yang sedang Anda kelola. Tanpa perintah tambahan, hostnamectl juga menjalankan pemeriksaan status. Bidang yang muncul dapat berbeda menurut versi systemd dan lingkungan; jangan mengharapkan semua mesin memiliki susunan keluaran yang sama.

Bedakan tiga jenis nama berikut sebelum mengubahnya:

  • Static hostname: nama yang dikonfigurasi pengguna dan disimpan dalam /etc/hostname.
  • Transient hostname: nama sementara atau cadangan yang dapat berasal dari konfigurasi jaringan. Nama static yang valid mendapat prioritas; transient bukan selalu nama aktif yang menggantikan static.
  • Pretty hostname: nama tampilan untuk manusia, yang dapat memuat spasi dan karakter khusus. Nama ini berbeda dari nama teknis yang dipakai sistem.

Untuk mencatat masing-masing nilai sebelum perubahan, gunakan hostnamectl --static, hostnamectl --transient, dan hostnamectl --pretty secara terpisah. Simpan hasilnya di catatan administrasi, termasuk jika suatu nilai kosong. Definisi jenis nama tersedia dalam manual hostnamectl systemd terbaru.

Tampilkan hanya nama static

hostnamectl --static

Gunakan bentuk ini ketika hanya membutuhkan nama yang dikonfigurasi, misalnya saat mencatat identitas server. Hasil kosong tidak sama dengan nama contoh di bawah: periksa status dan konfigurasi mesin sebelum menarik kesimpulan.

Nama static berkaitan dengan konfigurasi /etc/hostname. Pedoman nama serta urutan pemilihannya dijelaskan dalam manual konfigurasi hostname systemd. Sebuah nama yang tersimpan tidak dengan sendirinya membuktikan bahwa DNS mengarah ke alamat mesin tersebut.

Ganti nama host dengan memeriksa dampaknya

  1. Pastikan sesi terminal berada pada server yang benar. Catat semua jenis nama lama serta ketergantungan DNS, /etc/hosts, sertifikat, pemantauan, dan konfigurasi aplikasi.
  2. Pilih nama pengganti yang sesuai kebijakan lingkungan. Gunakan contoh berikut hanya pada mesin yang memang hendak Anda ubah dan bila bantuan lokal mendukung set-hostname. Perubahan memerlukan otorisasi; sudo dapat meminta autentikasi.
sudo hostnamectl set-hostname web01.example.test

web01.example.test adalah nama contoh, bukan alamat server yang sudah disediakan. Ganti dengan nama yang telah Anda rencanakan. Tanpa pembatas jenis nama, operasi perubahan dapat mengubah static, transient, dan pretty sekaligus. Jika hanya ingin satu jenis, periksa penggunaan --static, --transient, atau --pretty bersama perintah perubahan dalam manual versi lokal.

  1. Periksa hasil segera dengan kueri berikut. Perintah perubahan biasanya tidak menghasilkan pesan saat berhasil, sehingga ketiadaan pesan saja belum cukup untuk memeriksa hasil.
hostnamectl --static

Contoh keluaran jika nama static sudah disetel ke nama tersebut:

web01.example.test

Lanjutkan dengan hostnamectl status dan pemeriksaan layanan serta resolusi nama yang digunakan lingkungan Anda. Jangan menyimpulkan bahwa catatan DNS, /etc/hosts, atau sertifikat sudah ikut berubah hanya karena kueri static menampilkan nama baru.

Opsi dan bentuk yang perlu dibedakan

Bentuk Kegunaan
status Menampilkan nama host dan informasi sistem terkait.
--static Memilih nama static. Tanpa perintah perubahan, menampilkan nama itu saja.
--transient Memilih nama transient, yaitu nama cadangan dari konfigurasi sementara.
set-hostname NAMA Bentuk perubahan pada versi yang mendukungnya; periksa bantuan lokal.
--pretty Memilih nama tampilan yang mudah dibaca manusia.

Opsi pemilih jenis nama memiliki arti berbeda menurut operasinya: pada pemeriksaan, opsi membatasi nama yang ditampilkan; pada perubahan, opsi membatasi jenis nama yang diubah. Bentuk set-hostname dan perilaku pemilihnya didokumentasikan dalam manual hostnamectl untuk systemd 247.

Menangani kegagalan dan mengembalikan nama

Jika muncul kesalahan koneksi ke bus atau layanan hostname, pastikan lingkungan memang menyediakan systemd dan layanan systemd-hostnamed yang dapat diakses. Memiliki berkas program hostnamectl saja belum cukup. Kontainer minimal, lingkungan chroot, atau sistem tanpa systemd dapat tidak menyediakan layanan tersebut; menambahkan sudo tidak otomatis memperbaikinya.

Jika perubahan ditolak karena otorisasi, periksa akun dan kebijakan administrasi. Jika bentuk perintah tidak dikenali, cocokkan dengan --help serta man hostnamectl dari instalasi tersebut. Jangan mengubah pengaturan keamanan hanya agar contoh ini bisa dijalankan.

Untuk mengembalikan perubahan, gunakan nilai lama yang sudah dicatat. Jika ketiga jenis nama sebelumnya sama, setel kembali nama lama melalui perintah perubahan yang didukung. Jika sebelumnya berbeda, pulihkan tiap jenis dengan pemilih yang sesuai; mengembalikan static saja tidak menjamin pretty dan transient juga kembali. Periksa ketiga hasilnya dan pulihkan perubahan terkait DNS atau aplikasi secara terpisah jika sebelumnya Anda mengubahnya.

FAQ

Apakah mengganti hostname dengan hostnamectl juga mengganti DNS?

Tidak secara otomatis. Konfigurasi nama host lokal, catatan DNS, dan entri /etc/hosts merupakan pengaturan yang perlu diperiksa terpisah. Layanan yang masih memakai nama lama juga perlu ditinjau.

Mengapa terminal masih menampilkan nama lama setelah perubahan?

Tampilan prompt dapat menggunakan nilai yang sudah dibaca sebelumnya atau konfigurasi shell tersendiri. Gunakan kueri hostnamectl untuk memeriksa konfigurasi, lalu periksa bagaimana prompt atau aplikasi tersebut memperoleh namanya; tampilan terminal saja bukan bukti perubahan gagal.