gpt4 book ai didi

linux - 如何通过一个磁盘中的另一个 linux 系统更新一个 linux 系统?

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:01 29 4
gpt4 key购买 nike

我的情况是:我在一个磁盘上安装了两个 linux。我将第一个安装在/dev/sda1 中,然后在/dev/sda2 中安装第二个然后我运行第一个系统,我写了一个脚本来在第一个系统运行时更新它。

    cd /
mkdir newroot
mount /dev/sda2 /newroot
mount --bind /proc /newroot/proc/
mount --bind /sys /newroot/sys/
mount --bind /dev /newroot/dev/
mount --bind /run /newroot/run/
chroot /newroot /bin/bash --login

mkdir oldroot
mount /dev/sda1 oldroot
mount -o remount,rw /oldroot
rm -rf /oldroot/*
#but i can't rm the dev proc sys run
tar -xzpvf /newroot/update/sda1.tar.gz -C /oldroot/*

我的问题是我无法自动运行脚本,它会在

之后停止

运行 chroot/newroot/bin/bash --login

最佳答案

您要在 chroot 中执行的命令不能紧跟在其他命令之后。您正在执行一个不同的 bash,因此您必须为其提供一个新脚本。试试这个:

cd /
mkdir newroot
mount /dev/sda2 /newroot
mount --bind /proc /newroot/proc/
mount --bind /sys /newroot/sys/
mount --bind /dev /newroot/dev/
mount --bind /run /newroot/run/
chroot /newroot /bin/bash --login <<EOF

mkdir oldroot
mount /dev/sda1 oldroot
mount -o remount,rw /oldroot
rm -rf /oldroot/*
#but i can't rm the dev proc sys run
tar -xzpvf /newroot/update/sda1.tar.gz -C /oldroot/*
EOF

参见 this<<EOF 的解释

关于linux - 如何通过一个磁盘中的另一个 linux 系统更新一个 linux 系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34308567/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com