solaris8(9)에서 CD-image(iso format)를 마운트 하는 방법

gundal님의 글
solaris에서 iso이미지를 linux처럼 바로 mount 할 수 없다.
Linux)mount –t iso9660 –o loop iso_path mount_point

e.g.) # mount –t iso9660 –o loop /data/ora_920_1.iso /mnt/cdrom
(/data dir의 ora_920_1.iso 파일을 /mnt/cdrom에 cd-image로 mount)
Solaris)mount –F hsfs –o ro /data/ora_920_1.iso /mnt

오류: /data/ora_920_1.iso는 블록장치가 아닙니다.
즉, solaris에서는 device type이 블록장치가 아니면 자체로 mount 대상에 포함되지 않으므로 다음과 같은 선 조치가 필요.
#lofiadm –a /data/ora_920_1.iso /dev/lofi/1 (iso파일의 가상 블록장치명 생성)

생성된 블록장치로 mount

#mount –F hsfs –o ro /dev/lofi/1 /mnt
혹은

#mount –F hsfs –o ro `lofiadm –a /data/ora_920_1.iso` /mnt

Continue reading

NFS에 관해 혼자서 정리해 봤다….

gundal님의 글…

 

NFS Server/Client 요약

1. NFS Server 구성요소.

1) 설정파일 및 필요한 파일

– /etc/dfs/dfstab : NFS로 공유할 Directory 및 mount 될 option설정
(/etc/init.d/nfs.server 스크립트가 읽어서 이 내용대로 NFS 공유.)
-/etc/init.d/nfs.server : /etc/dfs/dfstab을 참조 /usr/lib/nfs/nfsd를 구동하는 start script
-/etc/dfs/sharetab : 현재 공유설정 해 놓은 file/directory 목록

– /etc/rmtab : 현재 원격으로 mount되어 있는 file/directory 및 client목록
-/etc/dfs/fstypes : mount할 파일시스템의 type을 명시해 놓은 파일(default: nfs)
-/etc/nfs/nfslog.conf : NFS log daemon 설정 파일
구성daemon 및 파일
-/usr/lib/nfs/nfsd : 실제 NFS 서버 데몬. Client의 mount요청을 주시하다가 요청이 발생하면 /etc/dfs/dfstab의 내용에 따라 파일시스템을 공유하도록 mount시켜줌.

– /usr/lib/nfs/mountd : NFS client의 공유(mount)요청에 대해 공유자원의 file handle을 넘겨주는 역할을 하는 데몬.( client에게 공유목록의 i-node 등을 전달.)
-/etc/default/nfslogd : NFS log 데몬.

* /usr/lib/nfs/statd : /etc/init.d/nfs.client script에 의해 구동되며
* /usr/lib/nfs/lockd : 서버와 클라이언트 양쪽모두 구동됨

2. NFS Client 구성요소.
1) 설정파일 및 필요한 파일
-/etc/vfstab : 원격으로 mount할 host:dir_path, mount point, fs type, option을 명시한다.
-/etc/init.d/nfs.client : /etc/vfstab을 참조하여 mountall (NFS resource mount)실행. 이 스크립트가 실행되면 /usr/lib/nfs/statd, /usr/lib/nfs/lockd 가 실행된다.
-/etc/mnttab : 현재 mount된 파일시스템정보를 담고있는 파일(local, remote)
-/etc/dfs/fstypes : mount할 파일시스템의 type을 명시해 놓은 파일(default: nfs)
-/usr/sbin/mount : local 혹은 remote 파일시스템을 mount(/etc/vfstab을 참조.)
2) 구성daemon 및 파일
-/etc/dfs/sharetab : 현재 공유설정 해 놓은 file/directory 목록
-/etc/rmtab : 현재 원격으로 mount되어 있는 file/directory 및 client목록
-/etc/dfs/fstypes : mount할 파일시스템의 type을 명시해 놓은 파일(default: nfs)
-/usr/lib/nfs/statd : 원격으로 mount할 파일시스템의 상태를 감지하는 daemon으로 원격NFS서버에 공유자원에 문제가 생기면 네트워크 연결을 재 시도함.
-/usr/lib/nfs/lockd : NFS서버가 client들에게 공유자원의 사용여부를 통보하는데 이 daemon은 서버가 주는 정보에 의거하여 원격공유자원에 읽기/쓰기를 관리한다.
3. NFS 사용 설명

