ROS | 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它

简介: sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control以上是一句安装ros一个插件的语句,运行时需要获得锁 /var/lib/dpkg/lock;没有获得锁时,会出现“无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它”的报错。
sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control

以上是一句安装ros一个插件的语句,
运行时需要获得锁 /var/lib/dpkg/lock;
没有获得锁时,会出现“无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它”的报错。

解决方法:
:sudo rm /var/cache/apt/archives/lock
:sudo rm /var/lib/dpkg/lock

解决历程剪影:

liweipeng@liweipeng-virtual-machine:~$ sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control
[sudo] liweipeng 的密码: 
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

liweipeng@liweipeng-virtual-machine:~$ sudo rm /var/cache/apt/archives/lock
liweipeng@liweipeng-virtual-machine:~$ sudo rm /var/lib/dpkg/lock

liweipeng@liweipeng-virtual-machine:~$ sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control
[sudo] liweipeng 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  linux-headers-4.15.0-29 linux-headers-4.15.0-29-generic
  linux-image-4.15.0-29-generic linux-modules-4.15.0-29-generic
  linux-modules-extra-4.15.0-29-generic
使用'sudo apt autoremove'来卸载它(它们)。
下列软件包将被升级:
  ros-kinetic-gazebo-ros-control ros-kinetic-gazebo-ros-pkgs
升级了 2 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 282 个软件包未被升级。
需要下载 141 kB 的归档。
解压缩后会消耗 0 B 的额外空间。
获取:1 http://packages.ros.org/ros/ubuntu xenial/main amd64 ros-kinetic-gazebo-ros-control amd64 2.5.17-0xenial-20181107-062456-0800 [139 kB]
获取:2 http://packages.ros.org/ros/ubuntu xenial/main amd64 ros-kinetic-gazebo-ros-pkgs amd64 2.5.17-0xenial-20181107-045216-0800 [2,834 B]
已下载 141 kB,耗时 3秒 (45.4 kB/s)               
(正在读取数据库 ... 系统当前共安装有 329087 个文件和目录。)
正准备解包 .../ros-kinetic-gazebo-ros-control_2.5.17-0xenial-20181107-062456-0800_amd64.deb  ...
正在将 ros-kinetic-gazebo-ros-control (2.5.17-0xenial-20181107-062456-0800) 解包到 (2.5.17-0xenial-20180824-143032-0800) 上 ...
正准备解包 .../ros-kinetic-gazebo-ros-pkgs_2.5.17-0xenial-20181107-045216-0800_amd64.deb  ...
正在将 ros-kinetic-gazebo-ros-pkgs (2.5.17-0xenial-20181107-045216-0800) 解包到 (2.5.17-0xenial-20180824-174334-0800) 上 ...
正在设置 ros-kinetic-gazebo-ros-control (2.5.17-0xenial-20181107-062456-0800) ...
正在设置 ros-kinetic-gazebo-ros-pkgs (2.5.17-0xenial-20181107-045216-0800) ...
liweipeng@liweipeng-virtual-machine:~$ sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
ros-kinetic-gazebo-ros-control 已经是最新版 (2.5.17-0xenial-20181107-062456-0800)。
ros-kinetic-gazebo-ros-pkgs 已经是最新版 (2.5.17-0xenial-20181107-045216-0800)。
下列软件包是自动安装的并且现在不需要了:
  linux-headers-4.15.0-29 linux-headers-4.15.0-29-generic
  linux-image-4.15.0-29-generic linux-modules-4.15.0-29-generic
  linux-modules-extra-4.15.0-29-generic
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 282 个软件包未被升级。
liweipeng@liweipeng-virtual-machine:~$ 


解决方法参考自:https://blog.csdn.net/chenqiai0/article/details/8514945

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
1月前
|
调度 Windows Perl
进程和计划任务管理
进程和计划任务管理
17 0
|
5月前
|
分布式计算 Hadoop
hadoop进程启停管理
hadoop进程启停管理
43 0
|
23天前
|
存储 Linux 程序员
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
70 0
|
1月前
|
存储 调度
进程的奥德赛:并发世界中的核心概念与动态管理
进程的奥德赛:并发世界中的核心概念与动态管理
38 2
|
8月前
|
Ubuntu 计算机视觉 Python
已解决 ImportError:/opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so:undefined symbol:PyCobject Type。
已解决 ImportError:/opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so:undefined symbol:PyCobject Type。
131 0
已解决 ImportError:/opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so:undefined symbol:PyCobject Type。
|
8月前
|
监控 网络协议 Unix
dpkg: 错误: 另外一个进程已经为 dpkg frontend lock 加锁
dpkg: 错误: 另外一个进程已经为 dpkg frontend lock 加锁
535 0
|
6月前
|
监控 Java Shell
Shell命令管理进程
  Linux除了是一种多用户操作系统之外,还是一种多任务系统。多任务意味着可以同时运行多个程序。Linux 提供了相关的工具来列出运行中的进程,监视系统的使用情况以及在必要时停止(或杀死)进程。
|
6月前
|
Linux
Linux中查看端口被哪个进程占用、进程调用的配置文件、目录等
Linux中查看端口被哪个进程占用、进程调用的配置文件、目录等
110 0
|
6月前
|
存储 Linux 虚拟化
Linux6.1中为什么用Radix树替换位图(bitmap)来管理进程pid
在过去的几十年中,Linux内核为了有效地管理进程,采用了位图(bitmap)数据结构来记录和跟踪进程的PID。我们知道Linux支持的最大进程数量为65535个,那么用位图来表示的话只需要16位bit就够了,这大大节约了内存空间,随着系统规模的扩大和复杂性增加,尤其是云计算、容器等新兴虚拟化技术大爆发的时代中,操作系统经常会在短时间内快速创建或者销毁大量进程,在这种场景下位图的全面查找时性能问题就逐渐暴露出来了。为了解决这些问题,Linux内核逐渐采用radix树(radix-tree)来替代位图,对进程PID进行管理,这个替换的思路就是用空间换时间。

推荐镜像

更多