Trên Ubuntu 10.04, / etc / hostname có chứa FQDN của máy chủ không?


18

Trên Ubuntu 10.04, tên / etc / hostname có chứa tên miền đủ điều kiện của máy chủ không?

Câu trả lời:


12

Không, chỉ là phần tên máy chủ. Theo trang man của Ubuntu , /etc/hostnamechỉ nên chứa phần tên máy chủ của tên máy chủ, không chứa FQDN:

FQDN

Bạn không thể thay đổi FQDN (như được trả về bởi tên máy chủ --fqdn) hoặc tên miền DNS (như được trả về bởi dnsdomainname) bằng lệnh này. FQDN của hệ thống là tên mà bộ giải quyết (3) trả về cho tên máy chủ.

Về mặt kỹ thuật: FQDN là tên gethostbyname (2) trả về cho tên máy chủ được trả về bởi gethostname (2). Tên miền DNS là phần sau dấu chấm đầu tiên.

Do đó, nó phụ thuộc vào cấu hình (thường là trong /etc/host.conf) làm thế nào bạn có thể thay đổi nó. Thông thường (nếu tệp máy chủ được phân tích cú pháp trước DNS hoặc NIS), bạn có thể thay đổi tệp trong / etc / hosts.

GHI CHÚ

Địa chỉ gia đình tên máy chủ cố gắng khi tra cứu FQDN, bí danh và địa chỉ mạng của máy chủ được xác định bởi cấu hình của trình phân giải của bạn. Chẳng hạn, trên các hệ thống GNU Libc, trình phân giải có thể được hướng dẫn thử tra cứu IPv6 trước bằng cách sử dụng tùy chọn inet6 trong /etc/resolv.conf.

CÁC TẬP TIN

/ etc / hosts / etc / hostname Tệp này chỉ nên chứa tên miền và không chứa FQDN đầy đủ.


Tôi không nghĩ nó rõ ràng từ trang người đàn ông như bạn thấy, nhưng tôi nghĩ tôi sẽ làm theo lời khuyên trên máy chủ của mình. Cảm ơn.
RyanTM

1
"/ etc / hostname Tệp này chỉ nên chứa tên miền và không phải là FQDN đầy đủ.", có vẻ rõ ràng đối với tôi ... nhưng tôi đồng ý, điều này có thể gây nhầm lẫn.
Josh

Oh. Tôi nghĩ rằng tôi đã vô tình không đọc câu đó. Tôi nghĩ rằng tôi đã rất cẩn thận đọc qua nó nhiều lần. Tôi sẽ đề nghị vùi dập câu đó.
RyanTM

Ubuntu 12.04, được phát hành với tên máy chủ-3.15ubfox1, đã thay đổi hostname(1)trang người đàn ông thành: " /etc/hostname: Trong lịch sử, tệp này được cho là chỉ chứa tên máy chủ và không phải là FQDN chính thức đầy đủ. Tập tin này được đọc vào lúc khởi động bởi các tập lệnh khởi tạo hệ thống để đặt tên máy chủ. "
200_success

7

Josh chỉ ra những gì Ubuntu khuyến nghị, nhưng tôi không chắc đó là quy tắc khó và nhanh.

/etc/hostnameđược sử dụng để đặt tên máy chủ của hệ thống, giống như được in bởi hostnamehoặc uname -n. Tên đó sẽ được sử dụng tại các dấu nhắc đăng nhập, ví dụ như trên bảng điều khiển ảo hoặc tại màn hình đăng nhập Gnome GDM.

Như trang man nói, nó cũng được sử dụng làm đầu vào cho truy vấn DNS khi thực hiện hostname --fqdnhoặc dnsdomainname.

Technically: The FQDN is the name gethostbyname(2) returns for the host name
returned by gethostname(2). The DNS domain name is the part after the first dot.

Điều đó có nghĩa là nếu đó là một từ trần, trình phân giải sẽ nối thêm các miền được liệt kê trong searchhoặc domaincài đặt /etc/resolv.confđể cố gắng tìm FQDN. Nếu bạn có FQDN trong / etc / hostname, điều đó có nghĩa là nó không phải thử nối thêm một hoặc nhiều tên miền: tên này không rõ ràng.

Vì vậy, tôi sẽ nói hoặc là hợp lệ. Tôi sẽ rất quan tâm nếu bất cứ ai có thể chứng minh khác.


Bạn nói đúng, đây không phải là quy tắc khó và nhanh: Tôi đã chuyển câu trả lời của mình vì một số máy chủ của tôi đã có tên máy chủ đầy đủ /etc/hostname! Chỉ sau khi tôi trả lời và tìm kiếm tài liệu tham khảo, tôi mới nhận ra rằng tôi đang đi ngược lại các tài liệu chính thức.
Josh

1

Với libnss-myhostname được cài đặt, bạn có thể viết fqdn vào /etc/hostnamevà được thực hiện. Mặt khác, bạn cũng cần chỉnh sửa /etc/hostsđể khớp tên ngắn và ánh xạ nó với tên đủ điều kiện (bạn cũng có thể đặt nó trong dns, nhưng điều đó không an toàn). Sử dụng giao diện loopback không mặc định, giao diện này trông như sau:

127.0.0.2 hostname.fully.qualified hostname
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.