블로그 이미지
OSSW(Open Source System SoftWare

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Notice

Unix / Linux에서 프로세스가 사용 중인 Socket, FD를 확인 할 때 사용하는 lsof 명령어의 사용법에 대해서 알아보자.

* 특정 프로세스가 오픈한 파일 리스트 확인 : lsof -p <PID>

- PID 112를 가진 프로세스가 사용하는 파일들 확인

# lsof -p 143

COMMAND PID USER FD TYPE DEVICE SIZE/OFF INODE NAME

inetd 143 root cwd VDIR 32,0 1024 2 /

inetd 143 root txt VREG 32,6 33492 310933 /usr/sbin/inetd

inetd 143 root txt VREG 32,6 10696 6352 /usr (/dev/dsk/c0t0d0s6)

....

....

inetd 143 root 4u inet 0x603cab38 0t0 TCP *:ftp (LISTEN)

inetd 143 root 5u inet 0x610b13c0 0t0 TCP *:telnet (LISTEN)

inetd 143 root 6u inet 0x610b1240 0t0 TCP *:pop3 (LISTEN)

......


* 특정 포트로 접속한 리스트 확인

# lsof -i @tmax.co.kr:23

COMMAND PID USER FD TYPE DEVICE SIZE/OFF INODE NAME

in.telnet 104 root 2u inet 0x612df850 0t152 TCP cert:telnet->172.16.2.159:1176

(ESTABLISHED)

in.telnet 28462 root 0u inet 0x61aee578 0t71 TCP cert:telnet->172.16.2.146:4250

(ESTABLISHED)

.....


* 특정 user가 오픈한 프로세스를 확인 : lsof -u 혹은 lsof -u

[cert:root]:/> lsof -u kong

COMMAND PID USER FD TYPE DEVICE SIZE/OFF INODE NAME

csh 21309 kong cwd VDIR 32,4 1536 223602 /user/kong/lsof_4.56

csh 21309 kong txt VREG 32,6 158608 298136 /usr/bin/csh


by 이환호

posted by lovelywas

WEB/WAS 설치 시 꼭 확인해야 하는 OS 정보들이 있다. 이를 확인하는 명령어를 정리해 보자.

[CPU]

AIX 

 lsdev -Cc processor 

HP-UX 

 ioscan -fnc processor 

SOLARIS

 psrinfo -v

LINUX

 cat /proc/cpuinfo

[메모리]

AIX

 bootinfo -r

HP-UX

 grep -i Physical /var/adm/syslog/syslog.log

SOLARIS

 Prtconf

LINUX

 free

[커널 bit]

 AIX

 bootinfo -K

 HP-UX

 getconf KERNEL_BITS

 SOLARIS

 isainfo -kv

 LINUX

 getconf WORD_BIT

[NIC 카드 정보]

 AIX

 ifconfig -a

 HP-UX

 lanscan -v

 SOLARIS

 ifconfig -a

 LINUX

 ifconfig -a

by 이환호


posted by lovelywas

Windows 시스템에서 프로세스 PID, 파라미터, 프로세스가 사용 중인 Socket 등의 정보가 필요한 경우가 있다.

이럴 경우 windows에서 기본적으로 제공해 주는 taskmgr 툴 만가지고는 부족하다 라고 느끼면 Process Explorer 툴을 사용해 보자.


다운로드 사이트 : http://technet.microsoft.com/en-us/sysinternals/bb896653 (2014.12.02 최신버전 v16.04)


1. 다운로드 받은 파일의 압축 해제

2. procexp.exe 를 실행한다.

3. Process Explorer 메인 화면 (JAVA PID 4360 확인)

4. 프로세스 리스트 중 JAVA에 마우스 커서를 두고 마우스 오른쪽 버튼 > properties > 탭메뉴 TCP/IP 선택

    프로세스의 각종 상세 정보와 해당 프로세스가 사용 중인 SOCKET의 번호를 확인할 수 있다.


 

by 이환호



posted by lovelywas




TOP 명령어는 PostgreSQL 운영자에겐 아주 유용한 명령어입니다.
TOP 명령어를 통해 시스템 리소스 사용량을 확인 할 수 있고, 어느 부분에서 문제가 발생되는지 파악이 편리합니다.


[사용법]
$ top [옵션]

[화면 내용들]
top - 14:16:52 up 4 days,  5:25,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.4%us,  0.3%sy,  0.0%ni, 97.0%id,  0.2%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8140668k total,  7900820k used,   239848k free,  3074544k buffers
Swap:  8349692k total,    13476k used,  8336216k free,  3792984k cached
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND


- 각 라인별 내용 
현재 시간, uptime (서버 uptime), 현재 로그인 유저수 , 로드 에버리지 1분 5분 15분
top - 14:16:52 up 4 days,  5:25,  3 users,  load average: 0.00, 0.01, 0.05


- 로드 에버리지(load average)
 작업의 대기시간 , 값이 1이라면 1분동안 평균 1개의  프로세스가 대기상태임을 나타낸다.
보통 5이면 서버가 부하를 받는다고 생각함, 10~15면 과부하
load average: 0.00, 0.01, 0.05

- 전체 프로세스 수 
현재 실행중인 프로세스, 유휴상태 프로세스, 정지상태 프로세스, 좀비 프로세스
Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie 

- CPU
사용자가 사용중인 CPU 사용률(us), 시스템이 사용하는 CPU 사용률(sy), NICE 정책에 의해 사용되는 CPU 사용률(ni), 사용되지 않은 CPU의 미사용률(id), 입출력 대기상태의 사용률(wa)
Cpu(s):  2.4%us,  0.3%sy,  0.0%ni, 97.0%id,  0.2%wa,  0.0%hi,  0.0%si,  0.0%st


- Memory
전체 물리적인 메모리, 사용중인 메모리(used), 사용되지 않는 여유 메모리(free), 버퍼된 메모리(buffers)
Mem:   8140668k total,  7900820k used,   239848k free,  3074544k buffers 

전체 스왑 메모리, 사용중인 스왑 메모리, 남아있는 스왑메모리, 캐싱메모리
Swap:  8349692k total,    13476k used,  8336216k free,  3792984k cached 


세부정보 필드명
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    * PID : 프로세스 ID (PID)
    * USER : 프로세스를 실행시킨 사용자 ID
    * PRI : 프로세스의 우선순위 (priority)
    * NI : NICE 값. 일의 nice value값이다. 마이너스를 가지는 nice value는 우선순위가 높음.
    * VIRT : 가상 메모리의 사용량(SWAP+RES)
    * RES : 현재 페이지가 상주하고 있는 크기(Resident Size)
    * SHR : 분할된 페이지, 프로세스에 의해 사용된 메모리를 나눈 메모리의 총합.
    * S : 프로세스의 상태 [ S(sleeping), R(running), W(swapped out process), Z(zombies) ]
    * %CPU : 프로세스가 사용하는 CPU의 사용율
    * %MEM : 프로세스가 사용하는 메모리의 사용율
    * COMMAND : 실행된 명령어
 

[명령 실행 후 사용하는 옵션들]
1 :  cpu 갯수별 사용량 보기
shift + m : 메모리 사용량이 큰 순서로 정령
shift + p : CPU 사용량이 큰 순서로 정렬
shift + t : 실행시간이 큰 순서로 정렬
k : 프로세스  kill  - k 입력 후 종료할 PID 입력 signal을 입력하라고 하면 kill signal인 9를 입력
c : 명령인자 표시/비표시
space bar : refresh
u : 입력한 유저의 프로세스만 표시 - which u




Posted by 김득은

posted by DB,MW,OS OSSW(Open Source System SoftWare

1. lsof 란??

 list open files 란 의미로, 말그대로 열려진 파일을 보는 명령어 이다.

 Unix,Linux 에서 시스템에서 구동되고 있는 프로세스에 의해서 열려진 파일을 확인 할수 있다.

 유닉스 계열의 OS 는 모든걸 파일로 관리 하기때문에, 소켓 및 port 도 가능하다

 

2. lsof 옵션 및 사용법

lsof --help 를 치면 아래와 같이 옵션 및 사용법을 볼수 있다. 
  usage: [ -?abChlnNOPRstUvVX ] [ -A A ] [ -c c ] [ +c c ] [ +|-d d ] [ +|-D D ] [ +|-f [cfgGn] ] 

            [ -F [f] ] [ -g [s] ] [ -i [i] ] [ -k k ] [ +|-L [l] ] [ +|-m m ] [ +|-M ] [ -o [o] ] [ -p s ] [ +|-r [t] ] 
            [ -S [t] ] [ -T [t] ] [ -u s ] [ +|-w ] [ -x [fl] ] [ -z [z] ] [ -Z [Z] ] [ -- ] [names]


    lsof 의 옵션 
        -?, -h    list help
        -a        AND selections (OR)
        -d        s select by FD set
        -D        D ?|i|b|r|u[path]
        +|-f        -files +filesys
        -l        list UID numbers
        -n        no host names
        -N        select NFS files
        -s        list file size
        -t        terse listing
        -T        disable TCP/TPI info
        -v        display version info
        -V        verbose search
        -F [f]    select fields;-F? for help
        -o o        o 0t offset digits (8)
        -S [t]    t second stat timeout(15)
        -i i        select by IPv4 address: [proto][@host|addr][:svc_list|port_list]
        +|-r [t]    repeat every t seconds (15);
                + until no files, - forever
        -b        avoid kernel blocks
        -c c        list command c
        -P        no port names
        -i        select IPv4 files
        -p s        select by PID set
        -C        no kernel name cache
        +|-w        Warnings (+)
        -R        list paRent PID
        -k k        kernelsymbols (/dev/ksyms)
        -U        select Unix socket
        -u s        exclude(^)/select login/UID s
        -m m        kernel memory (/dev/kmem)
        +|-M        portMap registration (-)
        --         end option scan
        -g [s]    select by process group ID set and print process group IDs
        names    select named files or files on named file systems 

 

3. lsof 이용방법

 

 특정 file 을 액세스 하는 프로세스 확인

 # lsof /var/log/messages
        COMMAND  PID  USER   FD   TYPE     DEVICE SIZE     NODE   NAME

        rsyslogd  17648    root  1w    REG      202,6   1263 1229982  /var/log/messages

 

  특정 디렉토리를 엑세스 하는 프로세스 확인

 # lsof /var

COMMAND     PID      USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME

dhclient   1149      root    3w   REG  202,6     1525  491525 /var/lib/dhclient/dhclient-eth0.leases

pcbind    1202       rpc    3r   REG  202,6        0 1269785 /var/run/rpcbind.lock

rpc.statd  1238   rpcuser  cwd    DIR  202,6     4096  491594 /var/lib/nfs/statd

rpc.statd  1238   rpcuser    5w   REG  202,6        5 1269788 /var/run/rpc.statd.pid

hald       1358 haldaemon  mem    REG  202,6   325120 1294337 /var/cache/hald/fdi-cache

automount  1424      root    9u  FIFO  202,6      0t0 1269796 /var/run/autofs.fifo-misc

automount  1424      root   15u  FIFO  202,6      0t0 1269797 /var/run/autofs.fifo-net

rpc.mount  1470      root  cwd    DIR  202,6     4096  491590 /var/lib/nfs

rpc.mount  1470      root    6r   REG  202,6      294  491859 /var/lib/nfs/etab

httpd      1530      root    2w   REG  202,6      245 1236995 /var/log/httpd/error_log

httpd      1530      root    7w   REG  202,6   110412 1236994 /var/log/httpd/access_log

crond      1546      root    3u   REG  202,6        5 1269802 /var/run/crond.pid

httpd     14221    apache    2w   REG  202,6      245 1236995 /var/log/httpd/error_log

httpd     14221    apache    7w   REG  202,6   110412 1236994 /var/log/httpd/access_log

httpd     14222    apache    2w   REG  202,6      245 1236995 /var/log/httpd/error_log

httpd     14222    apache    7w   REG  202,6   110412 1236994 /var/log/httpd/access_log

httpd     14223    apache    2w   REG  202,6      245 1236995 /var/log/httpd/error_log

httpd     14223    apache    7w   REG  202,6   110412 1236994 /var/log/httpd/access_log

httpd     14224    apache    2w   REG  202,6      245 1236995 /var/log/httpd/error_log

httpd     14224    apache    7w   REG  202,6   110412 1236994 /var/log/httpd/access_log

httpd     14225    apache    2w   REG  202,6      245 1236995 /var/log/httpd/error_log

httpd     14225    apache    7w   REG  202,6   110412 1236994 /var/log/httpd/access_log

httpd     14226    apache    2w   REG  202,6      245 1236995 /var/log/httpd/error_log

httpd     14226    apache    7w   REG  202,6   110412 1236994 /var/log/httpd/access_log

httpd     14228    apache    2w   REG  202,6      245 1236995 /var/log/httpd/error_log

httpd     14228    apache    7w   REG  202,6   110412 1236994 /var/log/httpd/access_log

httpd     14229    apache    2w   REG  202,6      245 1236995 /var/log/httpd/error_log

httpd     14229    apache    7w   REG  202,6   110412 1236994 /var/log/httpd/access_log

rsyslogd  17648      root    1w   REG  202,6     1263 1228892 /var/log/messages

rsyslogd  17648      root    2w   REG  202,6  4024612 1228854 /var/log/cron

rsyslogd  17648      root    4w   REG  202,6    46463 1228894 /var/log/secure

rsyslogd  17648      root    5w   REG  202,6    22173 1228880 /var/log/maillog

 

 

 

 특정 프로세스가 엑세스 하는 file 확인

  # lsof -p 17648

COMMAND    PID USER   FD   TYPE             DEVICE SIZE/OFF       NODE NAME

rsyslogd 17648 root  cwd    DIR              202,3     4096          2 /

rsyslogd 17648 root  rtd    DIR              202,3     4096          2 /

rsyslogd 17648 root  txt    REG              202,3   391968    1171619 /sbin/rsyslogd

rsyslogd 17648 root  mem    REG              202,3   156872      32775 /lib64/ld-2.12.so

rsyslogd 17648 root  DEL    REG              202,3               32862 /lib64/libz.so.1.2.3

rsyslogd 17648 root  mem    REG              202,3   145720      32836 /lib64/libpthread-2.12.so

rsyslogd 17648 root  mem    REG              202,3    22536      32843 /lib64/libdl-2.12.so

rsyslogd 17648 root  mem    REG              202,3    47064      32847 /lib64/librt-2.12.so

rsyslogd 17648 root  mem    REG              202,3    93224      32839 /lib64/libgcc_s-4.4.7-20120601.so.1

rsyslogd 17648 root  mem    REG              202,3  1922152      32820 /lib64/libc-2.12.so

rsyslogd 17648 root  mem    REG              202,3    26984      33148 /lib64/rsyslog/lmnet.so

rsyslogd 17648 root  mem    REG              202,3    65928      32797 /lib64/libnss_files-2.12.so

rsyslogd 17648 root  mem    REG              202,3   340568      33147 /lib64/rsyslog/imuxsock.so

rsyslogd 17648 root  mem    REG              202,3    27232      33141 /lib64/rsyslog/imklog.so

rsyslogd 17648 root    0u  unix 0xffff8804f2b2c080      0t0    6617655 /dev/log

rsyslogd 17648 root    1w   REG              202,6     1263    1228892 /var/log/messages

rsyslogd 17648 root    2w   REG              202,6  4026633    1228854 /var/log/cron

rsyslogd 17648 root    3r   REG                0,3        0 4026532299 /proc/kmsg

rsyslogd 17648 root    4w   REG              202,6    46463    1228894 /var/log/secure

rsyslogd 17648 root    5w   REG              202,6    22173    1228880 /var/log/maillog

  특정 포트를 사용하는 프로세스 확인

  # lsof -i TCP:22

COMMAND   PID     USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME

sshd     2038     root    3u  IPv4 335060822      0t0  TCP *:ssh (LISTEN)

sshd     2038     root    4u  IPv6 335060824      0t0  TCP *:ssh (LISTEN)

sshd    11173     root    3u  IPv4 651519037      0t0  TCP c-apm-pk1-a01.csdfcloud.internal:ssh->10.222.111.2:60892 (ESTABLISHED)

sshd    11228 82022303    3u  IPv4 651519037      0t0  TCP c-apm-pk1-a01.csdfcloud.internal:ssh->10.222.111.2:60892 (ESTABLISHED)

sshd    19482     root    3u  IPv4 650944484      0t0  TCP c-apm-pk1-a01.csdfcloud.internal:ssh->10.222.111.2:56506 (ESTABLISHED)

sshd    19484 82022303    3u  IPv4 650944484      0t0  TCP c-apm-pk1-a01.csdfcloud.internal:ssh->10.222.111.2:56506 (ESTABLISHED)

 

  특증 데몬이 사용하는 file 확인

  #lsof -c httpd

 

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF      NODE NAME

httpd    1530   root  cwd    DIR  202,3     4096         2 /

httpd    1530   root  rtd    DIR  202,3     4096         2 /

httpd    1530   root  txt    REG  202,5   354816    688396 /usr/sbin/httpd

httpd    1530   root  mem    REG  202,5     9488    213039 /usr/lib64/apr-util-1/apr_ldap-1.so

httpd    1530   root  mem    REG  202,3    65928     32797 /lib64/libnss_files-2.12.so

httpd    1530   root  mem    REG  202,5    10416    213157 /usr/lib64/httpd/modules/mod_version.so

httpd    1530   root  mem    REG  202,5    27312    213063 /usr/lib64/httpd/modules/mod_cgi.so

httpd    1530   root  mem    REG  202,5    22992    213130 /usr/lib64/httpd/modules/mod_disk_cache.so

httpd    1530   root  mem    REG  202,5    10384    213154 /usr/lib64/httpd/modules/mod_suexec.so

httpd    1530   root  mem    REG  202,5    39664    213124 /usr/lib64/httpd/modules/mod_cache.so

httpd    1530   root  mem    REG  202,5    14648    213146 /usr/lib64/httpd/modules/mod_proxy_connect.so

httpd    1530   root  mem    REG  202,5    39632    213144 /usr/lib64/httpd/modules/mod_proxy_ajp.so

httpd    1530   root  mem    REG  202,5    31472    213148 /usr/lib64/httpd/modules/mod_proxy_http.so

httpd    1530   root  mem    REG  202,5    35600    213147 /usr/lib64/httpd/modules/mod_proxy_ftp.so

httpd    1530   root  mem    REG  202,5    27160    213145 /usr/lib64/httpd/modules/mod_proxy_balancer.so

httpd    1530   root  mem    REG  202,5    85328    213143 /usr/lib64/httpd/modules/mod_proxy.so

httpd    1530   root  mem    REG  202,5    60464    213095 /usr/lib64/httpd/modules/mod_rewrite.so

 

 

4. 운영중에 특정 데몬(jboss등) 을 기동 하려고 하는데 port(5440)를 이미 다른 프로세스가 사용 중이여서 기동 할수 없다라는 메세지가 나오면 lsof 를 이용하여 해결 할수 있다.

(* lsof -i TCP:5440 )

 

 

write by 허시영

 

posted by DB,MW,OS OSSW(Open Source System SoftWare

SELinux 기능 끄기와 켜기


1) 설정파일
/etc/sysconfig/selinux 파일에 설정이 있으며

SELINUX 지시어의 값을 변경하면 된다.
켜기 : # SELINUX=enforcing
끄기 : # SELINUX=disabled 

* 참고 *
SELINUX 지시어는 enforcing,permissive,disabled 세가지가 있으며
enforcing : 보안정책을 적용시킨다는 뜻이다
permissive : enforcing시 발생하는 경고메세지를 출력하는 모드이다
disabled : 보안정책을 사용하지 않는다는 뜻이다

SELINUXTYPE 지시어는 정책 적용방싱르 나타네며 targeted, strict 두가지가 있다
targeted : 네트웍 데몬에 대해서 보안정책을 적용하는 것
strict : 시스템전체에대해 보안정책을 적용하는 것이다

 

2) 명령어
setenforce 라는 명령를 이용하여 SELinux를 켜고 끈다
setenforce의 경우 boolean 값을 갖는다.
켜기 : # setenforce 1
끄기 : # setenforce 0

3) 부팅옵션에 추가
grub.conf에 부팅옵셩을 줘서 설정할수 있다
켜기 : selinux=1
끄기 : selinux=0

 