1) Server side
/etc/dfs/dfstab 파일에 NFS 공유자원을 설정한다.

Ex) # vi /etc/dfs/dfstab

# share [-F fstype] [ -o options] [-d] [pathname] [resource]

# .e.g,

# share -F nfs -o rw=engineering -d “home dirs”‘ /export/home2

share -F nfs /work3/gundal

share -F nfs /work2

share -F nfs /work1

/work3/gundal, /work2, /work1 디렉토리를 원격에서 mount하도록 허용.

option을 지정할 수 있다. ( -o )

root=client : client로 지정된 시스템의 root user는 이 디렉토리에 대해 superuser권한을 갖는다.

rw=acces_list : read/write 옵션으로 access_list에 명시된 client들이 mount가능.

ro=access_list : read only 옵션으로 access_list에 명시된 client들이 mount가능.

access_list 구성 : client들을 구분자 ‘:’를 이용하여 명시한다.

Ex) share -F nfs -o rw=client1:client2:clinet3:… directory

IP주소로 client를 명시할 경우 ‘@’를 앞에 붙인다.

Ex) share -F nfs -o ro=@211.176.132.18:@211.176.132.20:…. directory

도메인으로 명시할 경우 앞에 ‘.’을 붙인다.

Ex) share -F nfs -o ro=.gfs.com:.boxcorea.com:…. Directory

/usr/sbin/share command로 확인해 본다.

# /usr/sbin/share -F nfs [ ?o option_list ] directory

에러 메시지가 없으면 설정에 문제가 없다.

공유가 되어 있는지 확인.

# /usr/sbin/share

– 공유되어 있는 항목을 보여준다.

공유를 제거한 후 /etc/init.d/nfs.server start 실행

# /usr/sbin/unshare directory

# /etc/init.d/nfs.server start

공유 및 서버데몬 확인

# ps ?e | grep nfs

/usr/lib/nfs/statd

/usr/lib/nfs/lockd

/usr/lib/nfs/mountd

/usr/lib/nfs/nfsd ?a 16

위 4개의 daemon이 실행 중이면 서버측 설정 및 작동은 정상임.

2) Client side

(1)서버의 공유자원을 확인.

# /usr/lib/nfs/dfshare [host-name]

-공유되어있는 directory 또는 자원들을 list한다.

(2)/usr/sbin/mount 명령으로 mount 해본다.

# /usr/sbin/mount ?F nfs [ -o option_list ] [host-name:/공유directory ]

– mount 되거나 mount를 기다리고 있으면 일단 정상적인 nfs공유 가능.

(3)booting시 자동으로 NFS mount하도록 하기 위해 /etc/vfstab을 수정
# vi /etc/vfstab

host-name:/directory – mount-point nfs – yes [bg,soft][fg,hard]

※ option 중 [bg|fg],[soft|hard],[intr|nointr]

booting시 첫번째 mount 실패시…

bg :background로 mount 계속 시도

fg : foreground로 mount 계속 시도.(default)

Soft : 에러 메시지를 출력하고 booting process 진행

Hard : timeo(timeout) 에 명시한 시간이 경과할 때까지 계속시도.(default)

intr : keyboard로 mount process를 중단 가능.(default)

nointr : keyboard로 mount process 중단 불가.

timeo=n : 1?10초 단위로 timeout 값을 지정.(default UDP:11, TCP:600)

retry=n : 재시도 횟수지정 (default:10,000)

(4) 수동으로 mount시 # /usr/sbin/mountall -r

