Odată cu trecerea la CentOS 7, modificarea hostname-ului se face diferit față de modalitatea „clasică” din CentOS 6.

În CentOS 7 există trei tipuri de hostname:

  • Static – este varianta „clasică” de hostname, stocată în fișierul /etc/hostname;
  • Transient – versiunea de hostname memorată în kernel, ce poate fi modificată de DHCP sau mDNS;
  • Pretty – o versiune cu text liber, cât mai sugestivă pentru utilizatorul uzual;

Dacă sunteți în fața consolei unui server sau îl accesați prin SSH, puteți modifica hostname-ul în două moduri: folosind unealta nmtui (de la NetworkManager Text User Interface) sau prin comanda hostnamectl.

Prima opțiune este grafică și vă lăsăm bucuria descoperirii ei, concentrându-ne pe a doua opțiune, comanda hostnamectl.

[hhosting@hangar ~]$ hostnamectl status
   Static hostname: hangar.hosting
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 99541d434f6d4a7b82a99d8760f11137
           Boot ID: 35ceec2341ef40bd9f7c54a28e0ca3d2
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-123.20.1.el7.x86_64
      Architecture: x86_64

În exemplul de mai sus, observați informațiile obținute la rularea simplă a comenzii: numele host-ului, sistemul de operare, precum și infrastructura folosită.

Implicit, este afișat hostname-ul static, sintaxa completă pentru afișare fiind cam așa:

hostnamectl status [--static|--transient|--pretty]

Pentru înregistrarea hostname-ului, folosiți opțiunea set-hostname din comandă:

[hhosting@hangar ~]$ sudo hostnamectl set-hostname "Server Hangar Hosting"
[sudo] password for hhosting:
[hhosting@hangar ~]$ hostnamectl status --pretty
Server Hangar Hosting
[hhosting@hangar ~]$ hostnamectl status --transient
serverhangarhosting
[hhosting@hangar ~]$ hostnamectl status --static
serverhangarhosting

Observați cum hostname-ul „pretty” este formatat așa cum am dorit, în timp ce versiunile „transient” si „static” au trunchiat spațiile, pentru a aduce numele de server înspre FQDN. Fișierul /etc/hostname a fost modificat corespunzător, însă -atenție- fișierul /etc/hosts nu se actualizează!

Dacă doriți doar schimbarea unui anumit tip de hostname, sintaxa este similară:

sudo hostnamectl --static set-hostname hangar.hosting

Nu trebuie să rebootați pentru ca modificarea de hostname static să intre în vigoare permanent, fiind suficient un ciclu logout/login.

Bibliografie: man pages