반응형
Solaris에는 시작 스크립트가 /etc/init.d 에 모여있습니다. 이 스크립트는 대부분 구성이 아래와 같이 되어있습니다.
#!/bin/sh
...
case "$1" in
"start")
# daemon 띄우는 명령어
;;
"stop")
# daemon 죽이는 명령어
;;
*)
# 사용설명
;;
esac

이와 같이 작성해 두시면 실행할때는 start인자를, 실행중인 프로세스를 죽일때는 stop인자를 사용하실 수 있습니다.

또한 Solaris는 /etc/rcX.d(X는 S, 0, 1, 2, 3)에서 필요한 스크립트를 수행합니다. 만일 Single User모드로 부팅했다면 /etc/rcS.d에 있는 파일들을, 보통때는 모두다 수행합니다. 따라서 이들중 한 디렉토리에 SXXfilename(XX는 원하는 두자리 숫자, filename은 임의의 이름)이라는 파일을 /etc/init.d에 만들어 둔 스크립트에 하드링크를 해 두면 됩니다. rc 프로세스는 숫자가 작은 스크립트부터 차례로 수행해 줍니다.

그리고 SunOS 4.1.x에서는 /etc/rc.* 파일에 적어넣어면 됩니다. 일반적으로 rc.local에 적는 경우가 많습니다.

그리고 그냥 스크립트를 작성하면 root권한으로 수행됩니다. 하지만 몇몇 프로그램의 경우에는 root가 아닌 일반 유저의 권한으로 수행되어야 하는 경우가 있는데 이때는 su명령을 사용하시면 됩니다. 만일 /some/where/daemon을 nobody권한으로 수행하고 싶다면 시작 스크립트에 아래와 같이 적어주면 됩니다. ( 서진수님이 정리해 주셨습니다.)
su nobody -c '/some/where/daemon'


반응형

[UNIX] 자동 .cshrc와 .profile등의 파일생성법

Solaris 2006. 2. 21. 16:57 posted by CecilDeSK
반응형
/etc/skel 디렉토리에 복사하고 싶은 파일들을 만들어 두고(local.profile, local.cshrc, local.login)
useradd나 admintool로 계정을 만들면 됩니다.

/etc/skel/local.cshrc 파일의 예
----------------------------------------------------------------------------
# @(#)cshrc 1.11 89/11/29 SMI
umask 022
set path=(/usr/sbin /usr/bin /usr/local/bin /bin /usr/openwin/bin /usr/ccs/bin /
usr/ucb/bin /opt/Acrobat4/bin /opt/netscape)

if ( $?prompt ) then
set history=32

setenv OPENWINHOME /usr/openwin
setenv PATH $OPENWINHOME/bin:$OPENWINHOME/bin/xview:$PATH
setenv LD_LIBRARY_PATH $OPENWINHOME/lib:/usr/lib:

setenv MOZILLA_HOME /opt/netscape

setenv MANPATH /usr/local/kde/man:/usr/dt/share/man:/usr/openwin/share/man:/usr/
local/man:$MANPATH
setenv MANPATH /usr/local/man:/usr/dt/share/man:/usr/openwin/man:/usr/man:/opt/s
amba/man:$MANPATH

#-------------------------------------------------------------
# OPENH323
setenv PWLIBDIR /opt/openH323/pwlib
setenv OPENH323DIR /opt/openH323/openh323
#-------------------------------------------------------------

#-------------------------------------------------------------
# QT Setup
setenv QTDIR /usr/local/qt
setenv PATH $QTDIR/bin:$PATH
setenv MANPATH $QTDIR/doc/man:$MANPATH
setenv LD_LIBRARY_PATH $QTDIR/lib:$LD_LIBRARY_PATH
#-------------------------------------------------------------

#-------------------------------------------------------------
# KDE Setup
setenv KDEDIR /usr/local/kde
setenv MANPATH /usr/local/kde/man:$MANPATH
setenv PATH $KDEDIR/bin:$PATH
setenv LD_LIBRARY_PATH=/usr/local/kde/lib:$LD_LIBRARY_PATH
#-------------------------------------------------------------

endif
set filec

alias a 'alias'
a setprompt 'set prompt="[`hostname`:$cwd]# "'
a cd 'cd !*; setprompt'
a dir '/bin/ls -als | more'
a h 'history !* | more'

setprompt
----------------------------------------------------------------------------
반응형
반응형
예제1)
snoop -x 0 HOST1 HOST2 to HOST1 udp

(설명1)
HOST1과 HOST2상의 UDP패킷의 내용을 화면에 디스플레이 해줌.
단, HOST2 --> HOST1으로 전송되는 UDP패킷의 내용만을 디스플레이함.

(결과1)
fifa -> newton.uri-net.co.kr UDP D=5000 S=2000 LEN=260

