[스크랩] CPU 와 Memory Error...

Posted 2009. 1. 22. 20:29

[출처] [펌]Solaris CPU와 메모리 이벤트 관련|작성자 대충쏜다



Solaris device간 통신을 할 경우 data의 정합성을 보장하기 위해

Data 전송 시 parity 값을 같이 전송하며 만약 data를 받을 때 정합성에

문제가 있을 경우 parity를 이용해 data를 보정한다.

 

일반적인 반도체 소자의 경우 일정량의 전자파 방출이 있으며 특정 환경에서(온도,습도 비적정 및 다른장비 에서 발생되는 전자파의 간섭이 있을경우)

전자파 방출량이 많아지게 되는 현상이 발생하면서 bit 오류를 발생 시키는 경우가 있다.

 

위에서 처럼 parity data를 보정 가능할 경우를 CE(correctable Error)라 하며

word double bit오류가 발생하여 data 보정이 불가능 할 경우를 UE(Uncorrectable Error)

하며 UE의 경우 hardware error로 간주하여 해당 part를 교체 해야한다.

 

다는 vendor의 제품들과 같이 Sun system memory의 경우 ECC(Error check & correct) 기능이

있는 memory를 사용하며 CPU scrubber 기능을 두어 CE UE error control한다.

 

CE error error fix한후 messages에 정상적으로 device가 동작했음을 알려주는

notice를 나타내며 UE의 경우 hardware error로 해당 device down시키거나 system reset

가해 지게 된다.

 

그러나 CE error가 동일 part에 대해서 계속적으로 발생할 경우는 hardware적인 오류가 있을수

있으므로 해당 part를 교체해 주어야 한다.

 

 

 

3.Messages file 분석법

 

 

1) Memory CE Error관련(eprjdb2 분석)

May 22 11:09:50 eprjdb2 SUNW,UltraSPARC-II: [ID 362078 kern.info] [AFT0] Corrected Memory Error

 detected by CPU11, errID 0x001dd49c.d54e5a7b

May 22 11:09:50 eprjdb2 SUNW,UltraSPARC-II: [ID 589262 kern.info] [AFT0] errID 0x001dd49c.d54e5

a7b Corrected Memory Error on Board 5 J3101 is Persistent

 

CE error의 경우 위의 sample에서 처럼 다음과 같은 3가지 type message display된다.
 
"Intermittent"  : data에 오류가 있어 다시 해당 word read할시 error가 없는 경우로
memory module 교체는 필요 없다.
 
"Persistent"   : data에 오류가 있어 다시 해당 word read할시 또 오류가 있는 경우로
memory scrub operation으로 해당 bit fix를 수정한 경우로
 module에서 계속적인 error(24시간내 4번 이상) 없을 경우 memory 교체는
 필요 없다.
 "Sticky"-     persistent error bit를 수정한 이후에도 error fix되지 않는 경우로 
 error가 발생하면 즉시 memory를 교체해 주어야 한다.
 

eprjdb2의 경우는 persistent로 만약 24시간내 동일 장애가 4회 이상 발생하지 않을시

memory교체는 필요 없으며 추후 동일 장애가 발생하는지 monitoring이 필요하다.

 

 

 

2) CPU CE error 관련(zoisite 분석)

May 24 04:01:38 zoisite SUNW,UltraSPARC-II: [ID 359263 kern.info] [AFT2] E$Data (0x20):

 0x00000000.00000000

May 24 04:01:38 zoisite SUNW,UltraSPARC-II: [ID 359263 kern.info] [AFT2] E$Data (0x30):

 0x00000000.00000000

May 24 04:01:38 zoisite SUNW,UltraSPARC-II: [ID 522370 kern.info] NOTICE: [AFT2] errID

0x00048964.88b46551 CBI event on CPU15

May 24 04:01:38 zoisite SUNW,UltraSPARC-II: [ID 147036 kern.info] [AFT2] errID 0x000489

64.88b46551 PA=0x00000000.007bd600

 

 

Memory의 경우 12시간에 최소 한번 이상의 scrubber가 동작하여 모든 memory scan하여

정합성 여부를 test하나 CPU memory bit점검과 비슷한 방식으로 정합성 test는 하지만

초당 최소 한번 이상의 scrubber가 동작 하면서 Ecache memory를 점검한다.

이경우 single bit오류가 발생했을시 다음과 같은 CBI/CBB/DBI/DBB형태로 message

표출하며 만약 double bit오류가 발생할 시에는 UE error로 시스템이 reset되게 된다.

 

clean_bad_idle : CBI event  à해당 data를 사용치 않으나 bad로 판명되어 re-read error
                             없는 경우
clean_bad_busy : CBB event à해당 data를 사용하지만 bad로 판명되어 re-read error 없는경우
dirty_bad_idle : DBI event à해당 data를 사용치 않으나 bad로 판명되어 bit 수정

dirty_bad_busy : DBB event à 해당 data를 사용하지만 bad로 판명되어 bit 수정

 
위의 zoisite 경우 cpu 15번의 CBI event ecach bit 오류가 있었으나 re-read 
error가 없는 경우로 이는 단순 scrubber가 정상적으로 동작 했음을 나타내는 message
cpu 교체는 필요 없다.
 

3) CPU UE error 관련

WARNING: [AFT1] EDP event on CPU1 Instruction access at TL=0, errID

0x0000ad88.6cd9989f

         AFSR 0x00000000.80408000<PRIV,EDP> AFAR 0x00000000.0f0c8080

         AFSR.PSYND 0x8000(Score 95) AFSR.ETS 0x00 FAULT_PC 0x780b481c

         UDBH 0x0000 UDBH.ESYND 0x00 UDBL 0x0000 UDBL.ESYND 0x00

 

CPU UE error는 다음과 같은 방식으로 display 되며

message display될 경우는 해당 cpu를 교체 해야 한다.

 

EDP(Ecache Data Parity Event)

  CPU Ecache Data SRAM(cpu 상에 있는 cache memory 이름)

