Saya ingin mengubah nama host OS tetapi saya tidak ingin memulai kembali.
Saya telah mengedit /etc/hostname
tetapi membutuhkan restart untuk dapat diterapkan. Bagaimana cara menghindarinya?
Saya ingin mengubah nama host OS tetapi saya tidak ingin memulai kembali.
Saya telah mengedit /etc/hostname
tetapi membutuhkan restart untuk dapat diterapkan. Bagaimana cara menghindarinya?
Jawaban:
Mudah. Cukup klik ikon Gear (terletak di sudut kanan atas layar), buka layar "Tentang komputer ini" (terletak di ikon Gear) dan edit "Nama perangkat".
Atau, di terminal, gunakan perintah berikut:
sudo hostname your-new-name
Ini akan mengatur nama host ke nama baru Anda hingga Anda memulai ulang. Lihat man hostname
dan Bagaimana cara mengubah nama komputer? untuk informasi lebih lanjut. Jangan gunakan atas _
nama Anda.
Catatan
Setelah restart perubahan Anda /etc/hostname
akan digunakan, jadi (seperti yang Anda katakan dalam pertanyaan), Anda harus tetap menggunakan
sudo -H gedit /etc/hostname
(atau editor lain) sehingga file itu berisi nama host.
Untuk menguji apakah file sudah diatur dengan benar, jalankan:
sudo service hostname start
Anda juga harus mengedit /etc/hosts
dan mengubah baris yang berbunyi:
127.0.1.1 your-old-hostname
sehingga sekarang berisi nama host baru Anda. (Ini diperlukan jika tidak banyak perintah akan berhenti berfungsi.)
/etc/hosts
(lihat jawaban lain)
hostname
akan menyebabkan nama baru segera berlaku, itu tidak "permanen" kecuali jika Anda juga berubah /etc/hostname
dan /etc/hosts
, karena itu adalah file yang akan dibaca setelah restart atau crash, yang tentu saja, Anda mungkin tidak mengharapkan sebelumnya.
The hostnamectl
Perintah merupakan bagian dari instalasi default di kedua edisi Desktop dan Server.
Ini menggabungkan pengaturan nama host melalui hostname
perintah dan pengeditan /etc/hostname
. Selain mengatur nama host statis, ia dapat mengatur nama host "cantik", yang tidak digunakan di Ubuntu. Sayangnya, pengeditan /etc/hosts
masih harus dilakukan secara terpisah.
hostnamectl set-hostname new-hostname
Perintah ini adalah bagian dari systemd-services
paket (yang, pada Ubuntu 14.04, juga termasuk timedatectl
dan localectl
perintah). Sebagai migrasi ke Ubuntu systemd
, alat ini adalah masa depan.
hostnamectl
tidak ada. Tebak beberapa rasa Ubuntu belum menggunakan systemd.
Mengubah nama host atau nama komputer di ubuntu tanpa restart
Edit / etc / hostname dan ubah ke nilai baru,
nano /etc/hostname
Edit / etc / hosts dan ubah baris 127.0.1.1 lama menjadi nama host baru Anda
127.0.0.1 localhost
127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
Catatan : saya telah membacanya di forum> Edit / etc / hosts dan ubah baris 127.0.1.1 lama menjadi nama host baru Anda (jika Anda tidak melakukan ini, Anda tidak akan dapat menggunakan sudo lagi. Jika Anda sudah melakukannya , tekan ESC pada menu grub, pilih pemulihan, dan edit file host Anda ke pengaturan yang benar)
Sekarang setelah reboot, nama host Anda akan menjadi yang baru yang Anda pilih
Untuk mengubah tanpa reboot , Anda bisa menggunakan hostname.sh setelah mengedit / etc / hostname. Anda harus menyimpan kedua nama host Anda di / etc / hosts (127.0.0.1 newhost oldhost) hingga Anda menjalankan perintah di bawah ini:
sudo service hostname start
Catatan : Perintah di atas untuk mengaktifkan perubahan. Nama host yang disimpan dalam file ini (/ etc / hostname) akan disimpan pada reboot sistem (dan akan diatur menggunakan layanan yang sama).
sudo: unable to resolve host old-hostname
. Untuk bagian itu, solusi @jesperado bekerja dengan baik.
/etc/hosts
, hal-hal mulai gagal pada 12.04.2 LTS, termasuk w
perintah, Apache, /sbin/reboot
dan banyak lagi. Pastikan untuk memperbarui/etc/hosts
127.0.0.1
untuk localhost
dan 127.0.1.1
untuk nama host khusus. Baik? Kemudian, menjelang akhir jawaban Anda, untuk tindakan tanpa rebot , Anda merujuk /etc/hosts
dan 127.0.0.1 newhost oldhost
. Jadi, tidak perlu 127.0.1.1
alamat?
sudo nano /etc/hosts
agar perubahan berlaku; tanpa sudo, hanya nano /etc/hosts
saja tidak menyimpan perubahan
Nama default ditetapkan ketika Anda menginstal Ubuntu. Anda dapat dengan mudah mengubahnya ke apa pun yang Anda inginkan di Desktop & Server dengan mengedit file host dan nama host. Di bawah ini caranya:
sudo hostname NEW_NAME_HERE
Ini akan mengubah nama host sampai reboot berikutnya. Perubahan tidak akan langsung terlihat di terminal Anda saat ini. Mulai terminal baru untuk melihat nama host baru.
Untuk mengubah nama secara permanen, jalankan perintah untuk mengedit file host:
sudo -H gedit /etc/hostname
dan sudo -H gedit /etc/hosts
Untuk server Ubuntu tanpa GUI, jalankan sudo vi /etc/hostname
dan sudo vi /etc/hosts
dan mengedit mereka satu per satu. Di kedua file, ubah nama menjadi apa yang Anda inginkan dan simpan.
Terakhir, nyalakan kembali komputer Anda untuk menerapkan perubahan.
Berikut ini adalah skrip yang mengubah nama host dengan cara yang ditentukan. Ini memastikan bahwa tidak hanya sudo
tetapi juga aplikasi X11 terus berfungsi tanpa perlu restart.
Pemakaian: sudo ./change_hostname.sh new-hostname
#!/usr/bin/env bash
NEW_HOSTNAME=$1
echo $NEW_HOSTNAME > /proc/sys/kernel/hostname
sed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hosts
echo $NEW_HOSTNAME > /etc/hostname
service hostname start
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
? Hanya penasaran.
xauth list
) dan mengganti nama host lama dengan nama host baru ( sed
). Kemudian awk
berikan tanda kutip pada argumen pertama xauth add
karena xauth
format input dan output tidak simetris.
Tanpa restart:
/etc/hostname
/etc/hosts
sesuaisudo sysctl kernel.hostname=mynew.local.host
Periksa nama host Anda saat ini dengan hostname -f
sudo: unable to resolve host oldname
, sysctl: setting key "kernel.hostname": Read-only file system
. Mungkin karena ada CT di dalam Proxmox.
Sementara pendekatan di atas ( hostnamectl
,, etc/hostname
dll) bekerja untuk perubahan nama host langsung, dengan munculnya cloud-init - yang dapat mengontrol pengaturan nama host - di antara banyak hal lainnya. Jadi itu tidak akan menempel setelah reboot jika cloud-init diinstal. Jika Anda ingin perubahan tetap setelah reboot maka Anda perlu mengedit file konfigurasi cloud-init , nonaktifkan modul set / perbarui nama host cloud-init :
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
atau nonaktifkan sepenuhnya cloud-init:
sudo touch /etc/cloud/cloud-init.disabled
/etc/cloud/cloud.cfg
. Apa nama paketnya? Adil cloud-init
?
/etc/hostname
dengan nama host yang diinginkan (Anda dapat mengedit dengan sudo nano /etc/hostname
)/etc/hosts
, ganti entri di sebelah 127.0. 1 .1 dengan nama host yang diinginkan (Anda dapat mengedit dengan sudo nano /etc/hosts
)sudo service hostname restart; sudo service networking restart
# if you do nothing you'll end up with: # * /etc/hostname (and 'hostname') managed via: 'preserve_hostame: false' # if you do not change /etc/hostname, it will be updated with the cloud # provided hostname on each boot. If you make a change, then manual # maintenance takes over, and cloud-init will not modify it.
Saat ini saya tidak memiliki Ubuntu 18 jadi saya tidak bisa mengujinya sampai akhir pekan.
Jawaban klasik untuk pertanyaan pengirim asli adalah bahwa, setelah Anda diedit /etc/hostname
, Anda membuatnya berlaku tanpa restart dengan menjalankan nama host (1) dengan opsi -F
( --file
) sebagai root:
sudo hostname -F /etc/hostname
The hostname (5) penanganan dengan /etc/hostname
dan program mengatakan telah sama di Debian dan turunannya selama lebih dari dua puluh tahun sekarang, dan paket menyediakan itu telah ditandai penting dan diperlukan , dan IIRC skrip init telah benar-benar menggunakan hal yang sama untuk dekade ( /etc/init/hostname.conf
masih berisi itu), jadi saya harus mengatakan saya benar-benar bingung bagaimana tidak ada yang menyebutkan ini :)
sudo hostname your-new-name
sudo /etc/init.d/networking restart
Itu harus melakukan pekerjaan yang saya pikir
Saya telah membaca jawabannya, Tapi saya pikir Mungkin Anda mencari ini:
Cukup jalankan dua perintah ini setelah mengedit /etc/hostname
file.
$ sudo service hostname restart
$ exec bash
Itu saja. Tidak perlu restart. Pastikan juga Anda mengubah nama dalam /etc/hosts
file.
/etc/hosts
(saya konfirmasi pada 14,04).
Solusi berdasarkan jawaban dari DigitalOcean Comunity.
Edit file host .
$ sudo nano /etc/hosts
Ganti oldname dengan yang baru.
127.0.0.1 localhost newname
Siapkan nama host baru.
$ sudo hostnamectl set-hostname newname