Saya ingin mengubah OS host tapi aku tidak ingin me-restart.
Saya telah disunting /etc/hostname
tetapi membutuhkan restart untuk bisa dilaksanakan. Cara untuk menghindari hal ini?
It's mudah. Klik ikon roda Gigi (terletak di sudut kanan atas layar), pembukaan "Tentang ini komputer" layar (terletak pada icon Gear ) dan edit "nama Perangkat".
Atau, di terminal, gunakan perintah berikut:
sudo hostname your-new-name
Ini akan mengatur hostname untuk anda-baru-nama sampai anda me-restart. Lihat man hostname
dan https://askubuntu.com/questions/9540/how-do-i-change-the-computer-name untuk informasi lebih lanjut. Jangan gunakan _
dalam nama anda.
Catatan
Setelah restart perubahan di /etc/hostname
akan digunakan, sehingga (seperti yang anda katakan dalam pertanyaan), anda masih harus menggunakan
sudo -H gedit /etc/hostname
(atau beberapa editor yang lain) sehingga file yang berisi nama host.
Untuk menguji bahwa file telah 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 host baru. (Hal ini diperlukan jika banyak perintah akan berhenti berfungsi.)
The hostnamectl
perintah ini merupakan bagian dari instalasi default pada kedua Desktop dan Server edisi.
Ini menggabungkan setting hostname melalui hostname
perintah dan editing /etc/hostname
. Serta pengaturan statis hostname, dapat mengatur "cantik" hostname, yang tidak digunakan pada Ubuntu. Sayangnya, editing /etc/hosts
masih harus dilakukan secara terpisah.
hostnamectl set-hostname new-hostname
Perintah ini merupakan bagian dari systemd-jasa
paket (yang, seperti Ubuntu 14.04, juga termasuk timedatectl
dan localectl
perintah). Sebagai Ubuntu bermigrasi ke common
, alat ini adalah masa depan.
Mengubah hostname atau nama komputer di ubuntu tanpa restart
Edit /etc/hostname dan mengubah ke nilai yang baru,
nano /etc/hostname
Edit /etc/hosts dan mengubah lama 127.0.1.1 baris baru anda hostname
127.0.0.1 localhost
127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
Catatan : saya telah membaca di sebuah forum > Edit /etc/hosts dan mengubah lama 127.0.1.1 baris baru anda hostname (jika anda tidak melakukan ini, anda tidak akan dapat menggunakan sudo lagi. Jika anda hav e sudah selesai, tekan ESC pada menu grub, pilih recovery, dan mengedit file host anda untuk memperoleh pengaturan yang benar)
Sekarang setelah reboot, anda hostname akan menjadi salah satu yang anda pilih
Untuk mengubah tanpa reboot, anda hanya dapat menggunakan hostname.sh setelah anda mengedit /etc/hostname. Anda harus menjaga baik nama host di /etc/hosts (127.0.0.1 newhost oldhost) sampai anda menjalankan perintah di bawah ini:
sudo service hostname start
Catatan : perintah di Atas untuk membuat perubahan aktif. Hostname yang disimpan dalam file ini (/etc/hostname) akan dipertahankan pada sistem reboot (dan akan ditetapkan menggunakan layanan yang sama).
Nama default didirikan ketika anda menginstal Ubuntu. Anda dapat dengan mudah mengubahnya ke apa pun yang anda inginkan di Desktop & Server dengan mengedit file host dan host file. Di bawah ini adalah caranya:
sudo hostname NEW_NAME_HERE
Ini akan mengubah hostname sampai reboot berikutnya. Perubahan tidak akan terlihat langsung di terminal saat ini. Mulai terminal baru untuk melihat hostname baru.
sudo -Jam gedit /etc/hostname
dan sudo -Jam gedit /etc/hosts
Untuk server Ubuntu tanpa GUI, jalankan sudo vi /etc/hostname
dan sudo vi /etc/hosts
dan mengeditnya satu per satu.
Dalam kedua file, mengubah nama untuk apa yang anda inginkan dan menyimpannya.
Akhirnya, restart komputer anda untuk menerapkan perubahan.
Berikut ini adalah script yang mengubah hostname dengan cara yang ditentukan. Hal ini memastikan bahwa tidak hanya sudo
tapi juga aplikasi X11 terus berfungsi dengan me-restart tidak diperlukan.
Penggunaan: sudo ./change_hostname.sh baru-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}')"
Sementara pendekatan di atas (hostnamectl
, etc/hostname
, dll) bekerja untuk segera mengubah hostname, dengan munculnya awan-init - yang dapat mengontrol pengaturan nama host - di antara banyak hal lainnya. Sehingga tidak't stick setelah reboot jika awan-init diinstal. Jika anda ingin perubahan tetap setelah reboot maka anda'akan perlu untuk mengedit awan-init file config, menonaktifkan cloud-init's hostname set/update module:
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
atau menonaktifkan cloud-init seluruhnya:
sudo touch /etc/cloud/cloud-init.disabled
Untuk mendapatkan anda saat ini hostname:
cat /etc/hostname
Hal ini dapat diubah dalam editor teks apapun. Anda juga akan perlu untuk memperbarui entri lain dari localhost terhadap 127.0.0.1 di /etc/hosts.
Buka terminal. Lihat sendiri.
(Untuk versi lama, kotak teks tidak dapat diedit.)
/etc/hostname
dengan hostname yang diinginkan (anda dapat mengedit dengan sudo nano /etc/hostname
)/etc/hosts
, menggantikan entri berikutnya untuk 127.0.1.1 dengan hostname yang diinginkan (anda dapat mengedit dengan sudo nano /etc/hosts
)sudo service hostname restart; sudo service networking restart
Klasik jawaban asli poster's pertanyaan adalah bahwa, sekali anda've disunting /etc/hostname
, anda membuat itu berlaku tanpa restart dengan menjalankan hostname(1) dengan -F
(--file
) pilihan sebagai root:
sudo hostname -F /etc/hostname
The hostname(5) penanganan dengan /etc/hostname
dan mengatakan program yang telah sama di Debian dan turunannya selama lebih dari dua puluh tahun sekarang, dan paket penyedia telah ditandai penting dan diperlukan, dan IIRC init script telah benar-benar menggunakan hal yang sama selama beberapa dekade (/etc/init/hostname.conf
masih mengandung itu), jadi saya harus mengatakan saya benar-benar bingung bagaimana tidak ada yang telah disebutkan ini sudah :)
Saya telah membaca jawaban, Tapi saya pikir Mungkin anda sedang mencari ini:
Hanya mengeksekusi dua perintah setelah editing /etc/hostname
file.
$ sudo service hostname restart
$ exec bash
Yang's semua. Tidak perlu untuk me-restart.Juga pastikan anda juga mengubah nama di /etc/hosts
file.