linux dpkg未找到命令_Linux安装软件时90%的人会遇到这个报错,如何解决?

5ffc8623eefa5380f5377c9ff1b6c2cf.png

提示 Could not get lock /var/lib/dpkg/lock 报错?

有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示:

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

或者

E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?
E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/

这种时候大可不必惊慌,这些错误提示一般都是因为某些程序在系统后台进行着某些 apt 操作,因此锁定了 apt 数据库,所以暂时不能进行 apt 操作。

解决方案

那遇到这种情况,一般我们只需要安静地等待几分钟,或者先去做其他的事情,比如浏览一下良许 Linux 公众号里的文章,直到当前的更新、安装或卸载任务完成后,锁就会自动释放,然后就可以进行 apt 操作了。

当然了,上面说的是正常情况下的对应,那非正常情况下,比方说你等了好多个几分钟锁都还没有被释放,你就要看看是不是该进程由于某些原因而卡住了并且一直占用着锁。如果是的话,那你只能干掉这个进程,然后删除该锁定了。

首先,我们先找出是哪个进程占用了锁文件 /var/lib/dpkg/lock

$ sudo lsof /var/lib/dpkg/lock

其他锁文件对应的命令

$ sudo lsof /var/lib/dpkg/lock-frontend
$ sudo lsof /var/lib/apt/lists/lock

然后得到输出结果

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
unattende 1548 root 6uW REG 8,2 0 1181062 /var/lib/dpkg/lock

4d555df8df20da3916586a94919bab81.png

我们可以从结果中看到,该进程的 PID 为 1548

接着,kill 掉这个进程

$ sudo kill -9 1548

然后你就可以放心地删除锁文件

$ sudo rm /var/lib/dpkg/lock

或者

$ sudo rm /var/lib/dpkg/lock-frontend
$ sudo rm /var/lib/apt/lists/lock

如果需要,还可以删除缓存目录下的锁文件

$ sudo rm /var/cache/apt/archives/lock

做完上面的步骤后,记得要运行以下命令

$ sudo dpkg --configure -a

这样问题应该就可以解决了

最后,祝你好运!

最后,最近很多小伙伴找我要Linux学习路线图,于是我根据自己的经验,利用业余时间熬夜肝了一个月,整理了一份电子书。无论你是面试还是自我提升,相信都会对你有帮助!目录如下:

ad6b4f0708f2e3c91ca88f0ee12dda69.png

免费送给大家,只求大家金指给我点个赞!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个报错通常是因为编译器找不到 pcl/point_cloud.h 头文件。解决方法如下: 1. 确认 PCL 已经正确安装并配置好了环境变量。如果你是在 Linux 系统上使用 PCL,可以执行以下命令确认 PCL 是否已经安装: ``` dpkg -l | grep libpcl ``` 如果已经安装了 PCL,会输出类似以下信息: ``` ii libpcl-all x.x-1 amd64 Point Cloud Library - metapackage depending on all libraries ii libpcl-apps x.x-1 amd64 Point Cloud Library - tools and applications ii libpcl-common x.x-1 all Point Cloud Library - common files ii libpcl-dev x.x-1 amd64 Point Cloud Library - development files ii libpcl-doc x.x-1 all Point Cloud Library - documentation ii libpcl-features1.7 x.x-1 amd64 Point Cloud Library - feature estimation library ii libpcl-filters1.7 x.x-1 amd64 Point Cloud Library - filtering library ii libpcl-io1.7 x.x-1 amd64 Point Cloud Library - I/O library ii libpcl-kdtree1.7 x.x-1 amd64 Point Cloud Library - kd-tree library ii libpcl-keypoints1.7 x.x-1 amd64 Point Cloud Library - keypoint detection library ii libpcl-ml1.7 x.x-1 amd64 Point Cloud Library - machine learning library ii libpcl-octree1.7 x.x-1 amd64 Point Cloud Library - octree library ii libpcl-outofcore1.7 x.x-1 amd64 Point Cloud Library - outofcore library ii libpcl-people1.7 x.x-1 amd64 Point Cloud Library - people library ii libpcl-recognition1.7 x.x-1 amd64 Point Cloud Library - object recognition library ii libpcl-registration1.7 x.x-1 amd64 Point Cloud Library - registration library ii libpcl-sample-consensus1.7 x.x-1 amd64 Point Cloud Library - sample consensus library ii libpcl-search1.7 x.x-1 amd64 Point Cloud Library - search library ii libpcl-segmentation1.7 x.x-1 amd64 Point Cloud Library - segmentation library ii libpcl-stereo1.7 x.x-1 amd64 Point Cloud Library - stereo library ii libpcl-surface1.7 x.x-1 amd64 Point Cloud Library - surface library ii libpcl-tracking1.7 x.x-1 amd64 Point Cloud Library - tracking library ii libpcl-visualization1.7 x.x-1 amd64 Point Cloud Library - visualization library ``` 2. 确认编译器的 include 路径中包含了 PCL 的头文件路径。在 Linux 系统上,可以执行以下命令查看 include 路径: ``` echo | gcc -E -Wp,-v - ``` 会输出编译器的 include 路径,确认其中是否包含了 PCL 的头文件路径。 3. 确认代码中正确包含了 pcl/point_cloud.h 头文件。在代码中应该使用以下语句来包含该头文件: ``` #include <pcl/point_cloud.h> ``` 如果以上步骤都已经确认无误,但仍然出现找不到头文件的报错,可能是其他问题导致的,可以尝试重新安装 PCL 或者检查代码中是否有其他错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值