是否有类似 sysprep 的东西可以在成像之前中和系统?

是否有类似 sysprep 的东西可以在成像之前中和系统?

我需要克隆 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 中进行中和?

相关内容