HarmonyOS 6 Linux 容器替换成 debian trixie
Revy_莱维
2026年04月01日 19:39
鸿蒙PC来袭!

愚人节 发现上架了容器 oE环境不太行啊 换成debian 开搞

代码块
Shell
自动换行
复制代码
# 安装完容器

sudo -i

cd /

dnf update
dnf install debootstrap

mkdir /newroot /oldroot
# overlay noexec
mount -t tmpfs tmpfs /newroot

debootstrap trixie /newroot https://mirror.bfsu.edu.cn/debian

chroot /newroot apt install -y sudo busybox-static
chroot /newroot bash -c 'echo root:1|chpasswd'
# fake user
chroot /newroot useradd -m -s /bin/bash -G sudo user
chroot /newroot bash -c 'echo user:1|chpasswd'

cp /newroot/bin/busybox /busybox


/busybox mv afs bin sbin lib lib64 etc home opt root var oldroot/

# /usr 下除 bin 外的子目录
/busybox mkdir -p oldroot/usr
for d in /usr/*/; do
  [ "$d" = "/usr/bin/" ] && continue
  /busybox mv "$d" oldroot/usr/
done

# /usr/bin 内容(跳过 hsl_init)
/busybox mkdir -p oldroot/usr/bin
/busybox find /usr/bin -maxdepth 1 ! -name hsl_init ! -path /usr/bin -exec /busybox mv {} oldroot/usr/bin/ \;

cd /newroot

# 除 usr 外的所有内容
/busybox mv bin sbin lib lib64 boot etc home opt root var ../ 2>/dev/null

# usr 下除 bin 外
for d in usr/*/; do
  d=${d%/}
  [ "$d" = "usr/bin" ] && continue
  /busybox mv "$d" ../usr/
done

# usr/bin 内容合并(hsl_init 共存)
/busybox mv usr/bin/* ../usr/bin/


cd /
/busybox cp -r oldroot/usr/lib/modules usr/lib/modules
/busybox cp -r oldroot/usr/lib/firmware usr/lib/firmware
/busybox cp oldroot/etc/fstab etc/fstab
/busybox cp oldroot/etc/resolv.conf /etc/resolv.conf
复制成功