Jak mogę zmienić nazwę komputera?

327

Kiedy łączę się z moim serwerem (Ubuntu Server 10.10), otrzymuję:

[email protected] ~>

Jak mogę usunąć „.belkin”?

Wolfy
źródło
1
Spróbuj edytować / etc / hosts. gksudo gedit / etc / hosts i zastąp server-name.belkin dowolną nazwą.
LFC_fan
2
Czy chcesz zmienić rzeczywistą nazwę serwera, czy po prostu sposób, w jaki wyświetla się w monicie?
Dave Jennings
2
Głosowanie w celu ponownego otwarcia, ponieważ jest to nadzbiór (umożliwia ponowne uruchomienie).
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
jak to pytanie zostaje zamknięte na korzyść pytania zadanego ponad rok później?
warren
@warren obecnym konsensusem jest zamknięcie przez „jakość”: meta.stackexchange.com/questions/147643/… Ponieważ „jakość” nie jest mierzalna, po prostu wyrażam opinię pozytywną. ;-) Prawdopodobnie sprowadza się do tego, które pytanie trafiło w najlepsze słowa kluczowe Google dla początkujących w tytule.
Ciro Santilli 19 改造 中心 法轮功 六四 事件

Odpowiedzi:

420

Musisz edytować nazwę komputera w dwóch plikach:

/etc/hostname 

i

/etc/hosts

Oba będą wymagały dostępu administracyjnego, więc uruchom

gksu gedit /path/to/file

Zastąp wszelkie wystąpienia istniejącej nazwy komputera nowym. Po zakończeniu uruchom

sudo service hostname start

Nazwa zostanie również zmieniona po ponownym uruchomieniu komputera.

Zobacz też:

Richzilla
źródło
43
Potem tylko sudo service hostname restarti nazwa hosta została zmieniona bez ponownego uruchamiania.
Anthony O.
6
W Ubuntu 14.04 nie ma usługi „nazwa hosta”. Co mogę zrobić, aby uniknąć ponownego uruchomienia komputera.
Arpad Horvath,
8
sudo service hostname restartnie działa w przypadku domyślnej instalacji serwera Ubuntu 14.04 na AWS. Musiałem zrobić pełny restart serwera
gerrytan
9
14.04 po prostu pobiegłem sudo hostnamei to załatwiło sprawę. Nie zauważyłem żadnej natychmiastowej zmiany, ale kiedy otworzyłem nowy terminal, zobaczyłem, że moja nazwa hosta rzeczywiście się zmieniła.
TSJNachos117,
8
sudo hostname new-host-namepracował dla mnie na Ubuntu 13.10
Lekhnath
153

hostnamectl set-hostname na pulpicie 13.10+

Jest to najlepszy sposób, jeśli masz systemd (od 13.10) i jeśli inicjacja chmury nie jest aktywna (patrz poniżej):

hostnamectl set-hostname 'new-hostname'

To:

  • nie wymaga ponownego uruchomienia
  • utrzymuje się po ponownym uruchomieniu

Więcej informacji na: https://askubuntu.com/a/516898/52975

18.04 i później: inicjacja chmury

18.04 Wprowadzono chmurę-init, która może kontrolować ustawienie nazwy hosta, aby hostnamectlzmiany nie pozostały po ponownym uruchomieniu, jeśli zainstalowano chmurę-init. DO ZROBIENIA: jak sprawdzić, czy jest zainstalowany, czy jest domyślnie zainstalowany na obrazie pulpitu, czy tylko na serwerze?

Jeśli chcesz, aby hostnamectlzmiany pozostały po ponownym uruchomieniu, musisz edytować pliki konfiguracyjne inicjowania chmury, wyłącz moduł ustawiania / aktualizacji nazwy hosta chmury :

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

lub całkowicie wyłącz chmurę:

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

Zobacz także: Jak zmienić nazwę hosta bez ponownego uruchomienia?

Ciro Santilli
źródło
3
działa idealnie w Ubuntu 15.10
AB
4
Nie zmienia / etc / hosts w 14.04
Autodidact
7
działa doskonale w Ubuntu 16.04 ... wielkie dzięki
Hirak
2
Potwierdzono, że działa poprawnie również w 16.10
fuzzygroup,
2
Musiałem dodać moją nową nazwę hosta do / etc / hosts, używając sudo spowodowałoby błąd „sudo: nie można rozwiązać hosta xxxxx”
WoodyDRN
70

