记录linux 的chroot

记录一下使用chroot打包一个程序所运行的环境。先在本机上将它的依赖安装完毕,跑一遍检查是否有漏缺的包。没有的话将其mount挂载相应的文件夹之后打包该环境。然后放在一台没有任何依赖的环境中去跑,测验安装的依赖是否好使。

chroot是将根目录切到当前目录下。自己制作模拟环境比较麻烦,但是直接挂载系统文件显得文件太大。

在这期间遇到了很多问题

首先先在本机的chroot中能让程序跑起来。

但是可能刚开始环境打包的有问题,比如挂载的包里面少了依赖环境。

在另一个环境中解压后,架构必须一致才可以进去chroot

还会有很多的权限问题啊什么的。

还有缺失的软链接问题。导致程序编译不能通过。

以及免密登录的问题。

更多的学会的是遇到错误去哪里找。找到源头问题去解决。

配置免密:

#配置root用户免密登陆
#获取服务器ip地址
SEVERIP=$1

#获取该脚本所在地址
MYDIR=$(cd "$(dirname "$0")";pwd)         					

expect<<EOF
        spawn ssh-keygen
        expect {
                "id_rsa):" { send "\r" ; exp_continue }
                "no passphrase" { send "\r" ; exp_continue }
                "again:" { send "\r" ; exp_continue }
                "y/n" { send "y\r" ; exp_continue  }
                "SHA" { }
        }
        expect eof
EOF

sleep 1

cd ~/.ssh
cp id_rsa.pub authorized_keys

expect<<EOF
        spawn ssh $SEVERIP
        expect {
                "yes/no" { send "yes\r" ; exp_continue }
                "\$" { send "exit\r"; }
                "$SEVERIP" {
                        expect {
                               "\$" { send "exit\r" }
                        }
                }
        }
        expect eof
EOF

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

z666666y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值