패키지 관련 명령어는 dnf(Fedora 혹은 RHEL/CentOS에서 사용 - yum의 개선된 버전)과 yum 중 필요한 것을 사용하면 된다.
추가로 dnf 또는 yum의 사용이 불가할 때, 저수준으로 패키지를 다루기 위한 명령어인 rpm을 사용할 수도 있다.
# 1. 패키지 검색
dnf search <패키지명>
yum search <패키지명>
# 2. 패키지 정보 조회
dnf info <패키지명>
yum info <패키지명>
# 이미 설치된 패키지의 정보를 조회할 경우
sudo rpm -qi <패키지명>
# 패키지 검증
sudo rpm -V <패키지명>
# 설치된 패키지의 목록 보기
sudo rpm -qa
sudo dnf update
sudo yum update
sudo dnf clean all
sudo yum clean all
sudo dnf remove <패키지명>
sudo yum remove <패키지명>
sudo rpm -e <패키지명>
# 직접 패키지명을 명시하거나, *.rpm 파일에 대한 '상대경로'를 명시해도 된다.
sudo dnf install <패키지명>
sudo yum install <패키지명>
sudo rpm -ivh <패키지파일명>.rpm
# 소프트웨어 그룹 설치
sudo dnf groupinstall "<그룹명>"
sudo yum groupinstall "<그룹명>"
우분투에서는 기본적으로 방화벽 소프트웨어를 ufw를 사용했지만, 페도라에서는 firewalld라는 패키지를 사용한다.
# 상태 체크
sudo systemctl status firewalld
# 방화벽 실행
sudo systemctl start firewalld
# 방화벽 중지
sudo systemctl stop firewalld
# 방화벽 자동 시작 설정
sudo systemctl enable firewalld
# 방화벽 자동 시작 설정 해제
sudo systemctl disable firewalld
# 현재 활성화된 Zone 확인
sudo firewall-cmd --get-active-zones
# 기본 Zone 확인
sudo firewall-cmd --get-default-zone
# 기본 Zone 설정
sudo firewall-cmd --set-default-zone=<zone이름>
# sudo firewall-cmd --set-default-zone=home
# 특정 네트워크 인터페이스를 Zone에 추가
sudo firewall-cmd --zone=<zone이름> --change-interface=<인터페이스명>
# sudo firewall-cmd --zone=public --change-interface=eth0
# 현재 Zone에 서비스 추가(런타임 레벨)
sudo firewall-cmd --zone=<zone> --add-service=<service>
# sudo firewall-cmd --zone=public --add-service=http
# 현재 Zone에 서비스 추가(영구 레벨)
sudo firewall-cmd --zone=<zone> --add-service=<service> --permanent
# sudo firewall-cmd --zone=public --add-service=ssh --permanent
# 서비스 삭제(영구 레벨)
sudo firewall-cmd --zone=<zone> --remove-service=<service> --permanent
# sudo firewall-cmd --zone=public --remove-service=http --permanent
# 영구 레벨에서만 설명
# 포트 열기
sudo firewall-cmd --zone=<zone> --add-port=<포트번호>/<프로토콜> --permanent
# sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 포트 닫기
sudo firewall-cmd --zone=<zone> --remove-port=<포트번호>/<프로토콜> --permanent
# sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
# 특정 ip 차단
sudo firewall-cmd --zone=<zone> --add-rich-rule='rule family="ipv4" source address="<ip주소>" reject' --permanent
# sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.10" reject' --permanent
# 특정 ip 허용(화이트리스트 추가)
sudo firewall-cmd --zone=<zone> --add-rich-rule='rule family="ipv4" source address"<ip주소>" accept' --permanent
# ICMP 차단
sudo firewall-cmd --zone=<zone> --add-icmp-block=echo-request
# ICMP 허용
sudo firewall-cmd --zone=<zone> --remove-icmp-block=echo-request