从国外下载ROS
安装包,有时候会非常耗时。国内镜像的地址参考如下:
Ubuntu 14.04.5系统安装Docker-1.6.2操作基础镜像
执行如下命令安装:
启动服务:
测试服务是否正常:
创建基础镜像:
接下来,就是Dockerfile
里面的内容了:
构建Docker
镜像:
运行刚刚创建好的镜像:
导出刚刚创建好的镜像:
其他机器上加载我们导出的镜像:
删除不再使用的镜像:
如果运行时报错:
则尝试安装:
参考链接
判断一个整数是否是2的n次方
Ubuntu 14.04.5编译安装OpenCV-2.4.13.5
- 获取源代码
- 安装依赖库
- 编译源代码
如果要生成DEB
安装包,则上面的命令修改成
- 替换已经安装的版本
- 编译出错的处理
如果执行cmake
时候出现如下错误信息
则应该是在代码根目录下直接执行过cmake
,导致根目录下生成了CMakeCache.txt
,需要删除CMakeCache.txt
再次执行编译即可。
相关链接
Ubuntu 14.04.5源代码编译ROS Indigo并建立自己的DEB安装源
正常情况下我们使用已经编译好的ROS
安装包来安装配置默认的ROS
环境,就可以比较好的完成工作了。具体参考Ubuntu14.04安装和配置ROS Indigo。
但是在某些情况下,比如,我们需要替换或更新里面的某些默认安装包的版本(比如OpenCV
)。
这种情况下,我们就只能重新从源代码开始编译,或者构建自己的安装源了。
上面的操作是生成完整的文件,然后再拷贝到需要安装的最终目录(--install-space /opt/ros/$ROS_VER_NAME
指定),但是并没有生成DEB
格式的安装包。
如果我们需要建立自己的安装源,那么参照上面的操作,并且正常编译完成后,使用下面的步骤编译安装包:
至于如何建立自己的源,请参考:建立自己的apt-get源。
对于替换OpenCV
重新编译的情况,参考Ubuntu 14.04.5编译安装OpenCV-2.4.13.5,然后执行sudo apt-get remove libopencv-dev
&&sudo apt-get autoremove
&& rm -rf ~/ros_catkin_ws/install_isolated
删除已经安装好的OpenCV
以及临时文件,然后重新编译ROS
源代码。最后可以从~/ros_catkin_ws/install_isolated/share/cv_bridge/cmake/cv_bridgeConfig.cmake
中看到已经链接刚刚编译安装的OpenCV
版本了。
参考链接
腾讯云挂载数据盘(Ubuntu 16.04.3 LTS)
Ubuntu 16.04.3 Server使用SSH登陆中文显示为乱码
最近尝试迁移向腾讯云,然后通过SSH
登陆到服务器,发现编辑脚本的时候中文会显示为乱码。
服务器的版本是Ubuntu 16.04.3 Server
。
解决方法非常简单,执行如下命令即可:
参考链接
Ubuntu 16.10/17.10无法通过/etc/rc.local开机启动应用
最新的Ubuntu 16.10/17.10
上已经找不到/etc/rc.local
这个文件了。但是我们很多配置都是写在这个文件里面的,因此如果直接按照systemd
配置服务的话,需要修改很多。这里我们使用一个比较简单的兼容方案。
创建systemd
的服务脚本
里面的内容如下:
激活服务
手工创建或者拷贝已有的/etc/rc.local
,这里我们以手工创建为例子:
参考链接
树莓派系统升级Raspbian Wheezy到Raspbian Jessie(树莓派2B+)
树莓派官方已经放出了Raspbian 8 Jessie
。这是Raspbian Wheezy 2015.5.5
之后的一次比较大的版本更新。而老的Raspbian Wheezy
版本也可以通过简单的步骤升级到Raspbian 8 Jessie
且不用重新刷写镜像。下面将介绍如何升级,要知道,升级有可能会破坏现有系统,在此之前请一定注意备份好老的系统。如果你对之前的系统做的更改越小,升级将会越顺利。
1. 更新当前系统到最新
2. 更新软件下载源
3. 升级到Raspbian 8 Jessie
参考链接
Ubuntu 14.04及之后版本重启网卡不生效
Ubuntu 14.04
修改配置,重启网卡没有生效,出现如下问题:
从以上日志内容可以看出,传统的service
重启和停止网络已经不再支持了,需要通过使用ifdown
& ifup
来实现相应的操作。
如果在远程Shell
操作的情况,上面的命令可能会只执行了ifdown
,然后连接就断开,而无法执行后面的ifup
命令,导致无法继续操作。
解决方法是把上面的命令写入一个脚本文件执行: