가치 있는 정보 준비 중
3초만 투자해 보세요!
Preparing valuable information
Just invest three seconds!
본문 바로가기
카테고리 없음

UNIX SMF 패키지

by 콰나 | Quanna 2024. 1. 16.

<SMF> (Service Management Facility)

- 기존의 솔라리스9이하 버전에서 제공하던 init 시동 스크립트에 대한 구성과

런 레벨을 제공하는 새로운 형태의 인프라

- init 관리하던 것들을 정형화시켜서 SMF에서 관리하도록 만들었다.

- smf에서 해당 서비스들을 관리하기 때문에 /etc/rc#.d/ 있던 스크립트가 많이 줄어들었다.

 

<SMF 구성요소>

서비스
서비스 저장소
저장소에 접근 가능한 데몬 (svc.configd)
(svc.configd : 세부 속성을 구성하는 데몬)
저장소에 접근 가능한 API
Master restarter 데몬 (svc.startd)
(svc.startd : 서비스의 시작과 재시작 등을 총괄하는 데몬)
SMF Tools

 

 

<SMF Manifest> 

- XML 만들어진 서비스의 설정파일 (/var/svc/manifest)

- 서비스의 시작 중지 메소드 등의 정보도 포함

 

<SMF 정보>

- SMF에서 관리하는 서비스들의 이름은 FMRI(Fault Management Resource Identifier)라는 형식으로 명명 되어진다.

1. 서비스 상태

Uninitialized 모든 인스턴스 및 구성 정보가 초기화되지 않은 상태
Offline 구성 정보는 로드 되었지만 서비스가 구동되지는 않은 상태
Online 서비스가 성공적으로 구동된 상태
Disabled 관리자에 의해서 비활성화된 상태
Degraded 서비스가 구동되었지만 일부 실패로 인해 제한적으로 구동된 상태
Legacy run lrc 서비스가 구동된 상태
Maintenance 에러를 만나 구동이 안된 상태

 

2. 관리서비스

svc : SMF에서 관리하는 서비스
lrc : init.d에서 관리하는 서비스

 

3. 서비스종류와 이름(FMRI)

Application 응용 프로그램
Device 장치
Milestone 런 레벨
Network 네트워크
Site 사이트
System 시스템

 

4. 인스턴스

<SMF 명령어>

1) svcs : 서비스의 상태나 목록을 확인하는 명령어 (-a, -l, -d, -D, -x, -v, -p)

-a 활성화 및 비활성화 모든 서비스 표시
-l 해당 서비스에 대한 정보 출력
-d 현재 서비스가 의존하는 서비스 정보 출력
-D 현재 서비스에 의존적인 정보 출력
-x 에러 정보 표시, 일반적으로 장애처리를 위해서 사용
-v 상세정보 출력
-p 프로세스 정보 출력

 

2) svcadm : 서비스의 시작이나 종료를 관리하는 명령어

enable 서비스 시작
disable 서비스 종료
restart 서비스 재시작
refresh 서비스의 수정된 구성정보 적용

 

3) svcprop : 서비스의 세부 속성을 확인하는 명령어

4) inetadm : 네트워크 관련 서비스를 관리하는 명령어

 

 

<패키지 관리>

- 유닉스에서는 일반적으로 소프트웨어를 패키지 형태로 배포

- 패키지 관리란 이러한 소프트웨어를 설치 또는 제거하는 것

 

<패키지 구성요소>

- 설치에 필요한 디스크 공간이나 설치방법 등이 설명된 파일

- 소프트웨어 설치파일

- 패키지를 추가/제거할 사용하는 스크립트

 

<패키지 다운로드방법>

CD
인터넷 다운로드(wget, 인터넷 브라우저)
USB
호스트 PC에서 옮긴다.
FTP

*/var/sadm/install/contents : 설치된 패키지 목록

*/etc/profile : PAHT:/usr/bin:/usr/sbin:/usr/sfw/bin (wget명령어 Path설정)

(wget http://www.ibiblio.org/pub/packages/solaris/i86pc/top.3.7.i86pc.Solaris.10.pkg)

 

<패키지 포맷>

1) 파일 시스템 포맷 : 하나의 디렉토리에 여러 개의 파일이나 디렉토리를 모아둔

2) 데이터 스트림 포맷 : 하나의 파일로 구성된 설치 파일

pkgtrans : 포맷 변환 명령어

<패키지 명령어>

pkginfo [패키지명] 설치된 패키지 정보 확인
pkgadd 패키지 설치
1) 파일시스템 : pkgadd –d [설치될 경로] [패키지 디렉토리 경로]
2) 데이터스트림 : pkgadd –d [패키지 이름]
pkgrm 패키지 삭제
pkgchk 설치된 패키지 검사
-p : 속성 변경 여부
-P : 해당 내용이 들어있는 파일의 세부내용 출력
-l : 파일에 대한 정보 출력
-v : 설치된 파일목록

 

ex) ssh 패키지 설치 정보 확인

pkginfo | grep ssh

pkg v SUNWsshu

 

 

<패키지 spool>   

*/var/spool/pkg : 사용자에 의해 패키지 파일을 spool default로 저장

pkgadd d [패키지경로] s spool : spool에 해당 패키지 저장
pkgrm s spool [패키지명] : spool에 있는 해당 패키지 삭제