Pacman

pacman: 失敗無法更新

  • October 17, 2017

我無法同步我的archlinux。當我嘗試使用pacman它時,得到這個:

ThinkPad-de-Micael_Andre% sudo pacman -Syu
[sudo] password for dmicaelandre:
Sorry, try again.
[sudo] password for dmicaelandre:
:: Synchronizing package databases...
error: failed to update core (unable to lock database)
error: failed to update extra (unable to lock database)
error: failed to update community (unable to lock database)
error: failed to update multilib (unable to lock database)
error: failed to update archlinuxfr (unable to lock database)
error: failed to update blackarch (unable to lock database)
error: failed to synchronize any databases
error: failed to init transaction (unable to lock database)
error: could not lock database: File exists
if you're sure a package manager is not already
running, you can remove /var/lib/pacman/db.lck

顯然 pacman 正在被另一個程序使用。我怎麼pacman去上班?

當一個程序說其他東西,包括它自己的另一個實例,有一個資源被鎖定時,首先要檢查的是是否有東西真的在執行並使用該資源。在您確認沒有任何東西真正使用它之後,您可以移除鎖。

通常程序會告訴你哪個程序正在使用資源,或者告訴你如何解除鎖定。在這種情況下,包管理器數據庫被db.lck文件鎖定,並且錯誤消息說執行remove /var/lib/packman/db.lck.

原因通常是最後一次使用該程序時它沒有正確結束並移除鎖本身。這可能是觸發和中止的錯誤,或者係統可能已經終止了程序而沒有給它清理的機會。系統也可能凍結、關閉或斷電。這些事件中的任何一個都可能導致資源鎖保留在文件系統中,並且需要手動刪除。

當然,在刪除任何鎖定文件之前,請始終檢查活動程序。

引用自:https://unix.stackexchange.com/questions/349088