System/Linux

리눅스 서비스

Kaget 2020. 4. 27. 18:56

리눅스에서 서비스와 데몬은 같은 것이라고 할수 있다.

background process로 시작되어 사용자나 프로세스에 서비스를 제공하는 프로그램을 의미한다.

 

방식

  • Stand Alone
    - 스스로 listen하며 항상 메모리에 상주한다.
    - 서비스 요청에 즉시 대응 가능하다.
    - 서비스 요청이 매우 드물거나 idle 한 경우 메모리를 낭비한다.
  • Super Daemon
    - Listen을 직접하지 않는다.
    - 메모리에 상주하지 않으며 서비스 요청이 있을때 xinetd에 의해 호출된다.
    - 점차 사라지는 추세다.

systemctl list-unit-files

이 명령을 통해 모든 서비스를 확인 할수 있다.

 

systemctl [enable | disable] [서비스명]

이 명령을 통해 부팅시 자동 실행 여부를 설정 할수 있다.

이 명령은 ntsysv에서 작업하는 것과 똑같다.

(yum으로 설치된 서비스만 가능하다.)

 

systemctl [start | restart | stop] [서비스명]

이 명령을 통해 서비스를 시작, 재시작, 정지 시킬 수 있다.

restart를 하는것 보단 start, stop을 해주는것이 좋다. restart는 에러 발생시 에러 메시지를 보지 못 한다.

 

그 외에 옵션으로는

  • try-restart : 실행, 재실행, 종료
  • Reload : 설정 재구동
  • status : 상태 확인

등이 있는데 try-restart는 restart와 비슷하지만 서비스 재시작시 오류가 있다면 다시 시도해준다.

 

 

RPM

Redhat 사에서 제공하는 리눅스용 프로그램을 배포하는 기술

 

RPM 패키지의 구조

  • 패키지명-버전-릴리즈.아키텍처.rpm

rpm [-ivh | -Uvh | -Fvh] 패키지명
-옵션

  • -i : 설치
  • -U : 업그레이드 (이전버젼 미설치시 -i와 동일)
  • -F : 업그레이드만
  • -v : 설치과정 출력
  • -h : 설치정도 출력 (#)

 

rpm -e 패키지명

이 명령으로 설치된 패키지를 삭제할 수 있다.

 

주요 추가 옵션
-옵션

  • --nodeps : 의존성을 무시하고 작업한다. (삭제에 주로 이용)
  • --force : 같은 버전의 패키지나 파일이 있어도 무시하고 작업진행
  • --oldpackage : 다운그레이드시 사용

 

 

YUM(Yellowdog Updater Manager; Modified)
rpm의 고질적인 문제인 의존성을 해소하기 하기 위한 패키지 기술로 RPM과 동일한 형식의 설치 구조를 지원한다.

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

 

yum list installed
• 설치된 패키지를 확인한다.


yum list
• 설치 가능한 모든 패키지 목록을 보여준다.


yum list [패키지명]

• 지정한 패키지의 설치 여부를 확인한다.

 

yum install [-y] 패키지명
• 패키지를 repository로 부터 설치한다.


yum update [-y] 패키지명
• 패키지를 repository로 부터 업데이트한다.

 

yum remove [패키지명]
• 지정한 패키지를 삭제한다.