Cách thay đổi Hostname bằng Terminal trong Linux

Tác giả: VPS chính hãng 13 tháng 09, 2023

Hostname (tên máy chủ) là nhãn tùy chỉnh được gán cho máy tính hoặc máy chủ được kết nối với mạng để có thể dễ dàng xác định nó trong mạng, giúp truy cập và liên lạc cũng như để phân biệt với các thiết bị khác. Hostname được sử dụng trong nhiều lĩnh vực khác nhau của mạng, bao gồm cả Internet, ở định dạng văn bản mà con người có thể đọc được cùng với DNS để liên kết tới địa chỉ IP của thiết bị. Đặt Hostname là một trong các bước cài đặt hệ điều hành hoặc định cấu hình máy chủ, được người dùng chỉ định cho thiết bị hoặc máy chủ. Đôi khi, tên máy chủ trùng lặp trong mạng gây ra xung đột mạng, buộc người dùng phải thay đổi tên. Tất nhiên, các lý do khác gây ra nhu cầu thay đổi hostname chủ yếu là do mạng bị gián đoạn và không thể xác định hệ thống máy tính bằng tên máy chủ. Trong bài viết này, hãy cùng VPS Chính hãng tìm hiểu cách thay đổi Hostname trong các bản phân phối Linux phổ biến như Ubuntu, Debian và CentOS bằng Terminal. 

Các loại tên máy chủ trong Linux

Hostname là tên tùy chỉnh cho máy chủ và máy tính được kết nối với mạng, cần thiết cho việc quản lý mạng, truy cập vào các thiết bị trên mạng và liên lạc giữa các thiết bị. Với tư cách là quản trị viên của một mạng chứa nhiều máy chủ hoặc máy tính, việc xác định và quản lý các máy tính không có tên không phải là điều dễ dàng. Do đó, các máy tính trong mạng có thể được xác định, quản lý và phân biệt bằng Hostname – Tên máy chủ.

Hostname được phân thành nhiều loại khác nhau dựa trên cấu trúc và cách sử dụng của chúng. Trong các bản phân phối Linux hiện đại được cung cấp cùng systemd, Hostname được phân thành ba loại: Static Hostname, Pretty Hostname, vàTransient. Mỗi loại tên máy chủ là một phần của cấu hình hệ thống tổng thể với một mục đích cụ thể mà chúng ta sẽ nói sâu hơn.

Static Hostname

Static Hostname là tên máy chủ chính, được đặt trong quá trình cấu hình hoặc cài đặt hệ thống và không đổi trừ khi bạn thay đổi thủ công. Có thể tìm thấy tên này trong tệp /etc/hostname. Bạn có thể xem tên máy chủ này bằng cách chạy lệnh hostname trong terminal. Loại hostname này được sử dụng để phân biệt các thiết bị với các thiết bị khác trong các mạng khác nhau.

Pretty Hostname

Pretty Hostname cho phép sử dụng các ký tự đặc biệt và không chuẩn để làm cho tên máy chủ thân thiện với người dùng. Pretty Hostname là phiên bản Hostname thân thiện hơn với người dùng, được chọn cho mục đích hiển thị. Không giống như Static Hostname được sử dụng để nhận dạng các thiết bị trong mạng, Pretty Hostname được sử dụng làm nhãn cho người dùng hệ thống. Kiểm tra thư mục /etc/machine-info để tìm Pretty Hostname hiện tại.

Transient Hostname

Transient Hostname được sử dụng để đặt tên máy chủ tạm thời cho hệ thống. Khi bạn cần hệ thống của mình được nhận dạng theo cách khác, bạn có thể tạm thời sử dụng Transient Hostname. Transient Hostname không còn sau khi khởi động lại vì nó là tên động. Do đó, Tên máy chủ này là một giải pháp tốt cho các tình huống mà bạn cần thay đổi tên máy chủ tạm thời trong linux. Transient Hostname được lưu trữ trong nhân Linux.

Hostname Linux có ba loại là Static Hostname, Pretty Hostname, và Transient

Hostname Linux có ba loại là Static Hostname, Pretty Hostname, và Transient

Khi nào nên thay đổi Hostname trong Linux?

