kh교육

(20250724021)DNF, YUM,OSPF

boangod 2025. 7. 24. 22:36

DNF  |  YUM

 

DNF, YUM = rpm의 고질적인 문제인 의존성을 해소하기위해서 나온 패키지 기술. rpm과 동일한 형식의 설치구조를 지원합니다.

 

DNF(Dandified YUM) 

 - YUM의 기능을 개선한 명령( 속도, 메모리 사용, 느린 의존성 확인 등의 문제를 개선 )

 - RHEL, Fedora, CentOS,AlmaLinux, Rocky Linux, Oracle Linux와 같은 RPM 기반의 Linux 배포판 8 버전 이상에서 사용되       는 패키지 매니저

  • python을 기반으로 제작되었다.
  • 대부분의 사용법이 yum과 호환된다.
  • 8 이전 버전은 지원되지 않는다. – yum을 이용한다.

YUM(Yellowdog Updater Manager; Modified)

- rpm의 고질적인 문제인 의존성을 해소하기 위한 패키지 기술로 RPM과 동일한 형식의 설치 구조를 지원합니다. 

- YUM은 인터넷 repository를 이용하는 기술, 그러므로 인터넷만 연결되어 있다면 지원되는 모든 프로그 램을 설치 관리 할 수 있

  습니다.

 

 

dnf list

• 패키지를 확인한다.

 

예)

# dnf list [installed | updates | available | 패키지명]

  • 설치 가능한 모든 패키지 목록을 보여준다.
  • installed : 설치된 패키지 목록을 보여준다
  • updates : 업데이트된(가능한) 패키지 목록을 보여준다.
  • available : 설치 가능한 패키지 목록을 보여준다.
  • 패키지명 : 패키지의 설치 여부와 update 정보를 보여준다.

• 온라인 도움말

 #  dnf [옵션] ...... --help

 

★ 유닉스는 윈도우와 다르게 2.3버전이 나왔는데 기능이 추가되면서 3.0버전이 나옴. 그런다고 다음에 4.0버전만 나오고 2.4버전은 안나오는게 아님. 2.3버전에 있는 버그를 고친 2.4버전도 나옴.

 

검색 추가 옵션

• repolist, search, repoquery, provide

 

 

# dnf repolist

    - 시스템에 등록된 repository list를 출력한다.

 

# dnf search 문자열

    - 패키지명이나 description에 문자열이 포함된 패키지들을 출력한다.

 

# dnf repoquery -l 패키지

    - 패키지에 포함된 파일의 목록을 출력한다.

 

# dnf provides 파일

    - 파일이 소속된 패키지들을 출력한다.

 

 

설치

# dnf install [-y] 패키지명

• 패키지를 repository로 부터 설치한다.( 패키지 의존성을 생각안해도 된다 )

 

업데이트

# dnf update [-y] 패키지명

• 패키지를 repository로 부터 업데이트한다.( 업데이트관련해서 신경쓸 부분이 없다 )

 

삭제

# dnf remove [패키지명]

• 지정한 패키지를 삭제한다.( 의존성때문에 프로그램이 안돌아 갈수있기때문에 한번 물어본다. )

 

전체 패키지 업데이트

# dnf update

시스템 전체를 업데이트

 

초기화 

# dnf clean all

메타정보 초기화

 

★ 다운로드했는데 버전이 같으면 업데이트가 안됬다는 뜻입니다.

 

 

Group package 확인과 설치

 

# dnf group [list | install "그룹" | remove "그룹" | info "그룹"]

 

  • list : 그룹 목록을 출력한다.
  • install "그룹" : 그룹을 설치한다.(생각보다 양이 많음.)
  • remove "그룹" : 그룹을 제거한다.
  • info "그룹" : 그룹의 정보를 검색한다.

그룹은 Environment 그룹과 패키지 그룹으로 나뉘며 CentOS7부터 지원되는 Environment 그룹은 패키지 그룹에 비해 OS 구성의 기본이 되는 대단위 그룹을 의미합니다.

 

unset LANG

ㄴ 언어 설정을 리셋하는 명령어(리부트 하면 다시 돌아옵니다. 현재 보는 터미널에서만 적용)

 

 

저장소 관리

# dnf repolist [all]

  • 저장소 목록을 검색한다.
  • all : 모든 저장소 목록을 검색한다.

 

저장소 활성화

 

# dnf config-manager --set-enabled [repo] || \*

# dnf config-manager --set-disabled [repo] || \*

  • --set-enabled [repo] : 저장소 활성화
  • --set-disabled [repo] : 저장소 비활성화
  • \*는 모든 repository를 의미한다.(비추) - 잘 사용 안함.

RHEL 계열 배포판에서 배포판 별로 개발 도구, 라이브러리, 헤더 파일 등을 제공하는 추가 저장소

 

  • RockyLinux : PowerTools
    # dnf config-manager --set-enabled powertools
    ㄴ 자주 사용하기 때문에 활성화 해두는게 좋습니다.
  • Oraclelinux : codeready-builder 
    # dnf config-manager --enabled ol8_codeready_builder
    ㄴ 유료버전이기 때문에 비용을 지불하고 사야합니다.

 

 

기타 추가 저장소

  • epel
    # dnf install -y epel-release
  • epel-next(RHEL 9 계열)
    # dnf install -y epel-next-release

  • Remi Repository(php나 MySQL 최신버전 제공) : epel에 설치되어 있어야함.
    # dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
    # dnf module enable php:remi-8.1

 

수동 추가

  • Repository 주소를 알고 있는 경우
  • /etc/yum.repos.d/ 디렉토리에 직접 .repo 파일 생성

[ol8_appstream] → 이름 다를수 있음.

name=Oracle Linux 8 Application Stream (x86_64) baseurl=https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/

gpgcheck=0 ← gpgcheck = 1 이면 gpgkey가 필요하다.

enabled=1 ← enable = 0 이면 활성화 해야 사용 가능하다.

파일 이름이 다름.

 

/etc/yum.repos.d

- 레퍼지토리 관련 파일들이 여기 추가됩니다. 안건들이는게 좋음.

 

서버를 최소 설치로 다운로드 하고 dnf로 자주 사용하는 것들은 설치를 해두는것이 좋습니다.

net-tools, bind-utils,powertools등.

 


PT

라우팅정보 = 내가 어떤 네트워크랑 연결되있는 정보

라우팅하는것 = 어느쪽으로 나갈지만 결정하는것.

ospf

설정 방법

OSPF 프로세스 활성화

Router ID 설정

인터페이스 설정 - 각 인터페이스를 등록한다.

- 패시브인터페이스 설정 → 라우터 찾지말라고 하는것.

동작 확인

 

OSPF 프로세스 활성화

• 프로세스 ID에 대한 제약은 거의 없다.

# router ospf [process-id]

 

Router ID 설정

• id는 ip형식으로 해야함.

# router-id [ip]

 

Priority

- 높은 priority를 가진 라우터가 DR, BDR로 선정됩니다.

- Priority는 interfac에 지정됩니다.

    ㄴ (config-if)# ip ospf priority 100

- Priority가 동일하면

1. 높은 loopbck IP

2. 가장 높은 IP를 가진 라우터가 DR이나 BDR로 선정된다

 

 

 

인터페이스 등록

 

# network 인터페이스IP 0.0.0.0 area #

 

패시브인터페이스 설정

 

# passive-interface [인터페이스]

 

 

동작 확인

 # show ip route ospf

 ㄴ OSPF로 교환된 라우팅 정보만을 확인

 

비용이 같으면 로드밸런싱 입니다.

 

# show ip ospf int ~

ㄴ OSPF가 작동하고 있는 interface의 정보 확인

 

# show ip ospf neighbor

ㄴ 네이버의 상태 정보 표시

 

 

실습 - ospf 설정

 

 

 

R1

en
conf t
hostname R1
no ip domain-lookup
int gig0/0
ip add 1.1.1.1 255.255.255.0
no shut
int s0/0/0
ip add 12.1.1.1 255.255.255.0
no shut
int s0/0/1
ip add 31.1.1.1 255.255.255.0
no shut
exit
router ospf 1
router-id 1.1.1.1
network 1.1.1.1 0.0.0.0 area 0
network 12.1.1.1 0.0.0.0 area 0
network 31.1.1.1 0.0.0.0 area 0
passive-interface gig0/0
exit
exit
copy running-config startup-config

 

R2

en
conf t
hostname R2
no ip domain-lookup
int gig0/0
ip add 2.2.2.1 255.255.255.0
no shut
int s0/0/0
ip add 23.1.1.2 255.255.255.0
no shut
int s0/0/1
ip add 12.1.1.2 255.255.255.0
no shut
exit
router ospf 1
router-id 2.2.2.1
network 2.2.2.1 0.0.0.0 area 0
network 23.1.1.2 0.0.0.0 area 0
network 12.1.1.2 0.0.0.0 area 0
passive-interface gig0/0
exit
exit
copy running-config startup-config

 

R3

en
conf t
hostname R3
no ip domain-lookup
int gig0/0
ip add 3.3.3.1 255.255.255.0
no shut
int s0/0/0
ip add 31.1.1.3 255.255.255.0
no shut
int s0/0/1
ip add 23.1.1.3 255.255.255.0
no shut
exit
router ospf 1
router-id 3.3.3.1
network 3.3.3.1 0.0.0.0 area 0
network 31.1.1.3 0.0.0.0 area 0
network 23.1.1.3 0.0.0.0 area 0
passive-interface gig0/0
exit
exit
copy running-config startup-config

 

 

 

DR, BDR 선정

 

① Interface의 priority가 높은 순서로 DR, BDR 선정

② 라우터 ID가 높은 순서로 DR, BDR 선정

③ DR, BDR이 선출되면 새로운 라우터 추가에도 재선정 하지 않음

④ DR, BDR 다운시에 새로 선출

 

DR, BDR 재 선정

• DR, BDR 다운(DR, BDR 재부팅)

• clear ip ospf process 명령

 

Interface priority 변경

 

R1(config)# interface gi1/0

R1(config-if)# ip ospf priority ##

 

• ## : 0~255

    - 0 : DR, BDR에 참여하지 않는다.

 

 

실습 - default route

 

 

 

R1

en
conf t
hostname R1
no ip domain-lookup
int g0/0
ip add 1.1.1.1 255.255.255.0
no shut
int gig1/0
ip add 10.1.1.1 255.255.255.0
no shut
exit
router ospf 1
router-id 1.1.1.1
network 1.1.1.1 0.0.0.0 area 0
network 10.1.1.1 0.0.0.0 area 0
passive-interface gig0/0
exit
exit
copy running-config startup-config

 

 

R2

en
conf t
hostname R2
no ip domain-lookup
int g0/0
ip add 2.2.2.1 255.255.255.0
no shut
int gig1/0
ip add 10.1.1.2 255.255.255.0
no shut
exit
router ospf 1
router-id 2.2.2.1
network 2.2.2.1 0.0.0.0 area 0
network 10.1.1.2 0.0.0.0 area 0
passive-interface gig0/0
exit
exit
copy running-config startup-config

 

 

R3

en
conf t
hostname R3
no ip domain-lookup
int g0/0
ip add 3.3.3.1 255.255.255.0
no shut
int gig1/0
ip add 10.1.1.3 255.255.255.0
no shut
exit
router ospf 1
router-id 3.3.3.1
network 3.3.3.1 0.0.0.0 area 0
network 10.1.1.3 0.0.0.0 area 0
passive-interface gig0/0
exit
exit
copy running-config startup-config

 

R4

en
conf t 
hostname R4
no ip domain-lookup
int gig1/0
ip add 10.1.1.4 255.255.255.0
no shut
int loopback0
ip add 10.10.10.1 255.255.255.0
exit
ip route 0.0.0.0 0.0.0.0 loopback0
router ospf 1
router-id 10.1.1.4
network 10.1.1.4 0.0.0.0 area 0
default-information originate
exit
exit
copy running-config startup-config