尝试启动时rpmdrake
,我收到一条错误消息,提示 urpmi 数据库已被锁定,据说是因为它被另一个程序使用。据我所知,情况并非如此。我怎么知道哪个其他程序正在使用它?(我怀疑没有...)
答案1
这是由 futex 锁引起的,如果不重启,就无法轻易解锁。请重启系统。
这本质上是 Linux 线程库和内核 2.6 的一个问题,如果进程在持有某种类型的锁时被终止,则永远不会释放该锁。我相信它将在以后的 C 库/内核中得到修复(或者已经修复)。
答案2
您可以尝试从 urpmi 目录(可能是 /var/lib/urpmi)中删除锁定文件 .LOCK 和 .RPMLOCK。但请确保在执行此操作时它未在运行。
答案3
您可以使用以下命令找出哪个进程正在打开文件lsof
(实际上是列出打开的文件)。
lsof | grep /var/lib/urpmi
根据需要更改 grep 搜索。