开机后首次执行sudo apt update出现锁占用错误的原因咨询
开机后首次执行sudo apt update出现锁占用错误的原因咨询
嗨,这个问题其实挺常见的,我来给你拆解一下背后的原因:
- 你看到的
packagekitd是PackageKit服务的进程,它是Linux系统里负责自动检查软件包更新的后台工具。每次开机时,这个服务会自动启动,悄悄在后台执行更新软件源列表的操作——这时候它会占用apt工具依赖的锁文件/var/lib/apt/lists/lock。 - apt工具为了避免多个进程同时操作软件源列表导致文件损坏,同一时间只允许一个进程持有这个锁。所以当你开机后立刻手动运行
sudo apt update时,PackageKit的后台进程还没完成任务,锁还被它占着,自然就会抛出那个锁占用的错误。 - 等你第二次运行
sudo apt update时,PackageKit的后台更新检查已经完成,它会自动释放锁文件,这时候apt就能正常获取锁并执行更新操作了。
如果这个小插曲对你造成了困扰,也可以手动先暂停PackageKit服务再执行apt命令,比如运行sudo systemctl stop packagekit,不过一般来说,开机后等个几十秒再操作apt就不会遇到这个问题啦。
备注:内容来源于stack exchange,提问作者Kole
相关产品推荐
相关产品推荐

