OS RPM 명령어와 Yum 명령어에 대해 알아보겠습니다. #실무 #꿀
페이지 정보
작성자 OSworker 아이디로 검색 전체게시물 댓글 0건 조회 1,728회 좋아요 0회 작성일 23-10-26 17:49본문
오늘은 RPM 명령어와 Yum 명령어에 대해 알아보겠습니다.
그런데 그냥 배우기보다는 질문을 통해 알아가는 방식으로 해보겠습니다.~^^
Q-1) RPM과 YUM 과의 차이점은 뭔가요?
> RPM (Redhat Package Manager)
쉽게 말해 rpm은 현재 디렉토리에 파일이 있을 때 설치하거나, 현재 설치되어있는 패키지를 관리하는 명령어입니다.
. 저장소가 따로 연결 되어있지 않고, 설치할 패키지만 존재 할 때 주로 사용합니다.
단점: 초보자가 사용하기에 조금 어려운점은 패키지들의 의존성을 모두 파악해야 설치를 할 수 있습니다.
> YUM (Yellodog Updater Modified)
YUM은 RPM 기반의 시스템을 위한 자동 업데이트 및 패키지 설치, 제거 할 수 있습니다.
. 저장소(repository)가 연결되어있는 상태에서 사용 할 수 있습니다.
장점: 패키지간 의존성을 자동으로 해소하여, 관련된 패키지들을 모두 설치해줍니다.
이 글을 보시는 분들을 어느정도 리눅스를 사용하신분들이라 판단되어 좀 더 고급 기술로 가보겠습니다.
Q-2) sar라는 명령어를 사용하는데, 어떤 패키지에 포함된 명령어인가요? 옆 서버에 동일하게 설치하고 싶은데
어떤 패키지인지 모르겠습니다.
=> 맞습니다. 명령어는 평소에 그냥 쓰지만, 어떤 패키지를 설치해야 그 명령어를 사용하는지 알아보겠습니다.
- which 명령어로 경로를 찾습니다. # which sar /usr/bin/sar
- rpm -qf 로 해당 경로의 명령어가 어느 패키지에 포함되어있는것을 확인 할수있습니다. # rpm -qf /usr/bin/sar sysstat-12.5.4-5.el9.x86_64 |
- 그럼 여기서 이 패키지가 설치되면서 생성된 디렉토리, 파일들을 알아볼까요
. rpm -ql 명령어로 rpm 패키지가 설치되면서 생성된 모든 파일을 확인할 수 있습니다.
. 해당 패키지의 명령어및 설정 파일 위치를 확인 하실 수 있습니다.
# rpm -ql sysstat-12.5.4-5.el9.x86_64 /etc/profile.d/colorsysstat.csh /etc/profile.d/colorsysstat.sh /etc/sysconfig/sysstat /etc/sysconfig/sysstat.ioconf /usr/bin/cifsiostat /usr/bin/iostat /usr/bin/mpstat /usr/bin/pidstat /usr/bin/sadf /usr/bin/sar /usr/bin/tapestat /usr/lib/.build-id /usr/lib/.build-id/39 /............생략 /usr/lib/.build-id/f8 /usr/lib/.build-id/f8/922bcbde923226b129d772a0820a66b5a41fe5 /usr/lib/systemd/system-sleep/sysstat.sleep /usr/lib/systemd/system/sysstat-collect.service /usr/lib/systemd/system/sysstat-collect.timer /usr/lib/systemd/system/sysstat-summary.service /usr/lib/systemd/system/sysstat-summary.timer /usr/lib/systemd/system/sysstat.service /usr/lib64/sa /usr/lib64/sa/sa1 /usr/lib64/sa/sa2 /usr/lib64/sa/sadc /usr/share/doc/sysstat /usr/share/doc/sysstat/CHANGES /usr/share/doc/sysstat/COPYING /usr/share/doc/sysstat/CREDITS /usr/share/doc/sysstat/FAQ.md /usr/share/doc/sysstat/README.md /usr/share/doc/sysstat/sysstat-12.5.4.lsm .........생략 /usr/share/man/man1/cifsiostat.1.gz /usr/share/man/man1/iostat.1.gz /usr/share/man/man1/mpstat.1.gz /usr/share/man/man1/pidstat.1.gz /usr/share/man/man1/sadf.1.gz /usr/share/man/man1/sar.1.gz /usr/share/man/man1/tapestat.1.gz /usr/share/man/man5/sysstat.5.gz /usr/share/man/man8/sa1.8.gz /usr/share/man/man8/sa2.8.gz /usr/share/man/man8/sadc.8.gz /var/log/sa |
Q-3) 패키지 설치된 날짜와 누가 설치했는지를 확인 할수 있나요?
==> 설치된 날짜는 확인이 가능하나 누가 설치했는지는 알 수가 없습니다.
또한 이 패키지의 Vendor를 확인 할 수 도 있습니다.
# rpm -qi sysstat-12.5.4-5.el9.x86_64 Name : sysstat Version : 12.5.4 Release : 5.el9 Architecture: x86_64 Install Date: Mon 15 May 2023 11:24:13 KST <--------- 여기 Group : Unspecified Size : 1635744 License : GPLv2+ Signature : RSA/SHA256, Wed 22 Feb 2023 04:10:17 KST, Key ID 199e2f91fd431d51 Source RPM : sysstat-12.5.4-5.el9.src.rpm Build Date : Tue 21 Feb 2023 23:10:31 KST Build Host : x86-64-01.build.eng.rdu2.redhat.com Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>; <----------- 여기 Vendor : Red Hat, Inc. URL : http://sebastien.godard.pagesperso-orange.fr/ Summary : Collection of performance monitoring tools for Linux |
Q-4) yum으로 패키지를 설치 하려하는데 명령어는 기억이 나는데 패키지 이름이 생각이 안 날 때는 어떻게 해야하나요?
- 아래와 같이 provides를 이용하여 패키지 명을 찾을수있습니다.
* provides find what package provides the given value
# yum provides sar Updating Subscription Management repositories. sysstat-12.5.4-3.el9.x86_64 : Collection of performance monitoring tools for Linux Repo : rhel-9-for-x86_64-appstream-rpms Matched from: Filename : /usr/bin/sar
sysstat-12.5.4-5.el9.x86_64 : Collection of performance monitoring tools for Linux Repo : @System Matched from: Filename : /usr/bin/sar
sysstat-12.5.4-5.el9.x86_64 : Collection of performance monitoring tools for Linux Repo : rhel-9-for-x86_64-appstream-rpms Matched from: Filename : /usr/bin/sar |
Q-5) 설치된 그룹 패키지안에 어떤 것들이 포함되어있는지 확인이 가능한가요?
=> 네 가능합니다.
먼저 아나콘다 파일을 보면 최초 설치시에 어떤것들이 설치되어있는지 확인이 가능합니다.
# cat /root/anaconda-ks.cfg ...........생략 %packages @^graphical-server-environment @debugging @legacy-unix @performance @system-tools @virtualization-hypervisor @virtualization-tools ........... 생략 |
- 아래와 같이 system-tools에 포함 되어있는것들을 확인 할수있습니다.
# yum groupinfo system-tools Updating Subscription Management repositories. Last metadata expiration check: 0:10:12 ago on Thu 26 Oct 2023 17:27:35 KST. Group: System Tools Description: This group is a collection of various tools for the system, such as the client for connecting to SMB shares and tools to monitor network traffic. Default Packages: NetworkManager-libreswan chrony cifs-utils libreswan nmap openldap-clients samba-client setserial tigervnc tmux zsh Optional Packages: PackageKit-command-not-found aide autofs bacula-client chrpath convmv createrepo_c environment-modules freerdp fuse gpm hardlink initscripts initscripts-service iotop lzop mc mrtg mtx net-snmp-utils netconsole-service oddjob oddjob-mkhomedir pmdk-convert readonly-root rear speech-dispatcher speech-dispatcher-espeak-ng sysstat wireshark |
**** 참고로 rpm 명령어를 사용하실때 --nodeps 나 --force 옵션을 사용하는건은 권고 드리지 않습니다. 의존성을 무시하기때문에
문제가 발생할수 있습니다.
추가적으로 RPM, YUM은 MAN pages 잘되어있으니 참고 부탁드립니다.
# rpm --help
# yum --help
오늘은 명령어를 알고있거나 문자 몇개만 알고있어도 패키지를 찾을수있고, 설치할수있는 방법을 알려드렸습니다.
이글을 읽으시는 분들에게 도움이 되었으면 좋겠습니다.
감사합니다.
댓글목록
등록된 댓글이 없습니다.