pkg 설치시 자동으로 삭제 후 다시 설치하는 script
귀한 조언 다시한번 얻고자 합니다.
현재 pkg 설치 중 실패시 이미 설치되어버린 pkg를 자동으로 찾아 삭제하는 script를 만들고자 합니다.
하기 예시와 같이
+ rpm -if ASML-BB-009-0029A-OU-0.201510181322-6_2_0_b.x86_64.rpm
error: Install/Erase problems:
package ASML-BB-009-0029A-OU-0.201711011337-6_2_0_b.x86_64 (which is newer than ASML-BB-009-0029A-OU-0.201510181322-6_2_0_b.x86_64) is already installed
package ASML-BB-009-0029A-OU-0.201510181322-6_2_0_b.x86_64 is already installed
에러 발생시 rpm -e package ASML-BB-009-0029A-OU-0.201711011337-6_2_0_b.x86_64 를 이용하여 메뉴얼로 지우고 있으나 수 많은 pkg 설치시 일일이 메뉴얼로 지울 수 없어 script를 사용하고자 합니다.
찾는 것 까지는 만들었는데 지우게하는 방법을 모르겠습니다. 'newer'가 들어가는 것을 기준으로 명시된 pkg를 지우면 될 것 같은데 쉽지가 않네요.
현재까지 pkg list를 만들어 이 list에서 pkg file들을 "rpm -if"로 check 하는 script 까지는 하기와 같이 완성하였습니다. 이후 if 를 써서 처리하면 될 것 같은데 방법을 모르겠습니다.
for pkg in `grep ${pno} $MLIST | awk '{print $2}'` # get pkg list of patch level
do
rpm -if `echo $pkg`* # check package version
귀한 고견 부탁드립니다. 머리가 터질 것 같네요. bash shell로 짜는 중입니다.
댓글 달기