[CentOS 7] hostname 변경 방법


CentOS 7 이전에는 /etc/sysconfig/network에서 hostname을 변경하였습니다.


그러나 CentOS 7 부터는 방법이 변경되었습니다.


바로 hostnamectl 입니다.


# 방법


hostnamectl set-hostname 바뀔 호스트명


1. 변경 전



2. 변경 작업 : 저는 tac으로 호스트명을 변경하였습니다.



3. 변경 후



localhost 가 tac으로 변경된 것을 확인할 수 있습니다.

저작자 표시 비영리 동일 조건 변경 허락
신고

[SSH] 리눅스에서 다중 포트로 SSH 활성화 하기



SSH 사용 시 가끔 기본 서비스 포트인 22번이 아닌 다른 포트를 활성화 해야 하는 경우가 있습니다.


물론 sshd_config 파일의 "Port 22" 라인을 수정하여 22번에서 다른 포트로 변경하여 사용하면 되지만...


TCP 22번 포트외 다른 포트를 다중으로 Listen 하게 끔 할 때 다음과 같은 방법을 사용하시면 됩니다.





/etc/ssh/sshd_config  파일을 위와 같이 변경 후 service sshd restart 등으로 SSH 서비스를 재 시작하면


기본 TCP 22번 외에 여러 포트를 동시에 Listening 할 수 있습니다.

저작자 표시 비영리 동일 조건 변경 허락
신고
[^M] 리눅스 Ctrl M 문자 없애는 방법

 

 

 

 

 

윈도우 편집한 파일을 FTP와 같은 전송프로그램을 통해 리눅스에 업로드 할 경우,

각 파일의 라인 마지막에 ^M 이라는 문자가 붙게 됩니다.     // 여기서 ^M 은 Ctrl + V + M 입니다.

 

 

또한 덤프 데이터 등에서도 \r\n 등의 HEX 문자를 자주 보게 됩니다.

 

 

이는 개행문자(Carriage Return)에 의한 것으로 sed 를 통해 문자열 치환이 가능합니다.

 

 

 

 

 

# 방법

 

 

sed -i -e 's/\r$//' 파일명

 

 

 

 

 

1. 치환 전

 

 

 

 

 

 

2. 치환

 

 

 

 

 

 

3. 치환 후

 

 

저작자 표시 비영리 동일 조건 변경 허락
신고

[watchdog] 장애발생 시 리눅스 시스템 강제 재부팅 방법

 

 

 

 

 

네트워크 장애, 인터페이스 장애 등 여러가지 조건이 발생될 경우,

watchdog 타이머를 통해 리눅스 시스템을 강제로 재부팅 할 수 있습니다.

 

 

 

 

 

# watchdog 설정 방법

저는 CentOS 6.3 버전에서 테스트해봤습니다.

 

 

 

 

 

1. watchdog 패키지 설치

yum을 통해 패키지를 설치합니다.

yum -y install watchdog

 

 

 

 

 

 

2. 설치 후 watchdog 타미어 설정을 합니다.

vi /etc/watchdog.conf

 

저의 경우 리눅스 시스템의 게이트웨이가 192.168.10.1인 관계로 ping을 설정하고,

/var/log/messages 파일에 해당내용을 기록하게끔 설정하였습니다.

 

 

 

 

 

 

3. 설정 후 watchdog 서비스를 활성화 합니다.

/etc/init.d/watchdog start

 

ps -ef를 통해 해당 서비스가 실행되는 지 확인합니다.

 

 

 

 

 

 

4. 만약 네트워크가 다운되었다는 가정하에 iptables를 통해 ping 통신을 차단해봤습니다.

 

 

 

 

 

 

5. 차단 명령을 내린 지 30초 정도가 지나니 리눅스 시스템이 재부팅 되는 것을 확인하실 수 있습니다.

 

 

 

 

 

 

6. 재부팅이 되었기에 시스템의 uptime은 다음과 같습니다.

 

 

 

 

 

 

7. /var/log/messages 파일을 확인해보니 /etc/watchdog.conf 파일이 설정된 부분과

시스템이 shutdown 된 로그가 보입니다.

 

 

저작자 표시 비영리 동일 조건 변경 허락
신고
[32, 64비트] 리눅스 CPU 개수 및 32, 64 비트 확인 방법

 

 

 

 

 