Nhiều lý do khác nhau khiến chúng ta sẽ quyết định thay đổi Hostname trong ubuntu, debian và centos. Nhưng hành động này phải được thực hiện một cách chu đáo và có chiến lược vì nó ảnh hưởng đến nhiều khía cạnh hiệu suất và quản lý hệ thống. Vậy khi nào chúng ta nên nghĩ đến việc thay đổi Hostname?

  • Thay đổi cấu trúc mạng và nhu cầu cập nhật tên máy chủ để phù hợp với cấu hình mới.
  • Cải thiện bảo mật và ngăn chặn việc tích hợp các thiết bị trái phép vào mạng.
  • Thay đổi hostname để phân biệt các thiết bị và ngăn không cho tên máy chủ giống nhau để quản lý và khắc phục sự cố mạng.
  • Thay đổi vai trò máy chủ đi kèm với nhu cầu thay đổi tên máy chủ để phản ánh mục đích của máy chủ. Ví dụ: thay đổi máy chủ web thành máy chủ cơ sở dữ liệu có nghĩa là thay đổi vai trò máy chủ.
  • Khi nâng cấp phần cứng.
  • Thay đổi hostname do sao chép, di chuyển hoặc mở rộng quy mô phiên bản trong môi trường đám mây và ảo hóa.
  • Xử lý sự cố mạng để giải quyết vấn đề không nhận hệ thống trong mạng.
  • Nhu cầu thay đổi hostname nhằm mục đích tổ chức khi sáp nhập hoặc phân chia dịch vụ trên một hoặc nhiều máy chủ.
  • Việc đặt tên bị xung đột trong mạng, việc thay đổi tên chính là giải pháp cho vấn đề này.
  • Cài đặt hoặc nâng cấp một số phần mềm cần đổi Hostname trên Linux.
  • Cải thiện trải nghiệm người dùng.

Cách thay đổi vĩnh viễn Hostname trong Ubuntu, Debian và CentOS thông qua Terminal

Để làm theo các bước trong hướng dẫn này, bạn cần có máy chủ Linux hoặc mua VPS Linux chạy Ubuntu, Debian hoặc CentOS. Ngoài ra, việc thực hiện các lệnh cần thiết để thay đổi tên máy chủ cần có quyền root. Bên cạnh đó máy chủ của bạn phải được trang bị trình soạn thảo văn bản như Vim. Dưới đây là 3 cách thay đổi vĩnh viễn Hostname Linux trong các bản phân phối thông dụng qua terminal.

Cách 1: Thay đổi hostname trong Linux bằng Hostnamectl (Không cần khởi động lại)

Lệnh Hostnamectl là một trong những lệnh nổi tiếng để thay đổi tên máy chủ và các cài đặt liên quan trong các bản phân phối Linux hiện đại được quản lý bởi systemd. Lệnh này có sẵn theo mặc định trong hầu hết các bản phân phối Linux. Các lệnh bạn chạy không khác nhau trong Ubuntu và CentOS, điểm khác biệt duy nhất là cách sử dụng trình quản lý gói của chúng.

1. Cài đặt systemd (nếu chưa có systemd)

Nếu bạn không sử dụng bản phân phối Linux hiện đại và hệ thống của bạn không được quản lý bởi systemd, bạn cần cài đặt nó để chạy lệnh hostingnamectl:

apt-get install systemd

2. Kiểm tra hostname hiện tại

Kiểm tra hostname hiện tại trong Ubuntu và Centos bằng một trong các lệnh sau:

hostname

Lệnh trước hiển thị Static Hostname, cung cấp kết quả ngắn gọn và hữu ích. Để có thêm thông tin về Hostname và thiết bị của bạn, bạn có thể chạy lệnh sau:

hostnamectl

Output:

Static hostname: VPSchinhhang
Icon name: computer-vm
Chassis: vm
Machine ID: 45598cbdb6ee462e8696166b520fe788
Boot ID: 99526e56aeea45c2a0f3b2ffaaffe9d9
Virtualization: openvz
Operating System: Ubuntu 20.04.3 LTS
Kernel: Linux 5.4.0
Architecture: x86-64

Như bạn có thể thấy, đầu ra của lệnh hostingnamectl, ngoài việc cung cấp Static Hostname hiện tại, còn hiển thị thông tin bổ sung về thiết bị của bạn.

3. Thay đổi Hostname vĩnh viễn

Đặt Static Hostname mới và đủ điều kiện bằng cách chạy lệnh sau:

