Saya telah memperhatikan bahwa metode "pilihan" pengaturan nama host sistem pada dasarnya berbeda antara sistem Red Hat / CentOS dan Debian / Ubuntu.
Dokumentasi CentOS dan panduan penyebaran RHEL mengatakan bahwa nama host haruslah FQDN :
HOSTNAME=<value>
, di mana<value>
seharusnya Nama Domain Sepenuhnya Memenuhi Syarat (FQDN), sepertihostname.example.com
, tetapi dapat berupa nama host apa pun yang diperlukan.
The RHEL panduan menginstal sedikit lebih ambigu:
Setup meminta Anda untuk memberikan nama host untuk komputer ini, baik sebagai nama domain yang memenuhi syarat (FQDN) dalam format hostname.domainname atau sebagai nama host pendek dalam format nama host .
Referensi Debian mengatakan bahwa nama host tidak boleh menggunakan FQDN :
3.5.5. Nama inang
Kernel mempertahankan nama host sistem . Skrip init di runlevel S yang disinkronkan dengan " /etc/init.d/hostname.sh " menetapkan nama host sistem saat boot (menggunakan perintah hostname ) ke nama yang disimpan dalam " / etc / hostname ". File ini hanya boleh berisi nama host sistem, bukan nama domain yang sepenuhnya memenuhi syarat.
Saya belum melihat rekomendasi khusus dari IBM tentang yang harus digunakan, tetapi beberapa perangkat lunak tampaknya memiliki preferensi.
Pertanyaan saya:
- Dalam lingkungan yang heterogen, apakah lebih baik menggunakan rekomendasi vendor, atau memilih satu dan konsisten di semua host?
- Perangkat lunak apa yang Anda temui yang sensitif terhadap apakah nama host diatur ke FQDN atau nama pendek?
sumber
hostname
menjadi FQDN. Hanya memilikinya/etc/hosts
tidak cukup baik. Itu mengacaukan konsistensi saya./etc/sysconfig/network
mengandung baris seperti:NETWORKING=yes
,NETWORKING_IPV6=no
,HOSTNAME=example.com
,NISDOMAIN=example
?hostname(1)
di mesin Linux apa pun.Hampir semua perangkat lunak sensitif untuk mengatur hostname dengan benar. Ketika saya bekerja di Digg saya pernah membawa seluruh situs turun selama 2 jam karena membuat perubahan yang tampaknya tidak bersalah dalam hal
/etc/hosts
itu mempengaruhi gagasan sistem tentang nama host. Tapak dengan ringan. Yang mengatakan, Anda mungkin sedikit bingung di sini. Saya tidak berpikirHOSTNAME=
pengaturannya langsung setara dengan bagaimana distribusi berbasis Debian digunakan/etc/hostname
.Apa yang bekerja untuk saya di lingkungan yang heterogen adalah:
hostname
perintah untuk mengatur nama host yang digunakan oleh kernel, dll.Di
/etc/hosts
:Konfigurasi ini belum mengecewakan saya.
sumber
Anda tentu tidak akan kesulitan menemukan referensi online yang akan memberitahu Anda untuk melakukannya dengan satu atau lain cara. Namun bagi saya tampaknya memiliki nama pendek sebagai nama host, dan memiliki nama yang sepenuhnya memenuhi syarat di / etc / hosts tentu jauh lebih lazim. Sepertinya cara yang lebih masuk akal, karena layanan yang membutuhkan nama yang memenuhi syarat dapat diadaptasi untuk menelepon
hostname --fqdn
saja.Saya hanya menemukan satu bagian dari perangkat lunak baru-baru ini yang secara kaku memerlukan fqdn untuk dikembalikan oleh
hostname
, yang merupakan Ganeti. Mereka mendokumentasikan ini di sini . Saya tidak melihat alasan mereka tidak bisa beradaptasihostname --fqdn
.sumber
hostname --fqdn
" dijawab dalam paragraf pertama di bawah "Mengapa nama host yang sepenuhnya memenuhi syarat" - itu membutuhkan menebak, dan membutuhkan resolver yang berfungsi. Meminta kernel adalah opsi paling aman dan paling dapat diandalkan.10.0.0.1 hostname.example.com hostname
) dan /etc/nsswitch.conf menentukan resolusi lokal sebelum DNS (hosts: files dns
) maka resolver yang berfungsi dipenuhi oleh file host lokal. Karena itu argumen untuk menggunakan FQDN sebagai ganti hostname jarang mengandung air. Juga, contoh lain dari perangkat lunak yang secara kaku mengharuskanhostname
untuk mengembalikan FQDN adalah paket server surat Zimbra.Agak aneh, ketika meneliti pertanyaan ini, saya sudah cukup gila untuk memeriksa kode sumber "hostname" dan menulis skrip untuk mencetak hasil investigasi (Fedora 19). Apa yang hilang adalah melihat "/ etc / hosts", yang menurut pendapat saya yang sederhana harus dijauhkan dari semua ini sejak awal.
Output pada VM Amazon EC2 yang menjalankan Fedora 19 , setelah secara manual mengatur nilai-nilai dan pengisian kernel
/etc/hostname
, tetapi tanpa perubahan/etc/hosts
mungkin akan seperti ini:Cara tangguh untuk mendapatkan nama host yang sepenuhnya memenuhi syarat di perl kemudian adalah:
dan dalam bash itu akan menjadi:
Catatan
Catatan 1: HOSTNAME adalah variabel shell yang disediakan oleh bash ("Secara otomatis disetel ke nama host saat ini.") Tetapi tidak ada indikasi tentang bash yang tiba pada nilai itu.
Catatan 2: Jangan pernah lupa / etc / hostname di /boot/initrams-FOO.img ...
sumber
Opsi / etc / hosts bekerja dengan baik.
Tetapi Anda ingin memastikan bahwa semua file yang tepat diperbarui, jalankan alat pengaturan
sumber
Hm ... Di host linux, jika Anda ingin mengubah HOSTNAME dan FQDN, Anda harus menyelesaikan 3 langkah (misalnya, host baru adalah rizzo.ifp.com ):
Langkah # 1 Ubah nilai HOST dalam konfigurasi properti NETWORK:
Ubah atau tambahkan string:
Langkah # 2 Edit konfigurasi host Anda
Langkah # 3 Reboot host Anda Bagus sekali, cukup periksa konfigurasi baru
sumber
Perintahnya tidak benar. Itu harus:
Jadi contohnya bisa seperti ini:
sumber