콘솔에서 beep 없애기

FAQ 2005/07/04 12:12
탭 키나 백스페이스를 쓸때, beep 이 나지요..
이 beep 음이 듣기 싫으신 예민한 분들을 위해
이 팁을 올립니다.(bash 셀에서입니다.)

1. 콘솔상에서 아래와 같이 하면 없어집니다.

$echo -e "\33[11;0]"
## '-e' 옵션은 역슬래쉬 가 esc 키 임을 의미합니다.
## 로그인할 때마다 없애려면 ~[id]/.bashrc 화일에 추가해주세요.

다시 beep 이 그리워지면 다음과 같이 하세요.
$echo -e "\33[10;750]\33[11;250]"

##위 사항에 대해 추가하면,
ESC-[10;xx]는 벨소리의 주파수대를 말하는거구요..
디폴트 는 750Hz 입니다.
ESC-[11;xx]는 벨소리가 얼마나 길게 울리느냐 하는겁니다.
디폴트는 125ms 입니다.

2. 다음은 x 상에서의 beep 없애기 입니다.
$xset -b
다시 듣고 싶으면,
$xset b

위와 같이 사용하면 됩니다.
2005/07/04 12:12 2005/07/04 12:12
웹호스팅 사이트를 돌아다니다보면
" 일일트래픽 500M , 혹은 일일 히트수 1000 히트 제한 "
이런 글을 볼 수 있습니다.


트래픽을 제어하는 방법은 mod_bandwidth 와 mod_throttle 두가지가 주로 많이 쓰이는데
mod_bandwidth 는 대역폭을 관리 하는 모듈이며
mod_throttle 은 트래픽을 제어하는 모듈입니다 ( 그게 그 소리 같은가 ? ㅡㅡ;; 하지만 두개의
역할은 분명히 다릅니다 )

예를들어 1M 짜리 파일을 받는다고 하면
mod_bandwidth 모듈을 이용하면 초당 얼마의 속도까지 전송이 가능한지를 관리 하고
mod_throttle 모듈은 1M 파일을 몇번까지 다운받을 수 있느냐를 관리 하게 되겠죠.

mod_bandwidth 모듈은 1M 파일을 다운 받는 속도를 apache 서버 관리자가 마음대로
조절할 수 있으나 다운 받는 횟수, 다시말해 총 다운로드 양은 조절이 안되고

mod_throttle 모듈은 1M 파일을 다운받는 속도를 조절할 수 없으나
다운받는 총 횟수, 즉 총 다운로드 양을 조절할 수 있다는 말입니다.

두개를 함께 쓰면 트래픽, 대역폭 관리에 유용하겠죠.


이번 강좌에서는 mod_throttle 모듈만 설명 하겠습니다.
아파치가 설치된 디렉토리는 /usr/local/apache 라고 가정하고 설명 합니다.

우선 mod_throtte.c 파일을 다운받아 아파치 경로의 특정 디렉토리로 가져다 놓습니다.

이걸 구할 수 있는곳은

http://www.snert.com/Software/mod_throttle/index.shtml

위 웹사이트입니다.

mod_throttle312.tgz 파일을 다운 받을 수 있네요 ( 2003년 10월 25일 현재 )
다운받아 압축을 풀면 여러개의 파일이 나오는데 그 중에서
mod_throttle.c 파일을 /usr/local/apache/src/module/extra 에 가져다 놓습니다.


그리고 아파치를 컴파일을 다시 하는데
아래와 같은 컴파일 옵션을 줘야 합니다.

[root@myserver /]# cd /usr/local/apache
[root@myserver apache]# ./configure --prefix=/usr/local/apache \
--activate-module=src/modules/php4/libphp4.a \
--add-module=src/modules/extra/mod_throttle.c


( 여기서 \ 표시는 줄이 바뀌며 라인이 지저분해 지는것을 방지 하기 위해
줄을 넘기면서 명령어를 계속해서 입력하기 위해 사용한 표시입니다 )


기존의 php 연동 옵션 (activate... ) 아래에 모듈을 함께 컴파일 하는것으로 옵션을 주었습니다.

이제 make 그리고 make install 로 컴파일을 합니다. ( 이 부분은 아래글 apache ,PHP 설치하기를
참조하시길 바랍니다 )


컴파일이 완료 되었으면 모듈이 제대로 추가 되었는지 확인해 봅니다.

[root@myserver apache]# /usr/local/apache/bin/httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_access.c
mod_auth.c
mod_setenvif.c
mod_php4.c
mod_throttle.c
suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec


맨 아래쪽에 mod_throttle.c 라는 모듈이 보입니다.
제대로 컴파일이 된 상태입니다.

이제 모듈을 사용해 보겠습니다.