리눅스 시스템에서 CPU를 확인할 경우 32비트 인지 64비트 인지 구분하기 어려운 경우가 있습니다.

 

 

물론 친숙한 리눅스 명령어 인

 

 

cat /proc/cpuinfo 로 확인 가능하지만 좀 더 쉬운 방법이 있습니다.

 

 

만약 리눅스 시스템에 dmidecode 라는 패키지가 설치되어 있을 경우,

 

 

한 눈에 CPU 개수 및 비트 수를 확인할 수 있습니다.

 

 

 

 

 

# 방법

 

 

dmidecode --type 4 명령을 이용합니다.

 

 

1. CPU 물리적 개수 확인 방법

 

 

dmidecode -t 4 | grep CPU

 

 

 

 

위와 같이 CPU1, CPU2의 경우 물리적으로 2개의 CPU를 표현합니다.

 

 

 

 

 

 

 

 

 

 

2. CPU 32, 64 비트 확인 방법

 

 

물론 cat /proc/cpuinfo 에서 lm flag(Long mode CPU / 64 bit) 가 있는 지 확인하는 방법도 있지만,

 

 

dmidecode -t 4 명령으로 쉽게 확인할 수 있습니다.

 

 

 

- dmidecode -type 4 명령 실행 화면 -

 

 

 

 

 

# 추가로 리눅스에서 비트를 확인하는 방법이 있습니다.

 

getconf LONG_BIT

 

저작자 표시 비영리 동일 조건 변경 허락
신고
  1. 또한 리눅스에서 arch 라는 명령을 통하여 확인하는 방법도 있습니다.

[Serial] 리눅스 서버에 콘솔 케이블 연결하기

 

 

 

 

사이트를 다니다 보면 리눅스 서버에 전원을 연결한 후 IP 등의 설정을 위해 모니터와 키보드를 연결해야 하는 불편한 상황이 자주 발생되기도 합니다.

 

 

 

 

리눅스 서버에 시리얼을 활성화 시켜 노트북에서 바로 콘솔을 통해 접속할 수 있는 방법이 있습니다.

 

 

 

 

# 서버에 시리얼 활성화 방법

 

 

 

1. 서버가 Serial을 지원하는 지 확인 합니다.

dmesg | grep tty

 

 

 

 

위와 같이 ttyS0 또는 ttyS1가 존재할 경우 시리얼 활성화가 가능합니다.

 

 

 

 

 

2. vi /etc/inittab 에 다음과 같은 줄을 넣어 줍니다.

s0:2345:respawn:/sbin/agetty -L -f /etc/issueserial 38400 ttyS0 vt100

 

(-f 옵션의 경우 /etc/issueserial 파일의 내용을 보여 줍니다.)

 

 

 

 

 

 

 

3. vi /etc/issueserial 파일을 생성합니다.

저는 파일에 Test System 이라고 넣었습니다.

 

 

 

 

 

 

 

 

4. vi /etc/securetty 파일에 다음과 같은 한 줄을 추가 합니다.

ttyS0

 

 

 

 

 

 

 

 

5. 마지막으로 콘솔화면에서 부팅화면까지 보고 싶은 경우 grub 파일을 수정합니다.

vi /etc/grub.conf 에 다음과 같은 항목을 넣습니다.

console=ttyS0,38400

 

 

 

 

 

 

이젠 콘솔 화면에서도 리눅스 시스템을 장비처럼 보실 수 있습니다.

저작자 표시 비영리 동일 조건 변경 허락
신고

[YUM] Another app is currently holding the yum lock; 에러발생 시 조치방법



리눅스 서버에서 yum update 및 install 을 할 때 가끔 아래와 같은 에러 메시지가 나올 경우가 있습니다.




Existing lock /var/run/yum.pid: another copy is running as pid 32714.
Another app is currently holding the yum lock; waiting for it to exit...


와 같이 에러가 발생됩니다.



# 조치방법 : rm -rf /var/run/yum.pid



yum.pid 삭제 후 yum 명령을 사용하면 다시 되는 것을 확인할 수 있습니다.






저작자 표시
신고
[X11 Forwarding] 윈도우에서 리눅스 GUI 화면 띄우는 방법

 

 

 

 

 

X11 포워딩을 통하여 putty 나 SecureCRT 와 같은 접속툴에서 리눅스의 GUI 화면을 볼 수 있습니다.

 

 

물론 리눅스 GUI 화면은 명령을 실행했을 때의 화면이 접속툴을 통해 보여지는 것 입니다.

 

 

 

 

 

