패키지 관리하기
dnf 사용법
기본 사용법
dnf 는 yum을 대체하는 패키지 매니저로 성능과 플러그인, 의존성 검사등 에서 해결 못한 비효율적인 부분을 해결한 1:1 대체품입니다.
설치
dnf install myPackage
삭제
$ dnf remove myPackage
검색 및 쿼리
패키지 검색
dnf search myPackage
패키지 리스트
dnf list all
$ dnf list xorg\*
Last metadata expiration check: 2:46:06 ago on Tue 06 Aug 2024 01:17:36 PM KST.
Installed Packages
xorg-x11-drv-evdev.x86_64 2.10.6-12.el9 @AppStream
xorg-x11-drv-fbdev.x86_64 0.5.0-11.el9 @AppStream
xorg-x11-drv-libinput.x86_64 1.0.1-3.el9 @AppStream
xorg-x11-drv-vmware.x86_64 13.2.1-18.el9 @AppStream
xorg-x11-drv-wacom.x86_64 1.0.0-1.el9 @AppStream
xorg-x11-drv-wacom-serial-support.x86_64 1.0.0-1.el9 @AppStream
xorg-x11-fonts-ISO8859-1-100dpi.noarch 7.5-33.el9 @appstream
xorg-x11-fonts-Type1.noarch 7.5-33.el9 @appstream
xorg-x11-server-Xorg.x86_64 1.20.11-19.el9 @appstream
xorg-x11-server-Xwayland.x86_64 22.1.9-2.el9 @appstream
xorg-x11-server-common.x86_64 1.20.11-19.el9 @appstream
xorg-x11-server-utils.x86_64 7.7-44.el9 @AppStream
xorg-x11-utils.x86_64 7.5-40.el9 @AppStream
.........
시스템에 설치된 패키지 리스트를 검색하는 방법
$ dnf list installed kernel*
Installed Packages
kernel.x86_64 5.14.0-162.6.1.el9_1 @baseos
kernel.x86_64 5.14.0-284.25.1.el9_2 @updates
kernel.x86_64 5.14.0-362.8.1.el9_3 @baseos
kernel-abi-stablelists.noarch 5.14.0-362.8.1.el9_3 @baseos
kernel-core.x86_64 5.14.0-162.6.1.el9_1 @baseos
kernel-core.x86_64 5.14.0-284.25.1.el9_2 @updates
kernel-core.x86_64 5.14.0-362.8.1.el9_3 @baseos
kernel-devel.x86_64 5.14.0-362.8.1.el9_3 @appstream
kernel-headers.x86_64 5.14.0-362.8.1.el9_3 @appstream
kernel-modules.x86_64 5.14.0-162.6.1.el9_1 @baseos
kernel-modules.x86_64 5.14.0-284.25.1.el9_2 @updates
kernel-modules.x86_64 5.14.0-362.8.1.el9_3 @baseos
kernel-modules-core.x86_64 5.14.0-284.25.1.el9_2 @updates
kernel-modules-core.x86_64 5.14.0-362.8.1.el9_3 @baseos
kernel-rpm-macros.noarch 185-13.el9 @appstream
kernel-srpm-macros.noarch 1.0-13.el9 @appstream
kernel-tools.x86_64 5.14.0-362.8.1.el9_3 @baseos
kernel-tools-libs.x86_64 5.14.0-362.8.1.el9_3 @baseos
$ dnf list available kernel*
그룹 관리
$ dnf grouplist
업데이트 확인
$ dnf check-update
rpm 사용법
기본 기능
rpm query
$ rpm -qi myPackage
$ rpm -qp myPackage
$ rpm -qf myPackage
$ rpm -q --queryformat "%{name}\t%{version}\n"
validation
rpm 기능 중 rpm db 내용을 기준으로 시스템의 파일을 검사하는 기능이 있습니다. 특정 패키지 명을 지정하여 해당 패키지가 원본 rpm 설치될 당시와 변경된 파일을 간단히 검사 할 수도 있습니다.
아래와 같이 -Va 옵션을 주면 시스템 전체 패키지중 변경된 파일 리스트를 가져올 수 있습니다.
$ rpm -Va
.M....... g /var/lib/colord/mapping.db
.M....... g /var/lib/colord/storage.db
.M....... /var/lib/fprint
Unsatisfied dependencies for rhc-1:0.2.1-5.el9.x86_64:
insights-client is needed by (installed) rhc-1:0.2.1-5.el9.x86_64
missing /etc/pki/rpm-gpg/RPM-GPG-KEY-Nacel-9
missing /etc/pki/rpm-gpg/RPM-GPG-KEY-Nacel-9-Testing
missing c /etc/yum.repos.d/nacel.repo
.......T. /boot/efi/EFI/BOOT/BOOTX64.EFI
.......T. /boot/efi/EFI/BOOT/fbx64.efi
.......T. /boot/efi/EFI/redhat/BOOTX64.CSV
.......T. /boot/efi/EFI/redhat/mmx64.efi
.......T. /boot/efi/EFI/redhat/shim.efi
.......T. /boot/efi/EFI/redhat/shimx64-redhat.efi
.......T. /boot/efi/EFI/redhat/shimx64.efi
S.5....T. c /var/lib/unbound/root.key
.M....G.. /var/log/gdm
S.5....T. c /etc/chrony.conf
.......T. /opt/rh/gcc-toolset-12/root/usr/bin/ld.bfd
....L.... /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/plugin/annobin.so
....L.... /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/plugin/annobin.so.0.0.0
S.5....T. c /etc/texlive/web2c/updmap.cfg
.M....... g /usr/share/texlive/texmf-dist/web2c/fmtutil.cnf
S.5....T. /usr/share/locale/ko/LC_MESSAGES/rpm.mo
....L.... c /etc/pam.d/fingerprint-auth
....L.... c /etc/pam.d/password-auth
....L.... c /etc/pam.d/postlogin
....L.... c /etc/pam.d/smartcard-auth
....L.... c /etc/pam.d/system-auth
.M....... g /run/libvirt/common
.......T. c /etc/selinux/targeted/contexts/customizable_types
S.5....T. c /etc/selinux/targeted/contexts/files/file_contexts.subs
.M....... g /run/libvirt/interface
.M....... g /run/libvirt/nodedev
.M....... g /run/libvirt/secrets
.....UG.. g /var/run/avahi-daemon
.M...UG.. g /run/libvirt/qemu/dbus
.....UG.. g /run/libvirt/qemu/passt
.....UG.. g /run/libvirt/qemu/slirp
S.5....T. c /etc/cups/cups-browsed.conf
S.5....T. c /etc/tlog/tlog-rec-session.conf
S.5....T. c /var/lib/nfs/etab
.....UG.. g /var/lib/nfs/statd/state
.M....... g /etc/cni/net.d
.M....... g /var/lib/plymouth/boot-duration
S.5....T. c /etc/xrdp/xrdp.ini
.M....... g /var/log/xrdp-sesman.log
.M....... g /var/log/xrdp.log
S.5....T. c /etc/dhcp/dhcpd.conf
각 필드 항목이 뜻하는 바는 아래와 같습니다.
심볼 | 설명 |
---|---|
S | 파일 사이즈 변경 |
M | 퍼미션등 모드 변경된경 |
5 | md5 체크섬 |
D | 디바이스 파일의 major/minor 넘버가 다른 경우 |
L | readLink 패스 미스매치 |
U | 파일 owner가 변경된경 |
G | 파일 그룹이 변경된경우 |
t | 파일의 시간이 다른경우 |
c | config 파일 |
아래의 경우는 파일이 사라졌다는 뜻이며
missing /etc/pki/rpm-gpg/RPM-GPG-KEY-Nacel-9
파일사이즈, 파일 체크썸, 시간 이 변경되었으며, config 파일이라는 뜻입니다.
S.5....T. c /etc/tlog/tlog-rec-session.conf
다만 rpm 으로 설치된 파일이 아닌 경우 검사 대상이 아니고, 시스템의 rpmdb
파일 내용이 변조 되었을 경우 무결성 보장이 되지 않습니다.
보안 목적으로 파일 무결성을 보장 받으려면 다른 솔루션을 사용 하시는 것을 추천 드립니다.