chroot命令用来在指定的根目录下运行指令。chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以/,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为/位置。
chroot可以算是容器的始祖了。
一、准备工作
下载alpine的chroot包,别害怕,只有2.6M
pve肯定是选x86_64了
为了省事,直接在terminal里wget好了:
mkdir /alpine #我这里放到/alpine好了
cd /alpine
wget http://dl-cdn.alpinelinux.org/alpine/v3.10/releases/x86_64/alpine-minirootfs-3.10.3-x86_64.tar.gz
下载后,解压
tar -xvzf alpine-minirootfs-3.10.3-x86_64.tar.gz
完事了切回/目录操作:
cd /
二、chroot操作
刚才切到/目录了,操作如下:
mount -t proc /proc /alpine/proc
mount --rbind /dev /alpine/dev
mount --rbind /sys /alpine/sys
#如果需要卸载rbind,需要先mount --make-rslave /alpine/sys,再umount -R /alpine/sys , dev也是这样
#schroot --list --all-sessions
#schroot -e -c precise-ca6c72e4-0e9f-4721-8a0e-cca359e2c2fd
#批量删除:for i in `schroot --list --all-sessions|awk -F ":" '{print $2}'`;do schroot -e -c $i;done
chroot:
chroot /alpine /bin/sh #这里注意,要用/bin/sh,alpine里默认没有bash
然后,会发现前面的提示符变了。说明已经进chroot了。
三、安装和使用软件
- 为alpine添加阿里的源,加速啊,速度明显加快:
echo "http://mirrors.aliyun.com/alpine/latest-stable/main/" > /etc/apk/repositories \
&& echo "http://mirrors.aliyun.com/alpine/latest-stable/community/" >> /etc/apk/repositories
- 安装lm_sensors验证是否可以调用传感器(这里要注意包名,是下划线,不是debian的中横线):
#安装
apk add lm_sensors
#执行
sensors
如果没有意外,就已经看到结果了。具体apk的使用,请apk --help或自行查找资料。
- 查看硬盘信息:
ls -alh /dev/disk/by-id
四、退出
exit
回到主系统。
五、如何不进主系统自动执行chroot中的程序
采用schroot的方式
待续...
本文暂时没有评论,来添加一个吧(●'◡'●)