# 방법

 

 

1. 윈도우 접속툴의 경우 GUI 환경을 지원해 주지 못하므로 우선 Xming 을 다운로드하여 설치합니다.

 

 

 

 

 

다운로드 경로 : http://sourceforge.net/projects/xming/

 

 

Xming-6-9-0-31-setup.exe

 

 

 

 

 

저는 소스포지에서 6.9.0.31 버전을 다운 받았습니다.

 

 

 

 

 

 

 

2. 그냥 Full installation 으로 설치합니다.

 

 

 

 

 

 

 

3. 설치 후 실행을 합니다.

 

 

 

 

 

 

 

4. 다음은 putty 및 SecureCRT 에서 설정을 합니다.

 

 

가. putty 설정 화면

 

 

putty - Connection - SSH - X11 설정 탭에서

 

 

EnableX11 forwarding 에 체크 후 X display location 에 localhost:0.0 으로 합니다.

 

 

 

 

 

 

 

나. putty 에서 firefox 실행 화면

 

 

 

 

 

 

 

5. 마찬가지로 이번엔 SecureCRT 에서 설정을 한 후 테스트 해보겠습니다.

 

 

가. SecureCRT 설정 화면

 

 

SecureCRT 는 Session Options 및 Global Options 에서 간단하게 설정할 수 있습니다.

 

 

우선 Global Options 창의 Default Settings 으로 들어갑니다.

 

 

 

 

 

 

 

Session Options 에서 Forward X11 Packets 에 체크하면 됩니다.

 

 

 

 

 

 

 

나. SecureCRT 에서 firefox 실행 화면

 

 

 

 

저작자 표시
신고
  1. ㅁㄴㅇㅁㅇ 2013.01.06 19:33 신고

    설치하면 그냥 트레이에 상주해있고 아무것도 실행이 안되는데 잘못설치한건가요?

    • 윈도우 작업표시줄 트레이에 Xming이 상주해 있으면 설치가 잘 된 것입니다.
      이제 putty나 SecureCRT에서 X11 포워딩을 설정하시면 됩니다.

  2. 데니스 2016.11.23 11:19 신고

    감사합니다! 이것 때문에 no display name and no $DISPLAY environment variable와 같은 문제가 발생했는데 해결 되었습니다^^

[VSZ] 리눅스 프로세스 메모리 누수 확인 방법






리눅스 시스템에서 프로세스에 의한 메모리 누수는 VSZ 나 RSS 값으로 확인 할 수 있습니다.





# man page 내용


VSZ : virtual memory size of the process in KiB(1024-byte units).

         Device mappings are currently excluded; this is subject to change. (alias vsize).


RSS : resident set size, the non-swapped physical memory that a task has used (in kiloBytes).

         (alias rssize, rsz).






즉,


VSZ : 프로세스의 가상메모리 크기

RSS : 프로세스가 사용하고 있는 물리적 메모리 크기


입니다.





만약 프로세스가 메모리 반환 없이 메모리 누수가 발생될 경우 VSZ 값이 증가하게 됩니다.











저작자 표시
신고

[Linux] swap memory 활성화 방법



리눅스에서 물리적 메모리가 부족할 경우 스왑메모리를 활성화하여 메모리를 확충할 수 있습니다.




# 방법


1. 2G의 파일을 /backup 파티션에 파일로 생성

dd if=/dev/zero of=/backup/swapfile bs=4096 count=500000








2. 생성된 파일을 swap 형식으로 변환

mkswap -f /backup/swapfile







3. 재부팅 시 그대로 적용되게 끔 /etc/fstab에 마운트

echo "/backup/swapfile   swap            swap    defaults    1       2" >> /etc/fstab


- /etc/fstab 화면 -




4. swap 활성화

swapon -a




위와 같이 swap을 활성화 하면 메모리가 확충되는 것을 확인할 수 있습니다.





저작자 표시
신고

[시스템 침입 차단] 리눅스에서 root 이외의 사용자 접속을 차단하는 방법


리눅스 시스템을 관리하면서 가끔 시스템 침입의 위협을 느낄 경우가 있습니다.


그럴 때 간단하게 root 이외의 사용자 접속을 차단하는 방법이 있습니다.



# 방법

touch /etc/nologin

-> nologin 파일이 있을 경우 해당 시스템에는 root 만 접속이 가능합니다.



