본문 바로가기

Linux

[SVN] SVN Repository 추가방법 1. 폴더 / 사용자 추가 # cd /var/www/svn # svnadmin create --fs-type bdb REPO Name # chown -R apache.apache REPO Name # chmod -R g+w REPO Name # svnserve -d -r /var/www/svn/(서버소켓을 바인드할 수 없습니다: 주소가 이미 사용 중입니다.-> killall svnserve) # cd /etc/httpd/conf/ #/usr/bin/htpasswd -m passwd 추가하고자 하는 계정 ==> 최초 1회만 추가하면 됨 2. httpd.conf에 Location 부분 추가 # vi /etc/httpd/conf/httpd.conf == 제일 하단부 ==DAV svnSVNPath /var/ww.. 더보기
[Linux]C언어 Gateway 정보 가져오기 출처 : http://www.linuxquestions.org/questions/linux-networking-3/howto-find-gateway-address-through-code-397078/Gateway의 정보는 ioctl을 사용하지 않고, socket의 send(), recv()함수를 이용하여, 구할 수 있다.#include #include #include #include #include #include #include #include #define BUFSIZE 8192 struct route_info{struct in_addr dstAddr;struct in_addr srcAddr;struct in_addr gateWay;char ifName[IF_NAMESIZE];}; int readNl.. 더보기
[Linux] ioctls request 목록 '/usr/include/bits/ioctls.h'에 정의되어 있다. /* Routing table calls. */#define SIOCADDRT 0x890B /* add routing table entry */#define SIOCDELRT 0x890C /* delete routing table entry */#define SIOCRTMSG 0x890D /* call to routing system */ /* Socket configuration controls. */#define SIOCGIFNAME 0x8910 /* get iface name */#define SIOCSIFLINK 0x8911 /* set iface channel */#define SIOCGIFCONF 0x8912 /* get i.. 더보기
[Linux] ioctl 출처 : http://blog.naver.com/jmlee402/120005131921 3.1절. ioctl에 대해서 ioctl()은 입출력(Input/Oupt)장치의 제어(Contol)을 위해서 사용되는 함수로 장치에 접근해서 장치 정보를 얻어오거나 장치의 값을 변경하기 위한 용도로 사용된다. 여기에서는 네트워크 장치중 일부분의 정보를 가져오는 것만 다루고 있지만, 터미널, 소켓, cdrom, floppy, 프린터, 사운드카드.. 등 모든 입출력과 관련된 장치를 제어할 수 있다. 예를 들어 여러분이 오디오 CD를 재생하는 애플리케이션을 제작하길 원한다면 ioctl()을 이용해서 장치를 제어하고 CD에 있는 데이터를 읽어와야 한다. 다음은 ioctl()함수 선언이다. #include int ioctl(i.. 더보기
[Linux] C작성 IP, Broadcast, Subnetmask, MAC address, NIC 가져오기 헤더파일 -- 이 중 사용하지 않는 것도 있으나, 잊어버림 #include #include #include #include #include #include #include #include #include #include #include #include #include //debug define#define DEBUG_LEVEL_3 #ifdef DEBUG_LEVEL_#define dp(n, fmt, args...)if (DEBUG_LEVEL_ sin_addr));close(sock);return 1;} Mac address 정보 가져오기int getMacAddress(char *mac){int sock;struct ifreq ifr;char mac_adr[18] = {0,};sock = socket(AF_.. 더보기
[Linux] system 함수 대체 system()함수를 사용하려고 했으나, (참조 system함수)보안상에 문제가 있다고 하여, exec시리즈 함수로 대체하려고 하였다. (참조 exec 시리즈) ※ 아래는 system 함수 문제점Quote:Do not use system() from a program with suid or sgid privileges, because strange values for some environment variables might be used to subvert system integrity. Use the exec(3) family of functions instead, but not execlp(3) or execvp(3). system() will not, in fact, work prop- erly .. 더보기
csv 파일(UTF-8) 엑셀에서 한글 깨질때 리눅스(UTF-8기반)에서 csv 파일을 만들어, 리눅스 상에서 볼때는 한글이 문제없이 출력되었다.그런데 윈도우로 파일을 옮겨서 볼때, 아래와 같은 문제가 발생했다. 1. 리눅스에서 만든 csv파일을 엑셀(window os)에서 열때, 한글이 깨진다.2. 메모장(window os)에서 파일을 열때는 한글이 깨지지 않는다. ㅡㅡ3. 메모장에서 저장 후(아무런 변경없이 저장만 했음) 엑셀에서 열때에는 한글이 깨지지 않는다. iconv를 이용해 UTF-8을 EUC-KR로 변경할 경우, 엑셀에서도 한글이 깨지지는 않지만, 다국어를 지원할 경우, 'EUC-KR' 부분이 마음에 걸려, 이 방법은 사용하지 않기로 결정. 이 모든 상황에 원인은 엑셀에서 UTF-8형식의 csv파일을 제대로 인식하지 못한다는 것. 해결방.. 더보기
[Fedora] VirtualBox에서 게스트 확장 적용하기 1. 설정-디스플레이-3차원 가속사용하기 체크2. '장치-게스트 확장 설치'를 클릭한 후 진행su -yum -y update kernelyum -y install kernel-devel kernel-headers dkms gcc gcc-c++ reboot su -cd /media/VBOXADDITIONS_ ...sh ./VBoxLinuxAdditions.run restorecon -R -v /opt reboot 더보기
GDB를 통한 디버깅 출처 : http://psyoblade.egloos.com/2653919 참고서적 : 유닉스 리눅스 프로그래밍 필수 유틸리티 : 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행까지 총 10행이 출려된다. l.. 더보기
MakeFile 만들기 MakeFile 만들기 http://forum.falinux.com/zbxe/?document_srl=405822&mid=gcc 더보기