Linux змінюємо ім'я сервера комп'ютера. Одноразові зміни імені hostname

ОС, але не хочу перезапускати.

Я редагував /etc/hostname, але для його реалізації потрібен перезапуск. Як цього уникнути?

Це просто. Просто натисніть значок Gear (розташований у правому верхньому куткуекрана), відкрийте екран «Про цей комп'ютер» (розташований на значку Gear) та відредагуйте «Ім'я пристрою».

Або, у терміналі, використовуйте наступну команду:

Sudo hostname your-new-name

Це призведе до того, що ім'я хоста буде присвоєно новому імені до перезапуску. Див. man hostname та Як змінити ім'я комп'ютера? для додаткової інформації. Не використовуйте на своє ім'я.

Нотатка

Після перезапуску будуть використані зміни /etc/hostname , тому (як ви сказали в питанні), ви все одно повинні використовувати

Sudo -H gedit /etc/hostname

(або інший редактор), щоб файл містив ім'я хоста.

Щоб перевірити правильність налаштування файлу, запустіть:

Ви також повинні відредагувати /etc/hosts і змінити рядок, який каже:

127.0.1.1 your-old-hostname

так що тепер він містить нове ім'я хоста. (Це необхідно, інакше багато команд перестануть функціонувати.)

Ubuntu 13.04 і далі

Команда hostnamectl є частиною стандартної установки як на робочому столі, так і на сервері.

Він об'єднує налаштування імені хоста за допомогою команди hostname та редагування /etc/hostname . Крім встановлення статичного імені хоста, він може встановити "симпатичне" ім'я хоста, яке не використовується в Ubuntu. На жаль, редагування /etc/hosts має виконуватися окремо.

Hostnamectl set-hostname new-hostname

Ця команда є частиною пакету systemd-services (який з Ubuntu 14.04 також включає команди timedatectl та localectl). Коли Ubuntu мігрує в systemd, цей інструмент є майбутнім.

Без перезавантаження

Зміна імені хоста або комп'ютера в ubuntu без перезавантаження

Змініть /etc/hostname і змініть на нове значення,

Nano /etc/hostname

Змініть /etc/hosts та змініть старий рядок 127.0.1.1 на нове ім'я хоста

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

Примітка: я прочитав його на форумі> Змінити / etc / hosts і змінив старий рядок 127.0.1.1 на нове ім'я хоста (якщо ви цього не зробите, ви більше не зможете використовувати sudo. Якщо ви вже це зробили, натисніть ESC у меню grub, виберіть відновлення та відредагуйте файл хоста на правильні налаштування)

Тепер після перезавантаження ваше ім'я хоста буде новим, яке ви вибрали

Без перезавантаження

Щоб змінити без перезавантаженняВи можете просто використовувати hostname.sh після редагування / etc / hostname. Ви повинні зберегти обидва імені хоста в /etc/hosts (127.0.0.1 newhost oldhost), поки не виконайте наступну команду:

Sudo service hostname start

Примітка. Команда вище, щоб зробити зміну активним. Ім'я хоста, збережене в цьому файлі (/etc/hostname), буде збережено при перезавантаженні системи (і буде встановлено з використанням тієї ж служби).

Стандартне ім'я було встановлено при встановлення Ubuntu. Ви можете легко змінити його на все, що завгодно, на робочому столі та сервері, відредагувавши файли хостів та файлів хостів. Нижче показано, як:

  1. Натисніть Ctrl Alt t на клавіатурі, щоб відкрити термінал. Коли він відкриється, запустіть наступну команду: sudo hostname NEW_NAME_HERE

Це змінить ім'я хоста до наступного перезавантаження. Ця зміна не буде видно відразу у вашому поточному терміналі. Запустіть новий термінал, щоб побачити нове ім'я хоста.

    Щоб змінити ім'я назавжди, запустіть команду для редагування файлів хоста:

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

Для сервера Ubuntuбез GUI запустіть sudo vi /etc/hostname та sudo vi /etc/hosts та відредагуйте їх один за одним. В обох файлах змініть ім'я на те, що ви хочете, та збережіть їх.

