标签: hostname

如何在 CentOS 6.5 上更改主机名?

我似乎无法更改 CentOS 6.5 主机上的主机名。我正在按照我在此处找到的说明进行操作:http : //www.rackspace.com/knowledge_center/article/centos-hostname-change

/etc/hosts是这样设置的...

    [root@mig-dev-006 ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain 
    192.168.32.128  ost-dev-00.domain.com ost-dev-00
    192.168.32.129  ost-dev-01.domain.com ost-dev-01
Run Code Online (Sandbox Code Playgroud)

......然后我/etc/sysconfig/network像这样制作我的文件......

    [root@mig-dev-006 ~]# cat /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=ost-dev-00.domain.com
    NTPSERVERARGS=iburst
Run Code Online (Sandbox Code Playgroud)

……那我就这样跑hostname……

    [root@mig-dev-006 ~]# hostname ost-dev-00.domain.com
Run Code Online (Sandbox Code Playgroud)

...然后我运行 bash,一切似乎都很好......

    [root@mig-dev-006 ~]# bash
Run Code Online (Sandbox Code Playgroud)

...但是当我重新启动网络时,旧的主机名又回来了:

    [root@ost-dev-00 ~]# /etc/init.d/network restart
    Shutting down interface eth0:  Device state: 3 (disconnected)
                                                               [  OK  ]
    Shutting down loopback interface:                          [  OK  ]
    Bringing up loopback interface:                            [  OK  ]
    Bringing up interface eth0:  Active …
Run Code Online (Sandbox Code Playgroud)

hostname centos

54
推荐指数
4
解决办法
36万
查看次数

如何正确设置主机名和域名?

我正在租用一台服务器,在一家公司运行 Ubuntu 16.04,我们将其命名为 company.org。

目前,我的服务器配置如下:

  • 主机名: server737263
  • 域名: company.org

这是我的 FQDN:

user@server737263:~ $ hostname --fqdn
server737263.company.org
Run Code Online (Sandbox Code Playgroud)

这并不奇怪。

我也在租一个域名,我们起个名字吧domain.org。我想做的是将我的服务器重命名为server1.domain.org.

这意味着将我的主机名配置server1domain.org.

我怎样才能正确地做到这一点?

确实,手册页hostname不清楚。至少对我来说:

主机名(1)

[...]

设置名称

  • 当使用一个参数或 --file 选项调用时,这些命令设置主机名或 NIS/YP 域名。hostname 使用 sethostname(2) 函数,而三个域名、ypdomainname 和 nisdomainname 都使用 setdomainname(2)。 请注意,这仅在下次重新启动之前有效。编辑 /etc/hostname 以进行永久更改。

[...]

FQDN

  • 您不能使用主机名或 dnsdomainname 更改 FQDN。

[...]

所以看起来编辑/etc/hostname还不够?因为如果它真的改变了主机名,它就会改变 FQDN。我还阅读了一个使用命令更改主机名的技巧sysctl kernel.hostname=server1,但没有说明这是正确的方法还是丑陋的技巧。

所以:

  1. 设置主机名的正确方法是什么?

  2. 设置域名的正确方法是什么?

ubuntu hostname domain

46
推荐指数
4
解决办法
27万
查看次数

IP地址中自动添加缺失的0是怎么回事?(`ping 10.5` 相当于`ping 10.0.0.5`)

我不小心打字

ssh 10.0.05
Run Code Online (Sandbox Code Playgroud)

代替

ssh 10.0.0.5
Run Code Online (Sandbox Code Playgroud)

并且非常惊讶它起作用了。我也尝试过10.00510.5并且那些也自动扩展到10.0.0.5. 我也尝试过192.168.1,扩展到192.168.0.1. 所有这些也适用于ping而不是ssh,所以我怀疑它适用于连接到任意用户提供的主机的许多其他命令。

为什么这样做?这种行为是否记录在某处?这种行为是 POSIX 的一部分还是什么?还是只是一些奇怪的实现?(使用 Ubuntu 13.10 物有所值。)

ip hostname

36
推荐指数
2
解决办法
2602
查看次数

如何在 Fedora 21 中永久更改主机名

我听说在新版本的 Fedora 中更改主机名是通过hostnamectl命令完成的。此外,我最近(并成功)使用这种方法更改了我在 Arch Linux 上的主机名。但是,在运行时:

[root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain
[root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain
[root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain
Run Code Online (Sandbox Code Playgroud)

重新启动后不会保留更改(与许多人声称的相反)。怎么了?

  • 真的不想/etc/hostname手动编辑。

我还应该注意,这是一个完全库存的软呢帽。我什至还没有开始安装我的核心应用程序。

fedora hostname

35
推荐指数
1
解决办法
7万
查看次数

如何获取计算机名称(不是其主机名)?

我搜索的所有结果最终都与hostname或 有关uname -n。我查找了两者的手册,寻找偷偷摸摸的选项,但没有运气。

我试图scutil --get ComputerName在 Linux 系统上找到等效的 OSX 。在 Mac OS X 上,计算机名称用作计算机的人类可读标识符;它显示在各种管理屏幕中(例如,库存管理、基于 Bonjour 的远程访问等)并用作默认主机名(经过过滤处理空格等)。

linux hostname

34
推荐指数
4
解决办法
10万
查看次数

使用 /etc/hosts 创建域名别名

我有一个域设置来使用动态 DNS 指向我的 LAN 的外部 IP,因为我的外部 IP 地址经常更改。但是,我想为此主机创建别名,以便我可以使用home. 所以我将以下内容附加到我的/etc/hosts

domain.com home

但是,它似乎并不喜欢该域名。如果我将其更改为 IP:

0.0.0.0 home

……然后就可以了,但这当然违背了动态 DNS 的目的!

这可能吗?

networking hostname hosts

28
推荐指数
1
解决办法
7万
查看次数

如何在 CentOS 7.0 上设置完全限定的主机名?

如何在 CentOS 7.0 上设置完全限定的主机名?

我在网上看到了一些帖子,例如使用:

$ sudo hostnamectl set-hostname nodename.domainname
Run Code Online (Sandbox Code Playgroud)

但是,运行 domainname 不会返回任何内容:

$ domainname
(none)
Run Code Online (Sandbox Code Playgroud)

还:

$ hostname
nodename.domainname
Run Code Online (Sandbox Code Playgroud)

然而,

$ hostname -f
hostname: Name or service not known
$ hostname -d
hostname: Name or service not known
Run Code Online (Sandbox Code Playgroud)

一些调试输出:

$ cat /etc/hostname
nodename.domainname

$ grep ^hosts /etc/nsswitch.conf
hosts:      files dns
Run Code Online (Sandbox Code Playgroud)

hostname centos domain

25
推荐指数
1
解决办法
10万
查看次数

我更改了主机名,为什么我的 bash PS1 提示未更改?

我通过编辑 /etc/hostname 更改了我的主机名,并且可以使用hostnamehostname -F命令查看新的主机名。

但是 shell 提示仍然显示旧的主机名。

顺便说一下,这是 Ubuntu 11.0.4。提示设置在我.bashrc没有编辑的我。注销甚至重新启动都没有效果。

标准 Ubuntu 的相关部分.bashrc

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
Run Code Online (Sandbox Code Playgroud)

($debian_chroot 在我登录时未设置...)

我猜主机名是由特殊字符 \h 获取的。

这是 shell 中报告的 PS1 设置:

PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
Run Code Online (Sandbox Code Playgroud)

这是 PS1 显示的内容:

username@oldhostname:~$ 
Run Code Online (Sandbox Code Playgroud)

我使用沃伦回答中的确切命令重复了这个过程。事实证明,主机名在重新启动之前一直有效,但随后它就会丢失,即使/etc/hostname包含新的主机名。

bash ubuntu hostname

23
推荐指数
2
解决办法
3万
查看次数

如何在 Linux 命令行提示符中显示主机名

我有几个虚拟机,现在我的命令行提示符看起来像-bash-3.2$;在每个 VM 上都相同,因为它不包含主机名。hostname在执行任何操作之前,我需要始终查看我正在使用哪个 VM 。如何将主机名添加到 shell 提示中?

环境:CentOS/ssh

bash prompt hostname

23
推荐指数
3
解决办法
8万
查看次数

hostnamectl 命令的意义何在?

与编辑 /etc/hostname 或其他相关的地方相反?

一定有一个很好的理由(我希望)——总的来说,我更喜欢“旧”的方式,一切都是一个文本文件。我不是想引起争议——我真的很想知道,并自己决定这是否是一个很好的理由。谢谢。

linux hostname systemd

23
推荐指数
2
解决办法
2万
查看次数

标签 统计

hostname ×10

bash ×2

centos ×2

domain ×2

linux ×2

ubuntu ×2

fedora ×1

hosts ×1

ip ×1

networking ×1

prompt ×1

systemd ×1