리눅스의 소프트웨어 패키지
- 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 프로토콜 관점에서 네트워크 상태정보를 보여줌