跳转到内容

Linux 网络/苹果通讯 (AF APPLETALK)

来自维基教科书,开放的书籍,开放的世界

苹果通讯 ( AF_APPLETALK )

[编辑 | 编辑源代码]

苹果通讯支持不使用任何特殊设备名称,因为它使用现有的网络设备。

内核编译选项

            Networking options  --->
                <*> Appletalk DDP

苹果通讯支持允许你的 Linux 机器与苹果网络互操作。一个重要的用途是在你的 Linux 和苹果计算机之间共享资源,例如打印机和磁盘。需要额外的软件,这叫做 netatalk。Wesley Craig [email protected] 代表了密歇根大学的“研究系统 Unix 小组”,他们制作了 netatalk 包,该包提供了实现苹果通讯协议栈和一些有用工具的软件。netatalk 包要么已经随你的 Linux 发行版提供,要么你需要从密歇根大学的网站上通过 ftp 获取它。

要构建和安装该包,可以执行以下操作

            user% tar xvfz .../netatalk-1.4b2.tar.Z
            user% make
            root# make install

你可能希望在调用 make 之前编辑 `Makefile` 来实际编译软件。具体来说,你可能希望更改 DESTDIR 变量,该变量定义了稍后将文件安装到的位置。默认的 /usr/local/atalk 非常安全。

配置苹果通讯软件。

[编辑 | 编辑源代码]

要使一切正常工作,首先需要确保 /etc/services 文件中存在相应的条目。你需要的条目是

 rtmp  1/ddp   # Routing Table Maintenance Protocol
 nbp   2/ddp   # Name Binding Protocol
 echo  4/ddp   # AppleTalk Echo Protocol
 zip   6/ddp   # Zone Information Protocol

下一步是在 /usr/local/atalk/etc 目录(或安装包的位置)中创建苹果通讯配置文件。第一个要创建的文件是 /usr/local/atalk/etc/atalkd.conf 文件。最初,此文件只需要一行,它给出支持你的苹果机器所在网络的网络设备的名称

      eth0

苹果通讯守护进程程序将在运行后添加更多细节。

通过苹果通讯导出 Linux 文件系统。

[编辑 | 编辑源代码]

你可以从你的 Linux 机器上导出文件系统到网络,这样网络上的苹果机器就可以共享它们。

为此,你必须配置 /usr/local/atalk/etc/AppleVolumes.system 文件。还有一个名为 /usr/local/atalk/etc/AppleVolumes.default 的配置文件,它具有完全相同的格式,并描述了使用访客权限连接的用户将接收哪些文件系统。

关于如何配置这些文件以及各种选项的详细信息可以在 afpd 手册页中找到。

一个简单的例子可能如下所示

      /tmp Scratch
      /home/ftp/pub "Public Area"

这将导出你的 /tmp 文件系统作为 AppleShare 卷“Scratch”,并将你的 ftp 公共目录导出为 AppleShare 卷“Public Area”。卷名称不是强制性的,守护进程会为你选择一些,但指定它们也不会有什么坏处。

在苹果通讯中共享你的 Linux 打印机。

[编辑 | 编辑源代码]

你可以非常轻松地与你的苹果机器共享你的 Linux 打印机。你需要运行 papd 程序,它是苹果通讯打印机访问协议守护进程。当你运行此程序时,它将接收来自你的苹果机器的请求,并将打印作业发送到你的本地行式打印机守护进程以进行打印。

你需要编辑 /usr/local/atalk/etc/papd.conf 文件来配置守护进程。此文件的语法与你通常的 /etc/printcap 文件的语法相同。你为定义指定的名称将使用苹果通讯命名协议 NBP 注册。

一个示例配置可能如下所示

      TricWriter:\
         :pr=lp:op=cg:

这将使名为“TricWriter”的打印机可供你的苹果通讯网络使用,所有接受的作业都将使用 lpd 打印到 Linux 打印机“lp”(如 /etc/printcap 文件中定义)。条目“op=cg”表示 Linux 用户“cg”是打印机的操作员。

启动苹果通讯软件。

[编辑 | 编辑源代码]

好的,你现在应该可以测试这种基本配置了。netatalk 包中提供了一个 rc.atalk 文件,应该可以正常工作,所以你只需要执行以下操作

            root# /usr/local/atalk/etc/rc.atalk

所有内容都应该启动并正常运行。你应该看不到任何错误消息,软件将向控制台发送消息,指示每个启动阶段。

测试苹果通讯软件。

[编辑 | 编辑源代码]

要测试软件是否正常工作,请转到你的其中一台苹果机器,下拉苹果菜单,选择“选择器”,单击“AppleShare”,你的 Linux 机器应该会出现。

苹果通讯软件的注意事项。

[编辑 | 编辑源代码]
·  You may need to start the Appletalk support before you configure
   your IP network. If you have problems starting the Appletalk
   programs, or if after you start them you have trouble with your IP
   network, then try starting the Appletalk software before you run
   your /etc/rc.d/rc.inet1 file.

·  The afpd (Apple Filing Protocol Daemon) severely messes up your
   hard disk. Below the mount points it creates a couple of
   directories called ``.AppleDesktop'' and Network Trash Folder.
   Then, for each directory you access it will create a .AppleDouble
   below it so it can store resource forks, etc. So think twice before
   exporting /, you will have a great time cleaning up afterwards.

·  The afpd program expects clear text passwords from the Macs.
   Security could be a problem, so be very careful when you run this
   daemon on a machine connected to the Internet, you have yourself to
   blame if somebody nasty does something bad.

·  The existing diagnostic tools such as netstat and ifconfig don't
   support Appletalk. The raw information is available in the
   /proc/net/ directory if you need it.

更多信息

[编辑 | 编辑源代码]

有关如何为 Linux 配置苹果通讯的更详细说明,请参阅 thehamptons.com 上的 Anders Brownworth Linux Netatalk-HOWTO 页面。

华夏公益教科书