- RHEL 계열 리눅스에서 패키지를 설치할 때 가장 많이 사용되는 것은 RPM과 DNF(또는 YUM)다.
RPM
- 소프트웨어를 설치, 삭제, 업그레이드 및 관리하는 패키지 표준 포맷이자 도구
- 확장자명은 *.rpm이다.
- rpm 파일의 형식은 일반적으로 다음과 같다.
[패키지이름-버전-릴리스번호.Rocky 리눅스 버전.아키텍처.rpm]
예)
| 항목 | 설명 | |
| 패키지 이름 | gzip | 패키지(프로그램)의 이름이다. |
| 버전 | 1.10 | 대체로 2자리 또는 3자리 수로 구성된다. 주 버전, 부 버전, 패치 버전 순이다. |
| 릴리즈 번호 | 9 | 문제점을 개선할 때마다 붙는 번호이다. |
| Rocky Linux 버전 | el9_9 | Redhat Enterprise Linux 9를 의미 |
| 아키텍처 | x86_64 | x86 계열의 64비트 CPU를 의미한다. 이 파일을 설치할 수 있는 CPU를 뜻한다. |
rpm 명령 옵션
- 설치
- rpm -Uvh 패키지파일이름.rpm
- U (대문자) : 패키지가 설치되어 있지 않았다면 설치하고, 패키지가 설치되어 있다면 업데이트한다.
i 옵션을 사용하면 패키지가 설치되어 있을 때 오류가 발생하므로 U 옵션 사용을 권장한다. - v : 설치 과정을 확인한다.
- h : 설치 진행 과정을 # 기호를 붙여 화면에 출력한다.
- U (대문자) : 패키지가 설치되어 있지 않았다면 설치하고, 패키지가 설치되어 있다면 업데이트한다.
- rpm -Uvh 패키지파일이름.rpm
- 삭제
- rpm -e 패키지이름
- e : erase(지움)의 약자
- rpm -e 패키지이름
- 이미 설치된 패키지 조회
-
명령어 설명 rpm -qa 패키지 이름 시스템에 패키지가 설치되었는지 확인 rpm -qf 파일의 절대경로 이미 설치된 파일이 어느 패키지에 포함된 것인지 확인 rpm -ql 패키지 이름 특정 패키지에 어떤 파일이 포함되었는지 확인 rpm -qi 패키지 이름 설치된 패키지의 상세 정보
-
- 아직 설치되지 않은 rpm 파일 조회
-
명령어 설명 rpm -qlp 패키지파일이름.rpm 패키지 파일에 어떤 파일이 포함되었는지 확인 rpm -qip 패키지파일이름.rpm 패키지 파일에 상세 정보
-
DNF
- DNF(Dandified Yum)
- rpm 패키지를 편리하게 설치할 수 있게 도와주는 도구
- Rocky Linux가 제공하는 rpm 파일 저장소에서 설치할 rpm 파일과 함께 의존성이 있는 다른 rpm 파일까지 모두 다운 및 설치
- 다운로드 URL은 /etc/yum.repos.d/ 디렉터리의 파일에 저장되어 있다.
DNF의 기본 사용법
- 기본 설치 방법
- dnf -y install 패키지이름
- -y 옵션을 붙이면 사용자에게 yes/no를 묻는 부분에서 무조건 yes를 입력한 것으로 간주된다.
- dnf -y install 패키지이름
- rpm 파일 설치 방법
- dnf install rpm파일이름.rpm
- 파일을 인터넷에서 자동으로 다운로드해 설치를 한다.
- dnf install rpm파일이름.rpm
- 업데이트 가능 목록 보기
- dnf check-update
- 시스템에 설치된 패키지 중 업데이트 가능한 패키지의 목록을 출력한다.
- 실행 전 dnf clean all 명령을 실행해 기존 임시 파일을 지우는 것이 좋다.
- dnf check-update
- 업데이트
- dnf update 패키지이름
- 아무 옵션 지정하지 않고 update를 할 경우 업데이트 가능한 모든 패키지를 업데이트 하므로 시간이 무척 오래 걸림
- dnf update 패키지이름
- 삭제
- dnf remove 패키지이름
- 설치된 패키지를 제거한다.
- dnf remove 패키지이름
- 정보 확인
- dnf info 패키지이름
- 패키지의 요약 정보를 출력한다.
- dnf info 패키지이름
DNF 고급 사용법
- 패키지 그룹 설치
- dnf groupinstall "패키기그룹이름"
- 패키지 그룹에 포함되는 패키지들을 통째로 설치할 때 사용한다.
- 패키지 그룹의 종류는 dnf grouplist 명령으로 확인할 수 있다.
- dnf groupinstall "패키기그룹이름"
- 패키지 리스트 확인
- dnf list 패키지이름
- Rocky Linux에서 제공하는 패키지 리스트를 표시한다.
- dnf list 패키지이름
- 특정 파일이 속한 패키지 이름 확인
- dnf provides 파일이름
- 특정 파일이 어느 패키지에 있는지 확인할 수 있다.
- dnf provides 파일이름
- GPG키 검사 생략
- dnf install --nogpgcheck rpm파일이름.rpm
- Rocky Linux에서 인증되지 않은 rpm 패키지를 설치할 때 사용한다.
- dnf install --nogpgcheck rpm파일이름.rpm
- 기존 저장소 목록 지우기
- dnf clean all
- 기존에 다운로드한 패키지 목록을 지운다.
- dnf clean all
DNF의 작동 방식과 설정 파일
- dnf 명령과 관련된 설정 파일을 /etc/yum.conf와 /etc/yum.repos.d/ 디렉터리에 있다.
- /etc/yum.repos.d/ 파일들에는 dnf 명령 실행 간 해당 패키지 파일을 검색하는 네트워크 주소가 있다.
repo파일 구성
| 구성 | 설명 |
| 대괄호([]) | 저장소 식별자(identifier) |
| # | 주석 |
| name (필수) | 저장소의 이름이다. |
| $releasever | dnf 명령을 실행하는 Rocky Linux의 버전을 의미하는 시스템 변수 |
| baseurl (필수) | Rocky Linux의 저장소 URL |
| gpgcheck (필수) | 서명 확인 진행 여부를 1(사용), 0(사용 안 함)으로 지정하는 부분 |
| mirrorlist (생략 가능) | baseurl에 설정 값(URL)이 생략되어 있으면 이 부분에 적힌 URL이 사용된다. |
| enabled (생략 가능) | 특정 저장소의 사용 여부를 1(사용), 0(사용 안 함)으로 지정하는 부분 |
- GPG 서명은 GnuPG(Gnu Privacy Guard)라고도 불리며 rpm 패키지가 정상적인 패키지임을 인증할 때 사용되는 암호화된 서명을 의미한다.