1. /etc/nologin 파일이 없을 경우          // 보통 시스템의 경우



2. /etc/nologin 파일이 있을 경우         



저작자 표시
신고

[TCPDUMP] 리눅스 tcpdump 사용법 


예제 1)

방화벽 운영 중 통신이 안 된다는 장애를 접수하였을 경우, 

tcpdump -i eth0 'tcp[13]=2' and host 1.1.1.1

이렇게 덤프를 뜨면, SYN packet 만 잡을 수 있으므로 어디서부터 통신이 안 되는지를 쉽게 볼 수 있습니다. ^_^

저작자 표시
신고
  1. 재환 2013.09.25 15:29 신고

    안녕하세요
    'tcp[13]=2' 가 무엇을 뜻하는지도 알 수 있을까요? 괜찮으시다면 사소하더라도 위 메일로 받고 싶은데요 ㅎ
    jaehwanjoa@naver.com
    유용한 자료 감사합니다.

    • 13 -> TCP 헤더 중 13번째 옥텟을 의미합니다.
      2 -> TCP 플래그 필드 중 SYN 플래그를 의미합니다.

      메일 보내드렸으니 참고하세요~ ^^;


[MRTG] 리눅스 RPM으로 MRTG 설치하기


보통 리눅스에서 MRTG를 설치할 경우 소스 컴파일을 통하여 설치하나,
RPM을 통하여 간단히 설치할 수도 있습니다.


1. 리눅스 설치
먼저 리눅스를 설치합니다. (전 CentOS 6.0 x64 비트로 설치하였습니다.)





2. 리눅스 기본 설정
리눅스 설치가 끝나면 기본 설정을 합니다.



# selinux 비활성화

활성화해도 상관없으나 여러 옵션값을 바꿔야 하므로 그냥 비활성화 합니다.
vi /etc/sysconfig/selinux




# 방화벽 비활성화
마찬가지로 방화벽 INPUT 옵션을 설정하면 되나 추후에 하기로 하고 그냥 비활성화 합니다.
setup

이렇게 글자가 깨질경우 TAB을 눌러 Quit 합니다.

unset LANG 명령어를 입력한 후 다시 setup을 합니다.

이렇게 정상적으로 글자가 보이면 방화벽을 해제한 후 OK를 누룹니다.



# IP 설정
setup의 네트워크 설정에서 IP 및 DNS를 설정합니다.






3. RPM 설치


# YUM을 통해 RPM을 설치합니다.
yum -y install net-snmp* mrtg* freetype-devel gd-devel libjpeg-devel libpng-devel




# cfg 파일을 만듭니다.
cfgmaker --global 'WorkDir: /var/www/mrtg/' --global 'Language: korean' --global 'Options[_]: bits,growright' -output /var/www/mrtg/mrtg.cfg switch@192.168.10.254
여기서 switch는 snmp community 값이며, 192.168.10.254는 스위치 IP 입니다.

위와 같이 snmp에 응답할 수 없다는 에러메시지가 발생하면 스위치에서 snmp 설정을 해줍니다.



# 시스코 스위치 snmp 설정
전 시스코 스위치를 mrtg로 띄우려고 합니다.
conf t 후
snmp-server community switch ro       <-- snmp 커뮤니티 입력
snmp-server enable traps
snmp-server host 192.168.10.97 switch  <-- 커뮤니티 및 MRTG 서버 IP 입력

 





그 후 MRTG 서버의 snmp를 활성화 합니다.
service snmpd restart


활성화 후 cfg를 다시 만듭니다.

cfgmaker --global 'WorkDir: /var/www/mrtg/' --global 'Language: korean' --global 'Options[_]: bits,growright' -output /var/www/mrtg/mrtg.cfg switch@192.168.10.254

이젠 정상적으로 설정파일이 만들어졌습니다. ^^



# index.html 파일을 만듭니다.
indexmaker --title "mrtg Testing" --output /var/www/mrtg/index.html /var/www/mrtg/mrtg.cfg

 

정상적으로 index.html 파일이 만들어졌으므로, httpd 서비스를 올립니다.



# httpd 서비스 올리기
yum -y install httpd 명령어를 통해 httpd를 설치합니다.




# httpd.conf 를 수정합니다.
vi /etc/httpd/conf/httpd.conf
DocumentRoot 와 Directory를 다음과 같이 수정합니다.


 DocumentRoot "/var/www/mrtg"