posted by 김소령


 

'3. OS이야기/  > 01. Administration' 카테고리의 다른 글

OS TOP 카맨드 사용하기  (0) 2014.11.26
[Linux] lsof 에 대해서..  (0) 2014.10.31
SELinux 기능 끄기와 켜기  (0) 2014.10.31
dmidecode 사용법  (0) 2014.10.31
Linux version 확인 방법  (0) 2014.09.30
[Linux] 리눅스 shutdown 명령어 사용법 및 옵션  (0) 2014.09.30
posted by DB,MW,OS OSSW(Open Source System SoftWare

1. dmidecode란? 

dmidecode는 DMI테이블 내용을 읽어와서 사람이
확인할 수 있는 형태로 보여준다
즉 명령어 그대로 DMI table 을 decoding 해주는 명령어다

 

 

2. 이걸로 무얼 할 수 있나?

마더보드의 모델 시리얼, 칩셋 정도, 메모리 뱅크 정보, vender 정보 등등

BIOS에서 확인 가능한 하드웨어 정보를 OS상에서 확인할 수 있게 한다.

 

하드웨어에 문제가 생겨 필요한 파트 정보를 확인하거나 업그레이드 계획을 세울 때 유용하게 사용된다.

 

3. 설치

대부분의 linux 배포판에서는 기본적으로 설치가 되어있으며
만약 설치되어 있지 않은 경우 아래와 같이 설치 하면 된다

redhat 계열
# yum install dmidcode*
debian 계열
# apt-get install dmidcode*
suse 계열
# zypper install dmidcode*

 

4. 사용법

 

dmidecode [options]

 

옵션 -t : type을 지정하여 지정된 형태를 가져옴

-t 옵션에서 사용되는 키워드는 아래와 같다.

 

 Keyword Types
------------------------------
bios 0, 13
system 1, 12, 15, 23, 32
baseboard 2, 10, 41
chassis 3
processor 4
memory 5, 6, 16, 17
cache 7
connector 8
slot 9

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

 

옵션 -s: dmi에서 주어지는 값을 보여줌.

 

Keyword Types
------------------------------
bios-vendor
bios-version
bios-release-date
system-manufacturer
system-product-name
system-version
system-serial-number
system-uuid
baseboard-manufacturer
baseboard-product-name
baseboard-version
baseboard-serial-number
baseboard-asset-tag
chassis-manufacturer
chassis-type
chassis-version
chassis-serial-number
chassis-asset-tag
processor-family
processor-manufacturer
processor-version
processor-frequency
------------------------------

 

5. 사용예

먼저 keyword를 이용해서 보는 경우 2가지 type의 정보가 동시에 출력된다.

 

# dmidecode -t bios 

# dmidecode 2.11
SMBIOS 2.7 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: HP
Version: p66
Release Date: 07/30/2012
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 8192 kB
Characteristics:
    PCI is supported
    BIOS is upgradeable
    BIOS shadowing is allowed
    Boot from CD is supported
    Selectable boot is supported
    EDD is supported
    5.25"/1.2 MB floppy services are supported (int 13h)
    5.25"/720 kB floppy services are supported (int 13h)
    3.5"/2.88 MB floppy services are supported (int 13h)
    Print screen service is supported (int 5h)
    8042 keyboard services are supported (int 9h)
    Serial services are supported (int 14h)
    Printer services are supported (int 17h)
    ACPI is supported
    USB legacy is supported
    BIOS boot specification is supported
    Targeted content distribution is supported
Firmware Revision: 1.28

 

다음은 type을 이용하여 단위 정보를 출력한 결과이다.

 

# dmidecode -t 13

# dmidecode 2.11
SMBIOS 2.7 present.

 

# dmidecode -s system-product-name

ProLiant DL980 G7


# dmidecode -s bios-vendor

HP

 

 

6. 맺음말

dmidecode는 자주 쓰이지는 않지만 하드웨어 정보를 실사를 통하지 않더라도 알 수 있고, 파트 수급 시에 좀 더 유연히 대처할 수 있도록 한다.

하드웨어 정보가 필요할 때 유용하게 사용하도록 하자.

 

posted by 김소령
 

'3. OS이야기/  > 01. Administration' 카테고리의 다른 글

[Linux] lsof 에 대해서..  (0) 2014.10.31
SELinux 기능 끄기와 켜기  (0) 2014.10.31
dmidecode 사용법  (0) 2014.10.31
Linux version 확인 방법  (0) 2014.09.30
[Linux] 리눅스 shutdown 명령어 사용법 및 옵션  (0) 2014.09.30
sed 사용하기  (0) 2014.09.30
posted by DB,MW,OS OSSW(Open Source System SoftWare

방법1) rpm

 

# rpm -qa *-release

 

방법2) /etc/*-release

 

# ll /etc/*-release

# cat /etc/*-release | uniq

 

방법3) /etc/issue

 

# cat /etc/issue

 

*주의* 보안등의 이유로 다른 내용으로 바뀌어 있는 경우도 있다.

 

방법4) uname

 

# uname -r

# uname -a

 

방법5) /proc/version

 

# cat /proc/version

 

 

* 위 방법으로 했을 때, 상이한 버전이 2개 이상 나오는 경우 Kernel 버전 확인 후 아래 사이트에서 매칭하여 확인 한다. (Redhat 계열 리눅스 커널 버전)

참고 http://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux

 

posted by 김소령

posted by DB,MW,OS OSSW(Open Source System SoftWare

## 리눅스 종료 shutdown 명령어 ##

shutdown [옵션]  시간 [메세지]

shutdown now

 

[옵션]

-t n : n 초를 명시해서, 경고 메세지를 보낸후 nch 후에 kill 시그널을 보낸다.

-h : shutdown 시 halt를 실행하게 한다.

-r : 시스템 종료를 완료하고 나서 다시 부팅 과정을 수행한다.

-f : 리부팅시 파일 시스템 검사를 하지 않는, 빠른 리부팅을 수행한다.

-c : 이미 예약되어 있는 shutdown을 취소한다. 이옵션을 준다면 시간 옵션을 줄수 없다.

-k : 경고만 보내고 실제로 종료하지 않는다.

 

halt

지그 바로 서버를 끔

 

reboot

서버 리부팅 shutdown -r 과 동일한 명령어

 

Posted by 허시영

posted by DB,MW,OS OSSW(Open Source System SoftWare

sed란?

sed는 stream editor를 줄인 말로, 비대화형 모드의 줄 단위 에디터이다. 표준 입력 또는 파일로부터 텍스트를 입력받아 주어진 라인(행)들에 대해 한 번에 한 라인씩 어떤 처리를 한 다음, 그 결과를 표준 출력이나 파일로 보낸다.

sed는 주어진 주소 범위에 대해 입력의 어떤 줄을 처리할 것인지 결정한다.

 

sed 편집기는 적용된 내용을 출력 할 뿐 원본파일을 손상시키지 않는다. 리다이렉션을 이용하여 편집 결과를 파일로 저장하여 확인할 수 있다.  

 

연산자 

이름 

설명 

 예제

[주소범위]/p

print

[주어진 주소범위]를 출력

#sed '1,5p' test.txt

=>test.txt 파일의 1부터 5행까지 출력

[주소범위]/d

delete

[주어진 주소범위]를 삭제

#sed '6d' test.txt 

=>test.txt에서 6번째 행을 삭제

[pattern]/d 

delete 

[pattern]을 포함한 행을 삭제

#sed '/abc/d' test.txt

=>test.txt에서 abc가 포함된 행을 삭제 

s/[pattern1]/[pattern2]/

substitute  

한 라인에서 처음 나타나는 [pattern1]을 [pattern2]로 치환

#sed  's/abc/xyz/' test.txt

=>test.txt에서 abc 문자를 xyz로 치환

 

sed 사용에 유용한 정규표현식 

메타문자 

의미

예제 

설명

 ^

행의 처음 

/^hello/ 

hello로 시작하는 행

 $

행의 끝 

/hello$/ 

hello로 끝나는 행 

 .

하나의 문자와 대응 

/h...o/ 

h다음에 세 글자 오고 o로 끝나는 문자열을 포함하는 행 

 *

0개 혹은 임의의 갯수

/*hello/ 

0개 혹은 임의 갯수의 공백 문자 후에 hello로 끝나는 문자열을 포함하는 행 

 []

[]사이의 문자 집합중 하나와 대응 

/[Hh]ello/ 

Hello 또는 hello를 포함한 행 

 [^]

문자 집합에 속하지 않는 한 문자와 대응 

/[^a-g]ello/ 

a와g 사이의 범위에 포함되지 않는 한 문자와 ello가 붙어있는 문자열 

 

posted by 김소령

posted by DB,MW,OS OSSW(Open Source System SoftWare

Kill은 이벤트가 발생 했음을 프로세스에 알려 옵션에서 지정한 동작을 하게 됩니다. 

# kill -KILL(9) <pid> : 하드웨어적 종료 (가장강력)

# kill -TERM(15) <pid>: 소프트웨어적 종료 (소프트웨어에 따라 실행유무결정)

# kill -HUP(1) <pid> : 데몬의 경우 종료 후, 다시시작 (프로세스 종료가 아님, 코드 및 데이터 refresh 역할)

# kill -2 <pid> : 포그라운드에서 [ctrl] + [c] (작업취소) 를 누르는 것과 동일

# kill -3 <pid> : 포그라운드에서 [ctrl] + [\]를 누르는 것과 동일

[ctrl] + [\] : 작업취소 [ctrl] + [c]와 동일하지만 더 강력함



signal 종류 별로 signal handler 를 지정할 수 있는데 유일하게 handler 를 지정할수 없는 시그널은 SIGKILL(9), SIGSTOP(19) 두 개의 시그널입니다. 

정상적으로 작성된 프로그램이라면 종료의 의미로 사용되는 signal (INT, HUP, TERM 등)을 받으면 resource 를 정리하는 cleanup 코드를 실행하고 종료합니다. .

프로세스 종료시 kill -9 PID 를 권장하는 않는건 제대로 signal handler 를 구현한 프로그램이라도 cleanup 작업을 하지 못하고 바로 종료 될수 있습니다. 

 

이에 따라 kill -9를 실행하기 전에 먼저 kill -TERM PID 나 kill -HUP PID 같이 TERM(Termination) 나 HUP(Hangup) signal 을 사용하는 것을 권장합니다. .

위의 signal을 사용하게 되면 정상적인 프로그램은 보통 cleanup 코드를 수행하고 종료하게 되어 있습니다. 

.

Java JRE 도 TERM 이면 깨끗하게 종료되니 tomcat 이나 기타 java 관련 프로그램 종료시 KILL(9)을 먼저 보내지 말고 2~3회 정도 TERM(15) 보내는 방법을 추천합니다.. (Linux의 service 명령어도 TERM 을 보내보고 안 죽으면 KILL 을 보내게 되어 있음)


여러개의 프로세스를 종료시킬 경우 다음과 같은 awk script 를 이용해서 종료할 수 있다.

#ps -eaf Process_name | grep -v grep | awk ‘{print “kill -TERM”$2}’ | sh -x 


httpd 를 종료할 경우 다음과 같이 수행하면 된다.

#ps -eaf httpd | grep -v grep grep | awk ‘{print “kill -TERM “$2}’ | sh -x 


위의 script 를 두 세번 실행해 보고 종료가 되지 않는 process 가 있다면 SIGTERM 대신 SIGKILL 을 사용하면 됩니다. 


posted by 조경래


posted by DB,MW,OS OSSW(Open Source System SoftWare

리눅스 다량의 파일들을 전송/수신하며, 데이터의 증분치를 관리하는 rsync 설치, 설정 방법 


[rsync 서버 설정]


rsync 서버 설치 확인 

#yum info installed rsync 

or 

# rpm -qa | grep rsync 


설치가 되어 있지 않다면... 

#yum install rsync 



xinetd 패키지 확인

#yum info installed xinetd 

or 

# rpm -qa | grep xinetd


설치가 되어 있지 않다면... 

#yum install xinetd 



rsnyc 사용 설정

# vi /etc/xinetd.d/rsync

'disable = yes' 라고 되어있는 부분을 'disable = no' 로 변경한다.


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

# default: off

# description: The rsync server is a good addition to an ftp server, as it \

#       allows crc checksumming etc.

service rsync

{

        disable = no

        socket_type     = stream

        wait            = no

        user            = root

        server          = /usr/bin/rsync

        server_args     = --daemon

        log_on_failure  += USERID

}

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



rsync 설정

# vi /etc/rsyncd.conf

편집기를 이용해 새로 작성해준다.


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

[rsync_test]                                 -> rsync 서비스 이름 

path=/data/rsync_test/                  -> 데이터 원본 경로

comment = rsync_test                   -> 설명

uid = root                                       -> 사용자 권한 

gid = root                                       -> 그룹 권한 

use chroot = yes

read only = yes

hosts allow = X.X.X.X     -> rsync 클라이언트 IP

max connections = 3

timeout=600

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



rsync 서버 설정 5) xinetd 서비스 재시작 및 방화벽 확인

# /etc/init.d/xinetd restart


보통 iptables 에서 포트가 막혀있는 경우가 많다.

rsync는 873 포트를 사용하므로, 873 포트 허용해준다.




[rsync 클라이언트 설정]


rsync 접속 여부 확인

# telnet [rsync 서버 IP] 873

ex) telnet X.X.X.X 873

telnet을 이용하여 873 포트가 정상적으로 연결되는지 확인




rsync 실행

# rsync -avz [IP]::[서비스명] 저장디렉토리

ex) # rsync -avz X.X.X.X::rsync_test /data/rsync_test


혹시 내역을 로그로 남기고 싶을 경우 아래와 같이 입력한다.

rsync -avz X.X.X.X::rsync_test /data/rsync_test > /data/rsync.log


posted by 조경래

posted by DB,MW,OS OSSW(Open Source System SoftWare
prev 1 2 3 4 next