Fedora core 4를 2012년 8월 13일인 오늘 설치하여

yum 을 사용하려고 보니 repository 설정이 사용 불가능한 서버를 가리키고 있었다.

fedora:[~]# yum install proftpd

Loading "installonlyn" plugin

Setting up Install Process

Setting up repositories

core                                                                [1/3]

http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/repodata/repomd.xml: [Errno 4] IOError: <urlopen error (-2, 'Name or service not known')>

Trying other mirror.

Cannot open/read repomd.xml file for repository: core

failure: repodata/repomd.xml from core: [Errno 256] No more mirrors to try.

Error: failure: repodata/repomd.xml from core: [Errno 256] No more mirrors to try.


따라서 인터넷을 찾아보아 새로운 repository 설정법을 찾았다.

아래 3개의 파일에서 baseurl을 변경해주면 된다. mirrorlist 모두 주석처리 했다.

/etc/yum.repos.d/fedora-core.repo

 [core]

...

baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/$releasever/$basearch/os/


[core-debuginfo]

...

baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/$releasever/$basearch/debug/


[core-source]

...

baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/$releasever/source/SRPMS/


/etc/yum.repos.d/fedora-updates.repo

 [updates]

...

baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/updates/$releasever/$basearch/

...


[updates-debuginfo]

...

baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/updates/$releasever/$basearch/debug/


[updates-source]

...

baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/updates/$releasever/SRPMS/


/etc/yum.repos.d/fedora-extras.repo

 [extras]

...

baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/extras/$releasever/$basearch/


[extras-debuginfo]

...

baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/extras/$releasever/$basearch/debug/


[extras-source]

baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/extras/$releasever/SRPMS/



Posted by bluekm
,

헷갈리기 쉬운 문자열 함수 null character 처리 결과

예제 strncpy 1)
    char *strNum = "1234567890";        // null 포함 11 character
    char strBuf[12] = "ABCDEFGHIJK";    // null 포함 12 character

    printf("\n");
    printf(" strNum = \"%s\", strlen = %d \n", strNum, strlen(strNum));
    printf(" strBuf = \"%s\", strlen = %d \n", strBuf, strlen(strBuf));
    printf("\n");

    strncpy(strBuf, strNum, 10);
    printf(" strBuf <----strncpy(n:10)---- strNum \n");

    printf("\n");
    printf(" strBuf = \"%s\", strlen = %d \n", strBuf, strlen(strBuf));
    printf("\n");

    ----------------------------- 결과 -------------------------------
    strNum = "1234567890", strlen = 10
    strBuf = "ABCDEFGHIJK", strlen = 11

    strBuf <----strncpy(n:10)---- strNum

    strBuf = "1234567890K", strlen = 11 
    ------------------------------------------------------------------

예제 strncpy 2)
    char *strNum = "1234567890";        // null 포함 11 character
    char strBuf[12] = "ABCDEFGHIJK";    // null 포함 12 character

    printf("\n");
    printf(" strNum = \"%s\", strlen = %d \n", strNum, strlen(strNum));
    printf(" strBuf = \"%s\", strlen = %d \n", strBuf, strlen(strBuf));
    printf("\n");

    strncpy(strBuf, strNum, 11);
    printf(" strBuf <----strncpy(n:11)---- strNum \n");

    printf("\n");
    printf(" strBuf = \"%s\", strlen = %d \n", strBuf, strlen(strBuf));
    printf("\n");

    ----------------------------- 결과 -------------------------------
    strNum = "1234567890", strlen = 10
    strBuf = "ABCDEFGHIJK", strlen = 11

    strBuf <----strncpy(n:11)---- strNum

    strBuf = "1234567890", strlen = 10 
    ------------------------------------------------------------------


예제 snprintf 1)
    char *strNum = "1234567890";        // null 포함 11 character
    char strBuf[12] = "ABCDEFGHIJK";    // null 포함 12 character

    printf("\n");
    printf(" strNum = \"%s\", strlen = %d \n", strNum, strlen(strNum));
    printf(" strBuf = \"%s\", strlen = %d \n", strBuf, strlen(strBuf));
    printf("\n");

    snprintf(strBuf, 10, "%s", strNum);
    printf(" strBuf <----snprintf(n:10)---- strNum \n");

    printf("\n");
    printf(" strBuf = \"%s\", strlen = %d \n", strBuf, strlen(strBuf));
    printf("\n");

    ----------------------------- 결과 -------------------------------
    strNum = "1234567890", strlen = 10
    strBuf = "ABCDEFGHIJK", strlen = 11

    strBuf <----snprintf(n:10)---- strNum

    strBuf = "123456789", strlen = 9 
    ------------------------------------------------------------------