-r : vfstab의 설정 중 remote resour만 mount

Sun box의 호스트아이디 바꾸기…

Let’s assume the MAC address you want to program is 8:0:20:aa:bb:cc and the hostid is 80aabbcc. Note: MAC and hostid don’t have to correspond.

at the ok prompt:

ok> 0 0 mkp
ok> 8 0 20 aa bb cc 80aabbcc mkpl
ok> ^d ^r (control+d, control+r)

(if 0 0 mkp fails, try 1 1 mkp, or 2 2 mkp)

오늘 아침에 해봤음..

솔라리스 2.5.1에서 FIFO 에러

>Quick question: we’ve got our first PCI-based Sun, a brand new Ultra 5, just
>put Solaris 2.5.1 HW 11/97 and pretty recent recommended patches on it. A
>couple of times during the installation, and lots of times once we start X, we
>notice the following message appear in the console:
>
>NOTICE: m64: fifo error, bus_reg=7b23a040

Several people have told me incredibly quickly that I need Sun patch 103792-18
or later on 2.5.1, or 105362-18 or later on 2.6. A couple of people wondered
if 2.5.1 ran properly on the Ultra 5 – yes it does. I’ve grabbed the absolute
latest 103792-20 and installed that. I rebooted the machine and the message
goes away.

솔라리스 낮은버젼에서 ultra10 440MHz CPU를 썼을때 FIFO에러가 나는 모양이다.

위에것은 구글에서 찾은것인데..
패치하면 해결된다는 내용인것 같네.

GF시스템에 문의 한 결과.
solaris7 environmentCD를 넣고 부팅한후, 설치할 OS를 선택하면 된다고..

실제로는 안해봐서 모르겠다.

15″ LCD를 Sun Ultra10에 붙이기…

ultra10에 woody를 설치해보려고 집에 가져갔다.
문제는 집에있는 모니터..
15″ LCD인데 화면이 안나오는게 문제.

기억을 더듬어서,
아무것도 안보이는 화면을 향해서

set-defaults
setenv output-device screen 1024×768 60
이렇게 쳐 넣고
reset

여전히 안보임…

결국 CRT붙여서 해봤더니..
기억을 제대로 못하고 있었던게 문제다.

올바른 방법은
setenv output-device screen:r1024x768 at 60

기억력의 한계…..

core 화일 관련 명령어…

core화일이 생겼을경우…

pstack core ==> core화일이 만들어질 당시 프로세스의 스택 정보 확인..

pflags core ==> core화일이 만들어질 당시 프로세스에 전달된 시그널 확인.

기타 coreadm 명령어를 참조..

=====================================
ex)
# pstack core
core ‘core’ of 11632: ./chklastlog -f /var/adm/wtmpx
ff3905e8 memcpy (3, ffbffec4, ffbffed4, 21db0, 0, 0) + 10c
000109b8 _start (0, 0, 0, 0, 0, 0) + 5c

# pflags core
core ‘core’ of 11632: ./chklastlog -f /var/adm/wtmpx
data model = _ILP32
/1: flags = PR_PCINVAL
sigmask = 0xffffbefc,0x00003fff cursig = SIGSEGV

솔라리스9에서 APM설치할때..

dk님의 글

솔라리스9에 APM설치하면서 궁금한게 생겼습니다.
예전에.. IpFilter 설치할때.. gcc는 32비트로 컴파일되기 때문에..
egcs라는 64비트 컴파일러로 했잖아요… (실제로 설치는 패키지로 했지만.. ㅋㅋ ^^;;)
MySQL이랑.. Apache, PHP도 보통 gcc로 컴파일하는데..
문제 없이 돌아가잖아요..
무슨 차이가 있을까요??
APM도 egcs로 컴파일 하는 게 맞는거 아닐까요??

