linux


NFS daemon을 이용한 원격 mount


written by HuscarL



 설명


mount 를 받아들일 서버(192.168.0.41) :

1) /etc/export 세팅
/shared 192.168.0.40(rw,sync,root_squash)

= 폴더명  허용할IP  (허용할권한)


2) NFS 서비스 재시작

# service nfs restart



mount 를 수행할 서버(192.168.0.40) :

1) NFS 서비스 시작

# service nfs start


2) mount

mount -t nfs 192.168.0.41:/shared /opt/PolicyDirector/etc

(해당 서버에 /shared 폴더가 존재해야 함)


 정리 및 출처


직접 작성


방문 해주셔서 감사합니다. 로그인 없이 가능한

아래 하트♥공감 버튼을 꾹 눌러주시면 감사하겠습니다! 



linux


실무에서 쓰는 vi 명령어 모음


written by HuscarL



 설명





구분

Command

옵션

입력(O) /

커맨드(C) / 기본(X)

비고

입력모드에서 빠져나가기

Esc

O

입력모드로 들어가기

i,a,o / I,A,O

X->O

방향키

kjhl

X

뒤로가기

u

X

문서 빠져나가기 (No save)

:q!

C

수정사항 저장 안됨.

문서 저장후 빠져나가기

:wq!

C

문서 첫줄로 가기

1G

X

문서 마지막줄로 가기

G

X

라인의 처음으로 가기

^

X

라인의 끝으로 가기

$

X

화면 내에서 이동

H / M / L

X

자동줄바꿈

:set wrap

C

자동줄바꿈 해제

:set nowrap

C

단어 수정

cw

X->O

커서위치 뒤의 라인 삭제

D

X->O

라인 복사하기

yy

숫자

X

복사한 라인 붙여넣기

p

X

라인 잘라내기(삭제)

dd

숫자

X

라인 번호 붙이기

:set nu

C

라인 번호 삭제

:set nonu

C

다수 라인 삭제하기

:10,16d

C

검색하기

/

n,N

X

#

해당 위치로 커서를 옮긴 후 실행

화면 넘기기

F

B

X

문서 일부 다른이름으로 저장

:1,10w sample.txt

C

현재 행의 문자열 치환

:s/a/b

C

처음부터 현재위치 문자열 치환

:1,.s/a/b/

C

파일 전체 문자열 치환

:%s/a/b/g

C

이전 명령 반복하기

.

X

대소문자 전환하기

~

X

특수문자 표기하기

:set list

C

여러파일 한꺼번에 편집

# vi a.txt b.txt c.txt

:n / :wn

Shell prompt

Swap 파일 생성 및 복구

# vi -r a.txt

Shell prompt


 정리 및 출처


직접 작성


방문 해주셔서 감사합니다. 로그인 없이 가능한

아래 하트♥공감 버튼을 꾹 눌러주시면 감사하겠습니다! 



linux


split 명령어로 파일 균등하게 나누기


written by HuscarL



 설명


기존 456 line 의 텍스트 파일을 100개 단위로 나누는 예시입니다.


모르면 노가다 하게 될 지 모르는... 편리한 명령어 인 것 같네요 ^^ 




 정리 및 출처


직접 작성


방문 해주셔서 감사합니다. 로그인 없이 가능한

아래 하트♥공감 버튼을 꾹 눌러주시면 감사하겠습니다! 



linux


하드웨어 정보 확인 명령어


written by HuscarL



 설명




1. CPU 정보 확인

#명령어
cat /proc/cpuinfo
cat /proc/cpuinfo > cpuinfo.txt                     /* cpuinfo.txt 파일에 cpuinfo 정보를 저장 */
cat /proc/cpuinfo | grep "model name" | head -1     /* cpu "model name" 중 맨위 한줄만 출력 */
cat /proc/cpuinfo | grep "physical id"              /* cpu 갯수 확인 (0이면 1개 0과 1이 나오면 2개 0,1,2,3 이 나오면 cpu는 4개 */

2. 메모리 정보 확인

top                                 /* 메모리 사용현황 */
cat /proc/meminfo                   /* 메모리 용량 */
cat /proc/meminfo > meminfo.txt     /* meminfo.txt 파일에 meminfo 정보를 저장 */
dmidecode -t 17                     /* 메모리 상세정보(Ex 메모리 타입,슬롯,사이즈 등 */


3. 디스크 정보 확인

