2024. 11. 14. 13:48ㆍLinux
이것이 리눅스다 강의 목차
4.6 RPM 사용법, YUM 사용법
4.7 YUM 고급 사용법
4.8 파일 압축과 묶기, cron 과 at
의 내용을 축약해서 담고 있습니다.
프로그램 설치를 위한 RPM [1]
RPM : redhat package manager
확장명은 *.rpm이다. ls -l로 조회시,
예 ) gedit-3.8.3-6.el7.x86_64.rpm
같은 형식으로 출력된다. 해석해보자면
gedit | 3.8.3 | 6 | el7 | x86_64 |
패키지 이름 | 버전 | 릴리즈번호 | centOS 버전 | 아키텍처 |
자주 사용되는 RPM 명령어 옵션
# 설치
rpm -Uvh package_name.rpm
U → 패키지 설치/업그레이드
v → 설치 과정의 확인
h → 설치 진행 과정을 "#" 마크로 화면에 출력
# 삭제
rpm -e package_name
이미 설치된 패키지 질의
rpm -qa package_name # 패키지가 전부 설치되었는지 확인
rpm -qf 절대경로 # 파일이 어느 패키지에 포함된 것인지 확인
rpm -qlp package_name.rpm # 패키지 파일에 어떤 파일들이 포함되어있는지 확인
rpm -qip package_name.rpm # 패키지 파일의 상세 정보
RPM의 단점
A 패키지를 설치한다고 가정할때, A패키지가 의존하고 있는 B패키지에 대한 내용은 RPM으로 해결이 어려움
즉, 의존성 문제가 발생하여 해당 문제를 해결하기 위해 YUM 등장
편리한 패키지 설치, YUM [1]
: yellowdog updater modified
→ 인터넷을 통하여 필요한 파일을 저장소에서 자동으로 모두 다운로드해서 설치함
YUM 기본 설치 방법
yum install package_name # 기본 설치 명령어
yum -y install package_name # 모든 질문에 yes로 간주하고 설치를 진행한다는 옵션
기본적인 명령어
yum localinstall rpm파일이름.rpm
# 해당 패키지에 필요한 의존성 파일을 인터넷에서 찾아서 다운 받아줌
yum check-update # 업데이트 가능한 패키지 목록 보기
yum update 패키지이름 # 해당 패키지 업데이트
yum remove 패키지이름 # 삭제
yum info 패키지이름 # 정보 확인
YUM 고급 사용법
yum groupinstall "패키지그룹이름" # 패키지 그룹 설치
yum list "패키지이름" # 패키지 리스트 확인
yum provides "파일이름" # 특정 파일이 속한 패키지 이름 확인
yum install --nogpgcheck rpm파일이름.rpm # CentOS19에서 검증되지 않은 패키지 강제 설치
yum clean all # 기존 저장소 목록 지우기
명령어는 직접 사용하며 익숙해지는게 가장 편한것같다.
YUM의 원리

RPM | YUM | |
의존성 처리 | 자동 처리 | 수동 처리 필요 |
설치 소스 | 온라인 저장소, 로컬 파일 | 로컬 RPM 파일만 |
YUM 작동 방식 설정 파일
/etc/yum.conf 파일
/etc/yum.repos.d/ 디렉터리 : 네트워크의 주소가 들어있는 파일 목록
/etc/yum.repos.d/ 디렉터리의*.repo파일 : 출시 시점의 원본 패키지만 설치됨
파일의 압축과 묶기
파일 압축
압축 파일 확장명 : xz, bz2, gz, zip, Z
xz, bz2 압축률 우수
# 파일명이 myfile이라고 칠때
# xz
xz myfile
xz -d myfile.xz #압축 풀기
# bzip2 (bunzip2도 옵션 동일)
bzip2 myfile
bzip2 -d myfile.bz2
# gzip (gunzip도 옵션 동일)
gzip myfile
gzip -d myfile.gz
파일 묶기
파일 묶기 명령어는 'tar'이며, 묶인 파일 확장명도 'tar'이다
동작 : c(묶기), z(풀기), t(경로 확인)
옵션 : f(파일), v(과정 보이기), J(tar+xz), j(tar+bzip2), Z(tar+compress), z(tar+gzip)
옵션 | 기능 |
J | tar + xz |
j | tar + bzip2 |
Z | tar + compress |
z | tar + gzip |
tar cvf my.tar etc/sysconfig/ #묶기
tar cvfJ my.tar.xz /etc/sysconfig/ /etc/sysconfig/ # 묶기 + xz 압축
tar xvf my.tar # tar 풀기
tar xvfJ my.tar.xz /etc/sysconfig/ # xz 압축 해제 + tar 풀기
파일 위치 검색
find 경로 옵션 조건 action : 기본 파일 찾기
옵션 : -name, -user(소유자), -newer(전, 후), -perm(허가권), -size(크기)
action : -print(디폴트), -exec(외부명령 실행)
find /etc -name "*.conf"
find /bin -size +10K -size -100k
find /home -name "*.swp" -exec rm {} \;
which 실팽파일이름 : PATH에 설정된 디렉터리만 검색
whereis 실행파일이름 : 실행 파일, 소스. man페이지 파일까지 검색
locate 파일이름 : 파일 목록 데이터베이스에서 검색
시스템 설정
날짜 및 설정 (system-config-date)
: system-config로 시작하는 명령어들은 거의 GUI 기반이다.
네트워크 설정 (nmtui)
방화벽 설정 (firewall-config)
서비스 설정 (ntsysv)
CRON과 AT
cron
주기적으로 반복되는 일을 자동적으로 실행될 수 있도록 설정
관련된 데몬(서비스)은 "croud", 관련 파일은 "/etc/crontab"

/etc/crontab 예시
01 * * * * root run-parts /etc/cron.hourly
01 | * | * | * | * | root | run-parts | /etc/cron.hourly |
매시간 1분 | 매시간 | 매일 | 매월 | 매요일(0-일요일) | root 사용자 권한으로 | 디렉터리 내 실행 가능한 스크립트를 실행 |
실행할 스크립트가 있는 디렉터리 |
at
일회성 작업을 예약
at 3:00an tomorrow # 내일 새벽 3시
at 11:00am January 30 # 1/30 오후 11시
at now + 1 hours
at> 프롬포트에 접근하게 되면 수행할 명령어 작성
완료되면 ctrl+D를 통해 빠져나온다.
at -l # 예약 리스트 확인
atrm <작업번호> # 예약 취소
'Linux' 카테고리의 다른 글
Linux manual - man 사용법 (0) | 2024.11.22 |
---|---|
리눅스 가장 위에 1줄이 안보일 때 대처법 (0) | 2024.11.18 |
[이것이 리눅스다 4-4] 네트워크 개념, 프로세스, 소켓, GRUB (0) | 2024.11.14 |
[이것이 리눅스다 4-2] 리눅스 기본 명령어, 소유권 허가권 (1) | 2024.11.13 |
[이것이 리눅스다 4-1] 시작, 종료 및 vi 편집기 (0) | 2024.11.13 |