我有两台机器。一个杯子1.5.0,另一个杯子1.6.1。这两台机器在同一个本地网络上。我要充分发现网络上的打印机。如果我运行以下命令:
CUPS_DEBUG_LEVEL=2 /usr/lib/cups/backend/snmp 2>&1在这两台机器上,我得到了不同的结果。有CUPS 1.5.0的那台也是我希望从另一台带有CUPS 1.6.1的机器得到的结果。
我解决了问题!CUPS中有一个名为@LOCAL的变量。上面的命令等于:
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)。
如果我在第二台计算机上运行以下命令,所有命令都能很好地工作:
CUPS_DEBUG_LEVEL=2 /usr/lib/cups/backend/snmp 192.168.3.255 2>&1请解释如何配置@LOCAL变量的值。或者为什么CUPS 1.5.0在安装时配置得很好,而1.6.1没有呢?(安装后我什么也没做,而且工作得很好)
发布于 2016-07-15 14:42:42
首先..。
@LOCAL .让我们弄清楚的意思:
@LOCAL字符串并不完全是变量--在CUPS配置的上下文中(/etc/cups/cupsd.conf),它被称为宏。还有更多的宏可以使用:@IF、@GROUP、@ACL、@OWNER和@SYSTEM。
@LOCAL宏被引入到1.1.15版本的CUPS中。相应的CHANGELOG条目如下:
换句话说:在将其引入CUPS代码库之前,必须将主机的当前IP地址硬编码到cupsd.conf中。之后,您可以选择只在@LOCAL或@IF(eth0)或@IF(wlan1)中写入cupsd.conf,而CUPS将使用当前的IP地址(如果盒子中有多个IP地址,则all是本地IP地址!)即使它变了。(PPP/拨号连接的地址不算作本地IP地址.)
第二..。
.让我们来看看你为什么会看到不同之处:
如果无法访问两台计算机的完整CUPS和网络设备配置,就不可能回答这个问题。
可能是这样的,一台服务器比另一台服务器有更多的网络接口和/或更多不同的IP地址(比如使用eth0:1技巧来使用额外的虚拟网络接口)。
你也可能在两个杯子中的一个错误中绊倒了你的机器化身。
https://stackoverflow.com/questions/13135018
复制相似问题