RPM 패키지에 대해 새로 설치된 종속성을 제거하는 방법은 무엇입니까? RPM 패키지와 함께 설치되는 종속성 목록을 만드는

새로 설치된 RPM 패키지와 함께 설치되는 종속성 목록을 만드는 쉬운 방법이 yum있습니까?

예 : 그렇게하면 yum install ruby루비 젬도 설치됩니다.

그러나 ruby패키지를 제거 할 때 패키지에 설치된 종속성을 제거하고 싶습니다.

그래서 첫 번째 아이디어는 새로운 패키지 목록을 만든 다음 rpm -e제거 할 때 그 패키지 를 사용하는 것 ruby입니다.

질문

자동으로 그러한 목록을 만드는 방법은 무엇입니까?

또는 rpm 패키지 이름으로 텍스트 파일을 관리해야하는 더 쉬운 방법이 있습니까?



답변

yum 자체 히스토리를 유지하므로 히스토리를 사용하여 패키지가 설치되거나 업데이트 된시기를 찾을 수 있습니다.

예를 들어 yum history packages-info ruby루비와 관련된 모든 트랜잭션을 제공합니다. 가장 오래된 트랜잭션은 일반적으로 패키지가 설치된 트랜잭션입니다.

Transaction ID : 102
Begin time     : Thu Apr  3 17:15:17 2014
Package        : ruby-2.0.0.353-16.fc20.x86_64
State          : Install
Size           : 64,734
Build host     : buildvm-17.phx2.fedoraproject.org
Build time     : Thu Nov 28 06:01:20 2013
Packager       : Fedora Project
Vendor         : Fedora Project
License        : (Ruby or BSD) and Public Domain
URL            : http://ruby-lang.org/
Source RPM     : ruby-2.0.0.353-16.fc20.src.rpm
Commit Time    : Mon Nov 25 07:00:00 2013
Committer      : V?t Ondruch <vondruch@redhat.com>
Reason         : user
Command Line   : install ruby rubygems
From repo      : updates
Installed by   : Michael Hampton <error>

그러면 트랜잭션 ID가 제공되며, 예를 들어와 같이 설치된 종속성을 조회하고 찾을 수 있습니다 yum history info <ID>.

Transaction ID : 102
Begin time     : Thu Apr  3 17:15:17 2014
Begin rpmdb    : 2336:55d492c6f5d091f328529861bdf95111264337f6
End time       :            17:15:20 2014 (3 seconds)
End rpmdb      : 2346:ccca040d610665c49a1ff6a11f787f8d5aa6790d
User           : Michael Hampton <error>
Return-Code    : Success
Command Line   : install ruby rubygems
Transaction performed with:
    Updated       rpm-4.11.2-2.fc20.x86_64                @updates/20
2 packages excluded due to repository priority protections
    Updated       yum-3.4.3-137.fc20.noarch               ?
    Updated       yum-metadata-parser-1.1.4-9.fc20.x86_64 @fedora/20
Packages Altered:
    Install     ruby-2.0.0.353-16.fc20.x86_64           @updates/20
    Dep-Install ruby-irb-2.0.0.353-16.fc20.noarch       @updates/20
    Dep-Install ruby-libs-2.0.0.353-16.fc20.x86_64      @updates/20
    Dep-Install rubygem-bigdecimal-1.2.0-16.fc20.x86_64 @updates/20
    Dep-Install rubygem-io-console-0.4.2-16.fc20.x86_64 @updates/20
    Dep-Install rubygem-json-1.7.7-101.fc20.x86_64      @fedora/20
    Dep-Install rubygem-psych-2.0.0-16.fc20.x86_64      @updates/20
    Dep-Install rubygem-rdoc-4.0.1-2.fc20.noarch        @fedora/20
    Install     rubygems-2.1.11-115.fc20.noarch         @updates/20
    Dep-Install rubypick-1.1.1-1.fc20.noarch            @updates/20

패키지가 방금 설치되었지만 아직 업데이트되지 않은 경우 트랜잭션을 롤백 할 수 있습니다 (예 🙂 yum history undo 102. 이름, 버전 및 릴리스와 일치하여 설치 이후 패키지가 업데이트 된 경우 작동하지 않습니다.

당신이 정말로 있다면 바로 패키지를 설치, 당신은 다른 모든 것들을 생략하고 실행할 수있는 yum history undo last가장 최근의 트랜잭션을 롤백 할 수 있습니다.