Linux里最头疼的就是依赖库,搭建一个开发环境就是一堆的依赖库需要安装。如果有版本冲突,虽然可以用aptitude解决,但顾了这个,另一个工程又编不了。如何将这些环境隔离出来避免相互的干扰呢? debootstrap/schoot就可以帮助解决这个问题。 看这里 (Virtualizing without virtualizing), 简而言之,就是在当前的host下安装另一个系统环境,使用命令行的方式切换到那个环境中操作,完全达到了要求,还不致于影响host的运行环境。
1.安装
sudo apt-get install schroot debootstrap
2. 安装64位的Ubuntu 12.10
sudo debootstrap --arch amd64 precise /srv/chroot/webkit http://archive.ubuntu.com/ubuntu/
*如果这里报错,检查一下amd64的合法性,如果不支持,试一下linux64。32位则使用i386。
3. 配置
编辑 /etc/schroot/schroot.conf
内容如:
[webkit]
description=Ubuntu 12.10 for compiling Webkit
type=directory
directory=/srv/chroot/webkit
users=your_name
groups=root
root-groups=root
*directory指的是debootstrap安装新系统的目录。users用于指定添加的用户名。
4. 确认一下
schroot -l 就会显示webkit可用了。如果有错误,就检查一下配置文件是不是写错了。
5. 启用并以root用户登录
schroot -c webkit -u root
6. 先安装一个最小化系统
apt-get install ubuntu-minimal
7. 编辑Source列表,不然好多东东会找不到的。重要! 搞不好,还要重新来过!
8. 配置一下Java环境
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
*否则Java编译会因为无法识别UTF8编码而报错。
下面是我在Ubuntu 14.04 64bits上为U4搭建Ubuntu 12.10 64bits开发环境的步骤供参考:
1.安装
sudo apt-get install schroot debootstrap
2. 安装64位的Ubuntu 12.10
sudo debootstrap --arch amd64 precise /srv/chroot/webkit http://archive.ubuntu.com/ubuntu/
*如果这里报错,检查一下amd64的合法性,如果不支持,试一下linux64。32位则使用i386。
3. 配置
编辑 /etc/schroot/schroot.conf
内容如:
[webkit]
description=Ubuntu 12.10 for compiling Webkit
type=directory
directory=/srv/chroot/webkit
users=your_name
groups=root
root-groups=root
*directory指的是debootstrap安装新系统的目录。users用于指定添加的用户名。
4. 确认一下
schroot -l 就会显示webkit可用了。如果有错误,就检查一下配置文件是不是写错了。
5. 启用并以root用户登录
schroot -c webkit -u root
6. 先安装一个最小化系统
apt-get install ubuntu-minimal
7. 编辑Source列表,不然好多东东会找不到的。重要! 搞不好,还要重新来过!
/etc/apt/sources.list , 下面是我使用的内容:
deb http://archive.ubuntu.com/ubuntu precise main
deb http://archive.ubuntu.com/ubuntu precise universe
deb http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu precise partner
deb http://security.ubuntu.com/ubuntu precise-security main
8. 配置一下Java环境
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
*否则Java编译会因为无法识别UTF8编码而报错。
9. 现在就可以配置你的开发环境了。