레이블이 Linux인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Linux인 게시물을 표시합니다. 모든 게시물 표시

2017년 1월 30일 월요일

[Linux] Crontab


리눅스 crontab은 특정 시간에 특정 작업을 수행시키는데 사용된다.

1. crontab 기본


# crontab -e
-> 크론탭 설정 

# crontab -l
-> 크론탭 설정 확인

# crontab -d
-> 크론탭 삭제

* * * * * ls -al
-> 기본 사용법 " * * * * * 시간에 ls -al 명령어를 실행한다."

2. 주기 결정


*               *                  *               *                  *
분(0-59)  시간(0-23)  일(1-31)  월(1-12)   요일(0-7)

3. 주기별 예제


3.1. 매분 실행

# 매분 test.sh 실행
* * * * * /home/script/test.sh

3.2. 특정 시간 실행

# 매주 금요일 오전 5시 45분에 test.sh 를 실행
45 5 * * 5 /home/script/test.sh

3.3. 반복 실행

# 매일 매시간 0분, 20분, 40분에 test.sh 를 실행
0,20,40 * * * * /home/script/test.sh

3.4. 범위 실행

# 매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행
0-30 1 * * * /home/script/test.sh

3.5. 간격 실행

# 매 10분마다 test.sh 를 실행
*/10 * * * * /home/script/test.sh

3.6. 조금 복잡하게 실행

# 5일에서 6일까지 2시,3시,4시에 매 10분마다 test.sh 를 실행
*/10 2,3,4 5-6 * * /home/script/test.sh

4. cron 사용 팁


