docker Ubuntu 安装ROS-kinetic
如果没有特殊原因,Ubuntu版本较新,则建议直接安装ROS-melodic
http:// wiki.ros.org/cn/kinetic /Installation/Ubuntu
1.1 docker的Ubuntu容器系统没有权限问题,不需要配置安装模式,在后面的命令中也不需要使用sudo来获取管理员权限,相反,sudo会被认为是不可识别的命令
所以,所有命令均需要去掉sudo
1.2 直接使用国内的镜像路径吧
root@c224904495dd:/# apt-key adv --keyserver hkp:// pgp . mit.edu:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
安装公钥一直报错,原来是缺少gnupg库
root@c224904495dd:/# apt-get install gnupg2
安装完了,加载公钥的步骤可以过了,显示加载成功
# apt-key adv --keyserver hkp:// keyserver . ubuntu.com:80 --recv-key F42ED6FBAB17C654
Executing: /tmp/apt-key-gpghome.QJUzXROMDq/gpg. 1.sh --keyserver hkp:// keyserver . ubuntu.com:80 --recv-key F42ED6FBAB17C654
gpg: key F42ED6FBAB17C654: public key "Open Robotics < info@osrfoundation.org >" imported
gpg: Total number processed: 1
gpg: imported: 1
但是进行apt-get update还是报错
原因是ROS wiki上的公钥和镜像上的锁不匹配
按照报错信息里的公钥号码,重新加载一下公钥,替换公钥编号即可
如果加载不成功,再换一个key server的网址就好了
再次apt-get update
成功,出现了中科大的镜像路径:
然后死活装不上Kinetic,我要发狂了。。
后来搜索发现新的Ubantu可能不支持比较老的ROS-Kinetic了
所以在ROS wiki的步骤1.4之前,先运行
apt-cache search ros-kinetic
如果有,则进行步骤1.4的安装;如果没有任何返回值,则尝试
apt-cache search ros
我的返回值是一长串的 ros-melodic
这是最新版的ROS
查看ROS版本和更新情况: http:// wiki.ros.org/Distributi ons
你有两个选择
1.4.a 继续寻找包含kinetic的镜像,并重复步骤1.2-1.4
1.4.b 直接安装melodic
好吧,我决定安装最新版的melodic了,应该没什么问题。
http:// wiki.ros.org/melodic/In stallation/Ubuntu
还是参照ROS wiki的步骤
和kinetic大同小异
wait!安装之前,先在docker里给你的容器扩容,ros-melodic-desktop-full 总共3G。。。
256G的mac在颤抖。。。
下面是废话碎碎念
docker真是伟大的发明, great innovation!
在配置好一个Ubuntu容器后,我以为还需要打通一下我的主机和容器的通信链路,我以为容器只能在我主机内部routing,结果发现根本没有任何网络连接障碍,可以穿过docker直接对其他设备进行ssh访问,例如树莓派, 仿佛容器就是一个真实存在的独立主机电脑
容器不需要虚拟化硬件,而是直接共享host的硬件, 比虚拟机轻量化
如果没有障碍,我相当于拥有了无数个可以迁移的电脑, 我甚至不需要一台PC,
以后只要给我一个显示屏和键盘,直接连接网线,我就能在云端调用任何操作系统
以后的智能设备,或许不再需要算力超强的集成芯片,但一定需要一个优秀的网络模块,可以是wifi,可以是基带,
5G时代真的令人期待。