Нарешті перезавантажте комп'ютер, щоб застосувати зміни.

Ось сценарій, який змінює ім'я хоста вказаним чином. Це гарантує, що не тільки sudo але й додатки X11 продовжують працювати без необхідності перезавантаження.

Використання: 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)")"

Без перезавантаження:

  1. змінити ім'я хоста в /etc/hostname
  2. оновити /etc/hosts відповідно
  3. sudo sysctl kernel.hostname=mynew.local.host

Перевірте поточне ім'я хоста з hostname -f

  1. Замініть вміст /etc/hostname на потрібне ім'яхоста (ви можете редагувати за допомогою sudo nano /etc/hostname)
  2. У /etc/hosts замініть запис поруч із 127.0. 1 .1 з бажаним ім'ям хоста (ви можете редагувати за допомогою sudo nano /etc/hosts)
  3. Виконувати sudo service hostname restart; sudo service networking restart sudo service hostname restart; sudo service networking restart

Я прочитав відповіді, Але я думаю, ймовірно, ви шукаєте це:

Просто виконайте дві команди після редагування файлу /etc/hostname .

$ sudo service hostname restart $ exec bash

Це все. Не потрібно перезапускати. Також переконайтеся, що ви також змінили ім'я /etc/hosts .

Класична відповідь на вихідне питання постера полягає в тому, що після редагування /etc/hostname ви застосовуєте його без перезапуску, запустивши ім'я хоста (1) з параметром -F (--file) як root:

Sudo hostname -F /etc/hostname

Обробка імені хоста (5) з /etc/hostname та зазначеною програмоюбула такою ж у Debian і її деривативах вже більше двадцяти років, а пакет, що надає її, був позначений як необхідний, так і необхідний, а скрипти ініціалізації IIRC буквально використовувалися те саме протягом десятиліть (/etc/init/hostname.conf всі ще містить його), тому я повинен сказати, що я дійсно спантеличений тим, як про це ніхто не згадував 🙂

У цьому простому і короткому керівництвіви дізнаєтесь, як змінити ім'я комп'ютера в Ubuntu 17.04.

Давайте дізнаємося, як змінити ім'я комп'ютера в Ubuntu та інших дистрибутивах

Стандартне ім'я встановлюється під час встановлення Ubuntu. Ви можете легко змінити його на все, що завгодно, на робочому столі та сервері, відредагувавши файли хостів. Нижче показано, як це зробити:

1. Натисніть комбінацію клавіш Ctrl+Alt+Tна клавіатурі, щоб відкрити термінал. Коли він відкриється, запустіть наступну команду:

Це змінить ім'я хоста до наступного перезавантаження. Ця зміна не буде видно відразу у вашому поточному терміналі. Запустіть новий термінал, щоб побачити нове ім'я хоста.

2. Щоб змінити ім'я назавжди, запустіть команду для редагування файлів хоста:

sudo gedit /etc/hostname /etc/hosts

Для сервера Ubuntu без GUI запустіть sudo vi/etc/hostnameі sudo vi/etc/hostsта відредагуйте їх один за одним.

В обох файлах змініть ім'я на те, що ви хочете, та збережіть їх.

Що робити, якщо не змінюється ім'я комп'ютера?

Що робити в ситуації, коли ви змінили ім'я комп'ютера, а після перезавантаження хост, назва відновлюється і стає все як було, наприклад, стає якимось там MrUbuntu-PC, то, швидше за все, винна утиліта NetworkManager. Думаю, ви знаєте, що це за програма. Утиліта була створена для управління мережевими з'єднаннямиу Linux. Звичайно, вона зберігає в собі таку інформацію, як ім'я хоста. Адже це потрібно для швидкого визначенняпристрої у мережі.

Тут правильним буде рішення або видалити цю утиліту, або просто змінити ім'я хоста Ubuntuза допомогою того ж NetworkManager. Для цього потрібно зробити таке:

$ sudo vi /etc/NetworkManager/NetworkManager.conf

І додайте у файл такі рядки:


