<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에 있는 해당 패키지 삭제 |