To całkiem proste:

  1. Edytuj /etc/hostname, zmień nazwę, zapisz plik.

  2. Powinieneś także wprowadzić te same zmiany w /etc/hostspliku

  3. Biegać sudo service hostname start

Tak długo, jak nie masz ustawień aplikacji w zależności od „starej” nazwy hosta, wszystko powinno być w porządku ;-)

Pavlos G.
źródło
31
OSTRZEŻENIE: Jeśli zrobisz to bez zmiany / etc / hosts, nie będziesz mógł używać sudo, ponieważ nazwa twojego hosta nie będzie mogła zostać wyszukana
João Pinto
Masz rację co do edytowania / etc / hosts, zapomniałem o tym (właśnie dodałem go do mojej odpowiedzi), chociaż sudo wydaje się działać dobrze dla mnie bez zmiany (zrestartowałem maszynę i nadal działa)
Pavlos G.,
1
Jest ok, możesz to zrobić, tak jak hostnameteraz jest to usługa zarządzana z upstart. Zrobi dokładnie to samo, uruchom ponownie usługę.
Pavlos G.
2
Uwaga: to nie zadziała dla Ubuntu 14.x, ponieważ hostnamejuż go nie mainit.d
Rápli András
2
Ostrzeżenie: nie będzie działać z Ubuntu 18+, który domyślnie uruchamia chmurę-init, która kontroluje nazwę hosta podczas rozruchu.
nslntmnx
24

Jest to bezpieczne, wystarczy upewnić się, że edytujesz zarówno plik konfiguracji systemowej nazwy hosta (/ etc / hostname), jak i plik rozpoznawania nazwy hosta (/ etc / hosts). Z terminala wykonaj następujące czynności:

