- Переименование компьютера
- systemd
- Специфические приложения
- avahi
- CUPS
- ejabberd
- Exim
- Mailname
- Сообщение дня
- OpenSSH
- Самоподписанный SSL сертификат
- ssmtp
- sysklogd
- fail2ban
- lvm
- Скрипт, который может вам помочь
- Опасный скрипт
- Улучшенный вариант скрипта
- Другой вариант скрипта
- Смотрите также
- Изменение имени хоста в Debian Linux
- Через имя хоста и файл hosts
- С помощью команды hostnamectl
- Через графический интерфейс
- Похожие записи:
- Как изменить имя хоста в Debian 11
- Изменение имени хоста (компьютера) в Debian 11
- Использование команды hostnamectl
- Заключение
Переименование компьютера
- Обновить /etc/hostname
- Обновить /etc/hosts, так локальный адрес(адреса) разрешается с новым именем системы.
- Перезагрузить конфигурацию сети. У вас есть два варианта:
- Обновить конфигурационные файлы » width=»16″ height=»16″/> Это временно отключит вашу систему от сети (ssh, обычно, удерживает связь при кратковременных разъединениях) » width=»16″ height=»16″/> Это может окончательно отсоединить вашу систему от сети потому что сеть может не восстановить соединение; для гарантированного применения настроек лучше перезагрузить систему, это больше даст гарантии от возможных ошибок.
invoke-rc.d hostname.sh start invoke-rc.d networking force-reload invoke-rc.d network-manager force-reload
systemd
В версиях Debian с установленным systemd, можно использовать команду «hostnamectl set-hostname mymachine». Этот инструмент зависит от dbus поэтому обязательно установите его в первую очередь.
Специфические приложения
avahi
Avahi использует так называемые публикации (объявления) локальным службам. Если вы изменяли файлы /etc/avahi/* вы должны выполнить:
invoke-rc.d avahi-daemon force-reload
CUPS
CUPS это Common Unix Printing System.
Нужно настроить файл /etc/printcap.
Вы должны поменять hostname в любой такой линии: Kyocera_TASKalfa_3050ci|Kyocera TASKalfa 3050ci:rm=debian:rp=Kyocera_TASKalfa_3050ci:
Вы должны перезапустить службу, чтобы изменения вступили в силу.
ejabberd
Exim
Перенастроить Exim (это затронет /etc/exim4/update-exim4.conf.conf и /etc/mailname):
dpkg-reconfigure exim4-config
Или настроить вручную /etc/exim4/update-exim4.conf.conf (hostname=). После этого надо перезапустить службу.
Mailname
Перенастроить Exim (см. выше) или настроить вручную /etc/mailname. После этого не надо перезапускать службу.
Сообщение дня
Настроить /etc/motd. После этого не надо перезапускать службу.
OpenSSH
Настроить /etc/ssh/ssh_host_rsa_key.pub, /etc/ssh/ssh_host_dsa_key.pub, /etc/ssh/ssh_host_ed25519_key.pub и /etc/ssh/ssh_host_ecdsa_key.pub (root@hostname в конце). После этого надо перезапустить службу.
Самоподписанный SSL сертификат
Пересоздать самоподписанный сертификат, созданный пакетом the ssl-cert используя правильный hostname вашего компьютера.
make-ssl-cert generate-default-snakeoil --force-overwrite
После этого надо перезапустить службу использующие это, например apache2.
ssmtp
Легковесная программа Ssmtp, для отправки только через SMTP.
Настроить /etc/ssmtp/ssmtp.conf (hostname=, и т. д.). После этого не надо перезапускать службу.
sysklogd
Перезапустите службу sysklogd.
fail2ban
fail2ban scan logs to detect connection failures and can ban IP on too many failures.
The hostname may be in the sender mail address in /etc/fail2ban/jail.local. You need to reload the service.
lvm
Logical Volume Manager (LVM) is a device mapper target that provides logical volume management.
Hostname появляется в резервной копии конфигурационного файла /etc/lvm/backup/ .
Скрипт, который может вам помочь
Опасный скрипт
Вы должны понимать, что данный скрипт может быть опасен для вашей системы. Вы должны проверить наличие всех файлов grep -rl «$old» /etc, которые должны быть модифицированы перед запуском этого скрипта:
1 #!/bin/bash 2 # 3 usage() 4 echo "usage : $0 " 5 exit 1 6 > 7 8 [ "$1" ] || usage 9 10 old=$(hostname) 11 new=$1 12 13 grep "$old" /etc/ -rl 2>/dev/null | 14 while read file 15 do 16 sed "s:$old:$new:g" "$file" > "$file.tmp" 17 mv -f "$file.tmp" "$file" 18 done
Улучшенный вариант скрипта
Этот скрипт будет делать тоже самое, что и скрипт выше, но он будет спрашивать о каждом файле, который надо изменить, прежде чем он отредактирует файл.
1 #!/bin/bash 2 # 3 4 # Fetching new and old hostname 5 OLD_HOSTNAME=$(hostname) 6 NEW_HOSTNAME=$1 7 8 WHIPTAIL_TITLE="Changing hostname" 9 WHIPTAIL_BACKTITLE="ShrimpDev " 10 WHIPTAIL_TEXT="Below you will find a checklist with all files where we found your old hostname \"$\" inside /etc\n\nPlease check which files we should update to your new hostname \"$\"" 11 12 not_root() 13 echo "ERROR: You have to be root to execute this script" 14 exit 1 15 > 16 17 usage() 18 echo "usage : $0 [Optional:--backup/Set backup mode on] [Optional:--debug/Set debug mode on]" 19 exit 1 20 > 21 22 # Check if user is root 23 [ $EUID != 0 ] && not_root 24 25 # Check if we have at least one parameter 26 [ "$1" ] || usage 27 28 [ "$1" == "--backup" ] && usage 29 [ "$1" == "--debug" ] && usage 30 31 DEBUG="NO" 32 BACKUP="NO" 33 34 if [ "$2" == "--debug" ] || [ "$3" == "--debug" ]; then 35 DEBUG="YES" 36 fi 37 38 if [ "$2" == "--backup" ] || [ "$3" == "--backup" ]; then 39 BACKUP="YES" 40 fi 41 42 [ "$DEBUG" == "YES" ] && echo "DEBUG (NO FILES WILL BE CHANGED)" 43 [ "$BACKUP" == "YES" ] && echo "BACKUP MODE ON" 44 45 # Grep all possible targets 46 TARGETS=($(grep "$OLD_HOSTNAME" /etc/ -rl)) 47 let TARGETSLENGTH=$ 48 49 CHECKLIST=() 50 for ((i=0; i; i++)); do 51 CHECKLIST+=("$" "" "ON") 52 done 53 54 CHECKLIST_RESULT=$(whiptail --clear --fb --title "$WHIPTAIL_TITLE" --backtitle "$WHIPTAIL_BACKTITLE" --checklist "$WHIPTAIL_TEXT" 30 80 $TARGETSLENGTH "$" 3>&2 2>&1 1>&3) 55 CHECKLIST_RESULT=$ 56 CHECKLIST_RESULT_ARR=(`echo $CHECKLIST_RESULT | tr ' ' '\n'`) 57 58 clear 59 60 for CHECKLIST_ITEM in "$"; do 61 echo "sed \"s:$:$:g\" \"$\" > \"$.tmp\"" 62 [ "$DEBUG" == "NO" ] && sed "s:$OLD_HOSTNAME:$NEW_HOSTNAME:g" "$CHECKLIST_ITEM" > "$CHECKLIST_ITEM.tmp" 63 64 if [ "$2" == "--backup" ]; then 65 echo "cp \"$\" \"$.BCK\"" 66 [ "$DEBUG" == "NO" ] && cp "$CHECKLIST_ITEM" "$CHECKLIST_ITEM.BCK" 67 fi 68 69 echo "mv -f \"$.tmp\" \"$\"" 70 [ "$DEBUG" == "NO" ] && mv -f "$CHECKLIST_ITEM.tmp" "$CHECKLIST_ITEM" 71 72 echo "" 73 done 74 75 exit 0
Другой вариант скрипта
#!/bin/bash # usage() echo "usage : $0 " exit 1 > [ "$1" ] || usage old=$(hostname) new=$1 for file in \ /etc/exim4/update-exim4.conf.conf \ /etc/printcap \ /etc/hostname \ /etc/hosts \ /etc/ssh/ssh_host_rsa_key.pub \ /etc/ssh/ssh_host_dsa_key.pub \ /etc/motd \ /etc/ssmtp/ssmtp.conf do [ -f $file ] && sed -i.old -e "s:$old:$new:g" $file done
Смотрите также
Изменение имени хоста в Debian Linux
Имя компьютера или имя хоста системы используется для идентификации компьютера или сервера в сети. Это может быть локальная сеть (LAN) или Интернет. При установке ОС вас попросят задать имя компьютера или имя хоста, и оно должно быть уникальным, чтобы избежать конфликтов. Позже, когда вы захотите изменить имя компьютера, вам придется выполнить несколько команд или внести изменения в некоторые файлы конфигурации, чтобы добиться этого.
В этой статье мы расскажем о трех способах изменения имени компьютера, также известного как имя хоста, как через графический интерфейс пользователя, так и через командную строку.
Мы выполнили команды и процедуры, упомянутые в этой статье, на Debian 10 и Debian 11.
Через имя хоста и файл hosts
Имя компьютера или имя хоста также можно изменить с помощью команды hostname. Чтобы просмотреть текущее имя хоста, просто введите hostname в терминале:
Теперь, чтобы изменить имя компьютера, используйте следующий синтаксис команды:
sudo hostname new_hostname
Замените new_hostname на то, которое вы хотите установить для своей системы.
Это также временный способ изменения имени компьютера. Существует также способ изменить имя компьютера навсегда. Для этого нам придётся отредактировать два разных конфигурационных файла /etc/hostname и /etc/hosts.
Сначала отредактируйте файл /etc/hostname, введя следующую команду в Терминале:
В нем будет указано имя вашего компьютера. Измените имя компьютера на новое, а затем нажмите Ctrl+O и Ctrl+X для сохранения и выхода из файла одновременно.
Затем отредактируйте файл /etc/hosts следующим образом:
Вы увидите имя компьютера, указанное напротив IP: 127.0.1.1.
Отредактируйте файл /etc/hosts
Измените имя этого компьютера на новое имя, затем сохраните и выйдите из файла, используя Ctrl+O и Ctrl+X одновременно. Теперь имя компьютера, которое вы только что задали, останется постоянным даже после перезагрузки системы.
С помощью команды hostnamectl
Существует еще одна команда hostnamectl, с помощью которой вы можете изменить имя вашего компьютера.
Теперь просто введите hostnamectl в терминале. Она отобразит подробную информацию о вашей системе, включая имя компьютера или имя хоста.
Чтобы изменить имя хоста компьютера с помощью команды hostnamectl, используйте следующий синтаксис:
hostnamectl set-hostname "new_hostname"
Замените new_hostname на то, которое вы хотите установить для своей системы.
Снова запустите команду hostnamectl, теперь вы увидите новое имя хоста, которое вы установили с помощью команды hostnamectl.
Через графический интерфейс
Чтобы изменить имя хоста через графический интерфейс, нажмите на стрелку вниз в правом верхнем углу рабочего стола Debian. В появившемся выпадающем меню нажмите на значок Настройки, как показано ниже, чтобы запустить утилиту Настройки.
Также вы можете открыть утилиту Настройки из системного меню Dash. Нажмите клавишу super на клавиатуре, затем в строке поиска введите настройки. Когда утилита появится, нажмите на нее, чтобы открыть.
Теперь перейдите на вкладку Подробности из левой панели. Вы увидите имя устройства или имя хоста в представлении О компьютере, как показано ниже:
Таким образом, имя хоста будет изменен
Изменение имени хоста с помощью этого метода не является постоянным. Оно вернется к старому имени, когда вы перезагрузите систему.
Похожие записи:
Как изменить имя хоста в Debian 11
Здравствуйте, друзья. В этой статье вы узнаете, как изменить имя хоста (компьютера) в Debian 11. Это короткое руководство ориентированно на новичков и на тех пользователей, которые хотят поиграть с оболочкой.
Как вы можете себе представить, имя хоста — это имя, которым компьютер идентифицирует себя в сети. Данное имя может быть выбрано произвольно и служит для обозначения компьютера.
Имя компьютера не следует путать с IP-адресом, который идентифицирует компьютер на сетевом уровне. А вот имя хоста (компьютера) делает это на системном уровне.
Изменение имени хоста (компьютера) в Debian 11
Существует несколько способов изменить имя хоста. Это очень просто. Также следует помнить, что это может избавить вас от неприятностей.
Использование команды hostnamectl
Команда hostnamectl — это инструмент, позволяющий отображать информацию о системе. Данная информация также включает текущее имя хоста
Чтобы добиться этого, вы можете открыть терминал и выполнить команду.
На экране появится сообщение следующего содержания:
Из этого вывода нас интересует значение hostname, а это параметр имеет значение:
Чтобы изменить его, требуется выполнить вот такую команду.
sudo hostnamectl set-hostname [Новое-имя-хоста]
Переименую я этот компьютер в setiwik.
sudo hostnamectl set-hostname setiwik
При желании вы можете задать красивое имя хоста, используя параметр —pretty.
sudo hostnamectl set-hostname «setiwik main server» —pretty
Вы также можете отредактировать файл /etc/hosts .
И отредактируйте строку, которая относится к 127.0.0.1.
Сохраните изменения и закройте редактор.
Наконец, проверьте изменения, снова запустив hostnamectl.
Как видите, сделать это очень просто.
Заключение
Как видите изменить имя компьютера (хоста) это очень просто. Это может ва помочь в определенных ситуациях, но будьте аккуратнее и не допускайте одинаковых имен в сети.