Постоянное изменение имени хоста в Ubuntu

Я хочу создать оболочку script, которая может постоянно изменять имя хоста моего Ubuntu. Всякий раз, когда я использую команду hostname New_hostname, она возвращает исходное имя хоста после перезапуска машины.

Я узнал, что единственный способ изменить это навсегда - это изменить файл в /etc/hostname и сохранить его. Есть ли способ сделать это, используя только оболочку script? У меня также есть пароль.

Ответ 1

hostnamectl объединяет настройку имени хоста с помощью команды hostname и редактирования /etc/hostname. К сожалению, редактирование /etc/hosts еще нужно сделать отдельно.

hostnamectl set-hostname <new-hostname>

Ответ 3

В Ubuntu 18.04 LTS

Изменение имени хоста через SSH восстанавливается после перезагрузки в Ubuntu 18.04. Внесите постоянные изменения следующим образом.

1. Отредактируйте /etc/cloud/cloud.cfg

sudo nano /etc/cloud/cloud.cfg

Установите для preserve_hostname значение true

preserve_hostname: true

2. Запустите hostnamectl

hostnamectl set-hostname new-host-name

3. Reboot

sudo reboot

Ответ 4

Как изменить имя хоста сервера Ubuntu без перезагрузки системы?

Введите следующие команды:

Затем отредактируйте файл /etc/hostname и обновите имя хоста:

$ sudo nano /etc/hostname

Наконец, отредактируйте файл /etc/hosts и обновите строки, которые читают ваше старое имя хоста:

$ sudo nano /etc/hosts

От:

127.0.1.1 newhost.example.com

To:

127.0.1.1 myhost.example.com

Сохраните и закройте файл.

Ubuntu Linux Изменить имя хоста, используя hostnamectl

$ hostnamectl

Пример выходных данных:

   Static hostname: ip-10-x-xx-xxx.us-west-2.compute.internal
Transient hostname: newhost.example.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: ec23eca3540747b9c3648dc0fNXXXXXX
           Boot ID: 603fff5ef0b040bbaXXXXXXXXe87bf5e
    Virtualization: kvm
  Operating System: Amazon Linux 2
       CPE OS Name: cpe:2.3:o:amazon:amazon_linux:2
            Kernel: Linux 4.14.133-113.112.amzn2.x86_64
      Architecture: x86-64

Установите или измените имя своего компьютера

$ hostnamectl set-hostname 'myhost.example.com'

Пример выходных данных:

   Static hostname: ip-10-x-xx-xxx.us-west-2.compute.internal
Transient hostname: myhost.example.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: ec23eca3540747b9c3648dc0fNXXXXXX
           Boot ID: 603fff5ef0b040bbaXXXXXXXXe87bf5e
    Virtualization: kvm
  Operating System: Amazon Linux 2
       CPE OS Name: cpe:2.3:o:amazon:amazon_linux:2
            Kernel: Linux 4.14.133-113.112.amzn2.x86_64
      Architecture: x86-64
[email protected]:~$ hostname
host.example.com
[email protected]:~$ sudo hostname myhost.example.com
[email protected]:~$ hostname
myhost.example.com

Ответ 5

Измените имя хоста навсегда без перезагрузки

/ и т.д./хосты

127.0.0.1    persistent_host_name

/ и т.д./имя хоста

persistent_host_name

Применить изменения немедленно

$ sudo hostname persistent_host_name

Проверьте изменения

$ hostname
persistent_host_name

Ответ 6

Как правило, вам необходимо изменить его в этих файлах:

/etc/hostname
/etc/hosts

Если вы используете некоторые продвинутые принтеры, также здесь:

/etc/printcap

Вот почему я бы рекомендовал сделать это вручную - но сначала сначала найдите старые имена хостов. Чтобы найти все вхождения в /etc:

sudo grep -iRI "_OLDHOSTNAME_" /etc 2>/dev/null

Затем измените _OLDHOSTNAME_ в каждом случае. Готово.

Ответ 7

Чтобы изменить имя хоста Hostname на машине ubuntu

Перейдите к:

 #vim /etc/hostname

Введите имя хоста внутри файла, который вы хотите установить для машины

Затем сохраните файл и

После сохранения документа выполните эту команду

 # hostname -F /etc/hostname

Затем отредактируйте файл /etc/hosts

 #vim /etc/hosts

введите ip имя хоста внутри файла

Затем выйдите из машины и перейдите в машину

Ответ 8

Если вы просто хотите изменить имя хоста, потому что его выводится в виде командной строки в терминале. Затем вы можете заменить \h в PS1 на "требуемое_хост_имя" в ~/.bashrc

Как в ~/.bashrc, поместите эту строку в конец файла:

export PS2="continue-> ";
export PS1="\[email protected]:~$ ";