你的位置:首页 > 操作系统

[操作系统]Arch Linux sudo: PAM authentication error: Module is unknown [Solved!]

问题描述:  

  我的 Arch Linux 已经用了快半年多,由于 Arch Linux 的滚挂问题,我从没有直接升级过系统。软件版本以及库自然落后了一些。

就在我准备需要用到 NFS 时,挂载网络文件系统时由于 librpc 太旧而失败了。所以看来我得更新 librpc 了。用 yaourt -Ss 查看了一下源上的版本。

  最新的 NFS 需要 libtirpc.so.3 而我的却是 libtirpc.so.1 。最后安装了 libtirpc-1.0.1-2 后。悲剧发生了。任何用到 sudo , 以及 su 的地方,均出现如下错误:

sudo: PAM authentication error: Module is unknown

  我意识到,我一旦重启了将无法开机了。本来已经天晚,心想睡吧。明天再弄,先不关电脑就好。

结果,第二天发现屏幕已锁定,突然又明白了什么。果然尼码,认证失败。根本登不进去!真是悲剧。

 

解决办法:

  我参考 https://bbs.archlinux.org/viewtopic.php?pid=1578812 上别人的讨论。发现别人是更新系统导致的,虽然降了 libtirpc 的版本,但是其他依赖没有降下去。当然他是失败。

但是我不一样,我仅仅更新了 libtirpc ,而且当时我发现并没有安装任何的依赖软件包。所以我认为我只要降回原来 libtirpc 的版本。便能解决问题。

 

具体做法:

  重启,进入 Grub 引导界面,按 e 编辑内核启动参数。如图,在 linux 那行末尾添加 single 以单用户身份启动,进入电源模式: