오픈소스소프트웨어 정리 #07 패키지 및 시스템 관리

yuju9·2022년 10월 9일
0

리눅스의 소프트웨어 패키지

  • GNU/리눅스에서의 소프트웨어 배포 방식은 윈도우와 다름
  • 중앙집중식이고 일관적인 패키지 설치, 업데이트, 삭제 방법 제공
  • 패키지에는 응용 프로그램, 라이브러리 파일, 버전 정보나 의존성 등의 메타 정보 파일 등이 포함
    • .dev파일: 우분투를 포함한 데비안 계열의 리눅스
    • .rpm파일: 레드햇 계열
  • 패키지는 repository에 저장. 일반적으로 http 혹은 ftp서버를 통해 제공

소프트웨어 패키지 관리

데비안 기반의 GNU/리눅스에서의 패키지 관리

  • GNOME GUI에서는 '소프트웨어 업데이트' 메뉴를 사용할 수도 있음
  • 패키지 repository는 /etc/apt/sources.list 파일에 추가
  • 패키지 repository 리스트의 업데이트
    $ sudo apt update
    : 레포지터리 리스트를 최신의 상태로 업데이트
  • 설치할 패키지 이름을 찾는 방법
    $ apt search <keyword>

소프트웨어 패키지 관리 명령

패키지 설치

sudo apt install <package>

  • apt 명령은 패키지들간의 의존성을 파악해서 필요한 패키지를 추가로 설치

패키지 삭제

sudo apt remove <package>

현재 OS를 비롯한 모든 패키지를 최신버전으로 설치

sudo apt full-upgrade

패키지에 대한 정보 검색

apt show <package>


apt 관리툴

  • apt는 apt-get과 apt-cache의 명령을 조합하여 간단하게 사용할 수 있게 만든 명령
    ex.

패키지 자동 업데이트

  • 패키지 자동 업데이트 설정을 위해서는 아래 파일을 변경
$sudo vi /etc/apt/apt.conf.d/20auto-updates

APT::Periodic::Update-Package-Lists "1"; //업데이트 자동 확인(1)/수동(0)
APT::Periodic::Unattended-Upgrade "0"; //업데이트 자동 설치(1)/수동(0)
  • GNOME GUI에서는 '소프트웨어&업데이트'메뉴 사용

리눅스 부팅 과정

  • GRUB: GNU 프로젝트의 부트로더
    • 대부분 운영 체제의 커널을 불러올 수 있으며, 인자를 넘겨 줄 수도 있다.

리눅스 런레벨

런레벨

  • 리눅스 시스템의 동작모드
  • 7개의 런레벨 존재 (부팅시 하나의 런레벨이 선택되어 동작)
  • 런레벨 3 또는 5가 디폴트

런레벨 종류


리눅스 종료

  • GUI상에서는 GNOME의 전원 버튼 아이콘을 이용해서 종료
  • shutdown 명령으로 종료
    shutdown [option] [time] [message]
  • ex.
  • reboot 명령
    reboot [option]
  • ex.
    • reboot -p: 시스템 종료
    • reboot -f: 강제로 재부팅
    • reboot: 즉시 재부팅
  • halt 명령(시스템은 종료하지만 power를 종료하지는 않음)

시스템 모니터링 관련 명령

  • 짧은 시간 내에 시스템의 자원 및 상황을 파악하기 위한 핵심 명령어들

uptime

  • 시스템 부하(주어진 시간 동안 실행중인 프로세스 수) 상태를 보여주는 명령
    • 현재 시작, 컴퓨터 시작 후 경과한 시간, 현재 로그인된 사용자 수, 지난 1분/5분/15분간의 부하

dmesg

  • 부팅 이후 출력된 모든 커널 메시지 출력
  • 최근 것을 확인하려면 tail 명령 이용(ex. $dmesg | tail)

vmstat

  • 동작중인 프로세스들과 메모리 상태, 입출력 등에 대한 정보 알려줌
  • 정보 갱신 주기를 인자로 지정할 수 있음
    ex. $vmstat 1: 매 1초마다 정보 갱신

mpstat -P ALL 1

  • 프로세스 관련 정보 출력
  • 정보 출력(CPU의 점유율) 갱신 주기를 인자로 지정

pidstat 1

  • 각 프로세스에 대한 상태정보 출력
  • top 프로세스 정보와 유사

TOP

  • 실행중인 프로세스들에 대한 정보를 보여줌

기타 유사 명령

iostat -xz 1

전체 CPU 사용률 및 각 장치 및 파티션별 입출력 상황을 보여줌

free

시스템 메모리의 상태에 대해 알려줌

sar -n DEV 1

네트워크 인터페이스에 대한 상태정보를 보여줌

sar -n TCP, ETCP 1

TCP 프로토콜 관점에서 네트워크 상태정보를 보여줌

0개의 댓글