设为首页 收藏本站
查看: 1437|回复: 0

[经验分享] 应用debian和schroot安装ubuntu, centos环境

[复制链接]

尚未签到

发表于 2018-4-25 13:11:26 | 显示全部楼层 |阅读模式
  有时我们需要运行最新的LINUX,但是一些软件又依赖其他LINUX版本。这时除了虚拟机和DOCKER外,还可以使用 CHROOT方式。
  

  背景介绍
  Debian:  是 Ubuntu 的源头。收录了最全最新的开源软件包。但由于缺少商业支持和版本发布时间过长,所以出现了UBUNTU。
  Debian 分成三个版本:
  stable:      稳定版本,可以商业使用。每个发布版本都有一个玩具总动员的角色名字。
  testing:    下一个stable, 但现在还没到发布程度,可能是因为还没到版本发布计划要求(例如其他功能还没完善,例如 gnone kde 等大软件)。
  unstable: 包含最新的软件。基本上用作开发是没问题的。也叫SID。
  chroot:    让软件的运行根目录切换到另外一个子目录下。被 chroot 的进程只能访问和使用这个子目录下的文件和库,无法访问原来的根目录。用于目录隔离。
  chroot 跟虚拟化不一样。因为只有进程运行环境是独立的(环境变量,运行库,根目录),其他都还是使用父系统(内核,启动脚本等)
  schroot:  在chroot 前我们需要做准备工作,例如 mount /proc /sys /dev 到新的 root 目录下,还有把一些对新 root 也能访问的目录也使用 -rbind 的方式 mount 到新root目录的访问点。
  同时在 chroot 成功后也要运行一些启动脚本。
  schroot 就做这些事情。
  

  安装Debian
  安装debian 时,一般 进行3个分区,并且最好不要使用 LVM (重装时 LVM 不好恢复?):
  /      30G, ext4, ,物理分区,可启动。放debian 、 centos Ubuntu.
  /home/build   一般可以考虑 100G以上,放代码
  swap 留个 4 G 意思一下。
  

  在Debian中安装 CentOS 6.7
  CentOS 可以从其他机器复制过来,也可以在Debian上安装。
  为了简单建议直接复制一个可用的根文件系统到/home/centos/(安装目录)。
  如果想研究自己安装,或只想安装最简单的CENTOS(不需要图形界面等软件包), 按下面方法:
  安装 yum, 并且使用 163 源。
apt-get install yumcd /etc/yum/repos.d/mv CentOS-Base.repo CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repomv CentOS6-Base-163.repo CentOS-Base.repo  

  2. 安装基本系统
rm      -rf  /home/centos
mkdir -p /home/centos/var/lib/rpm
rpm    --rebuilddb --root=/home/centos/
wget   http://mirrors.163.com/centos/6.7/os/x86_64/Packages/centos-release-6-7.el6.centos.12.3.x86_64.rpm
rpm    -ivh --root==/home/centos/ --nodeps centos-release-6-7.el6.centos.12.3.x86_64.rpm
yum   --installroot=/home/centos/ install -y rpm-build yum
mkdir -p /home/centos/proc
mkdir -p /home/centos/dev
mkdir -p /home/centos/sys
cp /etc/resolv.conf /home/centos/etc/  cp /etc/yum/repos.d/CentOS-Base.repo /home/centos/etc/yum.repos.d/
echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" > /home/centos/root/.bash_profile
echo 'PS1=\'\033[1;93;45m${debian_chroot:+($debian_chroot)}\033[0m\[\033[01;32m\]\u@\[\033[01;34m\]\w\[\033[00m\]\$ \'' >> /home/centos/root/.bashrc  在Debian中安装 Ubuntu 1404
  为了简单建议直接复制一个可用的根文件系统到/home/ubuntu/(安装目录)。
  如果想研究自己安装,或只想安装最简单的Ubuntu1404(不需要图形界面等软件包), 可以试下面方法:
apt-get install debootstrap
wget http://mirrors.163.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.72ubuntu1_all.deb
ar vx debootstrap_1.0.72ubuntu1_all.deb
tar xzf data.tar.gz
cp usr/share/debootstrap/scripts/gutsy /usr/share/debootstrap/scripts/trusty
rm      -rf  /home/ubuntu
mkdir /home/ubuntu/
debootstrap --arch and64 trusty /home/ubuntu/ http://mirrors.163.com/ubuntu
mkdir -p /home/ubuntu/proc
mkdir -p /home/ubuntu/dev
mkdir -p /home/ubuntu/sys
cp /etc/resolv.conf /home/ubuntu/etc/
echo 'deb http://mirrors.163.com/ubuntu trusty main multiverse' > /home/ubuntu/etc/apt/sources.list
echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" > /home/ubuntu/root/.profile
echo 'PS1=\'\033[1;93;44m${debian_chroot:+($debian_chroot)}\033[0m\[\033[01;32m\]\u@\[\033[01;34m\]\w\[\033[00m\]\$ \'' >> /home/ubuntu/root/.bashrc  

  在Debian中安装schroot, 用于管理 UBUNTU 1404/ CENTOS 6.7
  apt-get install schroot
  把下面行添加到/etc/schroot/schroot.conf,并把原来内容注掉:
[centos]
description=Centos 6 (amd64)
directory=/home/centos
root-users=root
root-groups=root
type=directory
aliases=rh,default,67,c
#preserve-environment=true
#personality=linux32
[ubuntu]
description=Ubuntu trusty (amd64)
directory=/home/ubuntu
root-users=root
root-groups=root
type=directory
aliases=trusty,1404,u  启动
  启动 Ubuntu
schroot -c u  启动 centos 6.7
schroot -c c  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-451932-1-1.html 上篇帖子: CentOS命令at: 在指定的时间执行任务 下篇帖子: centos7 apache2.4 测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表