33 lines
1.0 KiB
Bash
Executable File
33 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
set +e
|
|
while [[ ! -b /dev/$disk ]] ; do
|
|
echo $(ls /sys/block/* | grep "[0-9]$")
|
|
echo -n "Rootfs partition >>> "
|
|
read disk
|
|
done
|
|
mount /dev/$disk /mnt
|
|
mount --bind /dev /mnt/dev
|
|
mount --bind /dev/pts /mnt/dev/pts
|
|
mount --bind /sys /mnt/sys
|
|
mount --bind /proc /mnt/proc
|
|
[[ ! -d /mnt/var/lib/dpkg ]] && exit 1
|
|
cat /etc/resolv.conf > /mnt/etc/resolv.conf
|
|
rm -rf /mnt/etc/apt/sources.list.d
|
|
mkdir -p /mnt/etc/apt/sources.list.d
|
|
rm -rf /mnt/var/lib/apt/lists/*
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
chroot /mnt apt update
|
|
chroot /mnt apt install -f -y
|
|
chroot /mnt dpkg -l | grep "^i[A-Z]" | tr -s " " | cut -f 2 -d " " | while read package ; do
|
|
chroot /mnt dpkg --configure -a
|
|
chroot /mnt dpkg -r --force-depends $package
|
|
chroot /mnt apt install -f --allow-downgrades --allow-change-held-packages -o Dpkg::Options::="--force-confnew" -y
|
|
done
|
|
sync
|
|
for dir in dev/pts dev sys proc ; do
|
|
while umount -lf "/mnt/$dir" 2>/dev/null; do : ;done
|
|
done
|
|
umount -lf /mnt 2>/dev/null
|
|
echo -en "\033[32;1mPress any key to continue\033[;0m"
|
|
read -n 1
|