openSUSE® Leap 支持使用随 SLP 提供的安装源进行安装,并且包含许多具有 SLP 集成支持的系统服务。您可以使用 SLP 在您的系统上为联网客户端提供集中功能,例如安装服务器、文件服务器或打印服务器。提供 SLP 支持的服务包括 cupsd、login、ntp、openldap2-client、postfix、rpasswd、rsyncd、saned、sshd(通过 fish)、vnc 和 ypserv。
默认情况下,已安装所有使用 SLP 服务所需的软件包。但是,要通过 SLP *提供* 服务,请检查是否已安装 openslp-server 软件包。
slptool 是一个命令行工具,用于查询和注册 SLP 服务。查询功能对于诊断目的很有用。最重要的 slptool 子命令如下。 slptool --help 列出所有可用选项和函数。
列出网络上所有可用的服务类型。
> slptool findsrvtypes
service:install.suse:nfs
service:install.suse:ftp
service:install.suse:http
service:install.suse:smb
service:ssh
service:fish
service:YaST.installation.suse:vnc
service:smtp
service:domain
service:management-software.IBM:hardware-management-console
service:rsync
service:ntp
service:ypserv列出提供 SERVICE_TYPE 的所有服务器
> slptool findsrvs service:ntp
service:ntp://ntp.example.com:123,57810
service:ntp://ntp2.example.com:123,57810列出 HOST 上的 SERVICE_TYPE 的属性
> slptool findattrs service:ntp://ntp.example.com
(owner=tux),(email=tux@example.com)在 HOST 上注册 SERVICE_TYPE,并附带可选的属性列表
slptool register service:ntp://ntp.example.com:57810 \ "(owner=tux),(email=tux@example.com)"
在 HOST 上注销 SERVICE_TYPE
slptool deregister service:ntp://ntp.example.com
有关更多信息,请运行 slptool --help。
要提供 SLP 服务,必须运行 SLP 守护程序 (slpd)。与 openSUSE Leap 中的大多数系统服务一样,slpd 由单独的启动脚本控制。安装后,守护程序默认情况下处于非活动状态。要将其激活到当前会话,请运行 sudo systemctl start slpd。如果 slpd 应该在系统启动时激活,请运行 sudo systemctl enable slpd。
openSUSE Leap 中的许多应用程序通过 libslp 库集成了 SLP 支持。如果服务未编译 SLP 支持,请使用以下方法之一使其通过 SLP 可用
/etc/slp.reg.d 进行静态注册为每个新服务创建一个单独的注册文件。以下示例注册扫描仪服务
## Register a saned service on this system ## en means english language ## 65535 disables the timeout, so the service registration does ## not need refreshes service:scanner.sane://$HOSTNAME:6566,en,65535 watch-port-tcp=6566 description=SANE scanner daemon
此文件中的最重要的行是 服务 URL,它以 service: 开头。它包含服务类型 (scanner.sane) 和服务器上可用服务的地址。 $HOSTNAME 将自动替换为完整的主机名。相关服务的发现端口号后跟冒号。然后输入服务应该出现的语言以及注册的持续时间(秒)。这些应该用逗号分隔到服务 URL。将注册持续时间的值设置为 0 到 65535 之间。 0 阻止注册。 65535 移除所有限制。
注册文件还包含两个变量 watch-port-tcp 和 description。 watch-port-tcp 通过让 slpd 检查服务的状态,将 SLP 服务公告链接到相关服务是否处于活动状态。第二个变量包含服务的更精确描述,该描述在合适的浏览器中显示。
由 YaST 代理的特定服务,例如安装服务器或 YOU 服务器,在您在模块对话框中激活 SLP 时自动执行此注册。YaST 然后为这些服务创建注册文件。
/etc/slp.reg 进行静态注册此方法与使用 /etc/slp.reg.d 的过程之间的唯一区别在于,所有服务都分组在一个中心文件中。
slptool 进行动态注册如果需要动态注册服务而无需配置文件,请使用 slptool 命令行实用程序。该实用程序也可用于注销现有服务,而无需重新启动 slpd。有关详细信息,请参阅第 17.1 节,“SLP 前端 slptool”。
RFC 2608 通常处理 SLP 的定义。RFC 2609 更详细地处理服务 URL 的语法,RFC 2610 处理通过 SLP 进行 DHCP。
OpenSLP 项目的主页。
/usr/share/doc/packages/openslp
此目录包含随 openslp-server 软件包提供的 SLP 文档,包括包含 openSUSE Leap 详细信息的 README.SUSE、RFC 以及两个介绍性 HTML 文档。想要使用 SLP 函数的程序员可以在包含在 openslp-devel 软件包中的 程序员指南 中找到更多信息。