Manpages

NAME

nss-myhostname, libnss_myhostname.so.2 - 为 本 地 配 置 的 系 统 主 机 名 提 供 解 析 功 能

SYNOPSIS

libnss_myhostname.so.2

描 述

nss-myhostname 是 一 个 glibc(GNU C Library) NSS(Name Service Switch) 插 件 , 提 供 了 解 析 本 地 配 置 的 系 统 主 机 名 的 功 能 。 所 谓 "本 地 配 置 的 系 统 主 机 名 "其 实 就 是 gethostname(2) 函 数 的 返 回 值 。 该 模 块 的 解 析 规 则 如 下 :

• 本 机 的 主 机 名 将 会 被 解 析 为 所 有 本 地 IP地 址 , 并 按 照 他 们 所 属 的 scope 排 序 。 如 果 scope 不 存 在 , 则 会 被 解 析 为 本 地 回 环 接 口 上 的 IPv4 127.0.0.2 以 及 IPv6 ::1

• "localhost" 与 "localhost.localdomain" 以 及 所 有 以 ".localhost" 或 ".localhost.localdomain" 结 尾 的 主 机 名 , 都 会 被 解 析 为 127.0.0.1 与 ::1

• "gateway" 会 被 解 析 为 当 前 所 有 的 默 认 网 关 地 址 , 并 按 照 地 址 的 数 字 顺 序 排 序 。 这 样 就 为 当 前 网 关 分 配 了 一 个 固 定 的 主 机 名 , 从 而 可 以 让 应 用 程 序 在 不 关 心 网 络 配 置 的 情 况 下 , 直 接 引 用 网 关 。 许 多 软 件 依 赖 于 存 在 一 个 可 以 永 远 被 解 析 的 本 地 主 机 名 。 当 使 用 动 态 主 机 名 的 时 候 , 传 统 的 做 法 是 在 主 机 名 发 生 变 化 的 同 时 修 改 /etc/hosts 文 件 。 这 种 做 法 的 缺 点 在 于 要 求 /etc 目 录 必 须 是 可 写 的 , 而 且 有 可 能 在 修 改 /etc/hosts 文 件 的 同 时 , 系 统 管 理 员 也 正 在 编 辑 它 。 启 用 nss-myhostname 之 后 , 就 可 以 不 必 修 改 /etc/hosts 文 件 。 更 进 一 步 , 在 许 多 系 统 上 甚 至 无 需 存 在 这 个 文 件 。 要 激 活 NSS模 块 , 可 将 "myhostname" 添 加 到 /etc/nsswitch.conf 文 件 中 以 "hosts:" 开 头 的 行 里 面 。 建 议 将 "myhostname" 放 置 在 nsswitch.conf 文 件 中 以 "hosts:" 开 头 的 行 的 末 尾 , 以 确 保 优 先 使 用 传 统 的 基 于 DNS与 /etc/hosts 文 件 的 解 析 方 法 。

例 子

下 面 是 一 个 正 确 开 启 了 nss-myhostname 插 件 的 /etc/nsswitch.conf 文 件 的 例 子 :

passwd: compat mymachines
group: compat mymachines
shadow: compat

hosts: files mymachines resolve myhostname
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis 可 以 使 用 glibc 软 件 包 中 的 getent 工 具 检 查 配 置 的 有 效 性 :

$ getent ahosts ’hostname’ ::
1 STREAM omega ::
1 DGRAM ::
1 RAW
127.0.0.2 STREAM
127.0.0.2 DGRAM
127.0.0.2 RAW 本 例 中 的 本 地 主 机 名 是 omega

参 见

systemd(1), nss-resolve(8), nss-mymachines(8), nsswitch.conf(5), getent(1)

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 翻 译 人 员 : 金 步 国 金 步 国 作 品 集 : http://www.jinbuguo.com 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh