linux下修改hostid
linux下修改hostid
1> 一个以16进制显示的int字符串;
2> 配置文件: /etc/hostid; 如果有值,输出, 结束。
3> 从hostname相对应ip的值经过某一算法,输出, 结束。
3.1 其中一个算法流传很多: ip地址转换成hex,然后将位置2143位置颠倒。
4>如果没有配置相对应的hostname相对应的IP, 输出00000000, 结束;
网上有几个列子:
例子1. c语言版:
- #include <unistd.h>
- int main(void){
- sethostid(0x12345678); /* 将hostid设为12345678(16进制) */
- return 1;
- }
经测试,第一次设置起到作用,并且/etc/hostid的值发生相对应的变化。以后的设置不起作用,/etc/hostid的值没有变。估计里面做了判断。
例子2. python直接修改根据hostname相对应的ip修改/etc/hostid 文件:
- #!/usr/bin/python
- from struct import pack
- a = '10.0.0.130'
- l =a.split('.')
- id = hex(int(l[1]))[2:]+'-'+hex(int(l[0]))[2:]+'-'+hex(int(l[3]))[2:]+'-'+hex(int(l[2]))[2:]
- id = '0x'+id
- hostid = pack("I",int(id,16))
- filename = "/etc/hostid"
- open(filename,"wb").write(hostid)
这个例子不适合我,我的hostname没有和ip关联,/etc/hosts以及/etc/hostname中都没有配置,同时不符合我的情况, 就没有测试。不过目测它是能起到作用的, 因为修改了配置文件。
例子3: 直接修改为某个hostid: aa0a1209。 一条命令:
- echo -ne '\x09\x12\x0a\xaa' > /etc/hostid
我的系统是小字节排序,知道原理,就直接倒序写了,c, python 闪一边去吧。
参考:
sethostid 函数: http://manpages.ubuntu.com/manpages/jaunty/man2/sethostid.2.html
python设置的例子: http://tdis.me/2013/02/fedora-18-linux-hostid-and-nuke/
c设置的例子: http://heweist.blog.163.com/blog/static/346429092010023111742342/
linux下修改hostid的更多相关文章
- 【修改端口号】linux下修改apache,nginx服务端口号
一.linux下修改apache端口号 yum安装后,apache配置文件: /etc/httpd/conf/httpd.conf 找到apache目录下的 httpd.conf, 使用vi 打开,找 ...
- 嵌入式 Linux下修改MAC地址
Linux下修改MAC地址 方法一: 1.关闭网卡设备ifconfig eth0 down2.修改MAC地址ifconfig eth0 hw ether MAC地址3.重启网卡ifconfig eth ...
- Linux下修改PATH的方法
Linux下修改PATH的方法 1.直接在命令行里敲 PATH=$PATH:/path1:/path2:/pathN用户登出之后PATH恢复原样. 只是临时起作用. 2.修改~目录下bash_prof ...
- Linux下修改网卡IP、DNS和网关
Linux下修改网卡IP和网关 建议通过终端字符方式下来修改 一.修改IP地址 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOO ...
- linux下修改IP信息
在Linux的系统下如何才能修改IP信息 以前总是用ifconfig修改,重启后总是得重做.如果修改配置文件,就不用那么麻烦了- A.修改ip地址 即时生效: # ifconfig eth0 192. ...
- Linux下修改字符集,转自
以下转自http://blog.csdn.net/cyuyan112233/article/details/6539122 Linux下修改字符集 locale -a 查询系统支持的字符集 expor ...
- Linux 下修改Tomcat使用的JVM内存大小
我的服务器的配置: # OS specific support. $var _must_ be set to either true or false. JAVA_OPTS="-Xms10 ...
- linux下修改Apache配置文件
linux下修改host文件host文件存放路径 /etc/hosts 可以用vim编辑 //Apache配置虚拟主机 /usr/local/apache/conf/extra/httpd-vhost ...
- Linux下修改主机名步骤
Linux下修改主机名为gpdb 步骤一.运行vi /etc/sysconfig/network命令 NETWORKING=yesHOSTNAME=gpdb 步骤二.运行hostname gpdb命令 ...
随机推荐
- 演练5-5:Contoso大学校园管理系统5
Contoso University示例网站演示如何使用Entity Framework 5创建ASP.NET MVC 4应用程序. Entity Framework有三种处理数据的方式: Data ...
- scrapy新浪天气
一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序: LX终端(LXTermin ...
- 更好地认知Azure
编辑人员注释:本文章由 Windows Azure 网站团队项目经理 Erez Benari 撰写. 我们的网站 http://www.windowsazure.com 包含大量信息,并且也在不断添加 ...
- cocos2dx-lua捕获用户touch事件的几种方式
这里仅仅针对lua 1.为每一个关心的事件注冊回调函数 详细分为下面几种 1>单点触摸 注冊函数为 cc.Handler.EVENT_TOUCH_BEGAN = 40 cc.Handl ...
- IOS系统对fixed定位支持不好的解决方法
问题: IOS 中所有浏览器,当页面上的输入框获得焦点时,呼出键盘. 页面底部的导航栏(position:fixed)会被键盘顶到页面的中间. 而当输入框失去焦点时,导航栏停留在页面中间,造成页面错乱 ...
- android保存文件到SD卡中
想把文件保存到SD卡中,一定要知道SD卡的路径,有人说可以用File explore来查看,这种方法不太好,因为随着android版本的升级,SD卡的路径可能会发生改变.在1.6的时候SD的路径是/s ...
- VS2010对C++11的支持列表(感觉大部分都不支持)
c++11,就是之前的c++0x,已经成为了最新的c++标准.像咱这样天天用c++的,就赶紧follow一下.学习成果,放在这里,不说分享,至少自己增强下记忆. 首先,给出一些有用的链接. http: ...
- HDU 1593 find a way to escape
数学题. 题意是问你能不能逃脱. 当V1的 角速度大于 V2的时候,能够一直保持 V1,O(圆心),V2 三点一线. 跑到一定距离.角速度小于的时候,就以三点一线为初始状态直接跑直线. #includ ...
- 基于visual Studio2013解决C语言竞赛题之1067间隔排序
题目 解决代码及点评 /* 功能:间隔元素排序.用随机函数产生25个[25,75]之间的整数, 把它送到一维数组M中. 要求对M[I],M[I+J],M[I+2*J],-这些元 ...
- Kendo UI开发教程(26): 单页面应用(四) Layout
Layout继承自View,可以用来包含其它的View或是Layout.下面例子使用Layout来显示一个View 1 <div id="app"></div&g ...