hostnamectl set-hostname new-hostname

Nếu lệnh trước thành công, bạn sẽ không nhận được đầu ra.

Khi xác định Hostname mới, hãy đảm bảo rằng Hostname phải có từ 2 đến 64 ký tự và có thể bao gồm các chữ cái viết thường (a đến z) và số (0-9). Hostname không thể bắt đầu và kết thúc bằng số, và phải bắt đầu và kết thúc bằng các chữ cái. Ngoài ra, bạn có thể sử dụng dấu chấm và dấu gạch nối trong đó.

4. Xác nhận thay đổi

Vì bạn không nhận được đầu ra sau khi đặt tên máy chủ mới, hãy chạy lệnh sau để đảm bảo hostname đã được thay đổi:

hostnamectl

Cuối cùng, bạn có thể đảm bảo việc đặt hostname mới của mình bằng cách kiểm tra đầu ra hiển thị hostname mới.

5. Thay đổi Pretty Hostname (tùy chọn)

Pretty Hostname không phải là tên thuộc về hệ thống hoặc mạng mà được gán cho người dùng. Để thay đổi pretty hostname trong các bản phân phối Ubuntu, Debian và CentOS, hãy chạy lệnh sau:

hostnamectl set-hostname "new-hostname" --pretty

Lưu ý: Đừng quên gõ dấu ngoặc kép trong lệnh trước.

Để đảm bảo pretty hostname của máy tínH đã được thay đổi, bạn có thể chạy lệnh sau:

hostnamectl

hoặc:

hostnamectl status

Ở đầu ra, bạn sẽ thấy pretty hostname đã thay đổi và nếu trước đó bạn chưa đặt tên pretty hostname thì bây giờ dòng chứa tên pretty hostname mà bạn muốn đã được thêm vào.

Cách 2: Thay đổi Hostname trong Linux bằng nmtui

Lệnh nmtui là viết tắt của Network Manager Text User Interface. Đây là giao diện đơn giản, dựa trên văn bản để quản lý kết nối mạng bằng NetworkManager trong Linux, cho phép người dùng đặt tên máy chủ và quản lý kết nối mạng thông qua thiết bị đầu cuối Linux. nmtui là một trong những lệnh hữu ích để quản lý cài đặt mạng và định cấu hình kết nối mạng trên máy chủ. Lệnh nmtui được hầu hết các bản phân phối Linux hỗ trợ.

1. Cài đặt gói nmtui

Sau khi kết nối với máy chủ qua SSH, hãy nhập thiết bị đầu cuối và cài đặt gói NetworkManager-tui và các phần phụ thuộc nmtui trên CentOS bằng cách chạy lệnh sau:

sudo yum install NetworkManager-tui

Sau khi tải các gói, gõ Y và nhấn Enter.

Hiển thị thông báo “Complete!” cho biết việc cài đặt thành công các gói nmtui.

Hiển thị giao diện cho biết cài đặt gói nmtui thành công

Hiển thị giao diện cho biết cài đặt gói nmtui thành công

2. Kiểm tra Network manager

Để đảm bảo cài đặt thành công các gói nmtui, hãy kiểm tra trạng thái của Network manager (Trình quản lý mạng) bằng cách chạy lệnh sau:

service NetworkManager status

Output:

Redirecting to /bin/systemct1  status  NetworkManager.service
NetworkManager.Service - Network Manager
    Loaded: Loaded (/usr/lib/systemd/system/NetworkManager. service; enabled; vendor preset: enabled)
   Active: inactive (dead)
      Docs: man: NetworkManager (8)

3. Khởi động dịch vụ nmtui

Bây giờ là lúc bắt đầu dịch vụ nmtui, hãy chạy lệnh sau:

service NetworkManager start

Sau đó chạy lệnh sau để sử dụng tiện ích nmtui để thay đổi hostname và khởi chạy giao diện dựa trên văn bản nmtui:

sudo nmtui

4. Thay đổi Hostname

Điều hướng qua các tùy chọn có sẵn trong cửa sổ TUI NetworkManager, chọn tùy chọn “Set system hostname” và nhấn Enter.

Chọn Set system hostname

Chọn Set system hostname

Nhập hostname hợp lệ mong muốn của bạn và chọn OK để áp dụng các thay đổi.

Hostname mới đã được thay đổi

Hostname mới đã được thay đổi

