最后活跃于 1705433115

VM template cleanup

修订 e7f2ce00636170416c2f65b63196358320166624

cleanup.sh 原始文件
1#!/bin/sh -eux
2
3## VM cleanup script for generating templates
4
5major_version="`sed 's/^.\+ release \([.0-9]\+\).*/\1/' /etc/redhat-release | awk -F. '{print $1}'`";
6
7# make sure we use dnf on EL 8+
8if [ "$major_version" -ge 8 ]; then
9 pkg_cmd="dnf"
10else
11 pkg_cmd="yum"
12fi
13
14
15echo "Remove development and kernel source packages"
16$pkg_cmd -y remove gcc cpp gc kernel-devel kernel-headers glibc-devel elfutils-libelf-devel glibc-headers kernel-devel kernel-headers
17
18if [ "$major_version" -ge 8 ]; then
19 echo "remove orphaned packages"
20 dnf -y autoremove
21 echo "Remove previous kernels that preserved for rollbacks"
22 dnf -y remove -y $(dnf repoquery --installonly --latest-limit=-1 -q)
23else
24 echo "Remove previous kernels that preserved for rollbacks"
25 if ! command -v package-cleanup >/dev/null 2>&1; then
26 yum -y install yum-utils
27 fi
28 package-cleanup --oldkernels --count=1 -y
29fi
30
31# Avoid ~200 meg firmware package we don't need
32# this cannot be done in the KS file so we do it here
33echo "Removing extra firmware packages"
34$pkg_cmd -y remove linux-firmware
35
36echo "clean all package cache information"
37$pkg_cmd -y clean all --enablerepo=\*;
38
39# Clean up network interface persistence
40rm -f /etc/udev/rules.d/70-persistent-net.rules;
41mkdir -p /etc/udev/rules.d/70-persistent-net.rules;
42rm -f /lib/udev/rules.d/75-persistent-net-generator.rules;
43rm -rf /dev/.udev/;
44
45for ndev in `ls -1 /etc/sysconfig/network-scripts/ifcfg-*`; do
46 if [ "`basename $ndev`" != "ifcfg-lo" ]; then
47 sed -i '/^HWADDR/d' "$ndev";
48 sed -i '/^UUID/d' "$ndev";
49 fi
50done
51
52
53echo "truncate any logs that have built up during the install"
54find /var/log -type f -exec truncate --size=0 {} \;
55
56echo "remove the install log"
57rm -f /root/anaconda-ks.cfg /root/original-ks.cfg
58
59echo "remove the contents of /tmp and /var/tmp"
60rm -rf /tmp/* /var/tmp/*
61
62echo "Clear the history so our install commands aren't there"
63rm -f /root/.wget-hsts