ubuntu 14.04.5下安装多版本Python(2.7.6/3.4.3/3.6.4)

系统环境:ubuntu14.04.5 LTS,系统默认的python版本为2.7.4/3.4.3

但是实际工作中,某些通过pip安装的开发包需要不低于某个版本的python才能正常工作,比如ansible-2.4.2.0,明确只支持python-3.5以上的版本。在低版本的python上,无法正常运行。

而如果我们贸然更新系统python版本的话,会导致系统异常。因此我们借助pyenv实现基于用户的python版本定制。

安装pyenv

查看可以安装的python版本:

这里以安装python-3.6.4为例,首先安装依赖:

安装python

该命令会从github上下载python的源代码,并解压到/tmp目录下,然后在/tmp中执行编译工作。若依赖包没有安装,则会出现编译错误,需要在安装依赖包之后重新执行该命令。

安装完成之后,需要使用如下命令对数据库进行更新:

查看当前已经安装的python版本

其中星号代表是当前系统正在使用的python版本是系统自带的。

设置全局的python版本

从上面,我们可以看出来当前的python版本已经变为了3.6.4。也可以使用pyenv localpyenv shell临时改变python的版本。

如果需要还原设定的python版本为系统自带的版本,则执行如下命令:

确认python版本

上面的操作会导致在当前用户下,执行python或者python3命令的时候都会被定向到python-3.6.4,如果只想执行python3命令的时候被定向到python-3.6.4,则可以直接删除python这个链接:

安装pip

安装完成之后,需要使用如下命令对数据库进行更新:

注意事项:
  • 输入python即可使用新版的python
  • 系统自带的脚本会以/usr/bin/python的方式直接调用老版本的python,因而不会对系统脚本产生影响
  • 使用pip安装第三方模块时会安装到~/.pyenv/versions/3.6.4下,不会和系统模块发生冲突
  • 使用pip安装模块后,可能需要执行pyenv rehash更新数据库

参考链接


Ubuntu 16.04.3系统VirtualBox-5.0.40使用USB设备

Ubuntu版本:16.04.3

Oracle VirtualBox版本:5.0.40

问题:

这是在设置启用USB时提示的错误。关于如何启用UbuntuOracle VM VirtualBoxUSB功能 (Oracle VM VirtualBox设置USB启用USB控制器启用USB 2.0 ECHI控制器)--如果你没有安 装Oracle VM VirtualBox Extension Pack的话,那么这时就会弹出一个提示框,提示上面给出的那段英文提示。

继续阅读Ubuntu 16.04.3系统VirtualBox-5.0.40使用USB设备

Ubuntu 14.04.5系统安装Docker-1.6.2操作基础镜像

执行如下命令安装:

启动服务:

测试服务是否正常:

创建基础镜像:

接下来,就是Dockerfile里面的内容了:

构建Docker镜像:

运行刚刚创建好的镜像:

导出刚刚创建好的镜像:

其他机器上加载我们导出的镜像:

删除不再使用的镜像:

如果运行时报错:

则尝试安装:

参考链接


Ubuntu 14.04.5编译安装OpenCV-2.4.13.5

  • 获取源代码

  • 安装依赖库

  • 编译源代码

如果要生成DEB安装包,则上面的命令修改成

  • 替换已经安装的版本

  • 编译出错的处理

如果执行cmake时候出现如下错误信息

则应该是在代码根目录下直接执行过cmake,导致根目录下生成了CMakeCache.txt,需要删除CMakeCache.txt再次执行编译即可。

相关链接


腾讯云挂载数据盘(Ubuntu 16.04.3 LTS)

腾讯云介绍的挂载数据盘的操作比较繁琐,如果只有一块数据盘,并且数据盘只创建一个分区,而且磁盘空间不超过2TB,可以使用下面的方法:

参考链接


使用 MBR 分区表分区并格式化

Ubuntu 16.04.3 Server使用SSH登陆中文显示为乱码

最近尝试迁移向腾讯云,然后通过SSH登陆到服务器,发现编辑脚本的时候中文会显示为乱码。

服务器的版本是Ubuntu 16.04.3 Server

解决方法非常简单,执行如下命令即可:

参考链接


Ubuntu server 中文环境方格乱码解决方法

Ubuntu 16.10/17.10无法通过/etc/rc.local开机启动应用

最新的Ubuntu 16.10/17.10上已经找不到/etc/rc.local这个文件了。但是我们很多配置都是写在这个文件里面的,因此如果直接按照systemd配置服务的话,需要修改很多。这里我们使用一个比较简单的兼容方案。

创建systemd的服务脚本

里面的内容如下:

激活服务

手工创建或者拷贝已有的/etc/rc.local,这里我们以手工创建为例子:

参考链接


Ubuntu 14.04及之后版本重启网卡不生效

Ubuntu 14.04修改配置,重启网卡没有生效,出现如下问题:

从以上日志内容可以看出,传统的service重启和停止网络已经不再支持了,需要通过使用ifdown & ifup来实现相应的操作。

如果在远程Shell操作的情况,上面的命令可能会只执行了ifdown,然后连接就断开,而无法执行后面的ifup命令,导致无法继续操作。

解决方法是把上面的命令写入一个脚本文件执行:

参考连接


linux Ubuntu14.04及之后版本重启网卡不生效

ubuntu 14.04/ubuntu 17.10做主机双网卡共享上网(NAT)

需求是电脑通过无线上网,然后把有线共享给其他设备,其他设备通过电脑代理上网。

电脑上有两张网卡,一张有线网卡,名字为eth0,一张无线网卡,名字为wlan0

电脑的有线网卡配置的静态IP地址为:192.168.0.1

对于Ubuntu 16.10/17.10系统,请参考 Ubuntu 16.10/17.10无法通过/etc/rc.local开机启动应用 激活系统对于/etc/rc.local功能的支持。

电脑上执行如下命令:

此时,由于我们没有开启DHCP功能,因此只能设置静态IP地址。客户机设置如下:
eth0:192.168.0.10 掩码:255.255.255.0 网关:192.168.0.1

参考链接


ubuntu做主机双网卡共享上网方法