Thay đổi hostname trong Ubuntu và Debian thông qua lệnh nmtui cũng giống như các bước chúng tôi đã hướng dẫn trong CentOS, và điểm khác biệt là ở việc sử dụng trình quản lý gói của chúng.

Cách 3: Thay đổi Hostname trong Linux bằng cách chỉnh sửa tệp cấu hình (Yêu cầu khởi động lại)

Cho đến nay trong bài viết, bạn đã học cách thay đổi Tên máy chủ thông quan lệnh nmtui và lệnh hostnamectl trong Linux. Có một phương pháp khác đơn giản hơn hai phương pháp trước, bạn có thể thay đổi vĩnh viễn tên máy chủ trong các bản phân phối Ubuntu, Debian và CentOS bằng cách chỉnh sửa các tệp /etc/hosts/etc/hostname có chứa Static Hostname.

Do đó, để thay đổi vĩnh viễn tên máy chủ bằng cách chỉnh sửa các tệp cấu hình thông qua trình chỉnh sửa yêu thích của bạn, hãy làm theo các bước dưới đây.

1. Mở tệp /etc/hostname

May mắn thay, các tập tin /etc/hosts/etc/hostname có thể được chỉnh sửa. Bạn phải truy cập nội dung của các tệp này bằng trình chỉnh sửa yêu thích của mình và thay đổi tên máy chủ cũ thành tên máy chủ mới. Đầu tiên, mở tệp cấu hình bằng trình chỉnh sửa mong muốn:

vi /etc/hostname

Output:

VPSchinhhang

Tệp /etc/hostname chứa static hostname hiện tại. Sau khi mở tệp, bạn có thể cập nhật hostname cũ, lưu các thay đổi và thoát tệp.

2. Mở tệp /etc/hosts

Tệp /etc/hosts chứa hostname và địa chỉ IP. Tương tự như bước 1, mở tệp /etc/hosts bằng trình chỉnh sửa yêu thích của bạn và thay thế tên máy chủ cũ bằng tên máy chủ mới.

sudo vi /etc/hosts

Output:

127.0.0.1 VPSchinhhang

Sau khi thay đổi tên máy chủ cũ, hãy lưu các thay đổi của bạn và thoát.

3. Chỉnh sửa tệp cấu hình đám mây

Bạn đã thay đổi thành công hostname trên mạng bằng cách chỉnh sửa các tệp cấu hình, bạn cần chỉnh sửa tệp cấu hình đám mây (cloud) để áp dụng các thay đổi sau khi khởi động hệ thống. Với mục đích này, bạn phải truy cập nội dung của tệp cấu hình đám mây bằng cách chạy lệnh sau và trình chỉnh sửa yêu thích của bạn:

sudo vim /etc/cloud/cloud.cfg

4. Thực hiện thay đổi nội dung của tệp cấu hình đám mây

Sau khi mở file cấu hình đám mây, hãy thay đổi giá trị của dòng chứa Serve_hostname thành true:

preserve_hostname: true

5. Khởi động lại hệ thống

Khởi động lại hệ thống để áp dụng các thay đổi:

sudo systemctl reboot

6. Xác nhận thay đổi

Để kiểm tra xem những thay đổi bạn đã thực hiện có được giữ nguyên sau khi khởi động lại hệ thống hay không, bạn có thể chạy lệnh sau:

hostname

Trong đầu ra của lệnh trước, bạn sẽ thấy Hostname mới và bạn sẽ đảm bảo rằng Hostname mới được đặt cho hệ thống sau khi khởi động hệ thống. Bạn cũng có thể mở tệp /etc/hosts bằng trình chỉnh sửa bạn chọn và đảm bảo rằng Hostname không thay đổi sau khi khởi động lại hệ thống.

=>> Cách cập nhật nhân Linux Ubuntu lên phiên bản mới nhất

Việc đặt hostname hợp lệ và duy nhất rất quan trọng trong việc quản lý mạng, khắc phục sự cố mạng cũng như xác định và truy cập thiết bị. Quản trị viên mạng phải là chuyên gia trong việc thay đổi tên máy chủ trong trường hợp có vấn đề. VPS Chính hãng hy vọng giờ đây bạn có thể cập nhật hostname của hệ thống bằng bất kỳ cách nào đã được chia sẻ ở trên. Chúc các bạn thành công!