Bagaimana cara mengubah nama komputer?

327

Ketika saya terhubung ke server saya (server ubuntu 10.10), saya mendapatkan ini:

[email protected] ~>

Bagaimana saya menghapus ".belkin"?

Wolfy
sumber
1
Coba edit / etc / hosts. gksudo gedit / etc / hosts dan ganti server-name.belkin dengan nama apa pun yang Anda inginkan.
LFC_fan
2
Apakah Anda ingin mengubah nama server yang sebenarnya, atau hanya cara itu ditampilkan di prompt?
Dave Jennings
2
Voting untuk dibuka kembali, karena ini adalah superset (memungkinkan restart).
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
bagaimana pertanyaan ini ditutup untuk satu pertanyaan lebih dari setahun kemudian?
warren
@warren konsensus saat ini adalah untuk menutup dengan "kualitas": meta.stackexchange.com/questions/147643/... Karena "kualitas" tidak dapat diukur, saya hanya menggunakan upvotes. ;-) Mungkin sampai pada pertanyaan yang menjadi kata kunci pemula Google terbaik pada judul.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Jawaban:

420

Anda perlu mengedit nama komputer dalam dua file:

/etc/hostname 

dan

/etc/hosts

Keduanya akan memerlukan akses administratif, jadi jalankan

gksu gedit /path/to/file

Ganti setiap instance dari nama komputer yang ada dengan yang baru. Saat selesai dijalankan

sudo service hostname start

Nama juga akan diubah jika Anda me-restart komputer Anda.

Lihat juga:

richzilla
sumber
43
Setelah itu, adil sudo service hostname restartdan nama host telah diubah tanpa me-reboot.
Anthony O.
6
Di Ubuntu 14.04 tidak ada layanan 'hostname'. Apa yang bisa saya lakukan di sana untuk menghindari reboot.
Arpad Horvath
8
sudo service hostname restarttidak berfungsi pada pemasangan default server ubuntu 14.04 di AWS. Saya harus melakukan restart server penuh
gerrytan
9
Pada 14,04, saya hanya berlari sudo hostname, dan itu berhasil. Saya tidak melihat adanya perubahan langsung, tetapi ketika saya membuka terminal baru, saya melihat nama host saya benar-benar berubah.
TSJNachos117
8
sudo hostname new-host-namebekerja untuk saya di ubuntu 13,10
Lekhnath
153

hostnamectl set-hostname pada 13.10+ desktop

Ini adalah cara terbaik jika Anda memiliki systemd (13.10 dan seterusnya) dan jika cloud-init tidak aktif (lihat di bawah):

hostnamectl set-hostname 'new-hostname'

Saya t:

  • tidak memerlukan reboot
  • tetap ada setelah reboot

Info lebih lanjut di: https://askubuntu.com/a/516898/52975

18,04 dan seterusnya: cloud-init

18.04 Memperkenalkan cloud-init yang dapat mengontrol pengaturan nama host sehingga hostnamectlmengubahnya tidak akan bertahan setelah reboot jika cloud-init diinstal. TODO: cara memeriksa apakah sudah diinstal, apakah diinstal secara default pada gambar desktop atau hanya server?

Jika Anda ingin hostnamectlperubahan tetap setelah reboot, maka Anda perlu mengedit file konfigurasi cloud-init , nonaktifkan modul set / perbarui nama host cloud-init :

sudo sed -i 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg

atau nonaktifkan sepenuhnya cloud-init:

sudo touch /etc/cloud/cloud-init.disabled

Lihat juga: Bagaimana cara mengubah nama host tanpa restart?

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
sumber
3
berfungsi sempurna di Ubuntu 15.10
AB
4
Tidak mengubah / etc / hosts di 14,04
Autodidact
7
berfungsi dengan baik di ubuntu 16.04 ... terima kasih banyak
Hirak
2
Dikonfirmasi untuk bekerja dengan benar di 16.10 juga
fuzzygroup
2
Saya harus menambahkan nama host baru saya ke / etc / hosts lain menggunakan sudo akan menyebabkan beberapa kesalahan "sudo: tidak dapat menyelesaikan host xxxxx"
WoodyDRN
70