0: 0050 04c0 0647 0050 da8d 7ef6 0800 4500 .P...G.P..~...E.
16: 0118 0c86 4000 ff11 ca50 cbef 061d cbef ....@....P......
32: 0602 07d0 1388 0104 e302 8000 1312 0000 ................
48: 6540 0607 2801 8280 7f7f 7e7f 7f80 8080 e@..(.....~.....
64: 8080 8081 807f 807f 8080 807f 807f 7f81 ................
80: 8180 8182 8182 8181 8180 8181 8080 8080 ................
96: 807f 7f80 7f7f 7f7f 7f7f 7f7f 8080 7f7e ...............~
112: 7e7f 7f7f 8080 8080 8080 8181 8282 8181 ~...............
128: 8181 8280 807f 8080 7f7f 7e7e 7f7e 7f80 ..........~~.~..
144: 8081 8080 8080 8080 8180 8080 8080 807f ................
160: 807f 8081 8080 7f7f 8080 8082 8280 8180 ................
176: 8081 8081 8180 8081 8080 8080 807f 7f7f ................
192: 7e7f 7f7e 7f80 8080 8080 8180 8181 8181 ~..~............
208: 8080 7f7f 7e7f 7f7e 7f7f 807f 8080 8081 ....~..~........
224: 8181 8283 8181 8181 8081 8281 807f 7e7f ..............~.
240: 7f7f 807f 8080 807f 8080 8080 8080 8080 ................
256: 7f7f 7e80 8181 8080 7f80 8180 807f 807f ..~.............
272: 8080 7f80 8081 8182 8181 0000 0000 0000 ................
288: 0000 0000 0000 ......

반응형

[UNIX] Find 명령어의 자세한 사용법

Solaris 2006. 2. 21. 16:56 posted by CecilDeSK
반응형
@ 용도
--> 사용자가 제시한 속성을 만족하는 file을 찾아 내어, 이를 화면으로 출력하거나,
이러한 file에 특정한 명령을 수행한다. 이러한 find 명령어는 file system을 감시하
는데 뿐만 아니라, 하나의 subdirectory내에서 특정한 file을 찾아내거나, directory
아래에 특정한 내용을 담고 있는가등 다양한 기능을 수행하는 막강한 명령어이다.

@ 사용법
--> find 경로명 수식

find 명령어는 pathname-list에 있는 각 경로로부터 directory 계층구조에 따라 재귀
적으로 내려가면서, 논리적인 expression을 만족하는 file들을 찾는다. 단, symbolic
link는 보통 화일과 같이 검색된다.
ex) 만약 /etc/chown -> ../usr/etc/chown 일때, find /etc -uname chown -print하면
./chown 라고만 출력된다. ( ./chown -> ../usr/etc/chown이라고 출력되지 않는다란
소리다.)

-name 화일명
: 지정한 화일 이름에 해당하는 화일이 담겨 있는 디렉토리를 찾아준다. 이때 화일
이름에는 와일드 카드 문자인 *,?를 사용 가능하다.

-type 화일형태
: 지정한 화일 형태와 맞는 화일을 찾아준다. 화일 형태에는 5가지가 있는데 f는 일반
화일, b는 block special file, c는 character special file, d는 디렉토리, p는 파이
프이다.

-user 사용자 ID
: 뒤에 지정한 사용자가 권한을 가지고 있는 화일을 찾아준다.

-group 그룹 ID
: 뒤에 지정한 그룹이 권한을 가지고 있는 화일을 찾아준다.

-mtime n
: 마지막으로 수정된 날이 정확히 n일 전인 화일을 찾아준다. 여기서 n을 명시할 때,
-n이라고 표기하면 n일 전부터 지금까지를 의미하고, +n이라고 표시하면 n일을 포함
해서 그 이전에 수정된 화일을 찾아준다.
ex) n 현재
----------------------------------------->
|-- +n -- |------ -n ------|

-exec 명령어
: shell 명령어를 실행해 주는 옵션으로서 명령어 뒤에는 반스시 ; 기호를 붙혀 주어
야 한다. ;기호 앞에 를 붙여주는 이유는 ; 기호가 shell 특수 문자이기 때문이다.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

-print
: 화일이나 디렉토리가 발견되었으면 이 옵션에 의해서 그 화일이나 디렉토리가 담겨
있는 디렉토리가 화면에 나타난다.

@ 예제 ------------------------------------------------------------------------
ex) 1. 만약 imdw@cs.sejong.ac.kr이라는 몬자열을 포함하는 모든 화일을 찾으려면
--> #find / -exec grep "
imdw@cs.sejong.ac.kr" {} ;
참고로 여기서 {}는 현재의 경로명으로 대체된다.

2. 만약 모든 화일중에서 core와 확장자가 .c인 화일을 모두 찾아서 지워주려면
--> #find / ( -name core -o -name "*.c" ) -exec rm {} ;
참고로 는 alias나 특수문자를 단순한 character로 사용해야 할 시 alias나 특수
문자 앞에다 적어준다.
-------------------------------------------------------------------------------
반응형