<Directory "/var/www/mrtg">



# httpd 서비스를 재시작 합니다.
service httpd restart




# 홈페이지를 확인합니다.
MRTG 서버를 호출합니다.

http://설정된 mrtg IP


?? ㅜㅜ 이와같이 이상하게 나오면 CRON에 등록을 해줍니다.


# Crontab 등록하기
vi /etc/crontab에 다음과 같은 항목을 넣은 후 service crond restart 합니다.




cron이 실행되는 5분을 기다리기 힘드시다면...ㅋ
/usr/bin/mrtg /var/www/mrtg/mrtg.cfg 명령어를 통해 데이터를 gathering 합니다.


(또는 env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg.cfg 로 하셔도 됩니다.)




# 완성된 화면 짜짠~! ^^




Cf)
# 그러나 기쁨도 잠시 세부항목을 클릭해보니 다음과 같이 글자가 깨집니다...ㅜㅜ





--> 글자깨짐 해결방법
MRTG 설치 후 글자가 깨졌을 경우 httpd.conf의 문자셋을 수정합니다.
(UTF-8 -> off 로 수정합니다.)

vi /etc/httpd/conf/httpd.conf 의 AddDefaultCharset 수정





# 최종 마무리된 화면!
마지막으로 httpd 서비스를 재시작하면 됩니다.
service httpd restart



저작자 표시
신고
  1. 섀도 2012.11.05 11:35 신고

    최고네요! 깔끔한 정리! 잘보고 갑니다!!

    • 멋진관우 2012.11.07 00:18 신고

      감사합니다~ ^^;

  2. darkseenee 2015.08.06 10:59 신고

    정말 깔끔하게 잘 정리하셨네요 ㅎㅎ
    잘 보고 갑니다 ^^


[SSH 접근제한하기] SSH AllowUsers 설정하기

서버 설치 후 SSH에 접근제한을 할 경우가 있습니다.

리눅스의 경우 sshd_config 설정에서 간단하게 접근제어가 가능합니다.

# 방법
1. vi /etc/ssh/sshd_config      // 설정파일 수정

2. AllowUsers root@1.1.1.1      // 접근가능한 IP 추가


3. service sshd restart      // ssh 데몬 재 시작


 

저작자 표시
신고

[HDD Temp] 리눅스 서버 하드디스크 온도 측정

[root@tank ~]# yum install hddtemp

 Running Transaction
  Installing     : hddtemp                                                                                                      1/1

Installed:
  hddtemp.i386 0:0.3-0.14.beta15.el5.centos                                                                                        

Complete!


[root@tank ~]# hddtemp /dev/hda

/dev/hda: VMware Virtual IDE Hard Drive: S.M.A.R.T. not available

VMware는 S.M.A.R.T가 지원되지 않네요...^^;




저작자 표시
신고

[Linux] CPU, Core number Verification

CHIP_COUNT=`cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l`; CHIP_CORES=`cat /proc/cpuinfo | grep "siblings" | tail -1 | cut -d: -f2`; echo "CPU: $CHIP_COUNT chips x $CHIP_CORES cores"


answer example  : CPU: 1 chips x  2 cores


저작자 표시
신고

[grub] 리눅스 삭제 후 윈도우7 부팅이 안 될 때


윈도우7과 리눅스를 멀티 부팅하여 사용하는 도중,
리눅스를 강제 삭제할 경우 가끔 아래와 같은 메시지가 표시되면서 부팅이 안 될 때가 있습니다.

grub>

# 해결방안
grub> rootnoverify (hd0,0)
grub> makeactive
grub> chainloader +1
grub> boot

그 후 윈도우7으로 정상 부팅 후,
윈도우7 CD를 넣고...

cd boot
bootsect /nt60 c: /mbr

하면 mbr이 복구되어 정상적으로 사용이 가능합니다.


저작자 표시
신고

[우분투] Static IP 설정

nano /etc/network/interfaces





[우분투] DHCP IP 설정

nano /etc/network/interfaces



설정 변경 후 /etc/init.d/networking restart 로 변경 내용 적용


저작자 표시
신고

[fdisk] 파티션 정보 확인하기

파티션 정보를 확인하는 방법)

fdisk -l

또는

cat /proc/partitions


--
fdisk로 파티션 변경 후 파티션 테이블 초기화하기
partprobe