hostname=ім'я_комп'ютера

Готово! Це призведе до того, що ім'я хоста буде присвоєно новому імені після перезапуску. Тепер після ребуту системи NetworkManager поміняє ім'я хоста Ubuntu на правильне і після цього більше проблеміз цим не виникне.

Чому це краще робити через термінал?

Ubuntu поки що не надає графічний інтерфейсдля цього.

Цей процес також буде працювати на Linux Mintта інших дистрибутивах на базі Debian. Інші дистрибутиви Linux— наприклад, Fedora та аналогічні дистрибутиви на основі Red Hat- використовують різні методидля вказівки імені хоста.

У дистрибутивах Linux, які не базуються на Debian, є інші способи. Деякі дистрибутиви Linux можуть навіть надати графічну утилітуВи можете використовувати для швидкої змінивашого імені хоста, тому вам не потрібно використовувати термінал, якщо ви цього не хочете. Але найкращим буде спосіб, зазначений вище.

Висновки

Головне пам'ятати, що за будь-якого редагування файлів у системі важливо уважно дотримуватися посібника. Якщо ви виконали зміну імені, то розкажіть нам: все було для вас зрозуміло відразу? - це важливо, адже ми намагаємося надавати інструкції максимально зрозумілими для новачків.

Сподіваємось, ви зрозуміли як змінити ім'я комп'ютера в Ubuntu. Якщо у вас є свої варіанти, які є ще швидшими і зручнішими, ніж спосіб вище - розкажіть нам про це.

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту та натисніть Ctrl+Enter.

Існують 2 способи зміни імені комп'ютера в Debian/Ubuntu:

1. Одноразове змінення імені hostname.

(+) Після перезавантаження пк ім'я не зміниться.

Мінуси:

(-) А мінусів тут немає дивіться нижче.

2. Багаторазова зміна імені.

Плюси:

(+)Якщо необхідно тимчасово змінити hostname, то це вважається за +

Мінуси:

(-)Після перезавантаження ПК доведеться знову вводити команду для зміни імені комп'ютера в Debian/Ubuntu.

Отже, почнемо з другого (найпростішого) способу.

Для того, щоб дізнатися як називається наш ПК у мережі, вводимо команду: hostname У відповідь отримуємо щось типу цього.

Щоб змінити ім'я комп'ютера, потрібно ввести команду: hostname бажане_ім'я

Наприклад: hostname Lenny

Ну ось і змінили ми (до наступної сесії) ім'я hostname

Тепер приступимо до першого (найскладнішого):

Отже, розглянемо, що потрібно для того, щоб одноразово змінити ім'я комп'ютера в Debian/Ubuntu і більше не підходити до цього питання.

Системи, засновані на Debian, під час завантаження читають файл /etc/hostname, щоб встановити ім'я комп'ютера. Після чого прочитане ім'я встановлюється під час роботи init-скрипту. /etc/init.d/hostnameу деяких версіях /etc/init.d/hostname.sh. Таким чином, щоб дізнатися про поточне ім'я машини, можна на додаток до вищезазначеного способу, так само використовувати наступний підхід: cat /etc/hostname

У відповідь ми отримаємо поточне ім'я комп'ютера.

Щоб поставити постійне ім'якомп'ютеру необхідно відредагувати цей файл: sudo nano /etc/hostname

Після цього необхідно перезапустити скрипт: sudo /etc/init.d/hostname або sudo /etc/init.d/hostname.sh

Після активуємо демона hostname: /etc/init.d/hostname start

Якщо вас непокоїть ці команди, тоді можна просто перезавантажити ПК і у вас вже буде змінене hostname.Поки не забув! Нам ще потрібно перевірити файл /etc/hostsщодо згадування у ньому старого імені комп'ютера. Якщо воно там зустрічається, то його так само необхідно замінити на нове ім'я: sudo sed -i \"s/debian/new-lenny/g\" /etc/hosts

Після цього необхідно перепідняти мережу: sudo /etc/init.d/networking restart

Ну, ось і все готове!

З вами був Денис!