SeSac) DevOps/RHCSA 대비 - 실습문제

1-10. 소프트웨어 패키지 실습

tierr 2026. 1. 13. 16:38

RPM 관련 패키지 정보 확인 명령어

  • rpm -q (쿼리)
    • a : 시스템에 설치되어 있는 모든 패키지
    • i : 패키지에 대한 정보
    • c : 패키지의 설정파일들 보여줌
    • d : 패키지의 문서(document)를 보여줌
    • l : 패키지의 모든 파일 보여줌
    • f : 파일이나 디렉토리가 어떠한 패키지로 인해서 파생되었는지 알려줌.
  • RPM 관련 패키지 설치 및 업데이트
    • rpm -Uvh 패키지 파일명
  • RPM 관련 패키지 삭제
    • rpm -e 패키지명
  • YUM(DNF) 서브 명령어
    • install 패키지명 : 패키지 설치
    • remove 패키지명 : 패키지 삭제
    • update 패키지명 : 패키지 업데이트
    • info 패키지명 : 패키지 정보확인
    • list : repository 의 패키지 리스트 출력
    • provies file/dir : 해당 파일이나 디렉토리가 어떠한 패키지로 인해서 파생되었는지 알려줌( = rpm -qf 와 동일한 작용)
    • repolist all : repository 점검
    • groups list : 그룹 패키지 리스트 출력
    • groups install 그룹 패키지명 : 그룹 패키지 설치
    • groups remove 그룹 패키지명 : 그룹 패키지 삭제
    • groups update 그룹 패키지명 : 그룹 패키지 업데이트
    • groups info 그룹 패키지명 : 그룹 패키지 정보
    • localinstall 패키지파일명 : 패키지파일을 yum으로 설치

.repo 파일 생성 실습

1. repository cache 값 재구성 및 오류가 있는지 확인
2. test.repo라는 파일명으로 repo파일 생성
3. repository cache  값 재구성 및 오류가 있는지 확인
4. repo 활성화 상태 확인
5. repo 중에서 NET_AppStream repo를 비활성화 시키시오.
6. repo 활성화 상태 확인
7. 저장소에 telnet에 대한 패키지가 어떠한 것이 있는지 확인해보시오.
8. telnet 관련 패키지 설치 및 telnet.socket (service 아님) 시작 및 활성화
9. telnet 패키지의 설정 파일 및 문서(document) 확인
10. rsyslog.conf 파일이 어떠한 패키지로 인해서 생성된 것인지 확인(2가지 방법)
11. 위에 패키지의 정보를 확인 (2가지 방법)
12. 그룹 패키지 중에서 패키지명으로 security(영문판)/보안(한글판) 가 들어간 패키지는?
13. 해당 그룹 패키지는 어떤 패키지들로 구성이 되어 있는가?

 

# repository cache  값 재구성 및 오류가 있는지 확인
dnf makecache

# repo 활성화 상태 확인
dnf repolist all

# repo 중에서 NET_AppStream repo를 비활성화 시키시오.
vim test.repo # NET_AppStream 의 enabled=0 설정

# repo 활성화 상태 확인
dnf repolist all

# 저장소에 telnet에 대한 패키지가 어떠한 것이 있는지 확인해보시오.
dnf list | grep telnet

# telnet 관련 패키지 설치 및 telnet.socket (service 아님) 시작 및 활성화
vim test.repo # NET_AppStream 의 enabled=1 설정
dnf install telnet*
systemctl enable telnet.socket --now

# telnet 패키지의 설정 파일 및 문서(document) 확인
rpm -qd telnet
rpm -qc telnet

# rsyslog.conf 파일이 어떠한 패키지로 인해서 생성된 것인지 확인(2가지 방법)
rpm -qf /etc/rsyslog.conf
dnf provides /etc/rsyslog.conf

# 위에 패키지의 정보를 확인 (2가지 방법)
rpm -qi rsyslog
dnf info rsyslog

# 그룹 패키지 중에서 패키지명으로 security(영문판)/보안(한글판) 가 들어간 패키지는?
dnf groups list | grep -i security

# 해당 그룹 패키지는 어떤 패키지들로 구성이 되어 있는가?
dnf groups info "Security Tools"

 

 

 

 참고) repo 설정 파일 양식

[ID명]
name=repo명
baseurl=http://주소
file://경로
enabled=1/0 # 1이면 활성화, 0이면 비활성화)
gpgcheck=1/0 # 1이면 라이센스 키가 있을 경우, 0이면 라이센크 키가 없는 경우)
gpgkey=file//경로 # gpgcheck=1 일 경우에만 작성)
metadata_expire=6h
# -> 메타데이터가 만기되는 시간(초단위)를 지정
# 현재 다운로드된 메타데이터의 오래된 시간이 이 시간보다 짧다면 yum은 repository에서 메타데이터를 업데이트 하지 않을 것
# 만약 yum이 업데이트정보를 다운로드 하지않는 일이 자주 발생한다면 이 지시자의 값을 낮추어야 함

 

# repository cache 값 재구성 및 오류가 있는지 확인
dnf makecache

# 처음 설정으로 스냅샷
# Repository 설정
cd /etc/yum.repos.d/
mkdir backup
mv rocky* backup/

vim test.repo

 

< test.repo 내용 >

[NET_BaseOs]
name=network-baseos
baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

[NET_AppStream]
name=network-appstream
baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
# repository cache  값 재구성 및 오류가 있는지 확인
dnf makecache

# repo 활성화 상태 확인
dnf repolist all

# repo 중에서 NET_AppStream repo를 비활성화 시키시오.
vim test.repo # NET_AppStream 의 enabled=0 설정

# repo 활성화 상태 확인
dnf repolist all

# 저장소에 telnet에 대한 패키지가 어떠한 것이 있는지 확인해보시오.
dnf list | grep telnet

# telnet 관련 패키지 설치 및 telnet.socket (service 아님) 시작 및 활성화
vim test.repo # NET_AppStream 의 enabled=1 설정
dnf install telnet*
systemctl enable telnet.socket --now

# telnet 패키지의 설정 파일 및 문서(document) 확인
rpm -qd telnet
rpm -qc telnet

# rsyslog.conf 파일이 어떠한 패키지로 인해서 생성된 것인지 확인(2가지 방법)
rpm -qf /etc/rsyslog.conf
dnf provides /etc/rsyslog.conf

# 위에 패키지의 정보를 확인 (2가지 방법)
rpm -qi rsyslog
dnf info rsyslog

# 그룹 패키지 중에서 패키지명으로 security(영문판)/보안(한글판) 가 들어간 패키지는?
dnf groups list | grep -i security

# 해당 그룹 패키지는 어떤 패키지들로 구성이 되어 있는가?
dnf groups info "Security Tools"