DNF 기본 사용법
- 기본 설치 방법 : dnf -y install 패키지이름
- rpm 파일 설치 방법 : dnf install rpm파일이름.rpm
- 업데이트 가능 목록 보기 : dnf check-update
- 업데이트 : dnf update 패키지 이름
- 삭제 : dnf remove 패키지 이름
- 정보확인 : dnf info 패키지 이름
먼저 dnf info 로 패키지 정보 확인
dnf install로 설치
dnf remove로 삭제
DNF 고급 사용법
- 패키지 그룹 설치 : dnf groupinstall "패키지그룹이름"
- 패키지 리스트 확인 : dnf list 패키지이름
- 특정 파일이 속한 패키지 이름 확인 : dnf provides 파일이름
- GPG 키 검사 생략 : dnf install --nogpgcheck rpm파일이름.rpm
- 기존 저장소 목록 지우기 : dnf clean all
리눅스에서 많이 볼 수 있는 압축 파일의 확장명은 xz, bz2, gz, zip, Z 등이 있다. 이 중에서 최근에는 xz나 bz2를 더 많이 사용하는 추세이다. 이 파일들을 관리하는 명령어는 다음과 같다.
xz : 확장명 xz로 압축하거나 풀어줌. 비교적 최신 압축 명령이며 압축률이 뛰어남
- xz 파일이름 -> '파일이름'을 압축 파일인 '파일이름.xz'로 만들며 기존 파일은 삭제
- xz -d 파일이름.xz -> '파일이름.xz' 압축 파일을 일반 파일인 '파일이름'으로 만듬
- xz -l 파일이름.xz -> '파일이름.xz' 압축 파일에 포함된 파일 목록과 압축률 등을 출력
- xz -k 파일이름 -> 압축 후에 기존 파일을 삭제하지 않고 그대로 둠
bzip2 : 확장명 bz2로 압축하거나 풀어줌
- bzip2 파일이름 -> '파일이름'을 압축 파일인 '파일이름.bz2'로 만듦
- bzip2 -d 파일이름.bz2 -> '파일이름.bz2' 압축 파일을 일반 파일인 '파일이름'으로 만듦
리눅스에서는 '파일 압축'과 '파일 묶기'를 원칙적으로 별개의 프로그램으로 실행하도록 되어 있다. 물론 사용자 편의를 위해 한 번에 할 수 있는 옵션도 제공한다. 파일묶기 명령어는 tar이며 묶인 파일의 확장명도 tar이다.
tar : 확장명 tar로 묶음 파일을 만들거나 묶음을 풀어줌
- c -> 새로운 묶음을 만듦
- x -> 묶인 파일을 풀어줌
- t -> 묶음을 풀기 전에 묶인 경로를 보여줌
- C -> 묶음을 풀 때 지정된 디렉터리에 압축을 풀어줌. 지정하지 않으면 묶을 때와 동일한 디렉터리에 묶음이 풀림
- f(필수) -> 묶음 파일 이름 지정
- v -> visual의 의미로 파일이 묶이거나 풀리는 과정을 보여줌
- J -> tar + xz
- 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 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 이다.
find
옵션 : -name, -user(소유자), -newer(전, 후), -perm(허가권), -size(크기)
action : -print(기본값), -exec (외부 명령 실행)
기본 사용 예
# find /etc -name "*.conf" -> /etc 디렉터리 하위에 확장명이 *.conf인 파일 검색
# find /home -user centos -> /home 디렉터리 하위에 소유자가 centos인 파일 검색
# find ~ -perm 644 -> 현재 사용자의 홈디렉터리 하위에 허가권이 644인 파일 검색
# find /usr/bin -size +10k -size -100k
- /usr/bin 디렉터리 하위에 파일 크기가 10KB~100KB인 파일 검색
cron : 주기적으로 반복되는 일을 자동으로 실행할 수 있도록 시스템 작업을 예약해놓는 것을 cron이라 부른다. cron과 관련된 데몬은 crond이고, 관련 파일은 /etc/crontab 이다.
간단한 예 : 00 05 1 * * root cp -r /home /backup
네 번째인 월 부분에 입력한 *은 매월을 의미한다. 즉 네 번째 부터 읽으면 매월 1일 새벽 5시 00분에 실행한다는 의미이다.
at : cron은 주기적으로 반복되는 작업을 예약하는 것이지만, at 명령어는 일회성 작업을 예약하는 것이다. 즉 예약해두면 한 번만 실행되고 소멸된다.
명령어 사용 법은 다음과 같다
at 3:00am tomorrow -> 내일 03시
at 11:00pm January -> 1월 30일 오후 11시
at now + 1 hours -> 1시간 후
확인 : at -l
취소 : atrm 작업번호
먼저 시간 설정을 위해서
dnf install wget
설치 후
wget http://download.hanbit.co.kr/centos/8/openrdate-1.2-14.fc30.x86_64.rpm
다운로드 후
dnf -y install openrdate*.rpm 명령으로 시간 설정 관련 패키지를 설치한다.
systemctl status crond 명령으로 crond가 동작하는지 확인한다.
nano /etc/crontab 명령을 입력해
맨 아래줄 01 ~ monthly를 추가한다.
/etc/cron.monthly 디렉터리에 스크립트 파일을 만들고 실행 권한을 부여한다.
nano myBackup.sh 를 입력하여 파일을 열고 다음과 같이 입력한다.
백업용 디렉터리 생성 후 crond 데몬을 재시작한다.
이제 매달 15일마다 /home 디렉터리를 백업한다. 그 결과를 기다릴 순 없으므로 날짜를 강제로 바꿔본다.
2022년 1월 15일 03시로 변경하고 약 1분간 기다린다.
이렇게 파일이 생성된 것을 확인할 수 있다.