草庐IT

给linux(centos)操作系统设置主机名的几种方式

贺haha 2023-03-28 原文

镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

一、前言

就是我们需要集群部署hadoop,Flink时,写ip地址太长了,然后大家想的就是能不能用比如:node1,node2,node3去代替IP地址,在一个局域网中,每台机器都有一个主机名,便于主机与主机之间的区分,因此为每台机器设置主机名,以容易记忆的方法来相互访问。比如我们在局域网中可以为根据每台机器的功用来为其命名,也可以通过各个节点来命名。

二、三种方式给linux主机系统改名

在linux系统中,设置主机名我知道的有三种不同的方式,下面我们来看看这几种方式之间的区别。

1、通过hostname 新名字

命令格式:hostname newhostname

#1.修改主机名为node3
[root@node1 apps]# hostname node3
#2.退出系统,重新登录
[root@node1 apps]# logout
Last login: Wed Apr 13 10:52:37 2022 from 192.168.43.1
#3.node已经改为node3了
[root@node3 ~]# 

可以看到,修改后,看到的主机名并没有改变,但是当我们打开新的命令查看或者重新登录后连接,主机名就生效了。说明该方式是暂时修改主机名,用logout命令登出并重新登录即可生效。但不是永久生效。

2、通过修改配置文件

修改配置文件/etc/sysconfig/network也可以对主机名进行修改,linux主机名在下次重启之后开始生效,如需立即永久生效,需配合hostname命令即可。

[root@node3 ~]# vi /etc/sysconfig/network
# 1.设置主机名
NETWORKING=yes
HOSTNAME=node2

#2.查看是否设置成功
[root@node3 ~]# cat /etc/sysconfig/network

这样,修改后重新登录或者打开新的连接就生效了,重启的话会自动调用配置文件的设置,自动使主机名生效。

PS:对于在Ubuntu系统中,主机名存放在/etc/hostname文件中,修改主机名时,编辑hostname文件,在文件中输入新的主机名并保存该文件即可。

[root@localhost~]# vi /etc/hostsname
[root@localhost ~]# cat /etc/hostsname
node2
[root@localhost ~]#

3、使用 hostnamectl 来改变主机名

hostnamectl 命令允许在 Linux 中设置三类主机名,它们的细节如下:

1. 静态: 这是静态主机名,由系统管理员添加。
 
2. 瞬时/动态: 这个由 DHCP 或者 DNS 服务器在运行时赋予。
 
3. 易读形式: 它可以由系统管理员赋予。这个是自由形式的主机名,以一种易读形式来表示服务器,
   例如 “JBOSS UAT Server” 这样的名字。

设置命令格式: hostnamectl set-hostname主机名

[root@node3 ~]# hostnamectl set-hostname node4
[root@node3 ~]# hostnamectl status
[root@node3 ~]# cat /etc/hostname

注意:这些需要重启启动就可以生效了!并且是永久生效哟!

该方式设置后,会自动将设置信息写入到配置文件中,无需额外编辑,属于立即生效,永久生效的,重启也会生效。

4、总结

最后总结一下,三种方式都能够临时或永久的修改主机名,如果是希望永久性修改主机名还是推荐使用第三种hostnamectl 命令的方式去修改,修改后即可永久生效,无需去修改配置额外的文件,非常方便。

本文转自:https://blog.csdn.net/weixin_44385486/article/details/124145163

有关给linux(centos)操作系统设置主机名的几种方式的更多相关文章

  1. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  2. ruby-openid:执行发现时未设置@socket - 2

    我在使用omniauth/openid时遇到了一些麻烦。在尝试进行身份验证时,我在日志中发现了这一点:OpenID::FetchingError:Errorfetchinghttps://www.google.com/accounts/o8/.well-known/host-meta?hd=profiles.google.com%2Fmy_username:undefinedmethod`io'fornil:NilClass重要的是undefinedmethodio'fornil:NilClass来自openid/fetchers.rb,在下面的代码片段中:moduleNetclass

  3. ruby - 如何以所有可能的方式将字符串拆分为长度最多为 3 的连续子字符串? - 2

    我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby-on-rails - 如何使用 instance_variable_set 正确设置实例变量? - 2

    我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击

  6. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  7. ruby-on-rails - date_field_tag,如何设置默认日期? [ rails 上的 ruby ] - 2

    我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问

  8. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  9. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  10. ruby-on-rails - 正确的 Rails 2.1 做事方式 - 2

    question的一些答案关于redirect_to让我想到了其他一些问题。基本上,我正在使用Rails2.1编写博客应用程序。我一直在尝试自己完成大部分工作(因为我对Rails有所了解),但在需要时会引用Internet上的教程和引用资料。我设法让一个简单的博客正常运行,然后我尝试添加评论。靠我自己,我设法让它进入了可以从script/console添加评论的阶段,但我无法让表单正常工作。我遵循的其中一个教程建议在帖子Controller中创建一个“评论”操作,以添加评论。我的问题是:这是“标准”方式吗?我的另一个问题的答案之一似乎暗示应该有一个CommentsController参

随机推荐