今天想在ubuntu上配置nodejs的环境。结果用apt install安装软件时出现报错。
$ sudo apt-get update
会得到下面错误提示:
E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)E: 无法对目录 /var/lib/apt/lists/ 加锁E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
上网查了下,原来可能是有另外一个程序正在运行,由于它在运行时,会占用软件源更新时的系统锁(以下称“系统更新锁”,此锁文件在“/var/lib/apt/lists/”目录下),而当有新的apt-get进程生成时,就会因为得不到系统更新锁而出现”E: 无法获得锁 /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)”错误提示!
而导致资源被锁的原因,可能是上次安装时没正常完成,而导致出现此状况。
因此,我们只要将原先的apt-get进程杀死,从新激活新的apt-get进程,就可以让软件管理器正常工作了!
按照网上的教程,我查看了下现在还在运行的apt命令
ps -e | grep apt
结果显示出了两个
729 ? 00:00:00 apt.systemd.dai
2299 ? 00:00:01 aptd
我也不清楚时什么时候未正常退出导致的错误。
然后执行kill命令
$sudo kill 11669 $sudo kill 25379
还有第二种方法:
sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock
参考文章:http://www.th7.cn/system/lin/201708/225219.shtml