Fedora Linux란?

Lucas.Choi·2024년 9월 16일

마이크로서비스

목록 보기
3/4

개요

페도라의 주요 특징

  1. 최신의 기술이 빠르게 도입된다.
    RPM기반의 새로운 패키지나 기능들이 가장 먼저 패치되는 리눅스 배포판이다. 개발자 혹은 IT 엔지니어가 최신 소프트웨어나 기술을 테스트하고 사용해 보기에 좋다.
  2. 레드햇 기반의 리눅스이다.
    대개 기업에서 많이 사용하는 CentOS와 마찬가지로, 레드햇 시스템에 기반한 리눅스 배포판이다.
  3. SELinux의 사용
    Security-Enhanced Linux 시스템이 기본적으로 적용되어 리눅스 시스템의 보안을 강화하는데 도움을 준다.
  4. 커뮤니티 중심의 개발
    페도라는 레드햇의 후원 하에 커뮤니티 주도로 개발되기 때문에 커뮤니티 피드백과 기여가 활발한 편이다.

우분투와의 차이점

  1. 패키지 관리의 차이
    우분투에서는 apt/apt-get/apt-cache 명령어를 사용했다면, 페도라와 같은 레드햇 기반 시스템에서는 dnf/yum/rpm을 사용한다. 각각 패키지 설치 및 관리를 위한 명령어 사용법이 다르며, 사용하는 패키지의 형식도 다르다.
  2. 사용자 기반
    우분투 리눅스는 일반 사용자와 서버 사용자들 사이에서 많이 사용되는데, 특히 데스크톱 사용자에게 더 친화적인 환경을 제공한다. 반면 페도라는 엔터프라이즈 환경이나, 개발자들 사이에서 많이 사용된다.

페도라에서 사용되는 명령어

패키지 관련 명령어는 dnf(Fedora 혹은 RHEL/CentOS에서 사용 - yum의 개선된 버전)과 yum 중 필요한 것을 사용하면 된다.

추가로 dnf 또는 yum의 사용이 불가할 때, 저수준으로 패키지를 다루기 위한 명령어인 rpm을 사용할 수도 있다.

  1. 패키지 검색 및 조회
# 1. 패키지 검색
dnf search <패키지명>
yum search <패키지명>

# 2. 패키지 정보 조회
dnf info <패키지명>
yum info <패키지명>

# 이미 설치된 패키지의 정보를 조회할 경우
sudo rpm -qi <패키지명>

# 패키지 검증
sudo rpm -V <패키지명>

# 설치된 패키지의 목록 보기
sudo rpm -qa
  1. 모든 패키지 업데이트
    redhat 계열에서는 upgrade 계통의 명령어를 사용하지 않고, update 수행 시 업그레이드 프로세스를 함께 수행한다.
sudo dnf update
sudo yum update
  1. 캐시 삭제
sudo dnf clean all
sudo yum clean all
  1. 패키지 삭제
sudo dnf remove <패키지명>
sudo yum remove <패키지명>
sudo rpm -e <패키지명>
  1. 소프트웨어 설치
# 직접 패키지명을 명시하거나, *.rpm 파일에 대한 '상대경로'를 명시해도 된다.
sudo dnf install <패키지명>
sudo yum install <패키지명>

sudo rpm -ivh <패키지파일명>.rpm

# 소프트웨어 그룹 설치
sudo dnf groupinstall "<그룹명>"
sudo yum groupinstall "<그룹명>"

방화벽

우분투에서는 기본적으로 방화벽 소프트웨어를 ufw를 사용했지만, 페도라에서는 firewalld라는 패키지를 사용한다.

  1. 방화벽 상태 관련
# 상태 체크
sudo systemctl status firewalld

# 방화벽 실행
sudo systemctl start firewalld

# 방화벽 중지
sudo systemctl stop firewalld

# 방화벽 자동 시작 설정
sudo systemctl enable firewalld

# 방화벽 자동 시작 설정 해제
sudo systemctl disable firewalld
  1. Zone 관련 명령어
    우분투와 달리 페도라의 방화벽 시스템은 네트워크 인터페이스를 Zone이라는 개념으로 구분하여, 각각의 Zone서로 다른 방화벽 규칙을 가질 수 있고, 신뢰 수준에 따라 설정을 다르게 할 수 있다.
    예를 들어, public, home, trusted와 같은 영역이 제공되며, 각 영역마다 허용되는 트래픽의 수준이 다르다.
# 현재 활성화된 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
  1. 서비스 추가 및 제거
  • 런타임 레벨: 현재 로그인된 세션에만 적용되며, 재부팅 시 해제됨
  • 영구 레벨: 영구적으로 적용(명령어 마지막에 '--permanent'를 추가해 주면 됨)
# 현재 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
  1. 포트 추가 및 제거
# 영구 레벨에서만 설명

# 포트 열기
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
  1. 변경된 방화벽 규칙 적용 / 방화벽 설정 다시 로드
sudo firewall-cmd --reload
  1. 현재 방화벽 설정 확인
sudo firewall-cmd --list-all
  1. 특정 ip 차단 및 허용
# 특정 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
  1. ICMP 차단/허용
    ping 명령어 등을 포함한 네트워크 테스트를 위해 많이 사용되는 ICMP 프로토콜에 관한 설정을 제어할 수 있음.
# ICMP 차단
sudo firewall-cmd --zone=<zone> --add-icmp-block=echo-request

# ICMP 허용
sudo firewall-cmd --zone=<zone> --remove-icmp-block=echo-request

0개의 댓글