예제 snprintf 2)
    char *strNum = "1234567890";        // null 포함 11 character
    char strBuf[12] = "ABCDEFGHIJK";    // null 포함 12 character

    printf("\n");
    printf(" strNum = \"%s\", strlen = %d \n", strNum, strlen(strNum));
    printf(" strBuf = \"%s\", strlen = %d \n", strBuf, strlen(strBuf));
    printf("\n");

    snprintf(strBuf, 11, "%s", strNum);
    printf(" strBuf <----snprintf(n:11)---- strNum \n");

    printf("\n");
    printf(" strBuf = \"%s\", strlen = %d \n", strBuf, strlen(strBuf));
    printf("\n");

    ----------------------------- 결과 -------------------------------
    strNum = "1234567890", strlen = 10
    strBuf = "ABCDEFGHIJK", strlen = 11

    strBuf <----snprintf(n:11)---- strNum

    strBuf = "1234567890", strlen = 10 
    ------------------------------------------------------------------

Posted by bluekm
,


xv-3.10a.jumbopatch.20070520-10.fc12.src.rpm


xv-3.10a.jumbopatch.20070520-10.fc12.src.tgz


xv-3.10a.jumbopatch.20070520.tgz

 


그동안 잘 사용하고 있던  xv-3.10a 정식 버전( 다운링크 : http://www.trilon.com/xv/downloads.html )

은 16bit bmp를 로드할 수 없음을 알았다.


찾아보던 중 어떤 리눅스 배포본에 있는  xv-3.10a는 타이틀에 날짜가 박혀있고 16bit bmp를 로드할 수 있음을 알아내었다.


따라서 16bit bmp 를 로드할 수 있는 xv-3.10a + jumbopatch(20070520)를 공유하려 한다.


xv-3.10a.jumbopatch.20070520-10.fc12.src.rpm :

    - xv-3.10a 소스와 20070520 일자 jumbopatch 가 묶여 있는 rpm 패키지 이다. 인터넷에서 받은 원본...

xv-3.10a.jumbopatch.20070520-10.fc12.src.tgz :

    - 위 rpm 패키지의 압축을 풀어 tar + gzip 압축으로 묶은 것이다. rpm을 사용할 수 없는 시스템을 위하여...

xv-3.10a.jumbopatch.20070520.tgz :

    - 위 rpm 패키지에 있는 xv-3.10a 소스에 jumbopatch 및 몇가지 패치를 적용하여 다시 묶은 tarball 파일.

 

Posted by bluekm
,


hanterm.XFree86.4.2.0.tgz


1. hanterm

- 한텀 실행 파일

2. Hanterm

- 한텀 설정 파일

- 일반적인 설치 위치는 아래와 같지만 시스템에 따라 틀림...

- /usr/lib/X11/app-defaults/

3. hangul_keyboard directory

- 한텀 키보드 파일

- 아래와 같이 위치하여야 함.

- /usr/local/share/hangul_keyboard

4. Hanterm.font.zip

- 항목 3.의 한텀 설정파일에서 사용하는 X11폰트

- X11 font 디렉토리에 설치하여야함. 일반적인 폰트 위치는 아래와 같음

- /usr/X11R6/lib/X11/fonts

- X11 font 설정 파일 에 등록해 주어야함...

Posted by bluekm
,

"ld: cannot find -lX11" 컴파일 에러

위 에러는 X11 library가 있는 위치가 명시되어 있지 않기때문에 발생한다

따라서 아래와 같은 방법으로 대처 가능하다. (X11 이 /usr/X11R6에 설치되어 있는 경우)


방법1)

gcc -I/usr/X11R6/include -L/usr/X11R6/lib main.c -lX11


방법2)

export LIBRARY_PATH=/usr/X11R6/lib:$LIBRARY_PATH

