首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CUPS @局部值

CUPS @局部值
EN

Stack Overflow用户
提问于 2012-10-30 08:15:38
回答 1查看 1.9K关注 0票数 4

我有两台机器。一个杯子1.5.0,另一个杯子1.6.1。这两台机器在同一个本地网络上。我要充分发现网络上的打印机。如果我运行以下命令:

代码语言:javascript
复制
CUPS_DEBUG_LEVEL=2 /usr/lib/cups/backend/snmp 2>&1

在这两台机器上,我得到了不同的结果。有CUPS 1.5.0的那台也是我希望从另一台带有CUPS 1.6.1的机器得到的结果。

我解决了问题!CUPS中有一个名为@LOCAL的变量。上面的命令等于:

代码语言:javascript
复制
CUPS_DEBUG_LEVEL=2 /usr/lib/cups/backend/snmp @LOCAL 2>&1

问题是,在第二种情况下(CUPS 1.6.1),@LOCAL的值是机器的本地IP(192.168.3.69),而不是广播(192.168.3.255)。

如果我在第二台计算机上运行以下命令,所有命令都能很好地工作:

代码语言:javascript
复制
CUPS_DEBUG_LEVEL=2 /usr/lib/cups/backend/snmp 192.168.3.255 2>&1

请解释如何配置@LOCAL变量的值。或者为什么CUPS 1.5.0在安装时配置得很好,而1.6.1没有呢?(安装后我什么也没做,而且工作得很好)

EN

回答 1

Stack Overflow用户

发布于 2016-07-15 14:42:42

首先..。

@LOCAL .让我们弄清楚的意思:

@LOCAL字符串并不完全是变量--在CUPS配置的上下文中(/etc/cups/cupsd.conf),它被称为宏。还有更多的宏可以使用:@IF@GROUP@ACL@OWNER@SYSTEM

@LOCAL宏被引入到1.1.15版本的CUPS中。相应的CHANGELOG条目如下:

  • BrowseAllow、BrowseDeny和BrowseAddress指令现在支持基于当前接口地址而不是固定名称或IP地址的访问控制和浏览的网络接口名称"@LOCAL“和"@IF(name)”。

换句话说:在将其引入CUPS代码库之前,必须将主机的当前IP地址硬编码到cupsd.conf中。之后,您可以选择只在@LOCAL@IF(eth0)@IF(wlan1)中写入cupsd.conf,而CUPS将使用当前的IP地址(如果盒子中有多个IP地址,则all是本地IP地址!)即使它变了。(PPP/拨号连接的地址不算作本地IP地址.)

第二..。

.让我们来看看你为什么会看到不同之处:

如果无法访问两台计算机的完整CUPS和网络设备配置,就不可能回答这个问题。

可能是这样的,一台服务器比另一台服务器有更多的网络接口和/或更多不同的IP地址(比如使用eth0:1技巧来使用额外的虚拟网络接口)。

你也可能在两个杯子中的一个错误中绊倒了你的机器化身。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13135018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档