RHEL8,提取 DEV hosts升級安裝包,去PROD host 安裝

Posted on 2025-08-13 11:23  k98091518  阅读(2)  评论(0)    收藏  举报

清楚記錄
echo " " > ~/.bash_history && history -c && clear
echo " " > ~/.bash_history && history -c && clear && exit


提取安裝包列表
rpm -qa --queryformat '%{NAME}\n' | sort
rpm -qa --queryformat '%{NAME}\n' | sort > ~/$(hostname)_$(date +"%Y%m%d")installed.txt
ansible -i inventory_file all -m shell -a "rpm -qa --queryformat '%{NAME}\n' | sort > ~/$(hostname)
$(date +"%Y%m%d")_installed.txt"

提取帶版本號的安裝包列表
rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n'
rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' | sort > ~/$(hostname)_$(date +"%Y%m%d")installed.txt
ansible -i inventory_file all -m shell -a "rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' | sort > ~/$(hostname)
$(date +"%Y%m%d")_installed.txt"

上傳到Prod host執行安裝
yum install $(cat $(hostname)_$(date +"%Y%m%d")installed.txt)
yum install -y $(cat $(hostname)
$(date +"%Y%m%d")_installed.txt)

其他

$(date +"%Y%m%d")
$(hostname)

結合ansible的實列

e.g.
ansible -i in/fts_inventory all -m shell -a "rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' | sort > ~/$(hostname)_$(date +"%Y%m%d")_installed.txt"

ansible -i in/fts_inventory all -m shell -a "ls -l ~/$(hostname)_$(date +"%Y%m%d")_installed.txt"

ansible -i in/fts_inventory all -m shell -a "cat ~/$(hostname)_$(date +"%Y%m%d")_installed.txt"

ansible -i in/fts_inventory all -m shell -a "tail -n 5 ~/$(hostname)_$(date +"%Y%m%d")_installed.txt"


其他提取嘗試
grep /var/log/dnf.log | grep -i "installed"

journalctl | grep -i "installed"