으로부터 Data Reading할시 parity error가 발생한경우 발생

 

WP(Write Back Data Parity Error)

  CPU Ecache로부터 main memorydata written back될시에

  Cpu상의 UDB(Ultra Data Buffer) chip에서 parity error를 발생할시

 

CP(Copy Out Data Parity Error)

  특정 cpu로부터 다른 cpu ecache data copy할시 parity error 발생

 

 

-CPU관련 error messages설명

 

Cpu error발생시 시스템 console이나 /var/adm/messages ,core file등에

다음과 같은 message가 출력되며 type별로 설명하면 다음과 같다.

 

 

Category 1: Messages that identify the type and source of an error

 ------------------------------------------------------------------

 

       WARNING: [AFT1] EDP event on CPU1 Instruction access at TL=0, errID

0x0000ad88.6cd9989f

         AFSR 0x00000000.80408000<PRIV,EDP> AFAR 0x00000000.0f0c8080

         AFSR.PSYND 0x8000(Score 95) AFSR.ETS 0x00 FAULT_PC 0x780b481c

         UDBH 0x0000 UDBH.ESYND 0x00 UDBL 0x0000 UDBL.ESYND 0x00

 

       [Score 95] data parity error가 발생할시 Error 원인을 제공한 cpu는 확률방식으로

                checking하게 되며 50이상으로 표시되는cpu fault임을 뜻한다.

                위의 sample의 경우 score 95인 경우이므로 cpu1 hardware 오류가

                있음을 뜻한다.

 

 

Category 2: Messages that supply a cache line or memory dump

   ------------------------------------------------------------

     [AFT2] errID 0x0000ad88.6cd9989f PA 0x00000000.0f0c8080 E$tag

0x00000000.0bc001e1 E$State: Modified E$parity 0x05

      [AFT2] E$Data (0x00): 0xffffffff.beefface *Bad* PSYND=0x8000

      [AFT2] E$Data (0x08): 0x00000000.00000000

      [AFT2] E$Data (0x10): 0x6d656d6d.6f727920

      [AFT2] E$Data (0x18): 0x6572726f.7220696e

      [AFT2] E$Data (0x20): 0x6a656374.6f720000

      [AFT2] E$Data (0x28): 0x6d656d74.65737420

      [AFT2] E$Data (0x30): 0x6d757465.780059f8

      [AFT2] E$Data (0x38): 0x00000300.00c11000

      [AFT2] Event PA displayed in AFAR was derived from E$Tag

 

      [AFT2] 추후 분석을 위한 cache memory,main memory dump를 뜻하는 표시어

 

Category 3: Messages from the kernel error recovery code

   --------------------------------------------------------

      [AFT3] errID 0x00000058.0d0dc830 Above Error detected by protected Kernel code

          that will try to clear error from system

 

      [AFT3] error발생시 kernel상에서 detect code display하는 표시어

 



Solaris 서버정보 확인 명령어

1. 솔라리스 버전 및 업데이트 번호
[SOLARIS:/]cat /etc/release
                     Solaris 8 HW 7/03 s28s_hw3wos_05a SPARC
           Copyright 2003 Sun Microsystems, Inc.  All Rights Reserved.
                             Assembled 11 June 2003


2. 서버의 모델 출력
[SOLARIS:/]prtconf -vp | grep banner-name
    banner-name:  'Sun Fire V240'


3. 서버 정보
[SOLARIS:/]uname -a
SunOS SOLARIS 5.8 Generic_108528-22 sun4u sparc SUNW,Sun-Fire-V240
   ⓐ          ⓑ      ⓒ             ⓓ               ⓔ       ⓕ      ⓖ            ⓗ
