Jak mohu změnit název hostitele bez restartu?

462

Chci změnit název hostitele operačního systému, ale nechci se restartovat.

Editoval jsem/etc/hostname, ale vyžaduje provedení restartu. Jak se tomu vyhnout?

    
dané Deepak Rajput 14.12.2011 09:56

14 odpovědí

599

Je to snadné. Stačí kliknout na ikonu ozubeného kola (umístěného v pravém horním rohu obrazovky), otevřít obrazovku "O tomto počítači" (umístěná na ikonu zařízení) a upravit název zařízení.

Nebo v terminálu použijte následující příkaz:

sudo hostname your-new-name

Tímto nastavíte název hostitele na nový název, dokud nerestartujete. Viz man hostname a Jak mohu změnit název počítače? Další informace. Nepoužívejte_ ve svém názvu.

Poznámka

Po restartování budou použity změny v /etc/hostname , takže (jak jste uvedli v otázce), měli byste stále používat

sudo -H gedit /etc/hostname

(nebo nějaký jiný editor), takže soubor obsahuje název hostitele.

Chcete-li otestovat správné nastavení souboru, spusťte:

sudo service hostname start

Měli byste také upravit/etc/hosts a změnit řádek, který čte:

127.0.1.1     your-old-hostname

, takže nyní obsahuje nové jméno hostitele. (To je vyžadováno jinak, mnoho příkazů přestane fungovat.)

    
odpověděl jasperado 14.12.2011 11:27
253

Ubuntu 13.04

Příkaz hostnamectl je součástí výchozí instalace pro edice Desktop i Server.

Kombinuje nastavení názvu hostitele pomocí příkazuhostname a úpravy/etc/hostname. Stejně jako nastavení statického názvu hostitele může nastavit "hezké" jméno hostitele, které není v Ubuntu používáno. Bohužel editace/etc/hosts se musí provést samostatně.

hostnamectl set-hostname new-hostname

Tento příkaz je součástí balíčku systemd-services (který od verze Ubuntu 14.04 obsahuje také Příkazytimedatectl alocalectl). Protože Ubuntu migruje nasystemd, tento nástroj je budoucnost.

    
odpověděl muru 27.08.2014 23:03
58

Bez restartu

Změna názvu hostitele nebo názvu počítače v ubuntu bez restartování

Upravte / etc / hostname a změňte novou hodnotu

nano /etc/hostname 

Upravte soubor / etc / hosts a změňte starý řádek 127.0.1.1 na nový název hostitele

127.0.0.1   localhost
127.0.1.1   ubuntu.local    ubuntu   # change to your new hostname/fqdn

Poznámka: jsem si ji přečetl na fóru > Upravte soubor / etc / hosts a změňte starý řádek 127.0.1.1 na nový název hostitele (pokud to neděláte, nebudete již moci používat sudo.) Pokud jste již provedli, stiskněte ESC v menu grub, a upravte soubor hostitele na správná nastavení)

Nyní po restartování bude jméno vašeho hostitele nové, které jste zvolili

Bez restartu

Chcete-li změnit bez restartu systému , můžete pouze upravit jméno / etc / hostname pomocí hostname.sh. Musíte mít jméno hostitele v / etc / hosts (127.0.0.1 newhost oldhost), dokud neuděláte následující příkaz:

sudo service hostname start

Poznámka : Příkazem výše nastavte změnu aktivní. Název hostitele uložený v tomto souboru (/ etc / hostname) bude zachován při restartu systému (a bude nastaven pomocí stejné služby).

    
odpověděl One Zero 13.02.2012 21:16
42

Výchozí název byl nastaven při instalaci Ubuntu. Můžete jej snadno změnit na cokoli, co chcete, jak v programu Desktop & Server úpravou souborů hostitelů a souborů hostitele. Níže je postup:

  1. Klávesou klávesnice otevřete terminál Ctrl Alt t . Když se otevře, spusťte následující příkaz:sudo hostname NEW_NAME_HERE

Tím se změní název hostitele až do dalšího restartu. Změna nebude okamžitě vidět na aktuálním terminálu. Spusťte nový terminál a uvidíte nový název hostitele.

  1. Chcete-li jméno trvale změnit, spusťte příkaz k úpravě souborů hostitele:

    sudo -H gedit /etc/hostname asudo -H gedit /etc/hosts

Pro server Ubuntu bez grafického uživatelského rozhraní spusťtesudo vi /etc/hostname asudo vi /etc/hosts a upravte je jeden po druhém. V obou souborech změňte název na požadované a uložte je.

