itwiki:migrate-with-chroot

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
itwiki:migrate-with-chroot [2024/01/20 09:50] – 创建 ovwx@live.ioitwiki:migrate-with-chroot [Unknown date] (当前版本) – 移除 - 外部编辑 (Unknown date) 127.0.0.1
行 1: 行 1:
-====== 使用 CHROOT 完全迁移一个软件环境 ====== 
- 
-因为 PYTHON 环境搭建有些过于复杂了,特别是在应用调用了很多第三方库的情况下,转移到新的系统上面去运行更是可能错误百出,因此将整个环境打包迁移是最好的选择 
- 
-===== 打包整个环境 ===== 
- 
-<code> 
-mkdir /opt/rootfs 
-mkdir /opt/rootfs/usr 
-mkdir /opt/rootfs/etc 
-mkdir /opt/rootfs/root 
-mkdir /opt/rootfs/dev 
-mkdir /opt/rootfs/tmp 
-chmod +t /opt/rootfs/tmp #添加 STICKY 位,TMP目录标准配置 
-mkdir /opt/rootfs/sys #这个很多应用可能用不到 
-cp -rpf /bin /opt/rootfs 
-cp -rpf /sbin /opt/rootfs 
-cp -rpf /usr/share /opt/rootfs/usr 
-cp -rpf /lib /opt/rootfs 
-cp -rpf /lib64 /opt/rootfs 
-cp -rpf /usr/bin /opt/rootfs/usr 
-cp -rpf /usr/sbin /opt/rootfs/usr 
-cp -rpf /usr/lib /opt/rootfs/usr 
-cp -rpf /usr/lib64 /opt/rootfs/usr 
-cp -rpf /usr/libexec /opt/rootfs/usr 
-cp -rpf /etc/bashrc /opt/rootfs/etc 
-cp -rpf /etc/profile /opt/rootfs/etc 
-cp -rpf /etc/passwd /opt/rootfs/etc 
-cp -rpf /etc/shadow /opt/rootfs/etc 
-cp -rpf /root/.bashrc /opt/rootfs/root #/etc/profile, /etc/bashrc, ~/.bashrc 是BASH的初始化文件,导入前可以简化掉一些不用的东西 
-cp -rpf /opt/micromamba /opt/rootfs/opt #这个是你的PYTHON软件环境 
-</code> 
- 
-===== 为环境挂载设备文件 ===== 
- 
-不挂载的话可能导致部分功能异常 
- 
-<code> 
-mount -t proc /proc /opt/rootfs/proc 
-mount --bind /sys /opt/rootfs/sys 
-mount --bind /dev /opt/rootfs/dev 
-mount --bind /dev/pts /opt/rootfs/dev/pts #某些终端模拟器应用如TMUX会需要 
-mount --bind /dev/shm /opt/rootfs/dev/shm 
-</code> 
- 
-===== 切换到指定环境并试运行软件包 ===== 
- 
-<code> 
- 
-chroot /opt/rootfs/ 
-micromamba activate PY377 
-#START-SERVER, 启动PYTHON编写的服务程序 
- 
-</code> 
- 
-我们可以注意到使用CHROOT迁移环境还是具有一定的复杂性的,如果没有涉及发行版本变化太大的话,还是使用 conda-pack 去迁移环境更好,这样环境会更干净一些,如果按照本文方式去迁移的话,一个应用就至少3~4个G了,但这样的话在新机器上正常运行的概率可以达到95%以上。 
- 
- 
  
  • itwiki/migrate-with-chroot.1705740649.txt.gz
  • 最后更改: 2024/01/20 09:50
  • ovwx@live.io