sudo -s
editor /etc/hostname
editor /etc/hosts
shutdown -ry now
João Pinto
źródło
2
Możesz uniknąć zamknięcia za pomocą sudo service hostname restart.
Wtower,
3
@Wtower Nie działa z 14.04. :(
dotslash,
Ostrzeżenie: nie będzie działać z Ubuntu 18+, który domyślnie uruchamia chmurę-init, która kontroluje nazwę hosta podczas rozruchu.
nslntmnx
18

Oprócz edycji / etc / hosts i / etc / hostname, różne usługi mogą mieć również problemy ze zmianą. MySQL i postfix są domyślnie instalowane w Ubuntu. Zepsuty postfiks nie wpłynie na większość użytkowników Ubuntu, ponieważ jest to serwer poczty e-mail w tle, który nie jest używany przez wiele osób.

Przyrostek:

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

Domyślna konfiguracja mysql nie używa nazwy hosta, więc będzie działała bez zmian. Jeśli go dostosowałeś, edytuj pliki w / etc / mysql / i uruchom ponownie usługę.

Możesz także edytować plik / etc / motd (wiadomość dnia), który jest wyświetlany na wirtualnych terminalach i zdalnych logowaniach. Ten jednak niczego nie skrzywdzi.

Inne usługi, które mogły zostać zainstalowane, które wymagają naprawy, to apache, bind9 itp. W każdym przypadku znajdź i edytuj nazwę hosta w ich konfiguracji i uruchom ponownie usługę.

ImaginaryRobots
źródło
14

Nazwa hosta jednoznacznie identyfikuje Twój komputer w sieci lokalnej (i prawdopodobnie także w Internecie), więc nie jest dobrym pomysłem, aby go zmienić, chyba że wiesz, co robisz.

Możesz jednak zmienić monit powłoki, aby nie wyświetlał się .belkin(część nazwy domeny):

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

Zobacz stronę podręcznika bash, a w szczególności sekcję dotyczącą monitowania o dodatkowe informacje.

Riccardo Murri
źródło
14

Kolejny lepszy i bezpieczny sposób na zmianę nazwy hosta

Zainstaluj ailurus

  • Dodaj PPA i zaktualizuj swoje repozytorium

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

  • Zainstaluj ailurus

    sudo apt-get install ailurus

  • Po instalacji znajdziesz go w Aplikacje >> Narzędzia systemowe >> Ailurus
    alternatywny tekst
karthick87
źródło
5
Dlaczego dostaje to negatywne głosy? Powinno być lepiej skonfigurować coś za pomocą dedykowanego narzędzia niż przesuwanie wiersza poleceń i przerywanie procesu.
endolith,
38
Zainstalowanie tak dużego oprogramowania tylko po to, by zmienić nazwę hosta, to trochę przesada
Nemo
9
Zgadzam się, że jest to przesada - w szczególności dlatego, że oprogramowanie nie jest dostępne w repozytoriach, ale musi być zainstalowany z PPA ...
Marcel Stimberg
@ karthick87 może w swojej odpowiedzi wspomnieć, że jest to duży program (z innymi opcjami konfiguracji)? - osobiście zgadzam się z endolitem, że narzędzie z jednym, prostym punktem zmiany jest lepsze niż wiele operacji w wierszu poleceń (używam Ubuntu Tweak, obecnie również dostępnego z PPA)
david.libremone
Myślę, że możesz złamać znacznie więcej rzeczy (i łatwiej) za pomocą tego narzędzia, niż po prostu zamieniając słowo w kilka plików. Odsłonił ci zbyt wiele rzeczy.
gerlos
9

Jeśli nie chcesz grać z edytorem tekstu, Ubuntu Tweak (pobierz deb z ich strony internetowej) ma to jako jedną z małych rzeczy, z którymi możesz grać (wraz z wieloma innymi drobnymi poprawkami, które możesz chcieć zrobić, ale tak naprawdę nie chcę bawić się terminalem i samymi plikami).

dkuntz2
źródło
Z ciekawości jest jakiś konkretny powód, dla którego Ubuntu Tweak nie znajduje się w repozytoriach oprogramowania?
Olivier Lalonde,
Nigdy nie udało się ich dodać / nie zostały zaakceptowane. Możesz dodać ich repozytorium do swojej listy albo bezpośrednio po rozpoczęciu ulepszenia, albo poprzez listę terminali / repozytoriów.
dkuntz2,
Możesz także dodać Ubuntu Tweak jako PPA, sudo add-apt-repository ppa:tualatrix/ppaa sudo apt-get updatenastępnie sudo apt-get install ubuntu-tweak
david.libremone
1
zwróć uwagę, że od ~ 13.04 Ubuntu Tweak nie zapewnia już tej opcji
david.libremone
9

Użyj hostnamepolecenia, aby zmienić nazwę hosta

sudo hostname newname

Nie powoduje to jednak edycji pliku hosts, co należy zrobić, aby upewnić się, że komputer rozpoznaje siebie

gksudo /etc/hosts

I dodaj nowy wpis dla swojej nazwy hosta wskazujący na 127.0.0.1

127.0.0.1 oldname newname

Możesz również usunąć stary wpis, ale wolę go tam zachować.

Nemo
źródło
7

Następujące polecenie zmienia nazwę hosta w locie, ale aby stała się trwała, musisz edytować /etc/hostname:

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

Otwórz nową sesję terminalową, a zobaczysz ją od razu.

W systemdmiejscu właściwym jest to zrobić

hostnamectl set-hostname "new_name"
Terry Wang
źródło
4

Jeśli chcesz proces wspomagany przez GUI, zainstaluj Ubuntu-Tweak. Wśród innych zastosowań tej aplikacji jest możliwość zmiany nazwy komputera za pomocą zakładki „Szczegóły komputera” -> „Nazwa hosta”

13east
źródło
3

Ustawienia systemowe -> Szczegóły -> Overwiev (domyślnie otwarte w U16.04) - Nazwa urządzenia.

ale dodatkowo musisz zmienić nazwę w / etc / hosts. Ubuntu BUG ()?

udroidman
źródło
Myślę, że to całkiem niezły sposób na zmianę nazwy hosta.
jawtheshark
2

Otwórz terminal i

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

# you need restart to effect with...

sudo shutdown -r 0
SergioAraujo
źródło
Ostrzeżenie: nie będzie działać z Ubuntu 18+, który domyślnie uruchamia chmurę-init, która kontroluje nazwę hosta podczas rozruchu.
nslntmnx