- 한 줄에 하나의 명령만 쓴다.
- 주석을 사용한다. ( ex. #----( 내용 )----# )
   

5. cron logging


* * * * * /home/script/test.sh > /home/script/test.sh.log 2>&1

6. crontab 백업


crontab -l > /home/bak/crontab_bak.txt

50 23 * * * crontab -l > /home/bak/crontab_bak.txt

[출처]

http://jdm.kr/blog/2

2017년 1월 19일 목요일

[Linux] 리눅스 sendmail 설치 및 설정


1. sendmail 


- 리눅스 메일 서버 소프트웨어

1.1 구성 파일 목록



2. sendmail 설치


2.1 확인



2.2 설치


2.3 확인_2


2.4 서비스 시작



3. sendmail 설정 (메일 발송)


3.1 sendmail.mc 수정



--> 주석을 넣어준다.



3.2 sendmail.cf 생성/보존


3.3 서비스 재시작


3.4 포트 확인


3.5 메일 발송 테스트

텔넷 접속이 안될 경우 텔넷을 설치해야한다.





2016년 9월 11일 일요일

[Linux] su: Module is unknown


계정 잠금 임계값 설정을 진행하는 도중 아래와 같은 문제가 발생하였다.






su: Module is unknown는 /etc/pam.d/system-auth 파일에 문제가 있어 나타나는 현상이다.


계정 잠금 임계값 설정시 파일의 경로를 맞게 입력 해야 한다.

2016년 8월 16일 화요일

[Linux] NFS(Network File System) 설정

NFS(Network File System) 설정


Version: 4.4.11-23.53.amzn1.x86_64

NFS서버의 특정 디렉토리를 클라이언트에서 마운트하여 자신의 영역인것 처럼 사용한다.

1. NFS 설치 및 계정 설정


NFS 설정에 필요한 패키지가 설치 되어 있는지 확인한다.


재부팅시 자동 실행되록 서비스를 등록해준다.


서비스를 실행한다.

서비스가 잘돌아가는지 확인한다.

nfs로 사용할 디렉토리를 생성한다.

접속을 허용 할 PC를 입력한다. *를 통해 모든 PC가 접속이 허용하도록 설정했다.

/공유폴더 허용IP(rw,sync) or 허용IP(rw, sync, no_root_squash, all_squash)
  • ro - 읽기 전용
  • rw - 읽기와 쓰기 모두 가능
  • no_root_squash - 기본적으로 NFS 클라이언트에서 루트 사용자가 공유된 디렉토리를 사용한다 하여도 접근 사용자는 nfsnobody 권한을 갖는다. 이때 이 옵션 사용시 클라이언트의 루트와 서버의 루트 권한을 갖게 된다.(클라이언트에게 root 권한 부여)
  • root_squash - 클라이언트에게 nfsnobody 권한을 갖도록 설정
  • sync - 클라이언트가 파일 쓰기 완료 후 디스크 동기화를 진행
  • noaccess - 디렉토리를 접근하지 못하게 막음
  • insecure : 암호 인증을 하지 않음

2. NFS 서버 실행




서버를 재시작한다.

부팅시 자동시작 등록한다.

서비스가 잘돌아가는지 확인한다.

3. PORT 설정

원격 제어를 위해 포트를 설정해줘야한다. NFS는 다음 포트를 열어줘야 한다.

# vi /etc/sysconfig/nfs

LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020

주석을 해제 한 후 서비스를 재시작한다.

4. 클라이언트 Mount

클라이언트 nfs 마운트에 필요한 유틸이 있는지 확인하여 설치한다.

#yum install nfs-utils nfs-utils-lib nfs-utils-lib-devel nfs4-acl-tools libgssglue-devel

서버를 재시작 한다.

서비스가 실행되고 있는지 확인한다.

nfs에 사용할 디렉토리를 만들고, 서버와 마운트를 걸어준다.

클라이언트에서 마운트를 걸었던 위치에서 디렉토리를 생성하면 권한 문제가 발생한다.

서버에서 권한을 상승시킨다.

이제 클라이언트에서 권한 문제 없이 사용할 수 있다.



2016년 8월 4일 목요일

[Linux] 리눅스 종류, version, bit 확인

배포판 버전 확인



1. cat /etc/*-release


커널버전 확인


1. uname -r


2. uname -a


3. cat /proc/version


BIT 확인


1. arch


2. uname -m


3.getconf LONG_BIT




2016년 8월 3일 수요일

[Linux] Linux Kernel Parameters Settings

kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 512 x processes
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
kernel.shmall = physical RAM size / pagesize
kernel.shmmax = RAM times 0.5
fs.aio-max-nr=1048576

위 요구사항에 맞게 Kernel Settings를 진행하려고 한다.

Parameter 설명


  • kernel.shmmni
    value
    - kernel.shmmni = 4096
    comment
    - 공유 메모리 세그먼트의 최대 숫자를 설정하는데 사용
  • kernel.sem
    value
    - 순서대로 (semmsl / semmns / semopm / semmni)
      kernel.sem = 250 32000 100 128
    comment
    - semmsl: 세마포어 세트 당 최대 세마포어 수
    - semmns: 시스템에 할당할 수 있는 세마포어의 총 수
    - semopm: 시스템 호출 당 수행할 수 있는 최대 세마포어 수
    - semmni: 세마포어 세트의 최대 수 제어
  • fs.file-maxvalue
    - fs.file-max = 6815744
    comment
    - 사용 가능한 파일 핸들의 최대 개수를 설정하여 OS에서 동시에 오픈 할 수 있는 파일의 수를 제어
  • net.ipv4.ip_local_port_range
  • value
    - net.ipv4.ip_local_port_range = 1024 65500
    comment
    - 신규 접속에서 사용할 수 있는 포트의 사용 가능 범위
  • net.core.rmem_value
    - net.core.rmem_default = 4194304
    - net.core.rmem_max = 4194304
    comment
    - 대용량 Serving을 위한 설정
  • net.core.wmem_value
    - net.core.wmem_default = 262144
    - net.core.wmem_max = 1048576
    comment
    - 소켓 출력 큐의 기본값과 최대값 제어
  • kernel.shmallvalue
    - kernel.shmall = 4294967296
    comment
    - 특정 시점에 사용가능한 공유 메모리의 최대 크기를 설정
  • kernel.shmmaxvalue
    - kernel.shmmax = 68719476736
    comment
    - 공유 메모리 세그먼트 최대 크기를 정의하며, SGA 메모리 구성 시 필요
  • fs.aio-max-nrvalue
    - fs.aio-max-nr = 1048576
    comment
    - 허가된 최대 동시 요청 수

Parameters Settings



linix kernel parameter settings를 하기 위해서는 /etc/sysctl.conf 에서 설정해야한다.



/etc/sysctl.conf 파일 아래에 위와 같이 추가해주어야한다. 

다른 요구사항과 달리 아래 3개는 따로 계산이 필요하다.

fs.file-max = 512 x processes 
kernel.shmall = physical RAM size / pagesize 
kernel.shmmax = RAM times 0.5

먼저 fs.file-max를 계산하기 위해서는 processes 개수 확인이 필요하다.


ulimit -a 명령을 이용하여 max user processes 값을 확인할 수 있다.
512 x 4775 = 2444800 값을 확인할 수 있다.

※ ulimit: 시스템 자원의 제한값을 조정

kernel.shmall의 경우 RAM size와 pagesize를 알아야한다.


free 명령어를 통해 RAM size를 확인할 수 있다.


pagesize는 getconf PAGESZIE 로 확인할 수 있다.
physical RAM size / pagesize = 629760000(byte이기 때문에 단위를 맞춰야함.) / 4096
계산을 하면 153750 값을 확인할 수 있다.

※getconf: 시스템 자원한도를 확인해주는 명령어

kernel.shmmax의 경우 RAM의 0.5 이기 때문에 314880000 이다.


2016년 8월 2일 화요일

[Linux] Xming, xclock start with the Error: Can't open display: localhost:10.0


redhat 5.11 에서 root가 아닌 user로 접속 후 xclock을 실행 하면 위와 같은 에러가 발생한다.


exit를 통해 접속한 계정에서 나간 후 root 계정에서 xauth list를 확인한다.


 xauth list에서 Error: Can't open display: localhost:10.0에 해당되는 값을 user에 추가 한다.

[Linux] xclock start with the Warning: Missing charsets in String to FontSet conversion

xclock 실행 시 Warning



xclock 실행 시 Warning: Missing charsets in String to FontSet conversion와 같은 경고가 나타난다.


위와 같은 경고를 해결하기 위해서는 언어셋을 설정해주어야한다.


export LC_ALL=C로 언어셋에 추가를 진행하면 xclock 실행 시 Warning이 나타나지 않는다.


locale로 확인하면 위와 같이 추가 된것을 볼 수 있다.

2016년 8월 1일 월요일

[Linux] Xming, PuTTY 연결

Xming, PuTTY 연결

리눅스에 원격으로 접속할 때 보통 푸티를 많이 사용한다. 그런데 푸티를 사용하면 텍스트 환경으로 사용해야 한다. 
Xming 프로그램을 사용하면 푸티와 연동해서 프로그램을 X Windows 환경에서 사용할 수 있다.

원격에서 리눅스를 X windows 환경에서 사용할 수 있는 프로그램을 여러가지가 있다. 먼저 유명한 프로그램으로는 X Manager라는 프로그램이 있다. 하지만 유료다. 이 프로그램을 대체할 수 있는 훌륭한 무료 프로그램이 Xming 이다.

1. Xming 다운로드


https://sourceforge.net/projects/xming/
위의 사이트에서 Xming 다운로드를 받는다.

설치는 매우 간단하게 Next 버튼을 클릭하면 끝이난다.
설치를 완료하면, 시작 -> 모든프로그램 -> Xming에 들어가면 Xming과 XLaunch를 확인할 수 있다.
Xming은 실제 Xming을 실행시키는 프로그램이고, XLaunch는 화면 설정을 해주는 것이다. 

2. OpenSSH의 서버가 X11 연결을 전달하도록 구성


/etc/ssh 디렉토리에 들어간다. sshd_config 파일의 설정을 변경해주어야한다.
  • ssh_config(client)
    - 내부 서버에서 외부 서버로의 접속 설정
  • sshd_config(daemon)
    - 외부에서 내 서버에 접속하는것
    ※ daemon: 백그라운드로 실행되어 있다가 네트워크를 통해 클라이언트의 여러가지 요청에 서비스하기 위해 설치하는 서버프로그램

X11Fowarding과 X11UseLocalhost의 주석을 풀고 yes로 설정한다.


service sshd restart를 통해 변경된 설정이 적용되도록한다.
※ # /etc/init.d/sshd restart 명령으로도 가능

3. X11 PACKAGES ARE INSTALLED


yum을 이용하여 X11 패키지를 설치한다.
※ Xauth: 이증 절차를 x windows에서 어떻게 할건지에 대한 문제를 말한다.


xclock도 함께 깔아준다.

3. Xming Display Setting

Xming을 실행한 후 XLaunch로 화면 설정을 진행한다.


Multiple windows를 선택한다.


Start no client를 선택한다.


Clipboard를 선택한다.


마침으로 화면 설정을 마무리한다.


새로운 PuTTY를 새로 실행한다. 기존과 동일하게 IP주소와 SSH에 키 값을 넣어준다.


X11에 들어가서 Enable X11 forwarding을 체크한 후 X display location에 localhost:0을 입력한다.


 xclock 입력 시 위와 같은 시계 창이 나타난다.


xterm 입력시 위와 같은 터미널 창이 나타난다.

[출처]

http://www.redwireservices.com/remote-x11-for-linux-unix