httpd.conf 파일을 열어서 이 있는 위치로 이동합니다.
( 꼭 거기에다 편집할 필요는 없지만 .. 같은 내용은 몰아 넣는것이 관리하기 좋겠죠 )

아래의 내용을 입력합니다.



ThrottlePolicy none


SetHandler throttle-status
Deny from all // 다른접근을 모두 거부하고
Allow from 123.123.123.123 // 특정 아이피에서만 throttle-status 를 확인 하도록



SetHandler throttle-me



Order deny,allow
Deny from all
Allow from all
SetHandler throttle-me




throttle-status 를 확인할 수 있는 아이피를 정해 놓은 부분(Allow from.. )을 주의 하시길 바랍니다.
아무나 서버 상태를 확인하게 하면 좇치 않겠지요 ? ㅋㅋ
위 설정은 123.123.123.123 에서만 서버 전체의 트래픽 상황을 모니터링 하도록 설정한 것입니다.


virtualhost 에서의 설정은 아래와 같습니다.


ServerAdmin dream@praise.co.kr
DocumentRoot /home/dream/public_html
ServerName myserver.co.kr
ServerAlias www.myserver.co.kr
Throttle Policy Volume 1024M 1d // 1일 1G 제한
ThrottlePolicy Request 1000 1d // 하루 히트수 1000회 제한
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log common



위의 내용대로
서버에서 운영되는 도메인에 대해 throttlepolicy 를 설정한 뒤
아파치를 재시작 하고

http://서버IP/throttle-status 를 확인 하면
서버에 설정된 대역폭의 모든 내용을 확인 할 수 있으며

서버에 설정된 특정 도메인의 트래픽을 확인 하려면
http://domain/throttle-me 를 확인 하면 됩니다.

* 아직은 APACHE v2에서 지원되지는 않고있습니다.
2005/07/04 12:11 2005/07/04 12:11
/proc는 가상 파일 시스템으로 메모리에 있는 시스템의 직접적인 반영이며 계층 형태로 표현됩니다.
즉 커널과 현재 수행되는 프로세스에 대한 정보를 쉽게 얻기 위해 존재하는 곳입니다.
ps로 시스템 상태에 관한 정보를 얻기 위해 /proc를 읽어 들이기도 합니다.
이곳에서 아래와 같은 일을 수행할수 있습니다..

- 통계적 정보를 보는 것
- 하드웨어 정보 알아내기
- 런타임 파라메터 수정하기
- 네트워크와 호스트 파라메터 보기 및 수정
- 메모리와 수행능력에 관한 정보

/proc의 구조(해당 파일및 디렉토리 설명)

loadavg : 지난 1,5,15 분간의 평균 시스템 부하
uptime : 부트 이래로 총 가동 시간(초) 과 프로세스에 의해 사용된 총 시간
meminfo : 메모리와 스왑의 사용 및 프리 바이트
kmsg : 커널에 의해 읽혀질 커널 메시지
version : 커널 또는/그리고 배포본의 버전
cpuinfo : 프로세서(CPU) 파라메터
pci : 현재의 PCI 슬롯 사용 정보
self/ : 현재 /proc를 억세스하고 있는 프로세스 정보
net/ : 네트워크 계층 설명
scsi/ : 개개의 scsi 장치에 관한 정보를 갖는 파일들이 위치함.
malloc : kmalloc 과 kfree 운영 정보 모니터링
kcore : 커널 코어 덤프
modules : 단일 적재 모듈에 관한 정보
stat : 일반 리눅스 통계
devices : 커널에 등록된 시스템 장치에 관한 정보
interrupts : 인터럽트 할당 정보
filesystems : 현재의 파일시스템 구현
ksyms : 커널에의해 익스포트된 심볼
dma : 사용중인 DMA 채널
ioports : 현재 사용중인 입출력 포트
smp : SMP가 활성화 돼 있을 경우 각 CPU 정보
cmdline : 부트시에 커널에 넘겨진 파라메터
sys/ : 중요한 커널과 네트워크 정보
mtab : 현재 마운트된 파일 시스템
md : 다중 디바이스 드라이버 정보(활성화 되었을 경우)
rc : 확장 리얼타임 클럭
locks : 현재 락(locked)된 파일
Numbered Directories : 숫자로 된 디렉터리는 그 PID의 실행 프로세서 정보이다.

해당 정보를 보고자 한다면(파일일 경우)

[root@dream root]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping : 7
cpu MHz : 2411.691
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 4784.26

이처럼 자세한 정보를 볼수 있습니다.
이곳 파일들의 크기는 0으로 나타나는데.. 이는 신경쓰지 않으셔도 됩니다.
/proc 파일들은 수정을 하지 않는 것이 좋습니다.
그리고 /proc의 기능 및 그 내용들은 버전마다 다르다니 주의하기 바랍니다.
2005/07/04 12:10 2005/07/04 12:10