--
fdisk /dev/hd? 하였을 때 파티션 정보를 수정할 수 있는 명령어)


저작자 표시
신고

[sysctl] 커널 설정 변경하기

sysctl 명령을 사용하여 /proc/sys 에 커널값을 적용할 수 있습니다.
또한 /etc/sysctl.conf 파일에 값을 수정하여 재부팅 후 적용되게끔 할 수 도 있습니다.

--
sysctl -a : 현재 설정된 값
sysctl -p : /etc/sysctl.conf에 저장된 값을 로딩함


--
수정방법)
vi /etc/sysctl.conf에서 수정함
또는 sysctl -w 로 수정함


--
예) IP packet forwarding 하게 끔 수정함

sysctl -w net.ipv4.ip_forward=1
또는
echo "1" > /proc/sys/net/ipv4/ip_forward



적용되었는 지 확인
sysctl -a | grep ip_forward


저작자 표시
신고

[Kernel Module Utility] 커널 모듈 유틸리티

lsmod, modprobe, modinfo 와 같은 커널 모듈 유틸리티에 대한 내용입니다.


--
lsmod : 로드된 모듈의 리스트를 보여 줌

modprobe : 모듈을 로드 및 언로드 할 때 사용됨

modinfo : 모듈의 정보 확인


# /etc/modprobe.conf : 모듈 구성 시 사용함


--
lsmod 는 현재 로드된 모듈을 알려 줍니다.




--
modprobe 는 insmod와 다르게 자동으로 종속성을 포함하여 로드하며 모듈을 파일시스템에 저장합니다.
단, 모듈 언로드 시 현재 사용하지 않는 모듈만 언로드가 가능합니다.

모듈 로드 방법) modprobe cdrom
모듈 언로드 방법) modprobe -r cdrom


--
modinfo는 모듈의 정보에 대해 알려 줍니다.





저작자 표시
신고


[리눅스] crontab 설정하기

/etc/crontab을 이용하여 사용자에 따라 해당 명령어를 자동으로 실행시킬 수 있습니다.

cron은 일정시간마다 시스템에서 자동으로 실행시키는 데몬입니다.
또한, cron table files 즉 crontabs는 /var/spool/cron 디렉터리에 저장됩니다.

시작 방법) /etc/rc.d/init.d/crond start
종료 방법) /etc/rc.d/init.d/crond stop

설정파일) /etc/crontab

설정된 파일 수정) crontab -e
설정된 파일 출력) crontab -l
설정된 파일 삭제) crontab -r

동작 로그 확인) cat /var/log/cron

* * * * * *
분 시 일 월 요일 명령

예)
매일 02시에 hello 출력
0 02 * * * /bin/echo hello

매주 일요일 10시 30분에 wake 출력
30 10 * * 0 /bin/echo wake

12월 24일 23시 59에 happy 출력
59 23 24 12 * /bin/echo happy


# 주의사항 : 계정을 지정하지 않으면 root로 실행됨

사용자 계정으로 실행되게 끔 수정)
crontab -u user -e