Konečně restartujte počítač, abyste provedli změny.

    
odpověděl Mohsen Gh. 01.11.2014 23:47
16

Zde je skript, který změní název hostitele předepsaným způsobem. Zabezpečuje, aby pokračovala funkce nejen aplikacísudo, ale i X11 bez nutnosti restartu.

Použití:sudo ./change_hostname.sh new-hostname

#!/usr/bin/env bash
NEW_HOSTNAME=
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(,"\"&\""); print}')"
    
odpověděl Lucas 07.03.2014 07:30
12

Bez restartu:

  1. změnit název hostitele v/etc/hostname
  2. odpovídajícím způsobem aktualizujte/etc/hosts
  3. sudo sysctl kernel.hostname=mynew.local.host

Zkontrolujte aktuální název hostitele shostname -f

    
odpověděl Tombart 31.03.2015 16:46
7

Získat aktuální název hostitele:

cat /etc/hostname

To lze změnit v libovolném textovém editoru. Budete také muset aktualizovat jiný vstup než localhost proti 127.0.0.1 v / etc / hosts.

    
odpověděl tagMacher 14.09.2014 03:12
4

  1. Nahraďte obsah/etc/hostname pomocí požadovaného názvu hostitele (můžete upravit ssudo nano /etc/hostname)
  2. V/etc/hosts, nahradit položku vedle 127.0 1 .1 s požadovaným názvem hostitele (můžete upravit ssudo nano /etc/hosts)
  3. Spustitsudo service hostname restart; sudo service networking restart
odpověděl George 08.05.2015 20:26
4

Ubuntu 16.04

Toto je bez restartu a bez použití terminálu.

  • Přejděte na Nastavení systému - > Podrobnosti .
  • Tak to je. Vedle Název zařízení je textové pole.
  • Upravit textové pole a zavřít okno.

Otevřete terminál. Podívejte se na sebe.

(U starších verzí není textové pole upravitelné.)

    
odpověděl shonku 13.03.2017 19:26
3

sudo hostname your-new-name
sudo /etc/init.d/networking restart

To by mělo dělat práci, kterou si myslím

    
odpověděl OmarQunsul 20.12.2013 13:43
3

Přečetl jsem odpovědi, ale myslím, že to pravděpodobně hledáte:

Po úpravě souboru/etc/hostname stačí spustit tyto dva příkazy.

$ sudo service hostname restart
$ exec bash

To je vše. Není třeba restartovat. Také se ujistěte, že také změníte název v souboru/etc/hosts.

    
odpověděl Raman 28.09.2016 20:55
3

Klasická odpověď na otázku původního plakátu spočívá v tom, že po úpravě/etc/hostname použijete bez restartu spuštěním hostname (1) s volbou-F (--file) jako kořen:

sudo hostname -F /etc/hostname

Správa hostname (5) s/etc/hostname a uvedeným programem byly stejné v Debianu a jejích derivátech již více než dvacet let a balíček, který jej poskytuje byl označen zásadní a required a IIRC skripty init doslova používaly totéž po celá desetiletí (/etc/init/hostname.conf to stále obsahuje), takže musím říct, že jsem skutečně zmatený, jak to už nikdo nezmínil:)

    
odpověděl Josip Rodin 14.10.2017 19:55
2

Persistence názvu hostitele Cloud-init (Ubuntu 18+)

Zatímco výše uvedené přístupy (hostnamectl,etc/hostname, atd.) fungují pro okamžitou změnu názvu hostitele s příchodem cloud-init - který může řídit nastavení názvu hostitele - mezi mnoha dalšími věcmi. Takže po restartu se nezlepí, pokud je nainstalován cloud-init. Pokud chcete, aby změna zůstala po restartu počítače, budete muset upravit konfigurační soubory cloud-init , zakažte modul nastavit / aktualizovat název hostitele cloud-init:

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

nebo zcela zakázat cloud-init:

sudo touch /etc/cloud/cloud-init.disabled
    
odpověděl Pierz 18.06.2018 16:20
1

Ubuntu 16.04

Řešení založené na odpověď z komunity DigitalOcean.

Upravte soubor hosts .

$ sudo nano /etc/hosts

Nahradit staré jméno novým.

127.0.0.1 localhost newname

Nastavení nového názvu hostitele.

$ sudo hostnamectl set-hostname newname

    
odpověděl Jekis 12.01.2018 07:29