#1. 서비스와 리눅스 패키지
1. 서비스
1) 서비스란?
- 웹 서버, 데이터베이스 서버 등을 운영하기 위한 서버 프로세스(실행 중인 프로그램, background process)이다.
- 서비스, 데몬, 서버 프로세스는 모두 동일한 개념이다.
※ 데몬(Daemon)
- 프로그램 뒤에 d(daemon)이 붙어있으면 서버용 프로그램이다.
2) 서버 프로세스
- 백그라운드로 실행되는 프로세스.
- 서비스 매니저 프로그램인 systemd 프로그램이 운영한다.
- 각 프로세스가 독자적인 하나의 동작을 제공한다.
- http 서비스는 웹 서버 동작
- mysqld는 데이터베이스 서버 동작
- smtp는 메일 발송
2. 서비스 관리
1) 서비스 시작, 중지 관련 스크립트 파일 위치
- 보통 /usr/lib/systemd/system 디렉토리에 위치한다.
- 파일명은 서비스이름.service 형식이다.
- 실행 스크립트 파일은 systemctl 명령어에 의해 제어된다.
2) 실행 및 종료
- systemcrl 명령에 옵션을 적용하여 사용한다.
- 서비스 운영은 root 권한을 통해서만 수행 가능하다.
- 즉, su 명령어를 사용해서 관리자 계정으로 수행하거나 sudo 명령어를 사용해서 수행해야 한다.
$ systemctl 옵션 서비스명
※ 서비스명은 파일이름.service 또는 확장자를 뺀 서비스파일이름을 말한다.
- 서비스 시작하기
$ sudo systemctl start 서비스명
- start 명령어만 사용하면 부팅시 매번 start를 해줘야 한다
- 서비스 중지하기
$ sudo systemctl stop 서비스명
- 서비스 재시작하기
$ sudo systemctl restart 서비스명
- 부팅시 자동 실행 등록
$ sudo systemctl enable 서비스명
- 부팅시 자동 실행 해제
$ sudo systemctl disable 서비스명
- 서비스 가동 상태 확인
$ sudo systemctl status 서비스명
- 부팅시 자동 실행이 등록된 서비스 목록 확인
- grep 명령어와 함께 사용하여 출력결과를 원하는 결과만 검색할 수 있다.
$ sudo systemctl list-unit-files
3. 리눅스 패키지 (Linux Package)
1) 리눅스 패키지란?
- 리눅스 시스템에서 소프트웨어를 실행하는데 필요한 파일들(실행파일, 설정파일, 라이브러리 등)이 담겨 있는 설치 파일 묶음이다.
- 공인된 저장소(Repository)에 등록되어 있는 패키지를 인터넷을 통해 내려받아 시스템에 설치한다.
2) 패키지 관리자
- 패키지의 설치, 업그레이드, 삭제 등을 수행하여 패키지를 관리하는 목적의 프로그램이다.
- apt-get(Ubuntu), yum(RedHat), Homebrew(Mac), Chocolatey(Windows), NPM(Node), Yarn(Node), PIP(Python) 등이 있다.
3) apt-get
- apt-get(Advanced Packaging Tool)은 Ubuntu를 포함한 Debian 계열의 리눅스에서 쓰이는 패키지 관리 명령어 도구이다.
- 패키지 인덱스 정보 업데이트
$ sudo apt-get update
- apt-get은 인덱스를 가지고 있는데 이 인덱스는 /etc/apt/sources.list 에 존재
- 이곳에 저장된 저장소에서 사용할 패키지의 정보를 얻는다.
- 설치된 패키지 업그레이드
$ sudo apt-get upgrade
- 의존성 검사 후 설치
$ sudo apt-get dist-upgrade
- A 패키지를 업그레이드 하려고 할 때 B 패키지가 A 패키지를 의존하고 있고, A 패키지를 업그레이를 함으로써 B 패키지에 에러가 발생하면 업그레이드 하지 않는다.
- 패키지 설치
$ sudo apt-get install 패키지이름
- 패키지 재설치
$ sudo apt-get --reinstall install 패키지이름
- 패키지 삭제 (설정파일은 삭제하지 않음)
$ sudo apt-get remove 패키지이름
- 패키지 삭제 (설정파일까지 모두 삭제)
$ sudo apt-get --purge remove 패키지이름
- 패키지 검색
$ sudo apt-cache search 패키지이름
- 패키지 정보 보기
$ sudo apt-cache show 패키지이름
'국비수업 > Linux' 카테고리의 다른 글
[Linux] FTP (File Transfer Protocol) (0) | 2022.07.23 |
---|---|
[Linux] 네트워크와 방화벽 (0) | 2022.07.22 |
[Linux] 쉘(Shell) (0) | 2022.07.20 |
[Linux] 프로세스 관리 (0) | 2022.07.20 |
[Linux] 파일 다운로드, 압축하기 (0) | 2022.07.20 |