예) 매 3시간마다 /home/user 에 있는 모든 temp 파일 삭제
* */3 * * * find /home/user/*.temp | xargs rm -f {}


저작자 표시
신고

[리눅스] 커널 업데이트 하는 방법

보안업데이트 및 기타 드라이버와의 호환성 등 여러가지 사유로 인하여 현재 리눅스의 커널을 업데이트 할 경우가 있습니다.

방법)

# rpm -ivh kernel-*.rpm


# vi /etc/grub.conf 에서 boot 이미지 변경


저작자 표시
신고

[리눅스] 레드햇 리눅스 버전별 커널정보

확인방법)

# cat /proc/version
# cat /etc/redhat-release



ref : http://kbase.redhat.com/faq/docs/DOC-3079


저작자 표시
신고

[리눅스] 콘솔 작업 시 "삑삑" 소리(비프음)나는 것 없애는 방법


리눅스 콘솔에서 가끔 작업하다가 보면 잘못 타이핑 했을 때 "삑삑" 거려서 신경이 쓰이게 됩니다.

이때 소리를 없앨 수 있는 명령어가 있습니다.


# xset -b


:-)


저작자 표시
신고

[리눅스] 루트 비밀번호 복구하기

리눅스에서 root 비밀번호를 까먹었을 경우 런레벨 1로 부팅하여 비밀번호를 Recovery 할 수 있습니다.

방법)

1. Ctrl+Alt+Del 키를 눌러 재부팅을 합니다.

2. 재부팅 후 Grub 화면으로 넘어갈 때 잽싸게 esc 키를 누릅니다.
   그럼 다음과 같은 Grub 화면이 나옵니다.




3. "e" 키를 눌러서 편집모드로 들어갑니다.
    두번째 줄에 root = 라고 나온 줄의 맨 마지막에 single 이라고 입력합니다.
    그 후 엔터를 누른 후, "b" 키를 눌러 부팅을 합니다.




4. 부팅과정을 살펴보면 런레벨 1, 싱글모드로 부팅되는 것을 볼 수 있습니다.
   프롬프트가 뜨면 passwd 를 하여 root 비밀번호를 변경합니다.


저작자 표시
신고

NTP 즉, Network Time Protocol은 RFC 1305에 명시된 프로토콜로 네트워크 시스템에 시간을 동기화하는 기능을 가지고 있습니다.

가장 널리 사용되는 NTP서버는 ntp.isc.org 입니다.

이번 세션에서는 내부 서버에 NTP 데몬을 돌리는 방법을 살펴봅니다.


1. 메인 NTP의 alive 여부를 살펴봅니다.
 [root@localhost ~]# ntpdate -b pool.ntp.org
 7 Dec 17:26:12 ntpdate[3015]: step time server 121.131.26.43 offset -86325.133642 sec


2. 상위 NTP로 설정할 time source를 확인합니다.
[root@localhost ~]# nslookup 0.pool.ntp.org
[root@localhost ~]# nslookup 1.pool.ntp.org
[root@localhost ~]# nslookup 2.pool.ntp.org

NTP pool의 경우 가능한한 Load Balancing되는 서버로 설정합니다.

[root@localhost ~]# nslookup 0.pool.ntp.org
Server:         168.126.63.1
Address:        168.126.63.1#53

Non-authoritative answer:
Name:   0.pool.ntp.org
Address: 115.139.9.150
Name:   0.pool.ntp.org
Address: 211.109.14.143

[root@localhost ~]# nslookup 1.pool.ntp.org
Server:         168.126.63.1
Address:        168.126.63.1#53

Non-authoritative answer:
Name:   1.pool.ntp.org
Address: 118.219.234.251
Name:   1.pool.ntp.org
Address: 211.233.40.78

[root@localhost ~]# nslookup 2.pool.ntp.org
Server:         168.126.63.1
Address:        168.126.63.1#53

Non-authoritative answer:
Name:   2.pool.ntp.org
Address: 218.50.1.115
Name:   2.pool.ntp.org
Address: 221.139.48.11



3. NTP 서버의 접근제어 및 기타 구성을 합니다.
restrict 127.0.0.1
restrict 0.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 1.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 2.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery

server 127.127.1.0
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
keys /etc/ntp/keys


- 참고 -
restrict default kod nomodify notrap nopeer noquery

restrict : Deny all packets and queries
kod : Send Kiss-Of-Death packet on access violation
nomodify : Deny ntpq / ntpdc queries that attempt to modify the server //설정변경 관련 명령을 무시
notrap : Deny control message trap service //이벤트 트랩 무시
noquery : Deny all ntpq / ntpdc queries
noserve : Deny all queries - except ntpq / ntpdc
notrust : Deny access unless cryptographically authenticated (ver 4.2 onwards)
nopeer : Deny all packets that attempt to establish a peer association //클라이언트에 시간서비스를 제공하되 peer memory를 할당하여 관리하지 않도록함

--
server : Specifies that a server is running on the host (own local clock)
fudge : Passes additional information to the clock driver
stratum 10 : Manually sets the Stratum the server should operate at (1-15)
driftfile : Specifies the location of the frequency file //시간오차의 평균값 저장
broadcastdelay : Sets the propagation delay from the server when broadcasting
keys : Store a list of keys needed for any cryptographic links

4. 서비스를 재시작 합니다.
 # service ntpd restart

# ntpq -pn으로 서버 리스트를 확인합니다.
# /var/log/messages 파일에서 ntp 관련 메시지를 확인합니다.



# 클라이언트에서 확인하는 방법
1. 윈도우 환경


2. 리눅스 환경

restrict default ignore
restrict 127.0.0.1
restrict 192.168.0.102 mask 255.255.255.255 nomodify notrap noquery
server  192.168.0.102 # local clock
driftfile /var/lib/ntp/drift


저작자 표시
신고
  1. 현재 테스트는 vmware에서 ntp서버를 구축하였지만, 가상 환경에서는 무의미 하다고 합니다. ^-^


[리눅스] 윈도우에서 realvnc로 리눅스 접속하기

윈도우에서 ssh로 접속할 경우 CLI 환경에서 리눅스를 사용할 수 있지만,
vnc를 통해서 GUI 환경으로 리눅스에 접속할 수도 있습니다.

# 방법

실습은 Cent 5.3 에서 하였습니다.

1. 먼저 리눅스에 vnc 프로그램이 깔려 있는지 확인합니다.
# rpm -qa | grep vnc
# rpm -qa | grep vnc
vnc-4.1.2-14.el5
vnc-server-4.1.2-14.el5
앗 이미 깔려 있네요...^-^

rpm 패키지가 없을 경우,
# yum -y install vnc vnc-server
하시면 됩니다.

yum update를 하고나니 업데이트가 되네요...
# rpm -qa | grep vnc
vnc-server-4.1.2-14.el5_3.1
vnc-4.1.2-14.el5_3.1



2. vnc 설정정보가 들어갈만한 경로를 만듭니다.(default 경로 : /root/.vnc)
# mkdir vnc ^_^
# mkdir /root/.vnc
# cd /root/.vnc



3. 비밀번호를 정합니다.
# vncpasswd



4. vi /etc/sysconfig/vncservers 항목에 유저를 추가합니다.



위의 20번째 줄을 복사해서 새로이 하나 만듭니다.





5. 이제 vnc 서비스를 시작합니다.
# service vncserver start


6. 그래픽을 사용하기 위해서 xstartup 파일을 다음과 같이 수정합니다.(주석 3개 제거)




7. vnc 서비스를 재시작한 후 이제 윈도우에서 접속하면 됩니다.
# service vncserver restart



8. 윈도우에서 접속할 시 "해당IP:1" 로 접속합니다.




9. 만약 위와 같이 되지 않을 경우,
방화벽에서 해당 포트가 막혀있을 수 있으니 리눅스 방화벽 및 기타 APP 방화벽에서 로그를 확인하셔야 합니다.


저작자 표시
신고

[리눅스] 작업내역 안 남기기, history에 명령어 안 남기기


리눅스에 접속한 후 명령어를 실행하면,
.bash_history에 접속한 이후 실행하였던 명령어 내역이 나오게 됩니다.

특수한 목적으로 history 파일에 이력을 남기지 않으려면
로그아웃 하기 전에

# unset HISTFILE

하시면 됩니다.

또는
cp /dev/null /root/.bash_history 나 vi .bash_history로 해당 파일을 날릴 수 도 있지만
유저가 여러명일 경우 위의 unset 명령을 하시면 접속한 유저의 명령만 clear 할 수 있습니다.

만약 위의 행위를 막으려면,
/etc/profile에

declare -r HISTFILE

을 하시면 됩니다.






또한 쉘 로그인 시,


# export HISTFILE=/dev/null


로 하여도 동일한 효과가 있습니다.

저작자 표시
신고
[아파치] httpd.conf의 KeepAlive 옵션에 따른 TCP 3 way handshaking 화면


                                        - httpd.conf에서 KeepAlive가 Off 인 경우 -

# 보시는 바와 같이 각각 GET으로 다른 파일을 받을 때마다 SYN-SYN,ACK-ACK 의 3단계를 항상 거칩니다.






                                             - httpd.conf에서 KeepAlive가 On 인 경우 -

# KeepAlive 설정이 On인 경우 처음 SYN-SYN,ACK-ACK의 3 way handshaking을 한 다음에 그 다음부터는 ACK로 파일을 전송합니다.


이런 방식으로 동작하므로 KeepAlive 옵션값의 차이에 따라서 서버의 세션 개수 또한 달라질 수 있습니다.

초창기 HTTP 1.0 버전에서는 KeepAlive 옵션이 Off 된 상태와 같은 서비스로 매번 Connection을 하여 데이터 전송을 하였습니다.

현재는 웹서비스가 포털과 같이 많은 데이터를 필요로하므로 어느정도의 Connection time을 가지고 있는, KeepAlive 옵션이 On 상태인 HTTP 1.1 버전을 사용합니다.


저작자 표시
신고

+ Recent posts