ⓐ System(OS)
ⓑ Hostname
ⓒ Release
ⓓ Kernel Version(ID)
ⓔ Kernel architecture(그외 i86pc, sun4m, sun4c 등)
ⓕ Application architecture(그외 sparc, i386, i686등
ⓖ Maker?
ⓗ Banner

-a 옵션이 아닌 -X 옵션으로 좀더 쉽게 볼 수 있으며 비슷한 명령어로는 showrev명령어가 있습니다.

[SOLARIS:/]showrev
Hostname: SOLARIS
Hostid: 838e1e19
Release: 5.8
Kernel architecture: sun4u
Application architecture: sparc
Hardware provider: Sun_Microsystems
Domain:
Kernel version: SunOS 5.8 Generic 108528-22 May 2003

일반적으로 uname -v 명령어를 통해 설치된 Kernel에 적용된 최신 패치를 보여 주며
uname -srv 명령어를 통해 OS와 Kernel을 같이 본다. 하지만 좀더 자세한 정보를 원한다면
showrev -p 명영어를 통해 좀더 자세한 정보를 확인할 수 있습니다.

[SOLARIS:/]showrev -p | more
Patch: 109879-02 Obsoletes: 109654-02 Requires: 109877-01 Incompatibles:  Packages: SUNWcarx, SUNWcsr

패치가 많이 이루어 졌다면 상당량의 라인이 지나갈 것입니다. 때문에 more명령을 같이 넣어주면 확인하는대 불편함이 없을 것입니다.
Patch: 109879-02는 이 패치로 인해 109654-02 패치가 쓸모없어 제거 됬으며, 이 패치를 설치하기 위한 선행 패치로 109877-01이 설치되어야 하며, 관련 패키지는 SUNWcarx와 SUNWcsr이 있다는 것을 의미 한다.


4. 장착(monut)된 Disk(갯수) 확인
[SOLARIS:/]iostat -nE
c1t0d0          Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: FUJITSU  Product: MAP3367N SUN36G  Revision: 0401 Serial No: 00N0BPPN    
Size: 36.42GB <36418595328 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0
>>
c1t1d0          Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: SEAGATE  Product: ST336607LSUN36G  Revision: 0307 Serial No: 3JA65ZTV00007349
Size: 36.42GB <36418595328 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0

보기 쉽게 중간에 공백을 넣어 놓았습니다. 실제로 명령어를 입력했을때
는 공백이 존재하지 않습니다.

c1t0d0(FUJITSU)와 c1t1d0(SEAGATE) Disk, 이렇게 두게의 Disk가 보입니다.
df -k 명령어로 용량을 확인해 봐도 Filesystem부분에

[SOLARIS:/]df -k
Filesystem                  kbytes      used      avail capacity  Mounted on
/dev/dsk/c1t0d0s0      1016122    222789    732366    24%    /
/dev/dsk/c1t0d0s4      1016122    719173   235982    76%     /usr
/dev/dsk/c1t0d0s1       492872    173737    269848    40%    /var
/dev/dsk/c1t0d0s6    30879855     91478 30479579      1%    /backup
/dev/dsk/c1t0d0s5       492872    175590    267995    40%    /tmp
/dev/dsk/c1t1d0s6    35009161 30749312  3909758     89%    /home1

총 6개의 파티션으로 나뉜 두게의 Disk가 보입니다.
/dev/dsk/c1t0d0s[04165], /dev/dsk/c1t1d0s6

※ 참고
솔라리스는 장착된 디스크에 대한 물리적인 정보를 ‘devices.....’라는 디렉토리에 보관한 후 솔라리스가 실제 사용하는 이름으로 링크하는데 앞의 예제가 바로 그것이다. 이때 솔라리스는 물리적인 디스크에 대한 사용 방식을 두가지로 정의한다. 디스크를 있는 그대로 사용하기 위한(raw device) 방법으로 ‘/dev/rdsk/...’에 링크를 저장하는 방법과, 디스크를 솔라리스의 파일 시스템용으로 사용하기 위해 별도의 링크를 ‘/dev/dsk/...’ 디렉토리에 저장하는 방법이 있다.
일반적으로 오라클과 같은 데이터베이스나 특정 애플리케이션은 파일 시스템과 관련없이 로 디바이스(raw device)를 사용하기 때문에 ‘/dev/rdsk/....’ 밑의 파일을 사용한다. 한편 솔라리스가 직접 제어하는 파일 시스템은 블럭 디바이스(block device)를 사용하며 ‘/dev/dsk/....’ 밑의 디스크 링크를 사용한다.
따라서 어느 쪽이나 사용자가 앞의 예제와 같이 ls 명령을 실행하면 솔라리스가 인지한 디스크의 정보를 얻을 수 있다. 앞의 예제에서 표시된 내용을 해석해보면 세개의 디스크 컨트롤러(c0,c1,c2)가 장착돼 있으며, 0번 컨트롤러에는 t1 디스크 하나, 1번 컨트롤러에는 t6 디스크 하나, 2번 컨트롤러에는 t10과 t11이라는 두개의 디스크가 연결돼, 총 4개의 디스크가 시스템에 장착돼 있다는 것을 알 수 있다.

참고 사이트 : http://blog.naver.com/wooya510?Redirect=Log&logNo=60008927738


5. CPU 구성 확인
[SOLARIS:/]psrinfo -v 또는
[SOLARIS:/]/usr/sbin/psrinfo -v
Status of processor 0 as of: 11/07/08 14:46:54
  Processor has been on-line since 10/15/08 21:30:42.
  The sparcv9 processor operates at 1002 MHz,
        and has a sparcv9 floating point processor.

한개의 SPARCV9 1002MHz짜리 CPU가 있음을 보여주고 있습니다.
만약 여러게 였다면 위와 같은 정보가 여러번 나오게 됩니다.
때문에 한번에 갯수만 출력하는 명령어를 친다면 다음과 같이 입력하면 됩니다.

[SOLARIS:/]psrinfo -v | grep "Status of processor" | wc -l      
       1


6. Memory Size보기
[SOLARIS:/]prtconf | grep "Memory"
Memory size: 512 Megabytes


7. CPU점유율 확인
[SOLARIS:/]prstat
   PID USERNAME    SIZE   RSS STATE  PRI NICE   TIME CPU  PROCESS/NLWP
   296            root    443M  258M   sleep   59  -20   3:00.02   5.4%        SOLARIS/17
   311            root   3464K 1600K    sleep  58    0    0:22.13   0.1%        SOLARIS/1
    70            root    3920K 2440K   sleep   31    0   0:00.00   0.1%         picld/6
  3227    SOLARIS   1584K 1216K    cpu0   58    0   0:00.00   0.0%          prstat/1
 19074   SOLARIS   6688K 2016K       run   58    0   0:00.00   0.0%         sshd/1
 27216   SOLARIS   2560K 1784K   sleep    48    0   0:00.00   0.0%         bash/1
 27211          root    6696K 2712K   sleep   38    0   0:00.00   0.0%          sshd/1
 27245          root    2560K 1784K   sleep   58    0   0:00.00   0.0%          bash/1
 19072          root    6696K 2760K   sleep   22    0   0:00.00   0.0%          sshd/1
   272           root    5272K 1328K   sleep   20    0   0:00.00   0.0%          dtlogin/4
   310           root    1840K  632K   sleep   58    0   0:00.00   0.0%          ttymon/1
   210           root    3680K 1112K   sleep   58    0   0:00.00   0.0%         vold/5
   186           root    1048K  512K   sleep   58    0   0:00.03   0.0%          utmpd/1
   163           root    2064K  968K   sleep   48    0   0:01.35   0.0%          cron/1
   159           root    4088K 1592K   sleep  59    0   0:00.00   0.0%           syslogd/11
   152           root    1824K  440K   sleep   50    0   0:00.00   0.0%          inetd/1
 19076   SOLARIS   2560K 1792K      run   48    0   0:00.00   0.0%          bash/1
   130           root    2240K  272K   sleep    5    0   0:00.00   0.0%          rpcbind/1
   178           root    4056K 1280K   sleep    0    0   0:00.06   0.0%          sshd/1
    59            root   1752K  712K   sleep   30    0   0:00.00   0.0%          syseventd/12
 27214   SOLARIS   6688K 2008K   sleep   58    0   0:00.00   0.0%         sshd/1
    68            root   2760K  920K   sleep   53    0   0:00.00   0.0%         devfsadm/7
  2790           root   9776K 8240K   sleep    0    0   0:00.06   0.0%          nvfs/1
   308           root    1864K  520K   sleep   38    0   0:00.00   0.0%         ttymon/1
   307           root    1832K  528K   sleep   59    0   0:00.00   0.0%         sac/1
     1            root     840K  264K   sleep   58    0   0:00.43   0.0%         init/1
 

Total: 26 processes, 108 lwps, load averages: 0.06, 0.10, 0.12

하지만 이렇게 입력하면 한번 출력하고 끝이기 때문에 다음과 같이 입력 합니다.

[SOLARIS:/]prstat 5 5

이렇게 입력하면 prstat 명령여를 5초에 한번씩 5번 친 효과가 나타 납니다.
즉, 5초 간격으로 총 5번 자동적으로 prstat값이 reflash됩니다.


8. 시스템 장치의 정보 확인
[SOLARIS:/]uname -i
SUNW,Sun-Fire-V240
   ⓐ             ⓑ
Maker       Banner
이를 이용해 시스템 장치의 정보를 확인 할 수 있다.

[SOLARIS:/]/usr/platform/`uname -i`/sbin/prtdiag | more
System Configuration: Sun Microsystems  sun4u Sun Fire V240
System clock frequency: 167 MHZ
Memory size: 512MB     
==================================== CPUs ====================================
                      E$          CPU     CPU       Temperature         Fan
       CPU  Freq      Size        Impl.   Mask     Die    Ambient   Speed   Unit
       ---  --------  ----------  ------  ----  --------  --------  -----   ----
     MB/P0  1002 MHz  1MB         US-IIIi  2.4       -        -   
================================= IO Devices =================================
     Bus   Freq
Brd  Type  MHz   Slot        Name                          Model
---  ----  ----  ----------  ----------------------------  --------------------
 0   pci    66           MB  pci108e,1648 (network)                          
 0   pci    66           MB  pci108e,1648 (network)                          
 0   pci    33           MB  isa/su (serial)                                 
 0   pci    33           MB  isa/su (serial)                                 
 0   pci    33           MB  pci10b9,5229 (ide)                              
 0   pci    66           MB  scsi-pci1000,21 (scsi-2)                        
 0   pci    66           MB  scsi-pci1000,21 (scsi-2)                        
 0   pci    66           MB  pci108e,1648 (network)                          
 0   pci    66           MB  pci108e,1648 (network)                          
 0   pci    33            7  isa/rmc-comm-rmc_comm (seria+                   
============================ Memory Configuration ============================
Segment Table:
-----------------------------------------------------------------------
Base Address       Size       Interleave Factor  Contains
-----------------------------------------------------------------------
0x0                512MB             1           BankIDs 0
Bank Table:
-----------------------------------------------------------
           Physical Location
ID       ControllerID  GroupID   Size       Interleave Way
-----------------------------------------------------------
0        0             0         512MB           0
Memory Module Groups:
--------------------------------------------------
ControllerID   GroupID  Labels
--------------------------------------------------
0              0        MB/P0/B0/D0,MB/P0/B0/D1
=============================== usb Devices ===============================
Name          Port#
------------  -----
keyboard        2
======== FRU Status =========
-------------------------
Fru Operational Status:
-------------------------
Location        Status  
-------------------------
MB/SC           okay
PS0             okay
HDD0            present
HDD1            present
 

 



Solaris 에서 일반 사용자로  login 후 Root로 권한을 획득을 하면 로그가 남지만 Root 로 login후 일반 사용자로 전환을 하게 되면 사용자 로그가 남지 않게 됩니다.

이를 방지하기 위해 Root 로 Telnet 원격 접속을 막아놓는게 보안상 효율적입니다.

먼저 vi 를 이용하여 수정하도록 하겠습니다.

# vi /etc/default/login

# ident "@(#)login.dfl  1.13    03/01/10 SMI"
#
# Copyright 1989-2002 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

# Set the TZ environment variable of the shell.
#
#TIMEZONE=EST5EDT

# ULIMIT sets the file size limit for the login.  Units are disk blocks.
# The default of zero means no limit.
#
#ULIMIT=0

# If CONSOLE is set, root can only login on that device.
# Comment this line out to allow remote login by root.
#
CONSOLE=/dev/console


여기서 위에 있는 CONSOLE=/dev/console 이 부분을 주석 처리하게 되면 Root 로 telnet 로그인이 가능합니다.

주석을 달게 되면 Root 로 telnet 로그인이 안되구요.

마지막으로  꼭~ inetd 를 재시작 하시는건 아시죠?  제가 작성한 글중 ProFTP 설치 부분을 보시면 아실껍니다.

그래도 일단 다시 한번 적을께요.

#ps -ef | grep inetd

    root 14383     1  0 09:55:09 ?        0:00 /usr/sbin/inetd -s

꼭~ PID를 확인

#kill -HUP 14383 를 하시면 됩니다.


Solaris 혹은 Linux 에서 파일이 지워지지 않을때 정말 당황스럽습니다.

제가 조금 알아봐 본 방법을 적어 놓도록 하겠습니다.

일단 밑을 보시면 맨밑에 q 라는 파일은 있습니다.

# ls -al
총 42
drwxr-xr-x  20 root     other        512 12월 24일  14:30 .
drwxr-xr-x  40 root     sys         1024 2008년  5월 21일 ..
drwxr-xr-x   7 root     bin          512 2008년  5월 21일 BerkeleyDB.4.2
drwxr-xr-x  13 root     other        512 2008년  5월 21일 apache
drwxr-xr-x  12 root     other        512 2008년  5월 21일 apache.org
drwxr-xr-x   2 root     bin         2048 12월 23일  09:34 bin
drwxr-xr-x  17 root     bin          512 12월 23일  09:34 doc
drwxr-xr-x   2 root     bin          512 12월 23일  09:34 etc
drwxr-xr-x   5 root     other        512 2008년  5월 21일 gd
drwxr-xr-x  10 root     bin         1024 12월 23일  09:34 include
drwxr-xr-x   2 root     bin          512 2008년  5월 21일 info
drwxr-xr-x   8 root     bin         3072 2008년  5월 21일 lib
drwxr-xr-x   4 root     bin          512 2008년  5월 21일 libexec
drwxr-xr-x   7 root     bin          512 12월 23일  09:34 man
drwxr-xr-x  12 mysql    other        512 2008년  5월 21일 mysql
drwxr-xr-x   3 root     other        512 2008년  5월 21일 php
drwxr-xr-x   2 root     bin          512 12월 23일  09:34 sbin
drwxr-xr-x  11 root     bin          512 2008년  5월 21일 share
drwxr-xr-x   9 root     bin          512 2008년  5월 21일 ssl
drwxr-xr-x   3 root     bin          512 12월 23일  10:11 var
-rw-r--r--   1 root     other       7342 12월 24일  13:43q

이 파일을 삭제 할려고 명령어를 해봤으나 파일, 디렉토리를 찾을 수 없다고 하면서 삭제 자체가 되지 않았습니다.

이때 inodefind 를 이용하여 삭제를 해보도록 하겠습니다.

# ls -lsia
총 58
     81762    2 drwxr-xr-x  20 root     other        512 12월 24일  13:43 .
         2    2 drwxr-xr-x  40 root     sys         1024 2008년  5월 21일 ..
    118423    2 drwxr-xr-x   7 root     bin          512 2008년  5월 21일 BerkeleyDB.4.2
    138503    2 drwxr-xr-x  13 root     other        512 2008년  5월 21일 apache
    137868    2 drwxr-xr-x  12 root     other        512 2008년  5월 21일 apache.org
     83214    4 drwxr-xr-x   2 root     bin         2048 12월 23일  09:34 bin
     96251    2 drwxr-xr-x  17 root     bin          512 12월 23일  09:34 doc
    150275    2 drwxr-xr-x   2 root     bin          512 12월 23일  09:34 etc
    150077    2 drwxr-xr-x   5 root     other        512 2008년  5월 21일 gd
     96280    2 drwxr-xr-x  10 root     bin         1024 12월 23일  09:34 include
    111766    2 drwxr-xr-x   2 root     bin          512 2008년  5월 21일 info
    111773    6 drwxr-xr-x   8 root     bin         3072 2008년  5월 21일 lib
    111882    2 drwxr-xr-x   4 root     bin          512 2008년  5월 21일 libexec
    111894    2 drwxr-xr-x   7 root     bin          512 12월 23일  09:34 man
    133553    2 drwxr-xr-x  12 mysql    other        512 2008년  5월 21일 mysql
    137869    2 drwxr-xr-x   3 root     other        512 2008년  5월 21일 php
    150337    2 drwxr-xr-x   2 root     bin          512 12월 23일  09:34 sbin
    111905    2 drwxr-xr-x  11 root     bin          512 2008년  5월 21일 share
    126905    2 drwxr-xr-x   9 root     bin          512 2008년  5월 21일 ssl
    155488    2 drwxr-xr-x   3 root     bin          512 12월 23일  10:11 var
     83314   16 -rw-r--r--   1 root     other       7342 12월 24일  13:43q

여기서 삭제할 파일의 inode 가 83314 인걸 알 수 있습니다.

이젠 find 명령어를 이용하여 삭제하겠습니다.

# find . -inum 83314 -exec rm {} \;   or     # find . -inum 83314 -exec rm -rf {} \;


밑의 명령어의 경우는 혹시 이런 파일들이 크래커의 해킹에 이용하는 파일이 될 가능성이 있기 때문에 일단 파일을 볼 수 있도록 정상파일로 수정하는 방법 입니다.

# find . -inum 83314 -exec mv {} filename \; 


이제 파일이 제대로 삭제 되었는지 확인을 하겠습니다.

# ls -al
총 42
drwxr-xr-x  20 root     other        512 12월 24일  14:30 .
drwxr-xr-x  40 root     sys         1024 2008년  5월 21일 ..
drwxr-xr-x   7 root     bin          512 2008년  5월 21일 BerkeleyDB.4.2
drwxr-xr-x  13 root     other        512 2008년  5월 21일 apache
drwxr-xr-x  12 root     other        512 2008년  5월 21일 apache.org
drwxr-xr-x   2 root     bin         2048 12월 23일  09:34 bin
drwxr-xr-x  17 root     bin          512 12월 23일  09:34 doc
drwxr-xr-x   2 root     bin          512 12월 23일  09:34 etc
drwxr-xr-x   5 root     other        512 2008년  5월 21일 gd
drwxr-xr-x  10 root     bin         1024 12월 23일  09:34 include
drwxr-xr-x   2 root     bin          512 2008년  5월 21일 info
drwxr-xr-x   8 root     bin         3072 2008년  5월 21일 lib
drwxr-xr-x   4 root     bin          512 2008년  5월 21일 libexec
drwxr-xr-x   7 root     bin          512 12월 23일  09:34 man
drwxr-xr-x  12 mysql    other        512 2008년  5월 21일 mysql
drwxr-xr-x   3 root     other        512 2008년  5월 21일 php
drwxr-xr-x   2 root     bin          512 12월 23일  09:34 sbin
drwxr-xr-x  11 root     bin          512 2008년  5월 21일 share
drwxr-xr-x   9 root     bin          512 2008년  5월 21일 ssl
drwxr-xr-x   3 root     bin          512 12월 23일  10:11 var

맨밑에 있는 q 파일이 삭제된것을 알 수 있습니다.

위에서 언급하였듯이 이런 파일이 약간의 부주의(vi 사용시 많이 생김)로 인해 생기지 않고 갑자기 생겼을 경우 크래커(해킹)에 의심을 해야 하니 조심 하시길 바랍니다.


출처 : http://www.readysystem.co.kr/new/?doc=bbs/gnuboard.php&bo_table=data01_2&page=7&wr_id=94&PHPSESSID=b28a3ee886e0ff240b5f997ad844a632



▣ Shell : 쉽게 표현하면 도스의 command.com이 하는 역할처럼 login 이후부터 사용자가 입력하는 명령어를 기계어로 변역하여 커널에 전달하는 역할을 하는 명령해석기를 말합니다.


 - csh : 버클리 캘리포니아 대학에서 개발된 프로그래머들에게 적합한 shell입니다.
대화형 사용법에서는 Bourne shell과 대부분 호환되지만 전혀 다른 프로그래밍 인터페이스를 가지고 있고, 히스토리 대체라는 복잡한 기능으로 대신하고 있지만 명령행 편집 기능은 제공 하지 않습니다.


 - ksh : 일반적으로 유닉스에서 가장 많이 사용되고 있는 shell이며 Bourne shell에 처음으로 현대적 인 shell 기능(C shell로부터 차용한 것이다.)을 도입한 shell 입니다. Bourne shell과 호환 되고, 명령행 편집 기능을 제공합니다.

 - bash : Bourne again shell은 최초로 개발된 쉘인 Bourne shell의 변종이라 할 수 있습니다.리눅스에서 가장 많이 사용되는 쉘이며, POSIX 호환이며 Borune shell과 호환되는 쉘로서 GNU 프로젝트에 의해 만들어지고 배포되고 있습니다. 명령행 편집 기능을 제공합니다.

* 참고 - 사용하는 시스템에서 사용가능한 shell의 종류를 알아보려면 /etc/shells라는 파일을 보시면 됩니다. 이 파일에는 서버에서 지원되는 shell의 종류가 들어있습니다.

▣ locale
  - 어떤 프로그램의 메시지가 여러가지 언어로 주어져 있는 경우 이중에 어떤 언어의 것을 출력할 것인가를 사용자가 결정할 수 있게 해주는 수단.

▣ 현재 설정 되어 있는 언어 값 확인.

(file>root)/etc# locale
LANG=ko
LC_CTYPE="ko"
LC_NUMERIC="ko"
LC_TIME="ko"
LC_COLLATE="ko"
LC_MONETARY="ko"
LC_MESSAGES="ko"
LC_ALL=
(file>root)/etc#

▣ 사용 가능한 언어 확인.
(file>solo)/etc/rc2.d% locale -a
POSIX
common
en_US.UTF-8
C
iso_8859_1
ko
ko_KR.EUC
ko.UTF-8
korean
(file>solo)/etc/rc2.d%

▣ 현재 설정 된 언어 변경. C (영어) ----> ko ( 한글)

(file>root)/# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
(file>root)/#

(file>root)/# setenv LANG ko
(file>root)/# locale
LANG=ko
LC_CTYPE="ko"
LC_NUMERIC="ko"
LC_TIME="ko"
LC_COLLATE="ko"
LC_MONETARY="ko"
LC_MESSAGES="ko"
LC_ALL=
(file>root)/#

 ######### locale 설정이 영어일 경우 ###########

(file>root)/# setenv LANG C
(file>root)/# sdf
sdf: Command not found
(file>root)/#

 ######### locale 설정이 한글일 경우 ###########

(file>root)/# sdfsda
sdfsda: 명령어가 없음
(file>root)/#

▣ shell 따른 설정 방법

 - bash

(file>root)/# bash
bash-2.03# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
bash-2.03# LANG=ko
bash-2.03# export LANG
bash-2.03# locale
LANG=ko
LC_CTYPE="ko"
LC_NUMERIC="ko"
LC_TIME="ko"
LC_COLLATE="ko"
LC_MONETARY="ko"
LC_MESSAGES="ko"
LC_ALL=
bash-2.03#

 - kcs ( korn )

# locale
LANG=ko
LC_CTYPE="ko"
LC_NUMERIC="ko"
LC_TIME="ko"
LC_COLLATE="ko"
LC_MONETARY="ko"
LC_MESSAGES="ko"
LC_ALL=
# LANG=C
# export LANG
# sdf
ksh: sdf:  not found
# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
#

 - csh

(file>root)/# locale
LANG=ko
LC_CTYPE="ko"
LC_NUMERIC="ko"
LC_TIME="ko"
LC_COLLATE="ko"
LC_MONETARY="ko"
LC_MESSAGES="ko"
LC_ALL=
(file>root)/# setenv LANG C
(file>root)/# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
(file>root)/#

▣ 언어설정....파일

(file>root)/#
(file>root)/# cd /etc
(file>root)/etc# cd default
(file>root)/etc/default# vi init
# @(#)init.dfl 1.5 99/05/26
#
# This file is /etc/default/init.  /etc/TIMEZONE is a symlink to this file.
# This file looks like a shell script, but it is not.  To maintain
# compatibility with old versions of /etc/TIMEZONE, some shell constructs
# (i.e., export commands) are allowed in this file, but are ignored.
#
# Lines of this file should be of the form VAR=value, where VAR is one of
# TZ, LANG, CMASK, or any of the LC_* environment variables.
#
TZ=ROK
CMASK=022
LANG=ko ----> 영구적인 설정. ( C )

 - 터미널 상태에서 언어 변경을 하면 현재 상태에서만 적용이 되고 터미널 종료를 하거나 시스템 재부팅이 있을 경우 언어 설정 값은 현재 /etc/default/init 에 설정 되어 있는
언어로 설정이 되거나 shell 설정 값에 따라 언어 값이 변경이 됩니다.



▣  Solaris 2.6에서 부팅을 하고 CDE 로그인.......

Solaris 2.6에서 부팅을 하고 CDE 로그인 화면에서 한글을 선택하면 한글이
모두 깨져서 나옵니다. 한글 비스무리한 것 모두 해 봤는데, 모두 깨지네요.
깨진 한글 로그인 화면 무시하고 그냥 로그인을 하면 글짜가 몽땅 다
깨져 나옵니다.
왜 그럴까요? 아시분이 있으시면 알려주세요.

OS : solaris 2.6
Application : oracle, netscape web server
 
solaris
Site Admin

--------------------------------------------------------------------------------
 
일단 로그인 하셔서 다음 명령어를 확인하세요.

$ locale

LANG=ko
LC_CTYPE="ko"
LC_NUMERIC="ko"
LC_TIME="ko"
LC_COLLATE="ko"
LC_MONETARY="ko"
LC_MESSAGES="ko"
LC_ALL=

이 값이 ko로 설정되어 있는지 확인하시고, 그렇지 않다면

root로 로그인 후 /etc/default/init 파일에 LANG=ko 로 설정 합니다.
그리고 재부팅 ...

만약 locale 명령어 수행이 올바르게 설정되어 있다면,
로긴한 사용자의 홈디렉토리의 다음파일 로그를 찾아 확인해 보시기 바랍니다.

$HOME/.dt/startlog
$HOME/.dt/errorlog





[참고]
http://blog.naver.com/lemonaroma98?Redirect=Log&logNo=60022074975



Solaris messages log(inetd, netbios)

Posted 2008. 11. 25. 14:47


inetd[292]: netbios-ns/udp: server failing (looping), service terminated

inetd[292]: netbios-ns/udp: bind: Address already in use

등과 같은 로그를 남긴다면 아래를 참고하세요~!

netbios-ns 는 포트 137를 사용하는데 삼바가 run 중이라면 삼바의 named 가 사용하고 있을겁니다.
만약 삼바를 사용하시다면 위의 메세지를 그냥 무시하시고 사용하셔야 합니다. 밑의 내용을 따라하시면 삼바가 제대로 작동이 되지 않습니다.
inetd.conf 을 찾아서(대부분 /etc/inetd.con or /etc/inetd/inetd.conf) 내용안에 netbios-ns 항목을 #으로 막아 주세요.

또한 netbios-ssn 항목도 #로막아주세요.

Solaris9 SCSI HDD 추가하기

Posted 2008. 11. 13. 11:12



Solaris9  SCSI HDD 추가하기


현재 용량이 제일 큰 3번 디스크에 Solaris9 설치되어있으며 0,1,2번 디스크를 새로 붙여 인식시키는 방법을 알려드리겠습니다.


bash-2.05# format


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <SUN4.2G cyl 3880 alt 2 hd 16 sec 135>
          /pci@1f,4000/scsi@3/sd@0,0
       1. c0t1d0 <SUN4.2G cyl 3880 alt 2 hd 16 sec 135>
          /pci@1f,4000/scsi@3/sd@1,0
       2. c0t2d0 <SUN4.2G cyl 3880 alt 2 hd 16 sec 135>
          /pci@1f,4000/scsi@3/sd@2,0
       3. c0t3d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
          /pci@1f,4000/scsi@3/sd@3,0
Specify disk (enter its number): 0


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit
format> p


PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit
partition> p

Current partition table (original):
Total disk cylinders available: 3880 + 2 (reserved cylinders)


Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       0               0         (0/0/0)          0
  1       swap    wu       0 -  485      512.58MB    (486/0/0)  1049760
  2     backup    wm       0 - 3879        4.00GB    (3880/0/0) 8380800
  3 unassigned    wm       0               0         (0/0/0)          0
  4 unassigned    wm       0               0         (0/0/0)          0
  5 unassigned    wm       0               0         (0/0/0)          0
  6 unassigned    wm       0               0         (0/0/0)          0
  7 unassigned    wm       0               0         (0/0/0)          0


위에 보시면 1번 슬라이드에 swap이 있는데 이부분을 없애 버리도록 하겠습니다.


partition> 1
Part      Tag    Flag     Cylinders        Size            Blocks
  1       swap    wu       0 -  485      512.58MB    (486/0/0)  1049760


Enter partition id tag[swap]: unassigned
Enter partition permission flags[wu]: wm
Enter new starting cyl[0]: 0
Enter partition size[1049760b, 486c, 485e, 512.58mb, 0.50gb]: 0
partition> p
Current partition table (unnamed):
Total disk cylinders available: 3880 + 2 (reserved cylinders)


Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       0               0         (0/0/0)          0
  1 unassigned    wm       0               0         (0/0/0)          0
  2     backup    wm       0 - 3879        4.00GB    (3880/0/0) 8380800
  3 unassigned    wm       0               0         (0/0/0)          0
  4 unassigned    wm       0               0         (0/0/0)          0
  5 unassigned    wm       0               0         (0/0/0)          0
  6 unassigned    wm       0               0         (0/0/0)          0
  7 unassigned    wm       0               0         (0/0/0)          0


partition> label
Ready to label disk, continue? yes


이렇게 하면 저장이 됩니다.


partition>quit


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit
format> label
Ready to label disk, continue? yes


또 다시 한번 저장


format>quit

 


이젠 각각 인식 시킬 디스크들을 solaris에서 사용할 수 있도록 format을 하겠습니다.
여기서 newfs 는 윈도우에서 format과 같은 명령어입니다.


bash-2.05# newfs /dev/dsk/c0t0d0s2
newfs: /dev/rdsk/c0t0d0s2 last mounted as /a
newfs: construct a new file system /dev/rdsk/c0t0d0s2: (y/n)? y
/dev/rdsk/c0t0d0s2:     8380800 sectors in 3880 cylinders of 16 tracks, 135 sectors
        4092.2MB in 85 cyl groups (46 c/g, 48.52MB/g, 6080 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 99536, 199040, 298544, 398048, 497552, 597056, 696560, 796064, 895568,
 7453616, 7553120, 7652624, 7752128, 7851632, 7948832, 8048336, 8147840,
 8247344, 8346848,

bash-2.05# newfs /dev/dsk/c0t1d0s2
newfs: /dev/rdsk/c0t1d0s2 last mounted as /oracle
newfs: construct a new file system /dev/rdsk/c0t1d0s2: (y/n)? y
/dev/rdsk/c0t1d0s2:     8380800 sectors in 3880 cylinders of 16 tracks, 135 sectors
        4092.2MB in 85 cyl groups (46 c/g, 48.52MB/g, 6080 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 99536, 199040, 298544, 398048, 497552, 597056, 696560, 796064, 895568,
 7453616, 7553120, 7652624, 7752128, 7851632, 7948832, 8048336, 8147840,
 8247344, 8346848,

bash-2.05# newfs /dev/dsk/c0t2d0s2
newfs: /dev/rdsk/c0t2d0s2 last mounted as /user4
newfs: construct a new file system /dev/rdsk/c0t2d0s2: (y/n)? y
/dev/rdsk/c0t2d0s2:     8380800 sectors in 3880 cylinders of 16 tracks, 135 sectors
        4092.2MB in 85 cyl groups (46 c/g, 48.52MB/g, 6080 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 99536, 199040, 298544, 398048, 497552, 597056, 696560, 796064, 895568,
 7453616, 7553120, 7652624, 7752128, 7851632, 7948832, 8048336, 8147840,
 8247344, 8346848,
bash-2.05#



이젠 mount 시킬 디렉토리를  / 에 만들겠습니다.


bash-2.05# mkdir new1
bash-2.05# mkdir new2
bash-2.05# mkdir new3
bash-2.05# ls
TT_DB       etc         lost+found  new3        sbin        xfn
bin         export      mnt         nsmail      tmp
cdrom       home        net         opt         usr
dev         kernel      new1        platform    var
devices     lib         new2        proc        vol



그리고 mount를 하도록 하겠습니다.


bash-2.05# mount /dev/dsk/c0t0d0s2 /new1
bash-2.05# mount /dev/dsk/c0t1d0s2 /new2
bash-2.05# mount /dev/dsk/c0t2d0s2 /new3



mount 확인 방법은 df -h 혹은 -k 명령어 입니다.

bash-2.05# df -h
Filesystem             size   used  avail capacity  Mounted on
/dev/dsk/c0t3d0s0      3.7G   2.0G   1.7G    54%    /
/proc                    0K     0K     0K     0%    /proc
mnttab                   0K     0K     0K     0%    /etc/mnttab
fd                       0K     0K     0K     0%    /dev/fd
swap                   1.3G    96K   1.3G     1%    /var/run
swap                   1.3G   320K   1.3G     1%    /tmp
/dev/dsk/c0t3d0s7       12G   364M    11G     4%    /export/home
/dev/dsk/c0t0d0s2      3.9G     9K   3.9G     1%    /new1
/dev/dsk/c0t1d0s2      3.9G     9K   3.9G     1%    /new2
/dev/dsk/c0t2d0s2      3.9G     9K   3.9G     1%    /new3
bash-2.05#


정상적으로 마운트 되어 있는걸 확인 할 수 있습니다.

 



마지막으로 Server가 재부팅이 되더라도 계속  mount가 되도록 설정을 하겠습니다.


bash-2.05# vi /etc/vfstab
"/etc/vfstab" 9 lines, 319 characters
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c0t3d0s1       -       -       swap    -       no      -
/dev/dsk/c0t3d0s0       /dev/rdsk/c0t3d0s0      /       ufs     1       no -
/dev/dsk/c0t3d0s7       /dev/rdsk/c0t3d0s7      /export/home    ufs     2 yes     -
swap    -       /tmp    tmpfs   -       yes     -


이렇게 되어있는걸 밑의 내용 처럼 추가 수정하시면 됩니다.



#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c0t3d0s1       -       -       swap    -       no      -
/dev/dsk/c0t3d0s0       /dev/rdsk/c0t3d0s0      /       ufs     1       no      -
/dev/dsk/c0t3d0s7       /dev/rdsk/c0t3d0s7      /export/home    ufs     2       yes -
/dev/dsk/c0t1d0s2       /dev/rdsk/c0t1d0s2      /new1   ufs     3       yes     -
/dev/dsk/c0t2d0s2       /dev/rdsk/c0t2d0s2      /new2   ufs     4       yes     -
/dev/dsk/c0t3d0s2       /dev/rdsk/c0t3d0s2      /new3   ufs     5       yes     -
swap    -       /tmp    tmpfs   -       yes     -



그리고 마지막으로 mount 명령어를 한번 입력하세요.


bash-2.05# mount
/ on /dev/dsk/c0t3d0s0 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=800018 on Wed Nov 12 18:33:58 2008
/proc on /proc read/write/setuid/dev=3bc0000 on Wed Nov 12 18:33:57 2008
/etc/mnttab on mnttab read/write/setuid/dev=3c80000 on Wed Nov 12 18:33:57 2008
/dev/fd on fd read/write/setuid/dev=3cc0000 on Wed Nov 12 18:33:59 2008
/var/run on swap read/write/setuid/xattr/dev=1 on Wed Nov 12 18:34:01 2008
/tmp on swap read/write/setuid/xattr/dev=2 on Wed Nov 12 18:34:04 2008
/export/home on /dev/dsk/c0t3d0s7 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=80001f on Wed Nov 12 18:34:04 2008
/new1 on /dev/dsk/c0t0d0s2 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=800002 on Thu Nov 13 10:57:17 2008
/new2 on /dev/dsk/c0t1d0s2 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=80000a on Thu Nov 13 10:57:58 2008
/new3 on /dev/dsk/c0t2d0s2 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=800012 on Thu Nov 13 10:58:04 2008
bash-2.05#



이제 끝이 났습니다. 의문점은 댓글을 적어주시면 됩니다.

« PREV : 1 : 2 : 3 : 4 : NEXT »