イメージをテンプレートとして使用できるように、イメージをサニタイズする必要があります。このスクリプトを使用すると、仮想マシンイメージをサニタイズして、テンプレートとして使用できるようにします。Red Hat Enterprise Linux 6 イメージおよび Red Hat Enterprise Linux 7 イメージと互換性があります。
#!/bin/bash
# RHEL 7
if ! [[ `runlevel | cut -d " " -f 2` =~ ^[1S]$ ]]; then
echo "Please *boot* to runlevel 1"
exit 3
fi
# Kill udev
killall -9 udevd
# Clean out /root
rm -rf /root/*
rm -f /root/.bash_history
rm -rf /root/.ssh
# SSH host keys
rm -f /etc/ssh/ssh_host_*
# Remove all files in /var that are not owned by an RPM
for FILE in `find /var -type f`; do
rpm -qf --quiet "$FILE" || rm -f "$FILE"
done
# Remove empty directories in /var that are not owned by an RPM
until [ "$REMOVED_DIR" = false ]; do
REMOVED_DIR=false
for DIR in `find /var -type d -empty`; do
if ! rpm -qf --quiet "$DIR"; then
REMOVED_DIR=true
rmdir "$DIR"
fi
done
done
# Truncate any remaining files in /var/log
for FILE in `find /var/log -type f`; do
echo -n > "$FILE"
done
# Make sure the RPM GPG key has been imported
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 2> /dev/null
# Remove MAC addresses from /etc/sysconfig/network-scripts/ifcfg-*
for FILE in /etc/sysconfig/network-scripts/ifcfg-*; do
sed -i /^HWADDR/d "$FILE"
done
# Remove auto-generated udev rules for CD-ROM and network devices
rm -f /etc/udev/rules.d/70-persistent-{cd,net}.rules
# Clean out /tmp
find /tmp -mindepth 1 -delete
#!/bin/bash
# RHEL 7
if ! [[ `runlevel | cut -d " " -f 2` =~ ^[1S]$ ]]; then
echo "Please *boot* to runlevel 1"
exit 3
fi
# Kill udev
killall -9 udevd
# Clean out /root
rm -rf /root/*
rm -f /root/.bash_history
rm -rf /root/.ssh
# SSH host keys
rm -f /etc/ssh/ssh_host_*
# Remove all files in /var that are not owned by an RPM
for FILE in `find /var -type f`; do
rpm -qf --quiet "$FILE" || rm -f "$FILE"
done
# Remove empty directories in /var that are not owned by an RPM
until [ "$REMOVED_DIR" = false ]; do
REMOVED_DIR=false
for DIR in `find /var -type d -empty`; do
if ! rpm -qf --quiet "$DIR"; then
REMOVED_DIR=true
rmdir "$DIR"
fi
done
done
# Truncate any remaining files in /var/log
for FILE in `find /var/log -type f`; do
echo -n > "$FILE"
done
# Make sure the RPM GPG key has been imported
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 2> /dev/null
# Remove MAC addresses from /etc/sysconfig/network-scripts/ifcfg-*
for FILE in /etc/sysconfig/network-scripts/ifcfg-*; do
sed -i /^HWADDR/d "$FILE"
done
# Remove auto-generated udev rules for CD-ROM and network devices
rm -f /etc/udev/rules.d/70-persistent-{cd,net}.rules
# Clean out /tmp
find /tmp -mindepth 1 -delete
Copy to ClipboardCopied!Toggle word wrapToggle overflow