그리고.. 솔라리스9에서 APM 설치하는거 깔끔하게 정리되면.. 올릴께용~~
아참.. 오늘 OpenBSD 3.3 i386 버전으로 방화벽 구축했습니다.. ㅋㅋ
룰셋은 IpFilter하고 똑 같네요.. ㅋㅋ
지금 셋팅하고 있는 솔라리스가 그 방화벽 안단에 있습니다.. ㅋㅋㅋ

계속 에러발생~~ T.T

dk님의 글

# gcc -v 하면..
——————
theone% gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/specs
Configured with: ../configure –with-as=/usr/ccs/bin/as –with-ld=/usr/ccs/bin/ld –disable-nls –disable-libgcj –enable-languages=c,c++ : (reconfigured) ../configure –with-as=/usr/ccs/bin/as –with-ld=/usr/ccs/bin/ld –disable-nls –disable-libgcj –enable-languages=c,c++
Thread model: posix
gcc version 3.3.2
——————
gcc 컴파일 configure를 보면 –with-as=/usr/ccs/bin/as 이것 때문에 계속 에러가 나네요..
as가 설치되지 않았습니다. ㅋㅋㅋ 웁쓰..

리눅스에선 아래 처럼 특정 파일이 어느 패키지의 일부분인지 알 수 있잖아요..
——————
>> 특정 파일이 어떤 패키지의 일부분인지 파악하고 싶을때
# rpm -qf /etc/passwd
setup-2.5.25-1
——————

솔라리스에서도 이런 검색이 가능한지요… 궁금합니다.. ㅋㅋㅋ
이런식으로 확인해서 그 패키지를 설치하면.. 문제를 해결 할 수 있을것 같습니다.

================================================

Anonymous | 월, 04/19/2004 – 03:26

패키지 관련된 것중 자세하게 리스트를 보는것은 잘 모르겠고,
아래처럼 해보면, 어느 패키지에 있는건지는 알 수 있는데….
정확한 답은 아닌듯 하네요.

# pkgchk -l -p /usr/ccs/bin/as
Pathname: /usr/ccs/bin/as
Type: regular file
Expected mode: 0755
Expected owner: root
Expected group: bin
Expected file size (bytes): 372408
Expected sum(1) of contents: 2332
Expected last modification: Nov 20 04:18:54 2001
Referenced by the following packages:
SUNWsprot
Current status: installed

solaris 9에서 sendmail access설정하기

solaris9의 sendmail의 기본 설정에서는 access화일에 스패머를 등록해도 동작하지 않는다.
다음과 같은 작업을 해줘서 받는 메일을 거부할 수 있도록 했다.

먼저,

cp /usr/lib/mail/cf/main.mc new.mc

new.mc 에 다음의 내용을 추가한다.
divert(0)dnl
VERSIONID(`@(#)main.mc 1.5 (Sun) 08/10/00′)
OSTYPE(`solaris8′)dnl
DOMAIN(`solaris-generic’)dnl
define(`DATABASE_MAP_TYPE’, `dbm’)
FEATURE(`access_db’)

MAILER(`local’)dnl
MAILER(`smtp’)dnl

위 화일로 cf화일을 생성한다.
/usr/ccs/bin/m4 ../m4/cf.m4 new.mc > new.cf

생성한 new.cf화일을
/etc/mail/sendmail.cf로 대체한다. 물론, 기존 화일은 백업을 해두는 것이 좋겠지.

마지막으로
/etc/mail/access화일을 편집한다

xxx@xxx.com REJECT
이처럼 하고

makemap dbm /etc/mail/access

solaris부팅시 samba서버 올리기…

스크립트를 만든다.
/etc/rc2.d/S83samba

스크립트 내용…
==========================
case “$1” in
start)
[ -f /usr/local/samba/lib/smb.conf ] || exit 0

/usr/local/samba/bin/smbd -D
/usr/local/samba/bin/nmbd -D
;;
stop)
pkill smbd
pkill nmbd
;;
*)
echo “Usage: $0 { start | stop }”
exit 1
;;
esac
exit 0
=============================