파일 압축과 묶기
파일 압축
- 리눅스를 사용할 때 쓰는 압축 파일의 확장명은 xz, bz2, zip, Z 등이다.
- xz
- 확장명 xz로 파일을 압축하거나 xz파일을 압축 해제한다.
- 비교적 최신 압축 명령으로 압축률이 뛰어나다.
- [사용 예]
- xz 파일이름
- '파일이름' 파일을 '파일이름.xz' 파일로 압축. (압축 대상 파일은 삭제) - xz -d 파일이름.xz(d는 Decompress의 의미)
- '파일이름.xz' 파일을 '파일이름' 파일로 압축 해제 - xz -l 파일이름.xz(l은 List의 의미)
- '파일이름.xz' 압축 파일에 포함된 파일 목록과 압축률 등을 출력 - xz -k 파일이름(k는 Keep의 의미)
- 압축 후 기존 파일을 삭제하지 않음
- xz 파일이름
- bzip2
- 확장명 bz2로 파일을 압축하거나 bz2 파일을 압축 해제한다.
- [사용 예]
- bzip2 파일이름
- '파일이름' 파일을 '파일이름.bz2' 파일로 압축 - bzip2 -d 파일이름.bz2
- '파일이름.bz2' 파일을 '파일이름' 파일로 압축 해제
- bzip2 파일이름
- bunzip2
- bz2 압축 파일을 푼다.
- bzip2 -d 와 동일한 명령이다.
- gzip
- 확장명 gz로 파일을 압축하거나 gz파일을 압축 해제한다.
- [사용 예]
- gzip 파일이름
- gzip -d 파일이름.gz
- gunzip
- gz 파일을 압축 해제한다.
- gzip -d 와 동일한 명령이다.
- zip
- Windows와 호환되는 확장명 zip으로 압축한다.
- [사용 예]
- zip 생성할파일이름.zip 압축할 파일이름
- unzip
- zip 파일을 압축 해제한다.
파일 묶기
- 윈도우와 달리 리눅스/유닉스에서는 원칙적으로 '파일 압축'과 '파일 묶기'를 별개의 프로그램으로 처리해야 한다.
- 파일 묶기 명령어는 tar이다.
- 확장명 tar로 파일을 묶거나 tar 묶음 파일을 푼다.
[동작]
| 명령어 | 설명 |
| c (소문자) | 새로운 묶음 파일 생성 |
| x | 묶음 파일을 품 |
| t | 묶음 파일 해제 전에 묶인 경로를 표시 |
| C (대문자) | 지정된 디렉터리에 묶음 파일을 품. 지정하지 않으면 묶을 때와 동일한 디렉터리에 해제 |
[옵션]
| 명령어 | 설명 |
| f (필수) | 묶음 파일의 이름을 지정. 원래 tar는 테이프(tape) 장치 백업이 기본(생략하면 테이프로 보냄) |
| v | 파일이 묶이거나 풀리는 과정을 표시 (생략 가능). visual의 약자 |
| J (대문자) | tar + xz |
| z | tar + gzip |
| j (소문자) | tar + bzip2 |
[사용 예]
| 명령어 | 설명 |
| tar cvf my.tar /etc/sysconfig/ | 묶기 |
| tar cvfJ my.tar.xz /etc/sysconfig/ | 묶기 + xz 압축 |
| tar cvfz my.tar.gz /etc/sysconfig/ |
묶기 + gzip 압축 |
| tar cvfj my.tar.bz2 /etc/sysconfig/ | 묶기 + bzip2 압축 |
| tar tvf my.tar | 파일 확인 |
| tar xvf my.tar |
tar 풀기 |
| tar cxvf newdir my.tar | newdir에 tar 풀기 |
| tar xfJ my.tar.xz | xz 압축 해제 + tar 풀기 |
| tar xfz my.tar.gz | gzip 압축 해제 + tar 풀기 |
| tar xfj my.tar.bz2 | bzip2 압축 해제 + tar 풀기 |
파일 위치 검색
- find 경로옵션조건 action
- 옵션
-name, -user(소유자), -newer(전, 후), -perm(허가권), -size(크기) - action
-print(기본값), -exec(외부 명령 실행) - [기본 사용 예]
명령어 설명 find /etc -name "*.conf" /etc 디렉터리 하위의 확장명이 *.conf인 파일 검색 find /home -user rocky /home 디렉터리 하위의 소유자가 rocky인 파일 검색 find ~ -perm 644 현재 사용자 홈 디렉터리 하위의 허가권이 644인 파일 검색 find /usr/bin -size +10k -size -100k /usr/bin 디렉터리 하위의 크기가 10KB~100KB인 파일 검색 - [고급 사용 예]
명령어 설명 find ~ -size 0k -exec ls -l { } \; 현재 사용자의 홈 디렉터리 하위의 크기가 0인 파일 목록을 상세히 출력 find /home -name "*.swp" -exec rm { } \; /home 홈 디렉터리 하위의 확장명이 *.swp인 파일 삭제
- 옵션
- which 실행파일 이름
- PATH에 설정된 디렉터리만 검색한다.
- 절대 경로를 포함한 위치를 검색한다.
- whereis 실행파일이름
- 실행 파일 및 소스, man 페이지 파일까지 검색한다.
- locate 파일이름
- 파일 목록 데이터베이스에서 실행 파일을 검색한다.
- updatedb 명령을 1회 실행해야 사용할 수 있다.
방화벽 설정
- firewall-config 명령으로 실행.
- 주로 외부 서비스하기 위해 포트를 열 때 사용하는 명령이다.