Cukup mudah:

  1. Edit /etc/hostname, ubah nama, simpan file.

  2. Anda juga harus membuat perubahan yang sama dalam /etc/hostsfile

  3. Lari sudo service hostname start

Selama Anda tidak memiliki pengaturan aplikasi tergantung pada nama host 'lama', Anda harusnya ok ;-)

Pavlos G.
sumber
31
PERINGATAN: Jika Anda melakukan ini tanpa mengubah / etc / hosts sesuai Anda tidak akan dapat menggunakan sudo karena nama host Anda akan gagal untuk mencari
João Pinto
Anda benar tentang mengedit / etc / hosts, saya lupa tentang hal itu (baru saja menambahkannya ke jawaban saya), meskipun sudo tampaknya berfungsi dengan baik untuk saya tanpa mengubahnya (saya telah me-restart mesin dan masih berfungsi)
Pavlos G.
1
Tidak apa-apa, Anda dapat melakukan itu karena hostnamesekarang layanan dikelola upstart. Ini akan melakukan hal yang persis sama, restart layanan.
Pavlos G.
2
Catatan: ini tidak akan berfungsi untuk ubuntu 14.x, karena hostnametidak ada lagi diinit.d
Rápli András
2
Peringatan: tidak akan berfungsi dengan Ubuntu 18+ yang menjalankan cloud-init secara default, yang mengontrol nama host saat boot.
nslntmnx
24

Aman untuk dilakukan, Anda hanya perlu memastikan bahwa Anda mengedit file konfigurasi nama host sistem (/ etc / hostname) dan file resolusi nama hostname (/ etc / hosts). Dari terminal, lakukan hal berikut:

