설치한 모든 패키지를 완전히 제거하시겠습니까?

설치한 모든 패키지를 완전히 제거하시겠습니까?

CentOS7이 설치된 Linux 서버를 사용하여 일부 도구를 테스트하고 설치합니다. 이제 얼마나 많은 패키지를 설치했는지 기억이 나지 않습니다.

내 서버가 새 것과 같을 수 있도록 이러한 패키지를 모두 제거하고 싶습니다. 각 패키지를 검색하여 하나씩 삭제하고 싶지 않습니다. 명령어 하나로 제거할 수 있는 방법이 있나요?

답변1

설치 날짜의 역순으로 모든 파일을 파일로 나열합니다.

rpm -qa --last >list

당신은 다음과 같은 줄을 얻을 것입니다

atop-2.1-1.fc22.x86_64                        Wed Apr 13 07:35:27 2016
telnet-server-0.17-60.fc22.x86_64             Mon Apr 11 20:10:43 2016
mhddfs-0.1.39-3.fc22.x86_64                   Sat Apr  9 21:26:06 2016
libpcap-devel-1.7.3-1.fc22.x86_64             Fri Apr  8 09:40:43 2016

귀하에게 적용되는 마감일을 선택하고 그 이후의 모든 행을 삭제하십시오. 날짜 부분을 제거한 후 나머지 줄을 yum에 지정하여 삭제하세요. 예를 들어

sudo yum remove $(awk '{print $1}' <list)

답변2

을 사용해 볼 수도 있습니다. yum history일반적으로 다음과 같이 설치된 항목에 대한 번호가 매겨진 목록이 표시됩니다.

[root@localhost ~]# yum history
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
ID | Login user               | Date and time    | Action(s)      | Altered
 3 | root <root>              | 2011-09-14 14:36 | Install        |    1   
 2 | root <root>              | 2011-09-12 15:48 | I, U           |   80   
 1 | System <unset>           | 2011-09-12 14:57 | Install        | 1025  

yum history undo 3예를 들어 나중에 사용할 수 있습니다.

Yum!의 역사에 대한 자세한 내용여기.

답변3

모든 과거 거래를 롤백하려면 다음 o-liner를 사용할 수 있습니다.

# yum history list|awk '$1 ~ /[0-9]+/ {print $1}'| while read a; do yum history undo -y $a; done

이 명령을 실행하면 설치된 모든 패키지가 제거되므로 주의하세요! 확인하려면 -y 플래그를 제거하면 됩니다.

관련 정보