我需要克隆 debian 11 bullseye 系统,并根据需要将其部署到其他系统上。在进行成像之前,我试图中和系统。我使用了一些命令,但它们导致影响图像,例如无法完成 ssh 连接或系统(从图像安装)随机冻结。
这是我所做的:
# Reset interfaces
sudo rm /etc/udev/rules.d/70-persistent-net.rules
sudo rm /var/lib/dhcp/dhclient.leases
sudo sed -i '/^allow-hotplug eth/d' /etc/network/interfaces
sudo sed -i '/^iface eth/d' /etc/network/interfaces
sudo sed -i '/^address/d' /etc/network/interfaces
sudo sed -i '/^netmask/d' /etc/network/interfaces
sudo sed -i '/^gateway/d' /etc/network/interfaces
sudo sed -i '/^dns-nameservers/d' /etc/network/interfaces
# reset hostname
echo "debian" | sudo tee /etc/hostname
sudo sed -i '/127.0.1.1/d' /etc/hosts
echo "127.0.1.1 debian" | sudo tee -a /etc/hosts
# remove ssh host keys
sudo rm /etc/ssh/ssh_host_*
# clean APT cache
sudo apt-get clean
reset random number generator pool:
sudo dd if=/dev/zero of=/var/lib/systemd/random-seed bs=512 count=1
sudo rm /var/lib/systemd/random-seed
# remove udev persistent rules
sudo rm /etc/udev/rules.d/70-persistent-net.rules
sudo rm /etc/udev/rules.d/70-persistent-cd.rules
# clear swap and temporary files
sudo rm /etc/udev/rules.d/70-persistent-net.rules
sudo rm /etc/udev/rules.d/70-persistent-cd.rules
# Remove SSH Keys and user credentials:
sudo rm -rf /root/.ssh
sudo rm -rf /home/*/.ssh
sudo passwd -l root # Lock root account to prevent login
# remove system logs
sudo find /var/log -type f -exec truncate -s 0 {} \;
# Clear bash histroy and logs
cat /dev/null > ~/.bash_history
history -c && history -w
sudo cat /dev/null > /root/.bash_history
sudo history -c && sudo history -w
sudo rm -rf /var/log/* /var/log.*/*
# shutdown system
sudo shutdown -h now
运行这些命令后,我创建了映像并将其部署在与映像系统类似的不同系统上(相同的硬件和来自同一制造商)。我还通过更改主机名来更改它们
/etc/hosts 和 /etc/主机名
然后我跑了
sudo 主机名 -F /etc/主机名
但是当我在其他系统上安装该映像后,它就开始工作了。就像不可能的 ssh 连接,即使我在防火墙中激活它,系统也开始随机冻结。
是否有像 Windows 中的 sysprep 这样的自动化方法可以在 debian 中进行中和?