触摸板异常及用downgrade降级Udev


前几日私在推上发牢骚,曰“进来命途不顺,Arch升级愈升问题愈多”,计算机科学屠戮者大神反问:“此岂非生活之常态?”。其实真的不是生活的常态。也许是私当年用惯了kubuntu(呃……一不留神又黑了kubuntu啊,话说私过几天还要参加release party呢),觉得Arch简直是一个稳定得令人惊讶的系统。唯一的一次问题是源于私穷折腾时的操作失误。在此之前还真的没有找出任何的问题。

然而一次升级过后悲剧发生了。重启候发现触摸板无法使用,遂接上外接鼠标查找原因,计算机科学屠戮者大神说可能是内核的问题,然而私在本地未找到早先留下的包,作罢。后来开机时发现触摸板反映很怪,有时认不出,有时能认出,还有时会认成鼠标,查Xorg的Log,发现自己的EasyCamera(摄像头)被认成了触摸板,然后自然发生错误,于是触摸板的驱动就自动Unload了,没有挂载在正确的地方。去Arch的论坛找,发现貌似是新版本Udev(167-1)的问题,降级回去就可以了。

不过私依然没找到遗留的老版本的Udev包,难道真的要编译才能解决吗?后来看到Bug Report下有人提到可以用AUR里面的叫做“downgrade”的包(名字真直接)。下载后只需用downgrade xxx命令,就可以找到xxx软件的一些早先版本(Udev貌似保留了十多个早先版本),选择一个降级即可,操作非常傻瓜,避免了因误操作可能出现的各种问题,很适合私这样的初学者使用。

后记:

私降级后就把Udev放到升级忽略列表中了。然而今天升级之后发现有个叫做“initscripts”的包要求Udev版本高于167。Google之,发现和启动初始化有关(貌似是废话,嗯……因为细节私也没太看懂)。难道就是因为Udev和这个包的版本不匹配才出现的问题吗?一会可以试试看。

后记的后记:

果然跟此事有关。今日在Arch官网上找到了这句话:

We would like to remind everyone that initscripts expect all other packages (except for the kernel) to be up-to-date. This in particular includes udev, mdadm, dmraid and lvm.

于是升级一下就一切都好了。