我刚刚通过更改/etc/apt/sources.lst
.如果重要的话:我固定systemd
为保留sysvinit
,升级后我删除了固定。如果我现在做的apt-get update && apt-get dist-upgrade
一切都是最新的。到目前为止,一切正常,只出现了 CUPS 身份验证的问题:
在 Wheezy 上,已经安装并运行了 CUPS,并通过 授予了远程访问权限cupsctl --remote-admin
。我可以在网络界面上使用 进行身份验证root:myrootpassword
。升级后,我cupsctl --remote-admin
再次进行了操作,它成功了,这样我就可以访问管理网络面板了。更改选项仍然需要身份验证,但使用root:myrootpassword
不再有效。
我查找了/var/log/cups/error_log
尝试在 CUPS Web 界面上进行身份验证时打印的日志文件:
pam_authenticate() returned 28 (Module is unknown)
然后我查看了/etc/pam.d/cups
,其中有:
@include common-auth
@include common-account
@include common-session
这三个包含文件存在于同一目录中并且非空。然而我对 pam 没有经验。这些软件包已安装:
# dpkg --get-selections | grep pam
libpam-cap:amd64 install
libpam-ck-connector:amd64 install
libpam-modules:amd64 install
libpam-modules-bin install
libpam-runtime install
libpam0g:amd64 install
libpam0g:i386 install
该文件/var/log/auth.log
有:
Apr 17 15:01:14 mypc cupsd: PAM unable to dlopen(pam_ck_connector.so): /lib/security/pam_ck_connector.so: cannot open shared object file: No such file or directory
Apr 17 15:01:14 mypc cupsd: PAM adding faulty module: pam_ck_connector.so
但是软件包pam_ck_connector
已安装并且是最新版本。做一个find / -name pam_ck_connector.so
给予:
/lib/x86_64-linux-gnu/security/pam_ck_connector.so
所以看来这个文件只是位于错误的路径中。我尝试设置一个符号链接,但后来我进入了/var/log/auth.log
这个文件:
wrong ELF class: ELFCLASS64
然后我安装了该i386
软件包:
apt-get install libpam-ck-connector:i386
它安装到/lib/i386[...]/security/libpam-ck-connector.so
.我再次设置了一个符号链接。但随后又出现了同样的按摩pam_cap
。那么,我们是否遇到某些软件包(libpam*
或cups
)的 32<->64 位兼容性问题或 Debian 软件包管理器/数据库中的错误?让人们手动安装这些东西并设置符号链接不可能是正确的方法,不是吗?
如何修复此错误消息,以便root:myrootpassword
从 CUPS Web 面板再次进行身份验证?
答案1
由于某种原因,您最终i386
cups-daemon
安装了,而不是amd64
.这就是为什么它最终需要i386
PAM 模块......
要解决此问题,您需要删除cups-daemon
并重新安装该amd64
版本;作为根用户:
apt-get remove cups-daemon:i386
apt-get install cups-daemon:amd64
如果您的dpkg
架构设置正确,您应该能够删除:amd64
最后一个命令的部分。