-
在linux下,更新域内的主机名/IP映射关系
Posted on 十一月 28th, 2008 No comments域内,windows的机器可以通过 ping直接获得IP地址。
比如,ping computerA 可以得到机器名为computerA的IP地址。
linux机器如果在域内动态分配IP地址,那么,如何根据其主机名,取得其IP地址呢?
一般情况下,配好了 hostname为xxx.test.com 的机器是自然可以这样得到IP地址的。
但如果不行的话,就有两种方案:
A. 通过nsupdate来使域内的DNS服务器更新自己的IP。
$ nsupdate
> update add xxx.test.com 9999 A 192.168.1.20
>
>quitB. 注册自己在 WINS服务器上的名字。
这一项还没有找到现成程序,可能要自己编程解决。也许有吧,谁知道的留 言告诉我。
编程不麻烦,假设linux的IP是192.168.1.4 ,找一台windows,设IP为192.168.1.10
在linux上面运行命令
tcpdump -X -s 300 “src host 192.168.1.10″
然后在 win上,把wins服务器设为 192.168.1.4
这样,win就会去linux注册自己,看到相应的二进制包,仿照着就可以开始开发了。
当然要开发,光有二进制包还不行,可以参照着 rfc1002 先把包弄懂。rfc1001也可先看看。
弄懂后,写个程序就易于反掌了!
顺便说一下,在dns上注册名字后,windows 可能还不能马上ping到,ping会报告找不到名字。这是因为windows有缓存。可以用下面这条命令手动清掉windows的DNS缓存(DNS Cache)。
ipconfig /flushdns
-
debian 修复记
Posted on 八月 2nd, 2008 No comments家里用来装debian的电脑是一台很老的电脑,老到它有一个毛病,就是硬盘经常掉线。以前用windows是这样,现在拿它改装linux,当然,也是这样了。这不,掉了几次,debian坏了。
首先是修复文件系统,用光盘rescue启动,fsck.ext3 /dev/hda4,修复了一下,报了很多错,坏了一堆文件。
进去后又发现dpkg坏了,使得apt-get ,apt-cache等无法用,报 /var/lib/dpkg/status 错。网上找了下这个错,还真是一堆一堆的,有的人说用status-old复制回去,但不幸,这个文件一起坏了。
用recover, repair等找了一下,最终装于找到一个能修得的bash文件:
http://tuxx-home.at/projects/restore-dpkg-status.sh
运行后会在tmp目录生成个新的status文件,换回去。
OK,然后又说 /var/lib/dpkg/available 坏了。靠,找了一下,这回好像没有修复的脚本了,找到一个说这样可以修复的:
dpkg –clear-avail
apt-get update运行了一下,第一句把available 这个文件清空了,update完,还是0字节,被骗了,靠。
不过发现清空了之后,apt-get是可以用了。但是它也以为我装的很多包是没有装的状态。
只好再慢慢装回去了,反正是覆盖安装,不会多占空间。
比如运行apt-get install openssh-server
它就以为我没有装这个openssh,帮我重新装一下,这样处理了很多个包,后面还要慢慢处理一堆。碰到再说了。
最后查了一下,结合一直以来观察到的现象,感觉这台破电脑硬盘掉线的原因是电源问题,可能当电源带不动的时候硬件就歇菜了。过几天整个新电源试试。