cat /proc/scsi/scs         /* scsi */
cat /proc/ide/hda/model    /* hda */
cat /proc/mdstat           /* linux Software Raid */
smartctl -a /dev/sd*    /* 디스크의 모든 SMART 정보 출력 */
smartctl -i /dev/sd*    /* 디스크의 신원 정보 출력 */
fdisk -l     /* 연결돼있는 디스크 리스트 정보 출력 */
df -h        /* 파티션 및 용량 정보 */
du -sh       /* 현재 폴더 데이터 사용량 */


4. PCI 정보 확인

lspci /* 모든 PCI 정보 출력 */
lspci | grep RAID /* RAID 모델명 확인 */
lspci | grep Ethernet /* 랜카드 모델명 확인 */
lspci | grep VGA          /* 그래픽 모델명 확인 */


5. 그 외 명령어

dmidecode -t TYPE /* TYPE - bios,system,baseboard(메인보드),chassis,processor,memory,slot 등 다양한 정보 출력 가능 */
mount /* 마운트된 파일시스템 정보 출력 */
lsusb /* usb 정보 출력 */
lsscsi /* scsi 목록 출력 */
hwinfo /* 각종 모든 하드웨어 정보 출력 (hwinfo 패키지 설치 필요함) */





 정리 및 출처




방문 해주셔서 감사합니다. 로그인 없이 가능한

아래 하트♥공감 버튼을 꾹 눌러주시면 감사하겠습니다! 



linux


shc 이용 Shell Script를 Binary file로 변환


written by HuscarL



 설명


"shc" 는 스크립트 파일을 바이너리로 바꿔 주는 역할을 합니다.
php encoder 같은 역할을 한다고 보면 됩니다.

쉘 스크립트도 역시 중요한 "root" 패스워드 정보, "DB" 정보 등 공유되거나 유출되면 안 되는 파일들이 존재합니다.

이럴 때 정말 유용하게 사용될 수 있으니, 아직까지 모르셨던 분들 아래 문서 참고하셔서 도움되시길 바랍니다.


-------------------------------------------------------
1. 다운로드 
-------------------------------------------------------

리눅스 내에서 wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9b.tgz 명령어로 다운 받으세요.

-------------------------------------------------------
2. 설치 
-------------------------------------------------------

[root@ns1 local]# tar xvf shc-3.8.9b.tar

shc-3.8.9b/CHANGES

shc-3.8.9b/Copying

shc-3.8.9b/Makefile

shc-3.8.9b/match

shc-3.8.9b/pru.sh

shc-3.8.9b/shc.1

shc-3.8.9b/shc.c

shc-3.8.9b/shc.html

shc-3.8.9b/shc.README

shc-3.8.9b/test.bash

shc-3.8.9b/test.csh


[root@ns1 shc-3.8.9b]# make install
*** Installing shc and shc.1 on /usr/local
*** ¿Do you want to continue? y
install -c -s shc /usr/local/bin/
install -c -m 644 shc.1 /usr/local/man/man1/


"shc" 파일은 /usr/local/bin/ 디렉터리에 설치됩니다.


-------------------------------------------------------
3. 테스트 
-------------------------------------------------------
(1) 파일 생성 (__EOF___ 까지 쉘 상태에서 긁어다가 붙이시면 됩니다.)
cat > /root/tmp/script.sh << __EOF__<br/>#!/bin/sh
#------------------------------
# this file is not encrypted
#------------------------------
echo "I love Duane's articles and will send him a donation via PayPal." 
exit 0;
__EOF__


(2) 명령행 실행
[root@ns1 tmp]# shc -f /root/tmp/script.sh
"script.sh.x"라는 바이너리 파일이 생성된다.


(3) 생성된 스크립트 수행
[root@ns1 tmp]# ./script.sh.x 
I love Duane's articles and will send him a donation via PayPal.


-------------------------------------------------------
4. 특이한 기능 
-------------------------------------------------------
[root@ns1 tmp]# shc -e 09/10/2004 -m "Dude it is too late to run this script." -f script.sh
[root@ns1 tmp]# ./script.sh.x 
./script.sh.x: has expired!
Dude it is too late to run this script.

- 쉘 스크립트에 대한 만료일을 지정하여 실행할 수 있습니다.
- 지정된 날짜 이후는 실행되지 아니합니다.
- 위 예는 "2004년 10월 9일"을 스크립트 만료일로 지정하여 만료 후에는 "Dude it is too late to run this script."라는
메시지를 출력하라고 지정한 내용입니다.

