醉卧沙场君莫笑 古来征战几人回
RSS icon Email icon Home icon
  • 在linux下,更新域内的主机名/IP映射关系

    Posted on 十一月 28th, 2008 admin 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
    >
    >quit

    B. 注册自己在 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 admin 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,帮我重新装一下,这样处理了很多个包,后面还要慢慢处理一堆。碰到再说了。

    最后查了一下,结合一直以来观察到的现象,感觉这台破电脑硬盘掉线的原因是电源问题,可能当电源带不动的时候硬件就歇菜了。过几天整个新电源试试。