서비스 설정
- 서비스(데몬)을 설정하려면 ntsysv 명령을 실행한다.
- 서비스(데몬)의 시작, 중지, 재시작 및 사용 여부를 설정할 때 사용하는 명령이다.

시스템 예약(cron, at)
cron
- 시스템 작업을 예약하는 소프트웨어
- cron과 관련된 서비스(데몬)는 crond이다.
- 관련 파일은 /etc/crontab 이다.
- /etc/crontab 의 형식은 다음과 같다.
분 시 일 월 요일 사용자 실행명령
예) 00 05 1 * * root cp -r /home /backup
예) 42 4 1 * * root run-parts /etc/cron.monthly
run-parts는 디렉터리 안의 모든 명령을 실행하는 명령이다.- 분 : 0~59
- 시 : 0~23
- 일 : 1~31
- 월 : 1~12
- 요일 : 0~6 (0=일요일, 6=토요일)
- * : all
at
- 일회성 작업을 예약하는 명령이다.
- 해당 명령은 예약 후 한 번만 실행되고 소멸된다.
- [사용 예]
at 일시 -> 작업 예약- at 일시 명령을 입력 후 [Enter] 누름
명령어 설명 at 3:00am tomorrow 내일 새벽 3시 at 11:00pm January 1월 30일 오후 11시 at now + 1 hours 1시간 후 - at> 프롬프트에서 예약할 명령을 입력 후 [Enter] 누름
- 예약할 명령을 모두 입력했다면 [Ctrl] + [D]를 누름
- at 일시 명령을 입력 후 [Enter] 누름
- at -l # 작업 확인
- atrm 작업번호 # 작업 취소
'Linux > 기본' 카테고리의 다른 글
| Linux 파이프, 필터, 리디렉션 (0) | 2026.06.01 |
|---|---|
| Linux 네트워크 관련 설정과 명령어 (0) | 2026.06.01 |
| Linux 사용자 관리와 파일, 링크 (0) | 2026.05.29 |
| Linux 기본 사용법 정리 (0) | 2026.05.29 |
| Linux 기본 명령어 (0) | 2026.05.28 |