-------------------------------------------------------
5. 참고사항 
-------------------------------------------------------
- "shc" 명령어는 스크립트에 대한 C 소스 코드를 생성합니다.
- binary로 파일이 생성되므로 "./파일명" 형태로 실행하여야 합니다.
- 생성된 스크립트 파일은 이름을 변경해도 무관합니다.

-------------------------------------------------------
6. 기본 실행 옵션 설명 
-------------------------------------------------------
(1) -e date
만료일을 지정합니다. (dd/mm/yyyy format)

(2) -m message
만기 시 메시지를 출력합니다.

(3) -f script_name
컴파일할 스크립트 파일을 지정합니다.




 정리 및 출처




방문 해주셔서 감사합니다. 로그인 없이 가능한

아래 하트♥공감 버튼을 꾹 눌러주시면 감사하겠습니다! 



Linux


X protocol 이용 시 포트 허용 번호


written by HuscarL



 설명


Linux에서 GUI 환경을 이용하기 위해 X protocol이 필요한 경우가 있습니다.

개인 VM 환경인 경우 방화벽을 모두 내리고 쉽게 작업할 수 있겠지만,  기업에서 작업하는 경우는 다릅니다.

이런 경우 방화벽의 특정 포트만 열어 사용하는 방법을 소개합니다.


외부 에서 Linux 방향으로 UDP 177 개방

Linux 에서 외부 방향으로 TCP 6000-6010번 개방


 정리 및 출처


직접 작성


방문 해주셔서 감사합니다. 로그인 없이 가능한

아래 하트♥공감 버튼을 꾹 눌러주시면 감사하겠습니다! 



linux

현재 폴더 내 모든 zip 파일 압축 풀기


written by HuscarL



 설명


현재 폴더 내 모든 zip 파일의 압축을 푼다. (폴더 생성)


for file in `ls *.zip`; do unzip "${file}" -d "${file:0:-4}"; done

현재 폴더에 zip 파일의 이름과 같은 폴더가 생성이 되고, 각각의 폴더 아래에 zip 파일의 내용물들이 생성된다.


예를 들어, 1.zip, 2.zip 파일이 있으면, 1, 2폴더가 생성되고 그 아래에 각각 내용물이 생김



현재 폴더 내 모든 gz파일의 압축을 푼다.


for file in `ls *.gz`; do gunzip "${file}" -d "${file:0:-4}"; done
마찬가지로 gz파일의 압축을 해제할 수 있음



현재 폴더 내 모든 zip 파일의 압축을 푼다. (폴더를 생성하지 않음)

for file in `ls *.zip`; do unzip "${file}"; done

만약 현재 폴더내 모든 압축 물들의 압축을 풀고 싶지만, 폴더를 새로 생성하고 싶지 않다면 -d 부터 제외하면 된다.


 정리 및 출처




방문 해주셔서 감사합니다. 로그인 없이 가능한

아래 하트♥공감 버튼을 꾹 눌러주시면 감사하겠습니다! 



linux


Rebooting 없이 새로운 디스크 인식 시키기


written by HuscarL



 설명


[Linux] Rebooting 없이 새로운 디스크 인식(SCAN) 시키기

리눅스 시스템에 새로운 하드디스크를 추가한 후 fdisk 로 확인을 해봐도 디바이스의 정보가 인식되지 않을때 아래와 같은 
scsi_host scan 커멘드를 활용한다.  결과적으로 Disk /dev/sdb 디스크가 인식 되었다.

[root@web-1 dev]# ls /sys/class/scsi_host/ | while read host ; do echo "- - -" > /sys/class/scsi_host/$host/scan ; done
[root@web-1 dev]#
[root@web-1 dev]#
[root@web-1 dev]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005b201

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2611    20458496   8e  Linux LVM

Disk /dev/mapper/vg_linux1-lv_root: 18.9 GB, 18865979392 bytes
255 heads, 63 sectors/track, 2293 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/vg_linux1-lv_swap: 2080 MB, 2080374784 bytes
255 heads, 63 sectors/track, 252 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000



 정리 및 출처


직접 작성



방문 해주셔서 감사합니다. 로그인 없이 가능한

아래 하트♥공감 버튼을 꾹 눌러주시면 감사하겠습니다! 



+ Recent posts