免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: myster
打印 上一主题 下一主题

有哪位朋友知道怎么更改HOSTID? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-02-27 23:32 |只看该作者

有哪位朋友知道怎么更改HOSTID?

man 2 sethostid

论坛徽章:
0
12 [报告]
发表于 2005-02-27 23:34 |只看该作者

有哪位朋友知道怎么更改HOSTID?

sethostid调用成功, 如果没有就会生成. 你也可以删去, HOSTID就变成最初的 7f0100

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
13 [报告]
发表于 2005-02-28 08:17 |只看该作者

有哪位朋友知道怎么更改HOSTID?

什么应用?如果是用lmgrd来调用license的东东的话,没有那么麻烦,改一下mac地址就可以了……

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
14 [报告]
发表于 2005-02-28 09:06 |只看该作者

有哪位朋友知道怎么更改HOSTID?

在Linux上,hostid是和/etc/hosts文件有很大的关系的!

当有一些改动的时候,会有一点变化的

论坛徽章:
0
15 [报告]
发表于 2005-02-28 09:54 |只看该作者

有哪位朋友知道怎么更改HOSTID?

capasult 兄,可否将程序提供与我参考一下,本人对C不甚了解。
现在目的只是更改HostID,实现同一个网络中相同的HostID主机可以共同使用同一个应用程序的License,License生成器是根据HostID产生的。
Linux与Solaris系统的HostID生成方法有所区别,更改方法区别就更大了。

论坛徽章:
0
16 [报告]
发表于 2005-02-28 10:29 |只看该作者

有哪位朋友知道怎么更改HOSTID?

/* host_id.c */

#include <stdio.h>;
#include <stdlib.h>;
#include <unistd.h>;
#include <errno.h>;
                                                                                                                                               
int main (int argc, char **argv)
{
    int verbose = 0;
                                                                                                                                               
    if(argc >; 2) {
        printf("Usage: host_id [HOSTID]\n";
        printf("Or host_id [-v]\n";
        exit(1);
    }
                                                                                                                                               
    if(argc == 2 && strcmp(argv[1], "-v" == 0) {
        verbose = 1;
        argc--;
        argv++;
    }
                                                                                                                                               
    if (argc==2) {
        if (sethostid(atoi(argv[1]))!=0) {
            perror("sethostid";
            exit(1);
        }
    } else if (argc==1) {
        unsigned long id = gethostid();
                                                                                                                                               
        if(id && verbose) {
            printf("Hostid is %lu (0x%lx)\n",id,id);
        } else if(id) {
            printf("0x%lx\n", id);
        } else {
            perror("gethostid";
        }
    }
    exit(0);
}

论坛徽章:
0
17 [报告]
发表于 2005-02-28 12:59 |只看该作者

有哪位朋友知道怎么更改HOSTID?

非常感谢capasult兄,我这就去调试一下

论坛徽章:
0
18 [报告]
发表于 2005-02-28 13:29 |只看该作者

有哪位朋友知道怎么更改HOSTID?

可否加一些注释,有些地方不大明白,或者有什么交流工具,咱们即时的交流一下?如有可以发Mail告诉我solocjh@163.com

论坛徽章:
0
19 [报告]
发表于 2005-02-28 13:44 |只看该作者

有哪位朋友知道怎么更改HOSTID?

OK!已经明白了,再次感谢capasult兄,希望以后能够多交流,更多的向你学习。

但是在使用当中发现一个问题就是,我输入的Hostid值应该是十进制的吧?
而在系统中敲打hostid输出的是16进制的值?

论坛徽章:
0
20 [报告]
发表于 2005-02-28 14:17 |只看该作者

有哪位朋友知道怎么更改HOSTID?

发现新的问题,如果在程序中实现更改Hostid,指定的参数值不能超过2147483647 ,不然所有的HostID值皆为7fffffff
而且如果/etc/hosts文件内容较多,那么host_id -v(以上程序加参数)所显示的值就越大,完全超过了2147483647这个值,如果指定大于214748364这个数的值就皆将HostID指定为7fffffff
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP