[Linux (리눅스)/#7 명령어 - 3]

SeungWoo·2023년 11월 1일

[Linux(리눅스)]

목록 보기
8/13
post-thumbnail

BootProcess(부트 프로세스)

  • default target 확인
    • systemctl get-default
    • systemctl set-default multi-user.target / graphical.target
      CLI/GUI중 default설정
    • systemctl isolate multi-user.target / graphical.target
      현재 CLI/GUI 변경
  • 1단계 : 시스템 전원 ON
    • 모든 운영체제를 부팅하기 위한 첫 단계
  • 2단계 : BIOS프로그램의 실행
    • POST : 부팅이 시작되면 컴퓨터는 가장 먼저 자체 진단 기능을 통하여 컴퓨터 이상 유무 검사하게 됨
      • 컴퓨터에 전원이 들어오면 먼저 전류는 CPU로 흘러 들어가게 되며, CPU는 BIOS 프로그램을 불러들이게 됨
      • BIOS프로그램은 CPU를 시작으로 CMOS를 검사하고, 메모리 테스트 후 용량을 확인
      • 그래픽카드, 키보드, 마우스등 각종 장치의 이상 유무를 검사하여 초기화
  • 3단계 : 부트매체의 검색
    • POST과정에서 하드웨어 검사가 무사히 완료 되면 검색된 부팅 매체(HDD, ODD, USB, 네트워크등)중 CMOS에 설정어 있는 순서대로 부팅 시도
    • MBR(Master Boot Record)에 존재하는 부트로더(Boot Loader)인 GRUB을 읽어 들이게 되며, 부트로더가 메모리에 적재되고, 시스템의 제어권은 부트로더가 갖게됨
  • 4단계 : 부트로더의 실행
    • 부트로더는 Kernel을 메모리에 올려놓게 됨
    • 부트로더는 Kernel 이미지를 불러들이고 시스템의 제어권을 넘겨옴


systemd 프로세스 target

  • 부트로더 커널 이미지 시간 = 커널 코어 선택 이지미 화면

    • vi /etc/default/grub

    • GRUB_TIMEOUT=5
      GRUB대기 시간이 5초 이므로 더 늘이거나 줄일수있다.

    • :wq

    • grub2-mkconfig -o /boot/grub2/grub.cfg
      /boot/grub2/grub.cfg 설정을 반영하겠다. 부트로더 인식

root 비번 변경

  • emergency.target
  • 변경하는법
    • 부트 로더 단계에서 아무키를 눌러 카운트 해제
    • 원하는 커널에서 'e'키 눌러서 grub진입
    • linux16 라인 끝에 rd.break 입력 후 ctrl + x
    • mount -o rw,remount /sysroot 입력후
    • passwd
    • touch /.autorelabel
    • ( ctrl+d) 두번 누르고 나가기(exit)

RPM

  • RPM
    단점 : 일반적으로 RPM으로 프로그램을 설치시, 의존관계가 있는 프로그램을 각각 설치해야됨
    이유 : 종속성(의존성) 해결 x, 특정 라이브러리가 없음
    ---> 관리하는 데만 많이 사용
  • RPM 관련 패키지 정보 확인 명령어
    rpm -q (쿼리)
    • a : 시스템에 설치되어 있는 모든 패키지
    • i : 패키지에 대한 정보
    • c : 패키지의 설정파일들 보여줌
    • d : 패키지의 문서(document)를 보여줌
    • l : 패키지의 모든 파일 보여줌
    • f : 파일이나 디렉토리가 어떠한 패키지로 인해서 파생되었는지 알려줌.
  • RPM 관련 패키지 설치 및 업데이트
    • rpm -Uvh 패키지 파일명 -> 설치 및 버전 업데이트
    • RPM 관련 패키지 삭제
    • rpm -e 패키지명

YUM(Yellowdog Updater Modified)

  • yum(dnf)
    인터넷이 연결되어 있을 경우에만 사용 가능
  • 인터넷을 통하여 필요한 파일을 저장소(Repoitory)에서 자동으로 모두 다운로드 해서 설치하는 방식
  • 패키지 종속성 완화
    • rpm은 종속송(의존성) 해결 안됨 - 모든 패키지 나열
    • yum은 패키지의 여러 리포지토리 및 종속성(의존성) 검색
  • /etc/yum.conf 에 기본 구성 파일 저장
  • /etc/yum.repo.d/ 에 추가 리포지토리 구성 파일
  • /var/log/yum.log 에 모든 설치 및 제거 트랜 잭션 기록
  • yum(dnf) sub명령어

    • install 패키지명 : 패키지 설치
    • remove 패키지명 : 패키지 삭제
    • update 패키지명 : 패키지 업데이트
    • info 패키지명 : 패키지 정보확인
    • list : repository 의 패키지 리스트 출력
    • provies file/dir : 해당 파일이나 디렉토리가 어떠한 패키지로 인해서 파생되었는지 알려줌( = rpm -qf 와 동일한 작용)
    • repolist all : repository 점검
  • yum(dnf) group 명령어
    • groups list : 그룹 패키지 리스트 출력
    • groups install 그룹 패키지명 : 그룹 패키지 설치
    • groups remove 그룹 패키지명 : 그룹 패키지 삭제
    • groups update 그룹 패키지명 : 그룹 패키지 업데이트
    • groups info 그룹 패키지명 : 그룹 패키지 정보
  • localinstall 패키지파일명 : 패키지파일을 yum으로 설치
    repository 파일 설정(/etc/yum.repos.d/) = 설정 파일들

  • 확장자가 반드시 .repo 이여만 함.
    RockLinux뿐아니라 CentOS 8과 RHEL 8 부터는 "BaseOS", "AppStream" 2개의 저장소를 사용

  • 저장소를 이 두가지로 분리한 이유

    • 자주 업데이트되는 AppStream패키지들로 인하여 기반이되는 OS플랫폼관련 패키지들에 영향을 받지않고 안정성과 유연성을 때문

    • BaseOS 저장소
      BaseOS 리포지토리는 운영체제의 기반이 되는 최소한의 기본기능의 코어(핵심, 필수) 패키지들로 구성

즉, 커널 핵심 패키지 그룹으로 하드웨어, 가상머신, 클라우드 인스턴스, 컨테이너에서 실행 가능하도록 하는 패키지들로 구성

  • AppStream(애플리케이션 스트림) 저장소
    AppStream은 BaseOS의 패키지외에 어플리케이션, 소프트웨어, 종속성, 데이터베이스과 관련된 패키지들로 구성

즉, Apache웹서버, Cyrus-imapd, Vim 등과 같은 패키지들, 또는 Java, PHP, Python 등과 같은 개발언어 패키지들, 그리고 MariaDB, PostgreSQL 등과 같은 DBMS 패키지들로 구성된다. AppStream 패키지들은 BaseOS 패키지들보다 훨씬 더 많이 업데이트됨

  • 내용 구성
    [ID명]
    name=repo명
    baseurl=http://주소
    =file:///경로 (파일 경로는 / 세개로 )
    enabled=1/0 (1이면 활성화, 0이면 비활성화)
    gpgcheck=1/0 (1이면 라이센스 키가 있을 경우, 0이면 라이센크 키가 없는 경우)
    gpgkey=file:///경로(gpgcheck=1 일 경우에만 작성)

metadata_expire=6h
-> 메타데이터가 만기되는 시간(초단위)를 지정
현재 다운로드된 메타데이터의 오래된 시간이 이 시간보다 짧다면 yum은 repository에서 메타데이터를 업데이트 하지 않을 것
만약 yum이 업데이트정보를 다운로드 하지않는 일이 자주 발생한다면 이 지시자의 값을 낮추어야 함

Repository

  • Repository

    • EPEL 저장소
      • 확장된 패키지의 저장소로 기본 저장소에는 없는 패키지들이 저장
    • REMI
      • 최신 버전의 패키지가 저장되어 있음
      • 기본 저장소에는 오래된 버전이 올라가 있는 경우가 많기 때문에 최신 버전의 패키지가 필요한 경우 REMI 저장소를 설치하여 사용하면 됩니다.
  • Repository 설정 하는 법 실습+

  • local repo

[DVD_BaseOS]
baseurl=file:///media/cdrom/BaseOS/ = /// 파일 경로는 슬래시 3개

[DVD_AppStream]
baseurl=file:///media/cdrom/AppStream/

  • network

[Net_BaseOS]
baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

[Net_Appstream]
baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/os/
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

cd /etc/yum.repos.d
mkdir backup
mv r b
vi test.repo

[DVD_BaseOS]
name=Rocky9.1_BaseOS
baseurl=file:///media/cdrom/BaseOS/
enabled=1
gpgcheck=0

[DVD_AppStream]
name=Rocky9.1_AppStream
baseurl=file:///media/cdrom/AppStream/
enabled=1
gpgcheck=0

[Net_BaseOS]
name=Rocky Linux releaseverBaseOSbaseurl=http://dl.rockylinux.org/releasever - BaseOS baseurl=http://dl.rockylinux.org/contentdir/releasever/BaseOS/releasever/BaseOS/basearch/os/
gpgcheck=1
enabled=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

[Net_Appstream]
name=Rocky Linux releaseverAppStreambaseurl=http://dl.rockylinux.org/releasever - AppStream baseurl=http://dl.rockylinux.org/contentdir/releasever/AppStream/releasever/AppStream/basearch/os/
gpgcheck=1
enabled=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

repository cache 값 재구성
dnf makecache

repo 활성화 상태 확인
yum repolist all

repo 중에서 DVD_AppStream repo를 비활성화 시키시오.
DVD_AppStream repo의 enabled를 1에서 0로 변경
저장 후 종료

repo 활성화 상태 확인
yum repolist all
DVD_AppStream repo => disabled

저장소에 telnet에 대한 패키지가 어떠한 것이 있는지 확인해보시오.
yum list | grep telnet

telnet 관련 패키지 설치 및 telnet.socket (service 아님) 시작 및 활성화
yum install telnet*

systemctl start telnet.socket
systemctl enable telnet.socket
or
systemctl enable telnet.socket --now

telnet 패키지의 설정 파일 및 문서(document) 확인
rpm -qc telnet
rpc -qd telnet

rsyslog.conf 파일이 어떠한 패키지로 인해서 생성된 것인지 확인(2가지 방법)
rpm -qf /etc/rsyslog.conf
yum provides /etc/rsyslog.conf

위에 패키지의 정보를 확인 (2가지 방법)
rpm -qi rsyslog
yum info rsyslog

그룹 패키지 중에서 패키지명으로 security(영문판)/보안(한글판) 가 들어간 패키지는?
yum group list | egrep -i '(security|보안)'

해당 그룹 패키지는 어떤 패키지들로 구성이 되어 있는가?
yum group info "Security Tools"
or
yum group info "보안 툴"

zsh-5.8-9.el9.x86_64.rpm 파일을 yum 명령어를 사용해서 설치하시오.
cp /media/cdrom/BaseOS/Packages/z/zsh-5.8-9.el9.x86_64.rpm ./
yum localinstall zsh-5.8-9.el9.x86_64.rpm

profile
This is my study archive

0개의 댓글