export C_INCLUDE_PATH=/usr/X11R6/include:$C_INCLUDE_PATH

gcc main.c -lX11




Posted by bluekm
,

rpm 패키지 압축 해제 방법

예) xv-3.10a-13.i386.rpm 압축 해제

rpm2cpio xv-3.10a-13.i386.rpm | cpio -idv


Posted by bluekm
,


다음은 FAT32 파일시스템으로 포맷한 USB 메모리에
리눅스와 윈도우에서 파일을 생성하여
OS 종류, 타임존 설정에 따라
파일 생성 시간이 어떻게 표기되는지 확인한 로그이다.

============ 리눅스시간 GMT +09 21:58 ===============

-> 리눅스에서 파일 생성(aaa1) 및 생성 시간 확인
DFUM-ATFF44-023B29:[/mnt]# touch AAA1
DFUM-ATFF44-023B29:[/mnt]# ls -ltr
-rwxr-xr-x    1 root     root             0 Feb 10 21:58 aaa1*


============ 리눅스시간 GMT +00 로 변경==============

-> 리눅스에서 파일 생성 시간 확인
DFUM-ATFF44-023B29:[/mnt]# ls -ltr
-rwxr-xr-x    1 root     root             0 Feb 10 12:58 aaa1*

-> 리눅스에서 파일 생성(aaa2) 및 생성 시간 확인
DFUM-ATFF44-023B29:[/mnt]# touch aaa2
DFUM-ATFF44-023B29:[/mnt]# ls -ltr
-rwxr-xr-x    1 root     root             0 Feb 10 12:58 aaa1*
-rwxr-xr-x    1 root     root             0 Feb 10 13:01 aaa2*


=========== 윈도우시간 GMT +09 10:19 ================

-> 윈도우에서 파일 생성(time_test.txt) 후 리눅스에서 생성 시간 확인
DFUM-ATFF44-023B29:[/mnt]# ls -ltr
-rwxr-xr-x    1 root     root             0 Feb 10 10:19 time_test.txt*
-rwxr-xr-x    1 root     root             0 Feb 10 12:58 aaa1*
-rwxr-xr-x    1 root     root             0 Feb 10 13:01 aaa2*


=========== 리눅스시간 GMT +09 로 변경 ===============

-> 리눅스에서 파일 생성 시간 확인
DFUM-ATFF44-023B29:[/mnt]# ls -ltr
-rwxr-xr-x    1 root     root             0 Feb 10 19:19 time_test.txt*
-rwxr-xr-x    1 root     root             0 Feb 10 21:58 aaa1*
-rwxr-xr-x    1 root     root             0 Feb 10 22:01 aaa2*

Posted by bluekm
,


윈도우에서 AutoRun을 중지 시키는 방법 입니다.

1. Window XP 프로페셔널 에디션일 경우 그룹정책 편집기를 사용하여 중지 할 수 있습니다.
  - 시작 -> 실행
  - gpedit.msc
  - 사용자 구성 -> 관리 템플릿 -> 시스템
  - "자동 실행 사용 안 함" 선택
  - 등록정보 에서 "사용" 선택 후 확인

 
  비스타는 "사용자 구성 -> 관리 템플릿 -> Windows 구성 요소 -> 자동 실행 정책" 에 있습니다.

2. Shell Hardware Detection 서비스 비활성화
 => XP 인 경우
  - 내컴퓨터 마우스 우클릭 -> 관리
  - 서비스 및 응용프로그램 -> 서비스
  - ShellHWDetection -> Shell Hardware Detection 중지(사용안함)
  - 시작 -> 실행 -> regedit
  - HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
    "NoDriveTypeAutoRun"=dword:00000091 (자동 실행 설정/기본값)
    "NoDriveTypeAutoRun"=dword:00000000 (자동 실행 설정)
    "NoDriveTypeAutoRun"=dword:000000ff (자동 실행 해제)


 => 비스타 인 경우
  - 제어판 -> 시스템 유지 및 관리 -> 관리도구
  - 서비스 -> ShellHWDetection -> Shell Hardware Detection 중지(사용안함)
  - regedit 에서 NoDriveTypeAutoRun 검색 후 ff로 수정

 => XP 인 경우 regedit 설정은 첨부파일 실행으로 대체 가능합니다.
Posted by bluekm
,