mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
virt-sysprep: Add cron-spool, mail-spool, utmp.
This commit is contained in:
2
TODO
2
TODO
@@ -564,8 +564,6 @@ virt-sysprep ideas
|
||||
/var/cache/gdm/*
|
||||
/var/lib/fprint/*
|
||||
/var/run/*
|
||||
/var/spool/mail/*
|
||||
/var/spool/cron/*
|
||||
/var/lib/AccountService/users/*
|
||||
/var/lib/sss/db/*
|
||||
/var/lib/samba/*
|
||||
|
||||
@@ -131,43 +131,52 @@ done
|
||||
# enable all of these, although some of them are only done on certain
|
||||
# guest types (see details below).
|
||||
if [ -z "$enable" ]; then
|
||||
cron_spool=yes
|
||||
dhcp_client_state=yes
|
||||
dhcp_server_state=yes
|
||||
hostname=yes
|
||||
logfiles=yes
|
||||
mail_spool=yes
|
||||
net_hwaddr=yes
|
||||
random_seed=yes
|
||||
rhn_systemid=yes
|
||||
smolt_uuid=yes
|
||||
ssh_hostkeys=yes
|
||||
udev_persistent_net=yes
|
||||
utmp=yes
|
||||
yum_uuid=yes
|
||||
elif [ "$enable" = "list" ]; then
|
||||
echo "cron-spool"
|
||||
echo "dhcp-client-state"
|
||||
echo "dhcp-server-state"
|
||||
echo "hostname"
|
||||
echo "logfiles"
|
||||
echo "mail-spool"
|
||||
echo "net-hwaddr"
|
||||
echo "random-seed"
|
||||
echo "rhn-systemid"
|
||||
echo "smolt-uuid"
|
||||
echo "ssh-hostkeys"
|
||||
echo "udev-persistent-net"
|
||||
echo "utmp"
|
||||
echo "yum-uuid"
|
||||
exit 0
|
||||
else
|
||||
for opt in $(echo "$enable" | sed 's/,/ /g'); do
|
||||
case "$opt" in
|
||||
cron-spool) cron_spool=yes ;;
|
||||
dhcp-client-state) dhcp_client_state=yes ;;
|
||||
dhcp-server-state) dhcp_server_state=yes ;;
|
||||
hostname) hostname=yes ;;
|
||||
logfiles) logfiles=yes ;;
|
||||
mail-spool) mail_spool=yes ;;
|
||||
net-hwaddr) net_hwaddr=yes ;;
|
||||
random-seed) random_seed=yes ;;
|
||||
rhn-systemid) rhn_systemid=yes ;;
|
||||
smolt-uuid) smolt_uuid=yes ;;
|
||||
ssh-hostkeys) ssh_hostkeys=yes ;;
|
||||
udev-persistent-net) udev_persistent_net=yes ;;
|
||||
utmp) utmp=yes ;;
|
||||
yum-uuid) yum_uuid=yes ;;
|
||||
*)
|
||||
echo "error: unknown --enable feature: $opt"
|
||||
@@ -240,6 +249,10 @@ mnt="$tmpdir/mnt"
|
||||
#----------------------------------------------------------------------
|
||||
# The sysprep operations.
|
||||
|
||||
if [ "$cron_spool" = "yes" ]; then
|
||||
rm -rf $mnt/var/spool/cron/*
|
||||
fi
|
||||
|
||||
if [ "$dhcp_client_state" = "yes" ]; then
|
||||
case "$type" in
|
||||
linux)
|
||||
@@ -293,6 +306,11 @@ if [ "$logfiles" = "yes" ]; then
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ "$mail_spool" = "yes" ]; then
|
||||
rm -rf $mnt/var/spool/mail/*
|
||||
rm -rf $mnt/var/mail/*
|
||||
fi
|
||||
|
||||
if [ "$net_hwaddr" = "yes" ]; then
|
||||
case "$type/$distro" in
|
||||
linux/fedora)
|
||||
@@ -344,6 +362,10 @@ if [ "$udev_persistent_net" = "yes" -a "$type" = "linux" ]; then
|
||||
rm -f $mnt/etc/udev/rules.d/70-persistent-net.rules
|
||||
fi
|
||||
|
||||
if [ "$utmp" = "yes" -a "$type" != "windows" ]; then
|
||||
rm -f $mnt/var/run/utmp
|
||||
fi
|
||||
|
||||
if [ "$yum_uuid" = "yes" -a "$package_management" = "yum" ]; then
|
||||
rm -f $mnt/var/lib/yum/uuid
|
||||
fi
|
||||
|
||||
@@ -171,6 +171,10 @@ Future versions of virt-sysprep may add more operations. If you are
|
||||
using virt-sysprep and want predictable behaviour, specify only the
|
||||
operations that you want to have enabled.
|
||||
|
||||
=head2 cron-spool
|
||||
|
||||
Remove user at-jobs and cron-jobs.
|
||||
|
||||
=head2 dhcp-client-state
|
||||
|
||||
Remove DHCP client leases.
|
||||
@@ -191,6 +195,10 @@ changed to C<localhost.localdomain>.
|
||||
|
||||
Remove many log files.
|
||||
|
||||
=head2 mail-spool
|
||||
|
||||
Remove email from the local mail spool directory.
|
||||
|
||||
=head2 net-hwaddr
|
||||
|
||||
Remove HWADDR (hard-coded MAC address) configuration. For Fedora and
|
||||
@@ -236,6 +244,14 @@ old MAC address occupies the old name (eg. eth0), this means the fresh
|
||||
MAC address is assigned to a new name (eg. eth1) and this is usually
|
||||
undesirable. Erasing the udev persistent net rules avoids this.
|
||||
|
||||
=head2 utmp
|
||||
|
||||
Remove the utmp file.
|
||||
|
||||
This records who is currently logged in on a machine. In modern Linux
|
||||
distros it is stored in a ramdisk and hence not part of the virtual
|
||||
machine's disk, but it was stored on disk in older distros.
|
||||
|
||||
=head2 yum-uuid
|
||||
|
||||
Remove the yum UUID.
|
||||
|
||||
Reference in New Issue
Block a user