IT 109

커널 헤더 참고

#include #include // 모듈과 관련된 자료 구조와 매크로가 정의되어 있다. #include // 커널에서사용하는각종자료형들ssize_t // 커널과 관련된 자료 구조와 printk() 함수 등이 정의 되어 있다. loff_t 등.. printk() #include // (1) 커널 2.6에서만 사용되며, (2) module_init()와 // module_exit() 매크로 함수가 정의되어 있습니다. #include // register_chrdev() / unregister_chrdev() #include // open() #include // kmalloc() & kfree() #include // kmalloc() & kfree() #include // vmalloc() & vfree..

IT/Kernel 2011.07.18

How to install for Mstone

메일 성능 테스트 프로그램 mstone 설치법 임당..... cent os base 입니다. ubuntu 나 혹은 다른 os 도 의존성 패키지만 설치하면 잘 설치 됩니다. 0. required >yum install gd >yum install gnuplot 1. install cmake require gcc-c++ package, if uninstalled >yum install gcc-c++ >wget http://www.cmake.org/files/v2.8/cmake-2.8.0-Linux-i386.tar.gz >tar zxvf cmake-2.8.0-Linux-i386.tar.gz >cd cmake-2.8.0-Linux-i386 >cp -R * /usr 2. install mstone , URL : ..

IT/Tips 2011.03.11

CLI (Command Line Interface) instead of shell

리눅스 박스에서 보통 shell 을 사용한다.... 그러나 상용 어플라이언스 제품을 보면 자체 CLI 를 가지고 있다...시스코 스위치 처럼... 그래가가 나도 함 만들어 봤다.... 동작 잘 된다...... 리눅스박스에 필요한 명령만 모아서리 지원하면...괘안타...뽀대도 난다.. 기능은.... - 자동완성 기능 (tab) - 세부 옵션 자동완성 기능 - 인자값 및 문법 체크.. ( 틀릴경우 틀린부분을 표시해준다 ) , 미리 사전 정의한 문자만 입력 받는다 그외 문자는 오류로 처리된다. - 중요한 명령어 일경우 패스워드 인증 - 명령어 히스토리 및 shell 에서 사용하는 단축키 지원 아래는 동영상 캡쳐 해봤당...전체 화면으로 보면 잘 보임..

IT/Tips 2011.03.09

리눅스 파일 최대 개수 , 파일 최대 사이즈, 디렉토리 최대 개수

* 최대 파일 사이즈 및 최대 파일 시스템 크기 - 블록 사이즈 보기 > dumpe2fs /dev/sda1 | grep "Block size" dumpe2fs 1.39 (29-May-2006) Block size: 4096 Filesystem block size: 1kB 2kB 4kB 8kB File size limit: 16GB 256GB 2048GB 2048GB Filesystem size limit: 2047GB 8192GB 16384GB 32768GB * 디렉토리내 파일 개수 및 디렉토리내 서브디렉토리 개수 커널 소스의 Documentation/filesystems/ext2.txt 내용을 참고 - 한 디렉토리 내의 최대 서브디렉토리 개수는 32768 개 - 한 디렉토리 내의 이론적인 최대 파일 개..

IT/Tips 2011.01.31

gdb 디비깅

출처 : http://psyoblade.egloos.com/2653919 gdb 를 통한 디버깅 따라하기 참고서적 : 유닉스 리눅스 프로그래밍 필수 유틸리티 : vi, make, gcc, gdb, cvs, rpm 1. 우선 컴파일 시에 디버깅 정보를 담아야 한다. gcc -g -o [프로그램명] [소스파일명] 디버깅 옵션인 -g 으로 컴파일하며, 최적화 옵션인 -O 은 주지 않도록 한다. 2. 실행방법 gdb [프로그램명] gdb [프로그램명] [core파일명] gdb [프로그램명] [실행중인프로세스pid] 3. 종료방법 q Ctrl + d 4. 소스 찾아가기 (list) l : main 함수를 기점으로 소스의 내용이 출력된다 l 10 : 10 행 주변의 소스가 출력되는데 10 - 5 행부터 10 + 5..

IT/Tips 2011.01.26

python 문자열 제어

참고 : http://creaplz.tistory.com/26 1. 시퀀스 자료형 : 문자열, 리스트, 튜플 1) 인덱싱(indexing) : [k] >>> s = 'abcdef' # 문자열 >>> l = [100, 200, 300] # 리스트 >>> s[0] # 참조 'a' >>> s[1] 'b' >>> s[-1] 'f' >>> l[1] 200 >>> l[1] = 900 # 치환 2) 슬라이싱(Slicing) : [s:t] >>> s = 'abcdef' >>> l = [100, 200, 300] >>> s[1:3] # 1번 위치와 3번 위치 사이를 나타냄 'bc' >>> s[1:] # 1부터 끝까지 'bcdef' >>> s[:] # 처음부터 끝까지 'abcdef' >>> s[-100:100] # 범위를..

IT/Tips 2010.11.23

gdb 반복문 for while

100 : for ( i = 0; i < 1000000; i++ ) { 101 : /* to do 1 */ 102 : /* to do 2 */ 103 : } 104 : /* to do 3 */ - for 반복문을 끝낸다. (gdb) util - for 반복문을 끝내고 /* to do 3 */ ( line number 104 )에서 멈춘다. (gdb) advance 104 - for 문에서 i 값에 조건을 걸어 조건이 만족하면 break point 에서 멈춘다. (gdb) break 101 (gdb) info b ... 2 breakpoint ...................: 101 ... (gdb) cond 2 i == 50000 - for 문에서 N번 발생하는 break point 를 무시하기 (g..

IT/Tips 2010.11.12

rpmbuild options and centos kernel source rpm build

보통 작업디렉토리가 위치하는 곳은 /usr/src 이고, /etc/rpmrc 파일에서 바꿔줄수 있다고 한다. > yum install rpm-build redhat-rpm-config unifdef > cd > mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} > echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros - kernel download find the kernel source rpm * http://mirror.centos.org/centos/5/updates/SRPMS/ (Current Updates/SRPMS) * http://mirror.centos.org/centos/5/os/SRPMS/ (Current ..

IT/Tips 2010.11.10