下一页 上一页 目录

19. 永久安装 plip 接口

19.1 在源端

我使用旧的 Linux RedHat 4.1 发行版。在其他 GNU/Linux 发行版上,文件的位置可能不同,但原理是相同的 (Unix System V 惯例)。

创建文件 /etc/rc.d/init.d/plip,内容如下

#!/bin/sh

##############################
# file /etc/rc.d/init.d/plip #
##############################

# See how we were called.
case "$1" in
  start)
        # Start daemons.
        /bin/echo "Starting plip interface: "
        /bin/echo "Doing /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 up"
        /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 up
        /bin/echo  "Doing /bin/ping -q -c 4 target"
        /bin/ping -q -c 4 target
        /bin/echo "Starting plip interface: done"
        ;;
  stop)
        # Stop daemons.
        /bin/echo  "Shutting down plip interface:"
        /bin/echo  "Doing /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 down"
        /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 down
        /bin/echo  "Doing /sbin/modprobe  -r plip "
        /sbin/modprobe  -r plip
        /bin/echo "Shutting down plip interface: done"
        ;;
  *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac

exit 0

# === End of File ===

    

只有 ifconfig 行是绝对必要的。如果您不使用 kerneld 或新内核 2.2.x 的 kmod 功能,您可能需要添加一些 modprobe 命令。

rc*.d 目录中创建符号链接

      
      $ cd /etc/rc.d/rc0.d/
      $ ln -s ../init.d/plip K97plip
      
      $ cd /etc/rc.d/rc1.d/
      $ ln -s ../init.d/plip K92plip
      
      $ cd /etc/rc.d/rc3.d/
      $ ln -s ../init.d/plip S11plip


      $ cd /etc/rc.d/rc5.d/
      $ ln -s ../init.d/plip S11plip
     

您可以选择其他数字。确保 'K' 后的两位数字大于停止依赖 plip 的服务的每个其他文件的数字。

确保 'S' 后的两位数字小于启动依赖 plip 的服务的每个其他文件的数字:nfs、nis、ftp、http 等。

更新 /etc/conf.modules 文件,选择正确的 IRQ 号码(我的号码是 7,您的可能不同)

# /etc/conf.modules
...
alias parport_lowlevel parport_pc
post-install parport_pc echo 7 >  /proc/parport/0/irq
...
     

测试 plip shell

      $ /etc/rc.d/init.d/plip 
      Usage: /etc/rc.d/init.d/plip {start|stop}

      $ /etc/rc.d/init.d/plip stop
      Shutting down plip interface: 
      Doing /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 down 
      Doing /sbin/modprobe  -r plip 
      Shutting down plip interface: done

      $ /etc/rc.d/init.d/plip start
      Starting plip interface: 
      Doing /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 up 
      Doing /bin/ping -q -c 4 target
      PING target (192.168.0.1): 56 data bytes
      
      --- target ping statistics ---
      4 packets transmitted, 4 packets received, 0% packet loss
      round-trip min/avg/max = 4.4/8.3/14.0 ms
      Starting plip interface: done
     

更新启动脚本是重启 Unix 系统以检查修改的好机会。请执行重启

      $ init 6 # or "shutdown -r now" or "reboot"
     

19.2 在目标端

更新文件 /etc/init.d/network

      #! /bin/sh
      #######################
      # /etc/init.d/network #
      #######################

      ifconfig lo 127.0.0.1
      route add -net 127.0.0.0
      
      ifconfig plip1 192.168.0.1 pointopoint 192.168.0.2 netmask 255.255.255.255 up
      route add -host 192.168.0.2 dev plip1
     

就这些,因为 parport 功能直接在内核中。

更新启动脚本是重启 Unix 系统以检查修改的好机会。请执行重启

      $ init 6
     


下一页 上一页 目录