rpm: 과소평가된 도구

처음에 Linux 시스템을 사용했을 때 Linux 시스템과 Windows 시스템을 비교하는 것을 좋아했다. 그리고 Linux 시스템은 여러 가지 좋지 않다고 느꼈다. 예를 들어 다음과 같다.
  • 그래픽 인터페이스가 없습니다.Xwindow 키트를 설치해 Windows와 같은 그래픽 인터페이스를 구현할 수도 있지만 여러 가지 적응이 안 된다.가장 중요한 것은 서버 시스템으로 사용되는 리눅스는 대부분 Xwindows 세트를 설치하지 않는다는 것이다.
  • 깜깜한 명령줄에 직면하여 어떤 소프트웨어를 사용할 수 있는지 어떻게 알 수 있습니까?Windows 시스템에는 최소한 제어판이 하나 있는데, 어떤 소프트웨어가 설치되어 있는지 한눈에 알 수 있다.
  • Windows에서 자주 사용하는 소프트웨어는 우리가 모두 무엇을 하는지 잘 알고 있지만 리눅스에 있는 소프트웨어는 나는 이전에 본 적이 없다. 나는 그것이 무엇을 하는지 어떻게 알고 언제 설치되었는지, 어느 소프트웨어 패키지에서 왔을까?
  • 소프트웨어를 다운로드했는데 설치하기 전에 어떻게 그 정보를 알 수 있을까요?

  • 상기 의문들은 모두 rpm 명령에서 답을 찾을 수 있다.
    간단한 소개
    rpm, 즉 Radhet Package Manager, 빨간 모자 패키지 관리자최초로 빨간 모자 운영체제를 위해 개발한 소프트웨어 패키지 관리 프로그램은 이 도구를 이용하여 이전의 원본 패키지 설치 과정을 간소화하고 소프트웨어 패키지 관리의 표준화를 실현하여 레드하트 시스템의 소프트웨어 패키지 관리를 더욱 쉽게 하고 시스템 관리의 문턱을 낮추었다.현재 이 도구는 모든 Radhet 시리즈의 Linux 시스템으로 확장되어 사용되고 있습니다.여기에 원본 패키지의 설치 과정을 간단하게 되돌아봅시다.리눅스 시스템의 소스 유전자와 리눅스 시스템의 지점의 다양성 때문에 이전의 리눅스 시스템 소프트웨어 발표는 모두 원본 코드를 직접 발표하는 것이다. 즉, 원본 코드를 직접 포장하여 인터넷에 발표하거나 필요한 사람에게 보내는 것이다.소프트웨어를 설치할 때 자신이 사용하는 시스템에 따라 개성화된 파라미터를 설정하고 먼저 컴파일하고 컴파일한 후에 설치해야 한다.소스 패키지의 이점은 다음과 같습니다.
  • 소프트웨어 발표자는 간편하고 스스로 컴파일하고 봉인할 필요가 없다.
  • 소프트웨어 호환성이 좋고 이 소프트웨어를 사용할 시스템에서 컴파일한 것이기 때문에 현재 운영체제에 더욱 잘 적응할 수 있다.
  • 맞춤형 제작성이 높고 마찬가지로 자신이 컴파일했기 때문에 소프트웨어가 허용하는 범위 내에서 자신의 수요를 최대한 만족시킬 수 있다.

  • 상대적으로 상기 장점들은 rpm 패키지 관리의 단점이다.그러나 결점은 감추지 못하고rpm의 기능은 여전히 매우 강하다.
    응용 장면1: 어떤 사용 가능한 소프트웨어가 있는지 보자.
    #             
    rpm -qa |less	#              ,   less  ,        。
    ……
    kernel-tools-3.10.0-957.el7.x86_64
    keyutils-libs-1.5.8-3.el7.x86_64
    btrfs-progs-4.9.1-1.el7.x86_64
    p11-kit-trust-0.23.5-3.el7.x86_64
    rootfiles-8.1-11.el7.noarch
    iwl5000-firmware-8.83.5.1_1-69.el7.noarch
    libblkid-2.23.2-59.el7.x86_64
    :
    

    매개변수 해석: -q # 질의 모드; -a # 모든 소프트웨어 쿼리
    응용 장면2: 소프트웨어의 기본 정보 보기
    [root@lnmp1 ~]# rpm -qi yum	#  yum       。
    Name        : yum
    Version     : 3.4.3		#    
    Release     : 161.el7.centos	#      
    Architecture: noarch
    Install Date: 2019 11 13      18 17 11 	#    
    Group       : System Environment/Base
    Size        : 5824869
    License     : GPLv2+
    Signature   : RSA/SHA256, 2018 11 12      23 27 16 , Key ID 24c6a8a7f4a80eb5
    Source RPM  : yum-3.4.3-161.el7.centos.src.rpm	#     
    Build Date  : 2018 11 05      09 54 01 	#      
    Build Host  : x86-01.bsys.centos.org
    Relocations : (not relocatable)
    Packager    : CentOS BuildSystem <http://bugs.centos.org>
    Vendor      : CentOS
    URL         : http://yum.baseurl.org/
    Summary     : RPM package installer/updater/manager	#    
    Description :			#          。
    Yum is a utility that can check for and automatically download and
    install updated RPM packages. Dependencies are obtained and downloaded
    automatically, prompting the user for permission as necessary.
    

    매개변수 해석: -i # 소프트웨어 관련 정보 표시;
    응용 장면3: 소프트웨어가 설치할 때 어떤 파일을 설치했는지 보기
    [root@lnmp1 ~]# rpm -ql yum	
    /etc/logrotate.d/yum
    /etc/yum
    /etc/yum.conf
    /etc/yum.repos.d
    /etc/yum/fssnap.d
    /etc/yum/pluginconf.d
    /etc/yum/protected.d
    /etc/yum/vars
    /etc/yum/version-groups.conf
    /usr/bin/yum
    /usr/lib/python2.7/site-packages/rpmUtils
    /usr/lib/python2.7/site-packages/rpmUtils/__init__.py
    /usr/lib/python2.7/site-packages/rpmUtils/__init__.pyc
    /usr/lib/python2.7/site-packages/rpmUtils/arch.py
    /usr/lib/python2.7/site-packages/rpmUtils/arch.pyc
    /usr/lib/python2.7/site-packages/rpmUtils/miscutils.py
    /usr/lib/python2.7/site-packages/rpmUtils/miscutils.pyc
    /usr/lib/python2.7/site-packages/rpmUtils/oldUtils.py
    /usr/lib/python2.7/site-packages/rpmUtils/oldUtils.pyc
    /usr/lib/python2.7/site-packages/rpmUtils/transaction.py
    /usr/lib/python2.7/site-packages/rpmUtils/transaction.pyc
    /usr/lib/python2.7/site-packages/rpmUtils/updates.py
    /usr/lib/python2.7/site-packages/rpmUtils/updates.pyc
    ……
    

    매개변수 해석: -l # 은 소프트웨어와 관련된 파일 목록을 표시합니다.이상은yum소프트웨어가 설치할 때 생성된 일부 파일 목록일 뿐입니다. 파일을 열거했을 뿐만 아니라 파일이 있는 경로도 제시했고 매우 친근합니다.
    응용 장면4: 어떤 파일이 어떤 소프트웨어에 속하는지 보기
    [root@lnmp1 ~]# rpm -qf /etc/passwd
    setup-2.8.71-10.el7.noarch
    

    매개변수 해석: -f#은 지정된 파일이 속한 소프트웨어를 표시합니다.
    응용 장면5: 설치하기 전에 어떤 소프트웨어를 설치할지 확인하세요.
    [root@lnmp1 ~]# rpm -qpi apr-1.4.8-5.el7.x86_64.rpm 
    Name        : apr
    Version     : 1.4.8
    Release     : 5.el7
    Architecture: x86_64
    Install Date: (not installed)			#    ,        
    Group       : System Environment/Libraries
    Size        : 226790
    License     : ASL 2.0 and BSD with advertising and ISC and BSD
    Signature   : RSA/SHA256, 2019 08 23      05 20 27 , Key ID 24c6a8a7f4a80eb5
    Source RPM  : apr-1.4.8-5.el7.src.rpm
    Build Date  : 2019 08 08      20 04 16 
    Build Host  : x86-01.bsys.centos.org
    Relocations : (not relocatable)
    Packager    : CentOS BuildSystem 
    Vendor      : CentOS
    URL         : http://apr.apache.org/
    Summary     : Apache Portable Runtime library
    Description :
    The mission of the Apache Portable Runtime (APR) is to provide a
    free library of C data structures and routines, forming a system
    portability layer to as many operating systems as possible,
    including Unices, MS Win32, BeOS and OS/2.
    

    매개변수 해석: -p#은 지정된 패키지에 대한 정보를 표시합니다.설치된 소프트웨어를 조회하는 것과 차이가 많지 않습니다. 설치된 날짜가 없습니다.
    응용 장면6: 설치하기 전에 설치할 소프트웨어에 어떤 파일이 생성되는지 보기
    설치된 소프트웨어에서 생성된 파일을 조회하는 것과 유사합니다.
    [root@lnmp1 ~]# rpm -qpl apr-1.4.8-5.el7.x86_64.rpm 
    /usr/lib64/libapr-1.so.0
    /usr/lib64/libapr-1.so.0.4.8
    /usr/share/doc/apr-1.4.8
    /usr/share/doc/apr-1.4.8/CHANGES
    /usr/share/doc/apr-1.4.8/LICENSE
    /usr/share/doc/apr-1.4.8/NOTICE
    

    응용 장면 7:rpm 패키지 설치
    [root@lnmp1 Packages]# rpm -ivh tcpdump-4.9.2-4.el7_7.1.x86_64.rpm 
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:tcpdump-14:4.9.2-4.el7_7.1       ################################# [100%]
    

    매개변수 해석: -i # 패키지 설치; -v # 명령 실행 프로세스를 표시합니다. -h# - v 매개변수와 함께 사용하여 진행률 막대를 표시합니다.
    응용 장면8:rpm 패키지 마운트 해제
    [root@lnmp1 Packages]# rpm -e tcpdump 
    [root@lnmp1 Packages]# 
    

    매개변수 해석: -e # 에서 지정된 소프트웨어를 제거합니다.마운트 해제할 때 버전을 지정할 필요가 없습니다.
    응용 장면9:rpm 패키지가 변경되었는지 검사
    [root@lnmp1 Packages]# rpm -V httpd
    S.5....T.  c /etc/httpd/conf/httpd.conf
    .....UG..    /var/www/html
    

    여기 있는 매개 변수: - V (대문자) 는 완전성을 검증하는 것입니다.현재 파일 상태와 설치 시 일치하는지 확인합니다.일치하면 출력이 없습니다.일치하지 않으면, 위와 같은 지정한 표지를 출력합니다.구체적인 이 표지들의 의미는 다시 한 편 개설하여 단독으로 설명할 수 있다.이곳은 더 이상 펼쳐지지 않는다.
    상기 9개의 장면을 통해 rpm는 정말 간단하지 않다는 것을 알 수 있습니다. 당신이 리눅스 세계를 여행할 때 도움을 줄 수 있습니다!

    좋은 웹페이지 즐겨찾기