sudo -s
editor /etc/hostname
editor /etc/hosts
shutdown -ry now
João Pinto
sumber
2
Anda dapat menghindari shutdown dengan sudo service hostname restart.
Wtower
3
@ Power tidak bekerja dengan 14.04. :(
ankush981
Peringatan: tidak akan berfungsi dengan Ubuntu 18+ yang menjalankan cloud-init secara default, yang mengontrol nama host saat boot.
nslntmnx
18

Selain mengedit / etc / hosts dan / etc / hostname, berbagai layanan mungkin memiliki masalah dengan perubahan juga. Mysql dan postfix diinstal secara default di ubuntu. Postfix yang rusak tidak akan memengaruhi sebagian besar pengguna ubuntu, karena ini adalah server email latar belakang yang tidak banyak digunakan.

Postfix:

sudo editor /etc/postfix/main.cf
sudo service postfix restart

Konfigurasi default untuk mysql tidak menggunakan nama host, jadi itu akan berfungsi apa adanya. Jika Anda telah menyesuaikannya, edit file di / etc / mysql / dan restart layanan.

Anda mungkin juga ingin mengedit / etc / motd (pesan hari ini), yang ditampilkan pada terminal virtual dan login jarak jauh. Yang itu tidak akan membahayakan apapun.

Layanan lain yang mungkin telah Anda instal yang perlu diperbaiki adalah apache, bind9, dll. Dalam setiap kasus, temukan dan edit nama host dalam konfigurasi mereka dan mulai kembali layanan.

ImaginaryRobots
sumber
14

Nama host secara unik mengidentifikasi komputer Anda di jaringan lokal (dan mungkin juga di Internet) sehingga bukan ide yang baik untuk mengubahnya kecuali Anda tahu apa yang Anda lakukan.

Tetapi Anda dapat mengubah prompt shell untuk tidak menampilkan .belkin(bagian nama domain):

export PS1='\u@\h \w> '

Lihat halaman bash man dan secara khusus bagian tentang meminta informasi lebih lanjut.

Riccardo Murri
sumber
14

Cara lain yang lebih baik dan aman untuk mengganti nama hostname

Instal ailurus

  • Tambahkan PPA dan perbarui repositori Anda

    sudo add-apt-repository ppa:ailurus && sudo apt-get update

  • Instal ailurus

    sudo apt-get install ailurus

  • Setelah instalasi akan ditemukan di bawah Applications >> System Tools >> Ailurus
    teks alternatif
karthick87
sumber
5
Mengapa ini mendapatkan suara negatif? Seharusnya lebih baik untuk mengkonfigurasi sesuatu dengan alat khusus daripada membuang-buang waktu di baris perintah dan memecahkan hal-hal dalam proses.
Endolith
38
Menginstal perangkat lunak besar hanya untuk mengubah nama host adalah sedikit berlebihan
Nemo
9
Saya setuju bahwa ini berlebihan - khususnya karena perangkat lunak tidak tersedia di repositori tetapi harus diinstal dari PPA ...
Marcel Stimberg
@ karthick87 mungkin menyebutkan dalam jawaban Anda bahwa ini adalah bagian besar dari perangkat lunak (dengan opsi konfigurasi lainnya)? - secara pribadi saya setuju dengan endolith bahwa alat dengan satu titik perubahan sederhana lebih baik daripada banyak operasi baris perintah (saya menggunakan Ubuntu Tweak, juga saat ini tersedia dari PPA)
david.libremone
Saya pikir Anda dapat memecahkan lebih banyak hal (dan lebih mudah) menggunakan alat ini, daripada hanya mengganti kata dalam beberapa file. Itu mengungkapkan terlalu banyak hal kepada Anda.
gerlos
9

Jika Anda tidak ingin bermain dengan editor teks, Ubuntu Tweak (ambil deb dari situs web mereka) memiliki itu sebagai salah satu hal kecil yang dapat Anda mainkan (bersama dengan banyak tweak kecil lainnya yang mungkin ingin Anda buat tetapi tidak benar-benar ingin bermain-main dengan terminal dan file itu sendiri).

dkuntz2
sumber
Karena penasaran, apakah ada alasan khusus mengapa Ubuntu Tweak tidak ada dalam repo perangkat lunak?
Olivier Lalonde
Mereka tidak pernah sempat menambahkannya / belum diterima. Anda dapat menambahkan repo mereka ke daftar Anda baik setelah memulai tweak atau melalui terminal / daftar repo.
dkuntz2
Anda juga dapat menambahkan Ubuntu Tweak sebagai PPA dengan sudo add-apt-repository ppa:tualatrix/ppakemudian sudo apt-get updatekemudian sudo apt-get install ubuntu-tweak
david.libremone
1
perhatikan bahwa sejak ~ 13.04 Ubuntu Tweak tidak lagi menyediakan opsi ini
david.libremone
9

Gunakan hostnameperintah untuk mengubah nama host Anda

sudo hostname newname

Namun, ini tidak mengedit file host Anda, yang harus Anda lakukan untuk memastikan bahwa komputer Anda mengenali dirinya sendiri

gksudo /etc/hosts

Dan tambahkan entri baru untuk nama host Anda yang menunjuk ke 127.0.0.1

127.0.0.1 oldname newname

Anda dapat menghapus entri lama juga, tetapi saya lebih suka menyimpannya di sana.

Nemo
sumber
7

Perintah berikut mengubah hostname dengan cepat tetapi untuk membuatnya permanen, Anda harus mengedit /etc/hostname:

echo 'new_hostname' > /proc/sys/kernel/hostname

Buka sesi terminal baru dan Anda akan segera melihatnya.

Dengan systemddi tempat, cara yang tepat untuk melakukannya adalah

hostnamectl set-hostname "new_name"
Terry Wang
sumber
4

Jika Anda ingin proses yang dibantu GUI, instal Ubuntu-Tweak. Di antara kegunaan lain dari aplikasi ini adalah kemampuan untuk mengubah nama komputer melalui tab "Rincian Komputer" -> "Nama Inang"

13east
sumber
3

SystemSettings -> Detail -> Overwiev (default dibuka di U16.04) - Nama Perangkat.

tetapi juga Anda harus mengganti nama di / etc / hosts. BUG Ubuntu ()?

udroidman
sumber
Saya pikir ini cara yang agak baik untuk mengubah nama host.
jawtheshark
2

Buka terminal dan

sudo sed -i '1s/.*/desired-name/g' /etc/hostname

# you need restart to effect with...

sudo shutdown -r 0
SergioAraujo
sumber
Peringatan: tidak akan berfungsi dengan Ubuntu 18+ yang menjalankan cloud-init secara default, yang mengontrol nama host saat boot.
nslntmnx