CentOS 최초 설치 이후 template 만드는 과정을 정리한 것입니다.
# 패키지 업데이트
yum -y upgrade
# 재부팅
shutdown -r now
# 필수 프로그램 설치
yum -y install net-tools nano deltarpm wget bash-completion yum-plugin-remove-with-leaves yum-utils yum-versionlock
# yum update시 커널 버전 고정 (버전은 필요에 따라 변경)
echo 7.4.1708 > /etc/yum/vars/releasever
# mirrorlist 를 주석처리하고 mirror 를 살림 (vi /etc/yum.repos.d/)
# cf) http://ftp.daumkakao.com/centos/7.4.1708/updates/x86_64/repodata/
# 아니면 yum 실행시 옵션으로도 가능 (yum --releasever=7.3.1611 update)
# VM tools 및 script 실행용 perl 설치
yum -y install open-vm-tools perl
# 로깅 서비스 중지
systemctl stop rsyslog
service auditd stop
# 오래된 커널 제거
package-cleanup -y --oldkernels --count=1
# 필요없는 패키지 삭제
package-cleanup --leaves | xargs yum -y remove
# yum 정리
yum clean all
# 오래된 로그 정리
/usr/sbin/logrotate /etc/logrotate.conf --force
rm -f /var/log/*-???????? /var/log/*.gz
rm -f /var/log/dmesg.old
rm -rf /var/log/anaconda
# 감사 로그 정리
cat /dev/null > /var/log/audit/audit.log
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/lastlog
cat /dev/null > /var/log/grubby
# MAC, UUID 템플릿 제거 (VM 생성시 바뀌는 정보, 필요시 적용)
# sed -i '/^\(HWADDR\|UUID\)=/d' /etc/sysconfig/network-scripts/ifcfg-e*
# 부팅시 네트워크 사용하도록 변경 (필요시 적용)
# sed -i -e 's@^ONBOOT="no@ONBOOT="yes@' /etc/sysconfig/network-scripts/ifcfg-e*
# 임시 파일 정리
rm -rf /tmp/*
rm -rf /var/tmp/*
# root의 ssh 이력 정리
rm -rf ~root/.ssh/
rm -f ~root/anaconda-ks.cfg
# root 패스워드 삭제 (필요시 적용)
# passwd -d root
# root의 셸 이력 정리
cat /dev/null > ~/.bash_history && history -cw
# VM 종료
shutdown -h now