61.Linux2008. 8. 4. 15:05
반응형
SSH 터미널에서 한글이 깨지는 거다. 게다가 이경우 vi 편집기도 이상 동작을 한다. 도저히 터미널에서 작업을 할 수가 없었다.



여러번의 또 삽질 끝에 알아내었다.



유니코드 utf-8 때문이었다. Fedora에서는 기본으로 한글코드를 (사실은 모든 코드다) utf-8을 사용한다. 그런데 이 코드가 문제가 많다. 정확히 말하면 코드에는 문제가 없겠지만, 이를 사용하는 다른 시스템들이 지원을 안하는 경우때문에 문제가 발생한다. 그래서 코드를 eucKR로 바꾸는 작업을 해주면 일반적으로 사용하는 경우 문제를 해결할 수 있다.

여러가지 방법이 있겠지만 대략 2가지 방법으로 해결이 가능하다고 한다. 그러나 나는 아래의 방법으로 문제를 해결했다.



== i18n 파일의 수정 ==

/etc/sysconfig/i18n 파일을 아래와 같이 수정한다.



#vi /etc/sysconfig/i18n


LANG="ko_KR.eucKR"
SUPPORTED="ko_KR.eucKR:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
Posted by 1010
61.Linux2008. 7. 25. 16:29
반응형
  • Network files - 리눅스에서 네트워크 관련 셋팅 파일들.
  • rebuild rpm - 소스 rpm파일을 리빌드 하기.
  • vimrc setting - vimrc의 환경설정옵션들
  • Security Checing list - 리눅스서버에서 해킹의 기록이 걱정될때 체크하는 방법들.
  • IEs4Linux - 리눅스에서 IE를 돌리기
  • 유용한 명령어들 - 유용한 명령어들
  • Posted by 1010
    61.Linux2008. 7. 24. 13:21
    반응형

    [시큐리티 팁!팁!팁!] OpenVPN을 이용한 VPN 구현

     

    VPN의 종류와 필요성에 대해서는 많은 이들이 숙지하고 있다. 하지만 비용이나 불편함 때문에 실제 도입을 꺼려지는 경우가 상당수에 이르는데, 이는 오픈소스로 개발돼 배포중인 OpenVPN이라는 프로그램을 통해 극복할 수 있다. VPN 도입의 가장 큰 걸림돌이었던 비용 문제를 해결하면서 고성능의 VPN을 구현할 수 있도록 지원하는 OpenVPN의 특징에 대해 알아보자.

    VPN의 종류와 필요성에 대해서는 많은 이들이 숙지하고 있다. 하지만 비용이나 불편함 때문에 실제 도입을 꺼려지는 경우가 상당수에 이르는데, 이는 오픈소스로 개발돼 배포중인 OpenVPN이라는 프로그램을 통해 극복할 수 있다. VPN 도입의 가장 큰 걸림돌이었던 비용 문제를 해결하면서 고성능의 VPN을 구현할 수 있도록 지원하는 OpenVPN의 특징에 대해 알아보자.

     

    - OpenVPN은 하나의 UDP 포트를 통해 모든 트래픽을 터널링할 수 있다. 즉 웹 접속(HTTP)을 하거나 DNS 질의를 할 때(UDP/53), ping(ICMP)을 날려도 중간에 패킷을 캡처하면 500/UDP를 통해 전송되는 것처럼 보이게 한다.


    - 안전한 VPN 통신을 위해 별도의 모듈이 필요없이 널리 사용하고 있는 OpenSSL에서 지원하는 강력한 암호화와 인증 기능 등을 그대로 이용할 수 있다.


    - OpenVPN은 시스템 내에서 별도의 데몬 형태로 작동하기 때문에 IPsec 기반의 VPN 프로그램처럼 복잡한 커널 패치나 커널 모듈이 필요하지 않으며, 설치 방법도 간단하다.


    - 모든 패킷이 VPN을 통해 터널링되고 압축 혹은 암호화됨에도 불구하고 시스템에 부하를 유발하지 않으며, 속도도 빠르다.

     

    이외에도 OpenVPN은 많은 특징과 확장 가능성을 가지고 있다. 더 자세한 내용은 홈페이지(http://openvpn.net/)를 참고하기 바란다.


    지금부터는 OpenVPN을 이용해 (그림 1)처럼 전자우편이나 웹 서버 등의 용도로 많이 사용되는 리눅스 서버와 윈도우 PC 간에 VPN을 연동해 안전한 네트워크를 구성하는 사례를 살펴보자.



     

    (그림 1)처럼 IDC 등의 전산 센터에 있는 서버에 VPN 데몬을, PC에 VPN 클라이언트 프로그램을 설치한다. 그 뒤 VPN 서버에 접속해 인증을 받으면, VPN 서버로부터 별도의 VPN용 IP를 할당받아 VPN 터널을 통해 접속할 수 있다.


    물론 이때의 서버 접속은 인터넷은 물론 VPN 터널을 통해서도 가능하다.

     

     

    ·VPN 서버 설치와 설정


    먼저 서버에서 VPN 데몬을 설정하자. OpenVPN에서는 TUN이나 TAP이라는 별도의 가상 인터페이스로 VPN 통신을 하므로, 우선 커널에서 이 드라이버를 지원하도록 다음과 같이 설정한 뒤 커널을 컴파일해야 한다.

     

    [*]   Universal TUN/TAP device driver support

     

    이후 디바이스를 설정하기 위해 다음의 명령어를 실행하는데, 이미 설정돼 있는 경우가 대부분이다.

     

    # mkdir /dev/net
    # mknod /dev/net/tun c 10 200
                             
    다음으로 OpenVPN을 설치하기 전에 OpenSSL과 LZO라는 두 프로그램을 먼저 설치한다. 이들 프로그램은 VPN 이용 시, 패킷을 암호화하고 압축해 전송할 때 필요한 모듈로, 다음 사이트에서 다운로드해 설치하면 된다.
     
    * OpenSSL :
    http://www.openssl.org/
    * LZO      :
    http://www.oberhumer.com/opensource/lzo/

     

    프로그램 설치가 끝났으면 OpenVPN 홈페이지에서 소스를 다운로드해 './configure ; make; make install'로 설치하면 된다. VPN 클라이언트와 서버 간 인증을 위해서는 인증서가 필요하므로 먼저 서버에서 인증서를 생성한다. 인증서를 생성할 때나 사인을 할 때는 OpenSSL을 이용하므로 미리 설치돼 있어야 한다.


    먼저 Root CA 인증서와 비밀키를 생성해야 하는데, 다음 명령어를 실행하면 1년 동안 유효한 CA와 비밀키(개인키)를 생성할 수 있다.

     

    # openssl req -nodes -new -x509 -keyout my-ca.key -out my-ca.crt -days 365

     

    다음은 클라이언트와 서버에서 사용할 키를 각각 생성한다.

     

    # openssl req -nodes -new -keyout client.key -out client.csr
    # openssl req -nodes -new -keyout server.key -out server.csr

     

    Root CA를 이용해 서버와 클라이언트 인증서에 각각 사인한다. 

     

    # openssl ca -out server.crt -in server.csr
    # openssl ca -out client.crt -in client.csr

     

    다음으로 서버에서 암호화 협상 시 필요한 Diffe Hellman 파라미터를 생성한다.

     

    # openssl dhparam -out dh1024.pem 1024


    이제 나머지는 서버에 그대로 두고, client.crt와 client.key 그리고 my-ca.key 파일을 클라이언트 PC의 적당한 디렉토리로 복사하면 된다. 이제 서버의 설정 파일을 살펴보자.

     

    [서버 설정 파일 - openvpn.conf]

     

    port 500 : OpenVPN은 기본적으로 UDP를 이용해 패킷을 터널링해 전달하는데, 이때 포트는 사용되지 않은 어떤 포트를 사용해도 관계없다.

     

    proto udp : 기본 값인 UDP를 사용하는 것이 좋다. TCP는 권장하지 않는다.

     

    dev tap : OpenVPN 서버와 클라이언트 상호 통신에 필요한 인터페이스를 지정하는데, TUN이나 TAP을 지정할 수 있다.

     

    ifconfig 10.105.11.1 255.255.0.0 : VPN 서버가 사용할 IP를 지정한다. TAP에 이 IP가 할당돼 원격지 PC와  통신할 수 있게 되는데, 가급적 사용하지 않는 사설 IP를 사용하는 것이 좋다.

     

    keepalive 10 120 : 클라이언트와 서버 간에 VPN 연동이 활성화됐는지 체크하기 위해 사용되는데, 매 10초마다 ping을 발송해 120초 동안 응답이 없으면 원격지의 네트워크가 다운된 것으로 파악한다는 의미다.

     

    comp-lzo : 압축 알고리즘을 사용하도록 한다. 서버에 이 같이 설정했다면, 클라이언트에도 동일하게 설정하도록 한다.

     

    persist-key
    persist-tun
    user nobody          
    group nobody   
    : 초기화된 후에 OpenVPN 데몬이 nobody 권한으로 작동하도록 한다. 

     

    status       openvpn-status.log
    log          openvpn.log              
    log-append  openvpn.log
    : OpenVPN의 로그를 생성하는 설정이다.

     

    tls-server : SSL 키 교환 시에 서버 역할을 하므로 tls-server로 지정한다.

     

    dh  dh1024.pem
    ca  my-ca.crt             
    cert  server.crt                  
    key server.key
    :  CA 파일이나 인증서의 공개키 혹은 비밀키를 지정한다.

     

    이후 서버에서 --mode server를 추가해 다음과 같이 실행하면 앞에서 지정한 포트로 데몬이 작동하는 것을 확인할 수 있다.

     

    # openvpn --config /etc/server.conf --daemon --mode server



    ·VPN 클라이언트 설치와 설정


    다음으로는 윈도우 PC의 클라이언트 프로그램 설정에 관한 내용을 살펴보자. 윈도우 클라이언트 프로그램으로는 OpenVPN GUI라는 프로그램이 많이 사용되는데, 웹 사이트(
    http://openvpn.se/)에서 다운로드해 설치하면 된다. 설치 이후 '시작->프로그램->OpenVPN'을 선택하면 다음과 같은 메뉴가 보이는데, 여기에서 OpenVPN GUI를 실행하면 된다. 이후 우측의 트레이에 생긴 아이콘에 오른쪽 마우스를 클릭하면 사용 가능한 메뉴가 나오는데, 여기에서 Edit Config를 선택하면 메모장이 뜨면서 설정작업을 진행할 수 있다. 서버 설정과 크게 다르지 않으므로 쉽게 이해될 것이다.
                     

    (화면 1) OpenVPN 메뉴

     

    [클라이언트 설정 파일 - config.ovpn 파일]

     

    remote 220.11.xx.xx : VPN 데몬이 설치돼 있는 서버의 IP를 설정한다.

     

    port 500 : VPN 서버와 통신할 포트를 지정해야 하는데, 서버에서 지정된 포트와 동일한 포트를 설정한다.

     

    proto udp : 역시 기본 값인 UDP를 사용하도록 한다.

     

    dev tap : 앞의 서버와 동일하게 설정한다.

     

    ifconfig 10.105.11.3 255.255.0.0 : VPN 클라이언트 PC에 할당할 IP를 지정한다.

     

    ping 10
    verb 4       
    : 상호간에 망이 살아있는지 확인하기 위해 매 10초마다 ping을 발송한다. 로그 수준은 4로 지정한다.
     
    comp-lzo : 서버에서 지정한대로 압축 알고리즘을 지정한다.

     

    tls-client : SSL을 통한 클라이언트 역할을 하므로 tls-client라고 정의한다.
     
    ca my-ca.crt
    cert client.crt         
    key client.key
    : 서버에서 살펴본 바와 같이 CA와 클라이언트 키를 지정한다. 나머지는 앞에서 살펴본 내용과 동일하다.

     

    설정이 끝난 후 PC에서 OpenVPN GUI를 실행하면 (화면 2, 3과) 같이 서버와 클라이언트 간에 VPN 연동이 되는 것을 알 수 있다. 

    (화면 2)OpenVPN GUI를 통해 연결된 화면

     

    (화면 3)VPN 연결 후 IP 할당 화면

     

    설정이 끝나면 VPN에서 지정된 IP를 할당받게 되고, 비공인 VPN IP로 접속하면 VPN을 통해 안전하게 터널링돼 접속하게 된다. 이때의 VPN 트래픽은 암호화되고 터널링되므로 누군가가 중간에서 가로챘다 하더라도 패킷 내용을 해석할 수 없으므로 스니핑이 불가능하다. 한편, 패킷을 터널링하는 과정으로 인해 다소 속도가 저하될 수 있으나 거의 인지할 수 없는 수준이다.


    VPN을 이용하면 패킷을 암호화하는 것뿐만 아니라 파이어월을 사용할 때도 매우 편리하다. 외국  출장 등을 이유로 외부에서 접속하더라도 VPN을 통하면 항시 고정된 IP를 사용할 수 있기 때문이다. 따라서 파이어월에서는 접속을 허용해야 할 사용자가 유동 IP를 사용하더라도 단 한 개의 UDP 포트만 허용하면 되기 때문에 보안과 편리함 모두를 만족시킬 수 있다.
    지금까지 단순하면서도 가장 많이 사용하는 구조에서의 VPN 활용 방법에 대해 살펴봤다. VPN은 이외의 다양한 환경에서도 응용이 가능하므로 홈페이지를 통해 자세한 내용을 참고하기 바란다.

     

    작성자 : 홍석범 | 오늘과 내일 차장

    작성일 : 2006년 7월호

     

     

    원   문 : http://www.ionthenet.co.kr/newspaper/view.php?idx=11247

    Posted by 1010
    61.Linux2008. 7. 24. 12:01
    반응형

    Bridge방화벽구축툴

     

    bridge-utils-1.2.tar.gz

    autoconf

    configure

    make

    mv brctl/brctl /sbin


    셋팅결과

    [root@localhost root]# ifconfig
    br0       Link encap:Ethernet  HWaddr 00:0C:29:69:22:0D
              inet addr:219.252.48.175  Bcast:219.252.48.255  Mask:255.255.255.0
              UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
              RX packets:59 errors:0 dropped:0 overruns:0 frame:0
              TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:3957 (3.8 Kb)  TX bytes:42 (42.0 b)

    eth0      Link encap:Ethernet  HWaddr 00:0C:29:69:22:0D
              UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
              RX packets:8414 errors:0 dropped:0 overruns:0 frame:0
              TX packets:5757 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:100
              RX bytes:5236609 (4.9 Mb)  TX bytes:1009685 (986.0 Kb)
              Interrupt:10 Base address:0x1400

    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:72 errors:0 dropped:0 overruns:0 frame:0
              TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:4682 (4.5 Kb)  TX bytes:4682 (4.5 Kb)

    [root@localhost root]#


    출처 : http://hacking.egloos.com/69569
    Posted by 1010
    61.Linux2008. 7. 24. 12:00
    반응형
    Posted by 1010
    61.Linux2008. 7. 24. 11:59
    반응형

    Crontab사용하기

     

    일단 root로 로그인 하신다음
    crontab -e 라고 치면
    vi 에디터가 자동으로 실행 됩니다.
    그러면 거기에다
    첫줄에 * */2 * * * 이렇게 치고 한칸 띄어서 실행하실 명령어를 치면 됩니다.. 그리고 저장하시면 자동으로 실행됩니다.
    예를 들어서 2시간 마다 네임 서버를 제구동 시킬려면
    * */2 * * * /etc/rc.d/init.d/named restart 라고 치면 되겠죠..
    p.s 아마도 2시간 마다 루트에게 메일이 갈겁니다.
    메일을 보내지 않게 하는 방법이 있는데 잘 생각이 나지 않는군요
    Posted by 1010
    61.Linux2008. 7. 24. 11:58
    반응형

    Linux 명령어

     

    addbib - 도서목록 형식의 데이터베이스를 만들거나, 확장
    apropos - 사용설명서의 키워드 검색
    ar - 라이브러리 만들기, 관리
    at, batch - 원하는 시간에 원하는 명령을 실해하게 하는 명령
    awk - 패턴 검색과 언어 처리
    banner - 큰 글자(배너) 만들기
    basename - 경로 이름에서 마지막에 있는 이름만 출력
    biff - 자신에게 편지가 배달되면 알려주는 명령
    bin-mail, binmail - 예전에 사용한 전자우편 프로그램
    cal - 달력보기
    calendar - 간단한 일정표
    cat - 파일 병합과 내용 보기
    cb - 간단한 C 프로그램 beautifier(?)
    cc - C 컴파일러
    cd - 작업 디렉토리 바꾸기
    checknr - nroff 또는 troff 입력 파일 검사; 오류를 보여준다
    chgrp - 파일의 사용자 그룹 바꾸기
    chmod - 파일의 접근 권한 바꾸기
    clear - 터미날 화면 깨끗이 하기
    cmp - 두 파일을 바이트 단위로 비교
    colcrt - troff 파일의 밑줄 속성 문자 처리
    comm - 지정 두파일의 줄 단위 비교와 그 처리
    compress, uncompress, zcat - 파일 압축관련 유틸리티들
    cp - 파일 복사
    cpio - copy file archives in and out
    cpp - C 언어 전처리기
    csh - C 문법과 비슷한 쉘 스크립트 문법과 기타 여러 기능이 내장된 쉘
    ctags - ex 나 vi 편집기에서 사용될 tag 파일을 만드는 명령
    date - 시스템 시간 보기나 지정하기
    dbx - 소스 수준의 디버거
    deroff - nroff, troff, tbl, eqn 관련 내용 지움
    df - disk free: 디스크의 남은 용량 보기
    diff - 두 파일의 차이점 비교
    du - disk used : 디스크 사용량 보기
    echo - 인자를 표준 출력으로 출력
    ed, red - 기본 줄 편집기
    eqn, neqn, checkeq - 수식 표현 포멧 도구
    error - 컴파일러 오류 메시지 목록
    ex, edit, e - 줄 편집기
    expand, unexpand - TAB 문자를 공백문자로 바꿈, 또는 그 반대로
    expr - 인자를 수식으로 처리
    file - 파일 형식 알아보기
    find - 파일 찾기
    finger - 사용자 정보 알아보기
    fmt, fmt_mail - 간단한 문서나, 편지 포멧 도구
    fold - 긴 줄 출력 방법 지정
    ftp - 파일 전송 프로그램
    gcore - 실행 중인 프로세스의 core 이미지를 구한다.
    gprof - call-graph profile data(?)를 보여줌
    grep - 문자열 찾기
    groups - 사용자의 그룹을 보여줌
    history - 이전 명령 보기
    hostname - 현재 시스템 이름을 보여줌
    imake - makefile 만드는 프로그램
    indent - C 프로그램 소스 파일을 들여쓰기 하는 포멧 도구
    install - 파일 설치
    join - 관계형 데이터베이스 연산자
    kill - 프로세스 죽이기 - "마누라 죽이기"와 상관없음 :-)
    last - 사용자가 마지막 접속 상태를 보여줌
    ld, ld.so - 링크 편집기, 동적 링크 편집기
    leave - 자신의 접속 종료 시간을 알려줌
    less - more 명령의 확장
    lex - 어휘 분석 프로그램 생성기
    lint - C 프로그램 verifier
    ln - 파일의 하드, 심벌릭 링크 명령
    login - 시스템 접속 명령
    look - 시스템 디렉토리나, 정열된 목록에서 단어 찾기
    lookbib - 도서목록형 데이타베이스에서 찾기
    lorder - 오브젝트 라이브러리의 관계 찾기
    lp, cancel - 인쇄 시작, 취소
    lpq - 인쇄 작업 상황 보기
    lpr - 인쇄
    lprm - 인쇄 작업 지우기
    ls - 디렉토리 내용 보기
    mail, Mail - 전자 우편 프로그램
    make - 실행 파일을 만들거나, 특정 작업 파일을 만들 때 사용하는 도구
    man - 온라인 사용자 설명서를 보는 명령
    mesg - 메시지 수신 상태를 보거나 지정
    mkdir - 디렉토리 만들기
    mkstr - C 소스 파일을 참조로 오류 메시지 파일을 만듬.
    more, page - 텍스트 파일 보기 명령
    mv - 파일 이동이나, 이름 바꾸기
    nawk - 패턴 검색과 언어 처리
    nice - 낮은 우선권에서 명령 실행
    nm - 심블 이름 목록 보기
    nroff - 문서 포멧 도구
    od - 8진수, 10진수, 16진수, ascii 덤프
    passwd, chfn, chsh - 비밀번호, 핑거정보, 쉘 바꾸기
    paste - 여러파일의 서로 관련 있는 줄 연결시키기
    pr - 문서 파일 양식화 도구
    printenv - 현재 환경 변수들의 내용과 그 값 알아보기
    prof - profile 자료 보기
    ps - 현재 프로세스 정보 보기
    ptx - permuted(순열화된?, 교환된?) 색인 만들기
    pwd - 현재 작업 디렉토리 보기
    quota - 한 사용자에게 지정된 디스크 할당량보기
    ranlib - archive를 random 라이브러리로 변화
    rcp - 리모트 카피
    rcs - RCS 파일 속성 바꾸기
    rcsdiff - RCS revisions 비교
    rev - 한 줄의 문자열 꺼꾸로
    rlogin - 리모트 로그인
    rm, rmdir - 파일, 디렉토리 지우기
    roffbib - 도서목록형 데이터베이스 보기 또는 양식화
    rsh - 리모트 쉘
    rup - 로칼 머쉰의 호스트 상태 보기(RPC version)
    ruptime - 로칼 머쉰의 호스트 상태 보기
    rusers - 현재 접속자 보기 (RPC version)
    rwall - 모든 사용자에게 알림(RPC)
    rwho - 현재 접속자 보기
    sccs - Source Code Control System (SCCS)
    sccs-admin, admin - SCCS 사용 내역 파일을 만들고, 관리
    sccs-cdc, cdc - SCCS 델타의 델파 주석을 바꿈
    sccs-comb, comb - SCCS 델타 조합
    sccs-delta, delta - SCCS 파일에 데해 델타를 만듬
    sccs-get, get - SCCS 파일 버전확인
    sccs-help, help - SCCS 오류나 경고 메시지 검색
    sccs-prs, prs - SCCS 사용내역의 선택된 부분 보기
    sccs-prt, prt - SCCS 파일에서 델타 테이블 정보를 봄
    sccs-rmdel, rmdel - SCCS 파일에서 델타를 지움
    sccs-sact, sact - SCCS 파일의 편집 상태를 봄
    sccs-sccsdiff, sccsdiff - SCCS 파일들의 버전 비교
    sccs-unget, unget - SCCS 파일의 미리 얻은 것(?)을 취소한다.
    sccs-val, val - SCCS 파일 유요화
    script - 화면 갈무리
    sed - stream editor
    sh - 유닉스 표준 쉘
    size - 오브젝트 파일의 크기들을 보여줌
    sleep - 지정한 시간 만큼 실행 보류
    sort - 줄 정열과 검색
    sortbib - 도서목록형 데이터베이스 정열
    spell, hashmake, spellin, hashcheck - 맞춤범 검사(물론 영어겠지요)
    split - 파일 나누기
    strings - 오브젝트 파일이나, 실행 파일에서 문자열 찾기
    strip - 오브젝트 파일에서 심벌 테이블과 중복된 비트 삭제
    stty - 터미날 설정
    su - super-user, 임시적으로 새 ID로 바꿈
    symorder - 심벌 순서 바꿈
    tabs - 터미날 tab 크기 지정
    tail - 파일의 끝 부분 보기
    talk - 다른 사용자와 이야기하기
    tar - 여러 파일 묶기 또는 묶긴 파일 풀기
    tbl - nroff 또는 troff의 도표 작성 도구
    tee - 표준 출력으로 방향 전환
    telnet - TELNET 프로토콜을 이용한 원격 리모트 호스트 접속
    test - 주워진 환경이 참인지, 거짓인지를 돌려줌
    tftp - 간단한 ftp.
    time - 명령 실행 시간 계산
    touch - 파일 날짜 관련 부분을 바꿈
    troff - 문서 양식화 도구
    true, false - 쉘 스크립트에서 사용되는 참/거짓을 리턴하는 명령
    tsort - topological sort
    tty - 현재 터미날 이름 보기
    ue - MICROemacs
    ul - 밑줄 속성 문자 표현
    unifdef - cpp 입력 줄에서 ifdef 부분 바꾸거나 지움
    uniq - 중복되는 빈줄 지우기
    units - 프로그램 변환도구
    uptime - 시스템 부팅 기간 보기
    users - 현재 접속 사용자 보기
    uucp, uulog, uuname - 시스템 간의 복사
    uuencode, uudecode - 이진 파일을 아스키파일로 인코딩, 반대로 디코딩
    uusend - 리모트 호스트에 파일 보내기
    uux - 리모트 시스템 명령 실행
    vacation - 자동으로 편지 답장하기
    vgrind - grind nice program listings
    vi, view, vedit - ex 바탕의 편집기
    vtroff - 문서 양식화 도구
    w - 현재 누가 접속해 있으며, 무엇을 하고있는지
    wait - 프로세스가 마치기를 기다림
    wall - 모든 사용자에게 알림
    wc - 단어, 줄, 바이트 계산
    what - 파일에서 SCCS 버전 정보 알아냄
    whatis - 명령의 간단한 설명 보여줌
    whereis - 찾는 명령의 실행파일, 소스, 맨페이지가 어디 있는지 경로를 보여

    which - 명령만 찾음.
    who - 시스템에 접속되어 있는 사람만 보여줌
    whoami - 현재 사용하고 있는 자신이 누군지 보여줌
    write - 다른 사용자의 화면에 특정 내용을 알림
    xargs - 명령행 인자 처리 명령
    xstr - extract strings from C programs to implement shared strings
    yacc - yet another compiler-compiler: 파싱(형태소분석) 프로그램 생성기
    yes - 항상 yes만 응답하는 명령
    zcat - 압축 파일 내용보기
    Posted by 1010
    61.Linux2008. 7. 23. 00:13
    반응형

    출처 : http://www.x2chi.com/59


    리눅스 네트워크 설정하기..

    리눅스를 시작한지 벌써 2개월이 넘어갔는데ㅡ (사실 1주일에 4시간씩밖에는;;)

    네트워크 설정을 못하고 있었다 ㅡ

    BUT!!! 드디어 해낸거다!!!


    도대체가 어딜가도 네트워크 설정하는게 자세히 나와있지를 않아서;;

    고생 좀 했다;

    뭐가 ㅡ 나와있어도 이해가 되야 말이지;


    학교컴이건 집컴이건 어디 컴이건,, 다들 네트워크 상태가 다르고,, 막 그래서 그럴지도;;

    에ㅡ 여튼 이 글은 우송공업대학 정보과학관 4층 414호 컴터를 기준으로 씁니다!!


    아ㅡ 그리고 이거는 정말 우연치 않게 얻어 걸린거라,;

    다른 컴퓨터는 해서 될지 안될지 절대로 모름!!!!,;

    그러니 내탓말아요,;


    자자 다시 주의사항 알립니다.

    *우송공업대학 정보과학관 4층 414호 컴터 기준이므로 다른 컴터에서는 안될수도 있음*

    *절대적으로 우연히 건져낸것이므로, 명령어나 그에 대한 의미는 정확히 알아낼수 없었음

    < 나중에 내용추가가능성있음 *

    *무턱대고 정말 잘못따라할시에는 리눅스에 큰 치명타가 될 수도 있음 < *







    자ㅡ 여기서 사용할 명령어는 단 4가지!!!

    ========================================

    ① vi /etc/sysconfig/network

    ② vi /etc/sysconfig/network-scripts/ifcfg-eth0

    ③ vi /etc/resolv.conf

    ④ /etc/rc.d/init.d/network restart

    ========================================

    공부좀 하신분들이라면, ㅡ 아 이 명령어!

    라고 하실지는 모르겠지만,;

    본좌는 아직도 1,2,3번에 대한 정보는,;; 별로,;

    그리고 별로 손대지 않아도 되는 것도 상당수다, -_- 여튼 패스하시고,





    자자ㅡ 이제 시작해 볼까요?


    ① vi /etc/sysconfig/network

    1번 명령어 vi /etc/sysconfig/network는 한마디로 네트워크 상태를 보는 명령어이다.

    분명히 분명히 414호 기준으로는2줄이 나온다

    ========================================

    NETWORK =yes

    HOSTNAME = localhost.localdomain

    ========================================

    여튼, 이거는 솔직히 건들 필요가 없다;

    무슨 소리인지는 잘 모르겠으나 ㅡ ;;;;;;;

    게이버 지식인에 의하면

    ========================================

    파일 이름 : /etc/sysconfig/network

     NETWORKING=yes

    : 통신이 되도록 지원할 것인가의 여부

     HOSTNAME=bluestorm.co.kr

    : 서버의 호스트네임(Hostname)을 설정

     GATEWAYDEV=eth0

    : Default Gateway 장치명

     GATEWAY=192.168.0.1

    : 시스템 전체의 Default Gateway(각 interface에서 따로 gateway를 설정하면 그것이 우선)

     FORWARD_IPV4=no

    : 시스템이 라우터 역할을 할 것인지 여부, 패킷 포워딩을 수행할 경우는 yes 그렇지 않을 경우는 no 설정

    ========================================

     

    라고 한다 ㅡ;

    나중에 본좌가 이해가 가면 다시 쉽게 설명해서 올리도록 하겠다 ㅡ

     

     

    자ㅡ 다음 명령어, <!!

    ③ vi /etc/resolv.conf

    왜 3번부터야 ㅡ 2번안했어! 라고 하셨다면 일단 2번은 패스, < 입니다ㅡ

    그 이유는 2번이 가장중요하기때문에, < 뒤로,;

    일단 3번 명령어 또한 건들 필요가 없습니다ㅡ

    다만 네트워크 연결된것과 연결되지 않은것에 각각 이 명령어를 쳐보았을때

    확연히 다른게 나오는, -ㅅ -!!

    네트워크가 설정된곳에서는

    ========================================

    ;generated by /sbin/dhclient-script

    seach localdomain

    name server  192.168.183.2

    ========================================

    가 나옵니다. 여기에서 네임서버는 컴퓨터마다 다릅니다.

    그리고 설정되지 않은곳은

    ========================================

    name server  192.168.183.2

    seach localdomain

    ========================================

    라고 뜨게 됩니다.

    네임서버도 정확히 안잡혀있는 경우가 많습니다.

    여튼 ㅡ 이곳은 네트워크가 연결되면 자동으로 바뀌니 패스하겠습니다,

     

     

    자ㅡ 다음으로 제일 중요하다는 <

    ② vi /etc/sysconfig/network-scripts/ifcfg-eth0

    명령어가 되겠습니다,//

    이 명령어를 쳐보시면 네트워크 연결안된거는 무슨 숫자 다닥다닥 써있고 ㅡ 그러실겁니다ㅡ

    but!!! 그 숫자를 자신의 네트워크 상태에 따라서 아이피를 바꾸고 별짓을 다해도 안된다는거!!

    해결책은 바로 여깁니다!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    저는 ㅡ 어떻게 알아냈냐면,;

    네트워크 연결된것과 연결되지 않은것에 각각 똑같이 쳐봤는데 ㅡ 상당히 다른 문구가 나오더군요;

    에라 모르겠다 라며 < ;; 그냥 네트워크 연결된것을 똑같이 그냥 써넣었습니다ㅡ ;

    단지 그뿐입니다;;;


    자ㅡ 자세히 보실까요!!

    이거는 명령어를 쳤을때 네트워크가 안잡힌 컴퓨터에서 나타나는 문구들, <

    ========================================

    DEVICE=eth0

    ONBOOT=NO

    BOOTPROTO

    NETMASK=255.255.0.0

    BROADCAST=155.230.52.79

    NETWORK=155.230.52.0

    ========================================

    바로 이거다ㅡ (대충이렇게 잡힙니다;;;;;)

    아이피어드레스와

    넷마스크, 브로드캐스트 네트워크등 거의 아이피를 써넣는 대역인데ㅡ

    이것을 자신의 컴퓨터 네트워크 상황에 맞춰서 바꿔봐도 안됨을 알것이다,;

    절대로 안된다ㅡ !!! < 414호에서는 그랬다;

    여튼, <


    자자ㅡ 이거를 완전 바꿔봅시다ㅡ

    싹다 지워버린다!!!! < 이게 첫단계~,

    그다음 다음내용을 똑같이 쳐준다ㅡ

    ========================================

    DEVICE=eth0

    BOOTPROTO=dhcp

    ONBOOT=yes

    check_link_down()

    {

     return 1;
    }

    ========================================

    여튼 저런식으로 써주고 wq를 쳐서 vi를 빠져나온다ㅡ  

    단지 이것뿐이다, -ㅅ -




    그다음 4번째 명령어!

    ④ /etc/rc.d/init.d/network restart

    바로 2번째 명령어를 끝내고 바로 ping을 써봤자 소용이 절대로 없다는것을 느낄것이다;

    왜!!! 재시작을 안했으니까, < 무슨 프로그램이든 컴퓨터를 껏다 켜야 정상동작이 가능하듯이

    네트워크도 재시작을 해줘야 한다ㅡ 그렇다고 리눅스 로딩 그렇게 오래걸리는데 껏다 킬수는 없잖아?;

    그러니 ㅡ 이 명령어를 쓰자! 이 명령어는 네트워크 리스타트로ㅡ 단 몇초면 다시 네트워크가 정비가 되어버리는

    그런 명령어이다 ㅡ

     

     

     

     

     

     

    자자자 거의 이렇게 했으면 80%의 컴퓨터들은 될것이다ㅡ (414호에서는 그랬다ㅡ;;;)

    에ㅡ 여튼 여기까지 해서 되신분들은 상관이 없겠지만, 그래도 안되!!

    라며 외치시는 분들을 위해 ㅡ 재정비, <

    리눅스에서 빨간모자를 누르고 들어가시면 <

    시스템설정이라는곳에 네트워크에 들어가시면 eth0가 잡혀있는것을 보시겠지만,

    ping명령이 안돌아간다면 이 eth0를 과감히 삭제하고 다시 eth0를 잡아주시는게 좋다.

    이제 끝!!!!!!!!!!!!!!!!!!

    Posted by 1010
    61.Linux2008. 7. 22. 21:11
    반응형
    작성자 : 문인용
    작성일 : 2008.5.15
    블로그 : http://howtolinux.tistory.com/

    부제 : [linux설치] Fedora 9 설치하기 (부팅CD로 Fedora 9 설치하기) (네트워크 설치) (최소 설치) (online 설치)

    이젠 리눅스도 엄청 편하게 설치할 수 있게 되었다.
    깔끔한 그래픽 인터페이제공에 한글까지 지원!!
    그리고 꽁짜!!

    Fedora 9 설치를 해보자!!
    * 작업환경
     - Hosts OS - Fedora 8 Gnome 시스템
     - VirtualBox1.6.0 가상머신에 Guest OS로 Fedora 9을 설치
     - Fedora 9 네트워크 설치 (부팅CD로 설치, Fedora-9-i386-netinst.iso, network install)


    사용자 삽입 이미지
    공식 사이트 - http://www.fedoraproject.org/
    Fedora의 기본정보 및 최신정보를 얻을 수 있다. 심심할때마다 가끔씩 와서 동향을 살피자.
    Get Fedora를 클릭하자.

    사용자 삽입 이미지
    해당 시스템에 맞는 Install CDs 항목을 선택한다.
    (수시로 업데이트되기때문에, DVD로 구워놓고 보물처럼 모셔둘 필요가 전혀 없다.
    필자처럼 virtual machine의 Guest OS로 설치할 경우엔 CD로 구워놓을 필요도 없다.)

    사용자 삽입 이미지
    자동으로 접속자의 국가를 판단해 http://ftp.kaist.ac.kr/fedora/linux/releases/9/Fedora/i386/iso 로 연결을 해주는 모양이다.
    혹시라도 접속에 문제가 있거나 다운로드가 안될때는, 위 그림 하단에 적어놓은 미러사이트를 방문해서 다운받는다.
    ftp://ftp.kaist.ac.kr/fedora/linux/releases/9/Fedora/i386/iso
    http://ftp.kaist.ac.kr/fedora/linux/releases/9/Fedora/i386/iso
    ftp://ftp.riken.jp/Linux/fedora/releases/9/Fedora/i386/iso
    http://ftp.riken.jp/Linux/fedora/releases/9/Fedora/i386/iso

    그래도 안된다면, http://mirrors.fedoraproject.org/publiclist/Fedora/9/ 미러링 리스트를 확인한후 적당한 곳에서 다운 받으면 된다.


    사용자 삽입 이미지
    이제 VirtualBox에서 Fedora 9을 설치할 준비를 하자.
    새로만들기-이름(Fedora9)-운영체제종류(Linux2.6) 를 선택후 "앞으로"를 누른다

    사용자 삽입 이미지
    위 그림에서는 넉넉하게 512MB를 선택하였지만,
    글을 읽는 분의 PC의 RAM이 512이하라면, 192~256MB로 설정하길 바란다.
    (RAM이 차고 넘친다면 2000MB로 설정해도 될듯.. ^^)

    사용자 삽입 이미지
    부팅용 하드디스크를 만드는 화면이다. (실제로는 Fedora9가 설치될 "하나의 파일"을 생성하는것이다)


    사용자 삽입 이미지
    필자는 "동적 크기 이미지"를  선택하였다.. (개인적으로 고정크기 이미지로 설치해본적이 없다.)


    사용자 삽입 이미지
    하드용량이 부족하여, fedora8이 설치된 하드파티션이 아닌, NTFS형식의 데이타 파티션을 마운트하여 그곳에 설치를 진행하려 위 그림처럼 하였으나,
    일반적인 경우, 그냥 "이미지크기" 용량정도만 확인한 후 "앞으로"를 누르면 알아서 설치가 될것이다
    (보통 /home/userid/.VirtualBox/VDI/ 디렉토리에 생성된다)


    사용자 삽입 이미지
    위 화면처럼 설치위치등의 기본적인 정보를 확인 할 수 있다.


    사용자 삽입 이미지
    부팅용 하드디스크 설정 작업을 끝냈으니, "앞으로" 진행하자

    사용자 삽입 이미지
    "마침" 클릭.

    사용자 삽입 이미지
    위 화면은, 아까 다운받아놓은 Fedora-9-i386-netinst.iso 라는 "Fedora9 네트워크 인스톨 이미지"를 마운트하고 부팅하기 위한 선행 작업이다.

    1. CD/DVD-ROM  //  2. CD/DVD 드라이브 마운트  //  3. ISO 이미지 파일  //  4. 찾아보기(폴더그림)
    5. 추가(+)  //  6. 파일탐색, Fedora-9-i386-netinst.iso선택, 열기
    위 순서대로 진행하면

    "5.추가(+) 화면" 의 목록에 Fedora-9-i386-netinst.iso 가 추가된다.
    Fedora-9-i386-netinst.iso를 선택후, 아래의 선택(S)를 눌러주면

    "3.ISO이미지파일" 에 Fedora-9-i386-netinst.iso 라는 파일이 마운트 된것을 확인 할 수 있다.


    사용자 삽입 이미지
    정상적으로 진행하였다면, 위 화면의 빨간표시 부분처럼 확인이 가능하다.
    틀린 부분이 없다면, "시작"을 눌러 부팅을 진행하자

    혹시라도 부팅 (정확히는 CD부팅, 더 정확히는 iso이미지로부터의 부팅)이 정상적으로 진행되지 않는다면
    다운로드 받은 Fedora-9-i386-netinst.iso(113.7 MB) 파일이 정상적으로 다운받아졌는지 체크해보거나, 재다운로드 받아보길 바란다.
    그래도 안된다면, 부팅시 화면에서 F12키를 빠르게 눌러 CD-rom부팅으로 강제 조정해본다거나,
    virtualBox 삭제/재설치 부터 다시 시작해보길 바란다.


    사용자 삽입 이미지
    60초를 기다리면 자동으로 Install or upgrade an existing system으로 부팅되나,
    시간이 아까우므로, 키보드의 상-하 방향키로 Install or upgrade an existing system 메뉴를 선택후 Enter를 눌러 빠르게 다음 진행으로 넘어가자
    (참고 : fedora 6,7,8 정도의 버전에서는 net-install CD로 네트워크 설치를 시도할때, Fedora9에서처럼 Install or upgrade an existing system 메뉴를 선택하면 제대로 진행이 안되었던걸로 기억한다.
    Rescue installed system 메뉴로 들어가서
    "linux install" 과 같은 명령으로 진행했던걸로 기억한다 -- 확인되지 않은, 개인적은 기록의 이유로 메모해둠)


    사용자 삽입 이미지
    부팅 초기 진행 모습이다.

    사용자 삽입 이미지
    역시 부팅되는 모습이다.
    간지난다.

    사용자 삽입 이미지
    영어는 모르겠다. Korean으로 선택하자
    (방향기,탭키,엔터 키로 이동-선택 하면 된다)
    참고 : Guest OS에서 마우스 커서를 빼내기 위해선 VirtualBox의 HOST키 "우측CTRL"을 누르면 된다.


    사용자 삽입 이미지
    Text모드에서는 기본적으로 한글이 지원되지 않는다. (현재 이 파란 화면이 텍스트 모드이다)
    한글출력이 가능할때까지(그래픽 인터페이스로 넘어갈때까지)는 영어로 진행하겠다는 친절한 설명이다.


    사용자 삽입 이미지
    키보드 타입은 그냥 us를 선택하면 된다.

    사용자 삽입 이미지
    네트워크 설치(온라인설치, Network Install)를 시도할것이므로, URL항목을 선택하고 OK한다


    사용자 삽입 이미지
    네트워크 설정 부분이다. IPv4만 선택해도 무방하다.
    (VirtualBox에서는 DHCP를 지원한다.. 10.0.2.15 같은 IP로 할당된다)


    사용자 삽입 이미지
    DHCP를 선택했으므로, IP를 요청하는 모습을 볼 수 있다.
    보통 Sending request for IP infomation for eth0... 과정은 1~3초내로 빠르게 진행되나,
    DHCP 할당이 정상적으로 이루어지지 않는다면, 5~10초정도 기다리다 오류를 알리는 화면이 나올것이다.
    오류가 날경우 : 재시도 → 재부팅 → VirtualBox의 Fedora 9의 설정중 network부분 확인 → VirtualBox에서 Fedora9 삭제 / 재설정 → VirtualBox 재설치  등의 순서로 오류를 해결해 나가면 될것이다.

    (만약 Manual configuration을 선택했다면, IP를 입력하는 화면이 나올것이다)


    사용자 삽입 이미지
    인터넷을 이용하여 설치할때 필요한, 저장소(리포지터리(repository)) 주소를 입력한다

    ftp://ftp.kaist.ac.kr/fedora/linux/releases/9/Fedora/i386/os
    http://ftp.kaist.ac.kr/fedora/linux/releases/9/Fedora/i386/os
    ftp://ftp.riken.jp/Linux/fedora/releases/9/Fedora/i386/os
    http://ftp.riken.jp/Linux/fedora/releases/9/Fedora/i386/os
    중에서 선택하는것이 좋다 (속도면에서 아무래도 가까운쪽이 좋다는 판단)

    가끔, kaist서버가 종종 접속이 안되거나 할수가 있다.
    하지만, Fedora 9 에서는 리포지터리(저장소) 접속에 문제가 있으면, 몇 단계후에 수정할 수 있는 메뉴가 있으니 너무 걱정하지 않아도 된다.

    혹시 위의 모두가 접속이 안된다면,
    http://mirrors.fedoraproject.org/publiclist/Fedora/9/
    fedoraproject.org 에서 제공하는 미러링 싸이트중에서 적당한것을 찾으면 된다.
    (너무 먼곳, 느린곳을 선택하게 될경우 설치시간이 심하게 오래 걸릴 수 있으니 주의!!)


    사용자 삽입 이미지
    설치 진행 화면이다.


    사용자 삽입 이미지
    anaconda 가 시작된다.
    anaconda란 그래픽인터페이스(GUI, Graphical user interface)로 "linux 설치" 프로그램이다.


    사용자 삽입 이미지
    자, 이제부터 그래픽인터페이스 설치화면이 보이기 시작한다.
    한글지원이 되는것을 볼수 있다


    사용자 삽입 이미지
    VirtualBox설정에서 Fedora 9이 설치될 가상의 하드디스크를 만들었지만, 위같은 경고를 보게 될것이다.
    "포멧 되지 않은, 쌩 하드"상태여서 그런것이니,
    잠시 후에 하드 파티셔닝, 포맷 등의 과정을 거치면 문제 없다.


    사용자 삽입 이미지
    아까전 네트워크 설정과 중복되는 화면이나,
    보다 구체적이며, 보다 쉬운 모습니다.
    혹시 모를 변경사항, 또는 실수가 있다면 이곳에서 수정을 하면 되겠다.
    (필자는 수정없이 그냥 진행하였다)


    사용자 삽입 이미지
    시간대 설정화면이다.
    지도상에서 마우스로 선택을 해도 되며, 콤보박스로 선택을 해도 된다.


    사용자 삽입 이미지
    root의 암호는 반드시 설정해야한다. (암호를 잊으면 약간 까다로운 작업을 진행해야 하므로, 확실히 기억하길 바란다)
    너무 짧거나, 쉬운 암호에 대해선 경고문구가 나올 수 있다.


    사용자 삽입 이미지
    초보사용자에게 가장 무서운 "파티셔닝" 부분이다.
    아마도, 전문가도 파티션을 진행할땐 조심하며 작업할것이다.
    하지만, VirtualBox상에서 이루어지는 작업이니, 가벼운 마음으로 편하게 진행하면 되겠다
    (절대 로컬시스템에 영향을 주지 않는다.)

    리눅스 시스템에선 하드디스크를 C,D,E드라이브로 나누지 않고, 파티션으로 다룬다 정도만 알고 넘어가면 될것이다.. (이유는 운용,관리,확장 등등에 있어서, 리눅스시스템상에서 파티션으로 관리하는것이 훨씬 더 효과적이기 때문일것이나... 깊은 내용까진 나도 잘 모르겠다)

    위 화면을 설명하자면, 현대 virtualbox에서 할당해 놓은 HDD는 "생~ 하드"이기때문에 완전히 빈 상태이다.
    그러므로, 기본값인 "선택한 드라이브 상의 리눅스 파티션을 삭제하고 디폴트 레이아웃을 만듭니다" 라는 메뉴를 선택할경우 설치가 안될 것이다. (기본값이 이렇게 되어 있는 이유는, 혹시모를 사용자의 실수로 "windows파티션(fat32,NTFS)"를 삭제하게 될까봐, 보호차원에서 이렇게 설정한것 같다)

    콤보박스버튼(빨간색표시)을 눌러 아래 화면처럼 선택하자.


    사용자 삽입 이미지
    "선택한 드라이브 상의 모든 파티션을 삭제하고 디폴트 레이아웃을 만듭니다" 를 선택하였다.
    이말의 뜻은
    1. 선택한 드라이브 - sda로 인식되어진, VirtualBox에서 만든, 가상의 하드디스크(HARD DISK)
    2. 모든 파티션을 삭제하고 - 만약 해당 드라이브가 NTFS, ext3등의 여러 파티션으로 나누어져 있더라도, 완전히 싹~ 다 지우고, 파티션(나눠진 상태)도 없앤다(초기화한다)
    3. 디폴트 레이아웃을 만듭니다 - Default layout, 기본세팅값 // 즉, "linux 설치"프로그램이 지원하는 기본모양으로 하드디스크를 나눈다.
    의 의미로 보면 되겠다.

    가상머신이 아닌, 보통의 시스템에서 linux를 설치할경우나,
    windowsXP,linux를 "멀티부팅"으로 사용할 경우나,
    linux를 특정 서비스용도(웹서비스, FTP서비스 등등..)로 사용하게 될경우엔
    고급용량설정, 부팅용 드라이브 등의 메뉴도 활용하게 된다..
    (보다 세밀한 설정을 위해, text상태의(콘솔상태) fdisk같은 프로그램을 사용하기도 한다)



    사용자 삽입 이미지
    디스크의 내용이 포맷되니, 주의하라는 경고문이다.
    역시, 사용자의 혹시 모를 실수에 대한 배려로, 기본값은 "뒤로가기"로 되어있다.

    "디스크에 변경 사항 기록"을 선택한다.
    여기서 말하는 "변경사항"이란 "파티션닝 정보"를 뜻한다.
    해당 하드 디스크를  어떻게 어떻게 나누겠다는 정보를 실제로 하드디스크에 기록하는 것이다.


    사용자 삽입 이미지
    나누어진 파티션을 각각 포맷하는 모습이다.
    / 라는 것을 보통 "루트 파티션"이라고 한다


    사용자 삽입 이미지
    /boot 는 "부트 파티션"이다.
    부팅과 관련된 파일을 저장하는 곳으로 사용될 곳이다.


    사용자 삽입 이미지
    하드디스크 포맷이 완료가 되었으니,
    하드디스크를 활용하며, 빠른속도+넓은공간에서 설치를 진행 할수 있게끔, 설치관련 파일들을 하드드라이브로 전송하는 화면이다.



    사용자 삽입 이미지
    linux 네트워크 설치를 위해, 아까 설정했던 리포지터리(저장소)에 문제가 있을때 이런 경고문구를 볼수 있다.
    저장소의 주소가 잘못되었다거나, 해당 저장소가 정상적으로 가동되지 않고 있다거나, 내 시스템의 네트워크가 죽었을수도 있다.

    내시스템의 문제라면, 내 시스템의 문제를 해결한후 재시도를 누르면 되겠다.

    그게 아니라면, 아래와 같이 편집을 눌러, 저장소의 주소를 다른 미러링사이트로 바꿔볼수도 있다.


    사용자 삽입 이미지
    ftp://ftp.kaist.ac.kr/fedora/linux/releases/9/Fedora/i386/os
    http://ftp.kaist.ac.kr/fedora/linux/releases/9/Fedora/i386/os
    ftp://ftp.riken.jp/Linux/fedora/releases/9/Fedora/i386/os
    http://ftp.riken.jp/Linux/fedora/releases/9/Fedora/i386/os
    중에서 하나 골라서 입력하면 된다.

    혹시 위의 모두가 접속이 안된다면,
    미러링 싸이트중에서 적당한것을 찾으면 된다.
    미러링 싸이트 리스트 : http://mirrors.fedoraproject.org/publiclist/Fedora/9/


    사용자 삽입 이미지
    리포지터리(저장소) 접속에 문제가 없다면, 위와 같은 화면을 만날 수 있다.
    패키지란, 단순히 "프로그램 묶음"으로 알아두면 된다.

    모든 패키지를 모두 선택할경우 설치시간이 오래걸리긴 하지만, 시간+하드용량이 넉넉하고 다양한 경험을 해보고 싶다면, 모두 설치보는것도 그리 나쁘진 않을것이다.
    물론, 지금 설치 안한다고 영원히 설치 못하는것은 아니다.
    설치후에도 편하게~ 골라골라 설치가 가능하다.

    게다가, 패키지 설치 방법이 많이 진보되었긴 하지만,
    아직도 웹서버등을 운영하는곳에선, 패키지설치가 아닌, 개별적인 컴파일을 통해 설치하는것으로 알고 있다.
    (이유는, 보다 정교한 세팅이 가능하며, 시스템 성능에 최적화된 성능을 발휘할 수 있기 때문이다)


    사용자 삽입 이미지
    "패키지 의존성 검사"란
    "A라는 프로그램이 실행될때, 반드시 B,C,D라는 프로그램이 필요한 경우" 를 뜻한다고 보면 된다.

    홈쇼핑에서 "컴퓨터"를 주문 했는데 "본체"만 온다면 사용 불가능한것처럼
    컴퓨터 - 본체,모니터,키보드,마우스,책상,의자,전기,인터넷....   의 경우와 같다고 보면 될것이다.

    위 그림은 "사무와 생산성"이란 이름의 기본설정된 패키지를 설치/실행 하기 위해,
    부가적으로 또 어떤 프로그램들을 설치해야하는지 자동적으로 판단 및 설치 준비를 하는 모습이다.


    사용자 삽입 이미지
    설치 시작을 알리는 화면이다


    사용자 삽입 이미지
    트랜잭션 준비 : 설치시, 수행할 일련의작업 목록을 준비하는것이다.


    사용자 삽입 이미지
    927가지의 패키지가 설치되기 시작하였다.
    패키지의 수는, 선택한 패키지에 따라, 각각의 프로그램의 업데이트에 따라 차이가 날 수 있다.


    사용자 삽입 이미지
    이 과정은 네트워크를 통해, 해당패키지를 다운로드받고, 설치하고 하는 과정이기 때문에, 30분~2시간 정도 걸릴 수 있다. (설치될 패키지가 많다면 오래걸리는건 당연하겠지만...)


    사용자 삽입 이미지
    패키지 설치가 완료되면, 부트로더를 설치한다.
    부트로더란, 말 그대로 "부팅"에 관한 일을 하며, 부팅에 관한 파일들을 읽어와 OS를 시작시키는 일을 한다.
    lilo,grub등 다양한 부트로더가 있지만, fedora에서는 기본적으로 grub을 설치한다


    사용자 삽입 이미지
    설치가 완료되었다.
    재부팅을 진행하면된다.
    재부팅시 CD-rom에 "fedora9 설치CD" 가 들어있다면, 다시금 Fedora Install화면을 보게 되므로, CD를 빼는것을 잊지 말자


    사용자 삽입 이미지
    필자 또한, VirtualBox라는 환경에서 CD롬을 빼는 것을 깜빡해서, Install화면을 다시 보게 되었다.
    Boot from local drive를 선택하면 되겠지만, 나중에 또 같은경우를 경험하게 될까봐
    아래와 같이 진행하였다

    사용자 삽입 이미지
    강제종료(이상태에서 강제종료는 시스템에 전혀 문제가 없다)

    사용자 삽입 이미지
    VirtualBox에서 CD롬 제거


    사용자 삽입 이미지
    위와 같이 CD롬에 "마운트 되지 않음" 이 표시되어 있다면, 정상적으로 CD롬이 제거된것이다.
    시작을 눌러 부팅하자.

    사용자 삽입 이미지
    로컬시스템으로 정상적인 부팅이 진행되는 모습니다.

    사용자 삽입 이미지
    GUI, 그래픽 인터페이스를 지원하는 Xwindow (그놈)이 설치되어있지만, 부팅 초기화면에선 이런 TEXT문자들을 볼수 있다.
    간략한 부팅정보, 커널정보, I를 누르면 interactive startup을 할수 있다라는등의 정보가 표시된다


    사용자 삽입 이미지
    짜잔~~ 그래픽상태로 부팅이 진행되는 모습니다.
    근데 실망스럽게도, 창의 크기가 너무 크게 나와버렸다.. 1600x1200정도의 해상도로 나온것 같다.
    다음에 나오는 화면도 너무 크게 나와버렸다.

    사용자 삽입 이미지
    환영메시지 및 라이센스정보등의 최초 입력 확인 화면이다. (아마도 우측 아래엔, "다음"이란 진행 버튼이 있을것이다)
    (화면을 벗어나 표시됨, Virtualbox상에서 스크롤바 같은 기능이 없음, VBoxGuestAdditoin도 설치가 안된상태이며, VBoxGuestAddition이 설치된다 하더라도 해상도 관련 기능이 작동할지도 불확실)

    현재 내 hosts OS는 Fedora8 이며, Gnome데스크탑을 Xwindow로 사용하고 있다.
    alt+마우스클릭&드래그의 방법으로 "창"의 "화면을 벗어나는 이동"도 가능하긴 하다 (물론 윈도우xp라도 불가능한것도 아닐테지만..)

    게스트OS에서 HOST키(우측CTRL)와 alt+마우스클릭&드래그의 방법으로, 큰~화면을 이동시키며 "다음"을 누르며.. 충분히 진행 가능은 할것이다

    하지만, 이런 작은오류를 효과적으로 수정,우회하는 방법을 알아보는 괜찮을것 같다.

    (필자와 같은 상황이 아닌 사용자는 그냥 넘어가도 무방합니다)

    사용자 삽입 이미지
    혹시 모를 사태를 대비하여, 스냅샷을 찍어두기로 결정하였고
    "컴퓨터 끄기 신호 보내기"를 통하여, 안정적으로 시스템(Guest OS)을 종료하였다.(중간에 약간 수초정도의 지연현상 발생 할수 있음)

    스냅샷의 기능은 일종의 "현시스템 상태의 빽업(마치 고스트(백업유틸?) 같은)" 이라고 할수 있겠다.
    필자 역시, "만약 시스템에 심각한 오류가 발생하여, 복구 불능에 빠졌을때, 스냅샷을 근거로 그때로 되돌릴 수 있는 기능".. 이라고 알고 있을뿐이다.. ㅠㅠ

    스냅샷을 찍어두고 재부팅을 실행하였고, "환영합니다" 화면까지 다시 오게 되었다.

    여기서 참고로,
    linux는 콘솔상태(TEXT모드)에서 ALT+F1 ~ ALT+F7 의 키를 누름으로써 다수의 가상콘솔을 실행 할수 있다.
    (특히 ALT+F7은 Xwindow를 불러오한다)
    Xwindows(그놈)에서는 CTRL+ALT+F1 ~ CTRL+ALT+F6의 키를 누름으로써 콘솔상태로 전환을 할 수 있다
    (X로의 복귀는 ALT+F7을 누르면 된다.. CTRL+ALT+F7을 눌러도 그냥 X로 복귀한다)
    (추가 : X상태에서 ctrl+alt+backspace를 누르면 X가 종료된다)

    그렇다면, 가상PC에서는 어떻게 이 기능들을 어떻게 사용할 수 있을까?
    그냥 사용한다면, 가상PC내에서 키를 눌렀다 하더라도, HOSTs OS에서 인식해 버리는 사태가 벌어진다..

    가상PC에서 이 기능들을 사용하려면, 가상머신 유틸에서 제공하는 방법에 따라야만 한다.

    vmware에서는 가상PC(Guest OS)에서 "CTRL+ALT+F1" 의 명령을 입력하려 할때는
    ((( ctrl+alt를 누른채로, SpaceBar를 한번 눌렀다뗀다음, (ctrl+alt는 여전히 누른상태) F1을 누른다 )))
    의 방법으로 진행하면 된다.

    virtualbox 에서는 지정된 HOST키(우측ctrl)키를 활용하면 된다
    "CTRL+ALT+F1" 의 명령을 입력하려 할때는 ((( HOST키(우측ctrl)+F1 ))) 을 누르면 된다.

    (알려진 위 방법들을 잘 조합하여, "Xwindow ↔ 콘솔  // Xwindows종료" 의 명령이 가능하다)


    필자는, "콘솔"에서 "Xwindows의 환경설정파일(/etc/X11/xorg.conf)"를, 직접 수정하여
    "환영합니다"화면(그 이후 화면 포함)이 너무 크게 나오는현상을 없애려고 한다.
    그래서, "환영합니다"화면에서 CTRL+ALT+F1 (virtualbox상에서 진행하였기때문에, 실제로는 HOST키(우측ctrl)+F1 키를 눌렀다) 를 눌러, "콘솔로의 전환"을 시도해 보았다.(다음화면 참조)

    사용자 삽입 이미지
    실망스럽게도 콘솔로 로긴할 수 있는 상태가 아니었다.
    위 화면 상태로 커서만 깜빡일 뿐이었다..
    (치밀한넘들...HOST키(우측ctrl)+F2,F3.. 등은 빈화면이었다)

    다시 재부팅을 시도하였다(컴퓨터 끄기 신호 보내기를 하면, 조금만 기다리면, 안전한 재부팅이 가능하다)

    역시나, 마찬가지인 상태로, "환영합니다"화면까지 도달하였다.
    첫번째 방법이 실패하였으므로, 조금 다른 방법을 시도 해보기로 하였다.

    VirtualBox환경이기 때문에, HOST키(우측ctrl)+backspace(원래 명령은 ctrl+alt+backspace)를 눌렀다
    그랬더니, 콘솔로 잠깐 빠져나왔다가 다시 Xwindow의 로긴 화면이 나온다(아래 화면 참조)

    사용자 삽입 이미지
    여기서 HOST키(우측ctrl)+F1 를 눌러, 콘솔로 빠져나왔다.(성공~ // 아래 화면 참조)

    사용자 삽입 이미지
    login : root
    password :  (( Fedora 9 설치시 지정했던 root암호 입력 ))
    Last login : Thu May 15  22:02:40 on tty1
    [root@localhost ~]# _

    위의 상태가 바로, 콘솔로 root접속에 성공한 상태이다.

    (참고: 알수없는 이유로, password를 맞게 입력해도 로긴이 안되는 경우도 있었다. -- 수십번을 시도해도 같은 결과 // 하지만, 재부팅-재시도 후 정상적인 로긴 화면을 볼 수 있었다)


    사용자 삽입 이미지
    이제, 위 그림처럼, Xwindows 환경설정 파일을 직접 수정해 보도록 하자.
    (빨간박스 표시 부분을 추가하는 것이다)

    vi(vim)이라는 linux용 콘솔 TEXT-Editor를 사용하여, 아래와 같이 실행-추가-저장-vim종료-reboot 을 진행하면 된다.
    ( Modes     "1024x768" "800x600" "540x480" 를, 해당 위치에 추가하였다 )
    (혹시모를 오류를 대비하기 위해, 공백에 tab을 전혀 사용하지 않았으며, space로만 공백을 입력하였다)

    [root@localhost ~]# vim /etc/X11/xorg.conf

    Section "Screen"
       Identifier    "Screen0"
       Device        "Videocard0"
       Monitor        "Monitor0"
       DefaultDepth        24
       SubSection    "Display"
           Viewport    0 0
           Depth        24
           Modes        "1024x768" "800x600" "540x480"   <---- 추가되는 부분
       EndSubSection
    EndSection

    [root@localhost ~]# reboot   <-- 시스템 재부팅
    ------------------------------------------------------------------
    * 초보사용자의 경우 vi 사용법이 매우 어려울 수 있으므로,
    직관적이고 간단한 nano라는 에디터를 사용하여 수정하는것도 좋다.

    [root@localhost ~]# nano /etc/X11/xorg.conf     <--- 1. nano실행후 
    2. 커서로 해당줄로 이동
    3. Modes        "1024x768" "800x600" "540x480"         추가
    4. 화면 하단의 메뉴를 보면 CTRL+X가 종료인것을 알수 있다.  CTRL+X를 눌러 종료 시도
    5. 변경된 내용을 저장할거냐고 묻는 질문에 "Y"(yes)입력
    6. 엔터
    정도의 순서로 작업 가능할것이다.

    작업이 완료되었다면
    [root@localhost ~]# reboot   <-- 시스템 재부팅

    *추가 : 해상도관련 문제에 대한 또다른 방법을, 글 마지막에 추가하였습니다.


    사용자 삽입 이미지
    짜잔~ 화면 크기가 적당히 조절되었다~

    사용자 삽입 이미지
    화면 전체가 잘 보인다.
    다음을 눌러 진행하자

    사용자 삽입 이미지
    "다음"

    사용자 삽입 이미지
    linux 특성상, "항상 root권한으로 접속하는것"은 위험하니,
    혼자 쓰는 컴퓨터라 할지라도, 일반유저의 계정을 만드는것이 바람직하다.
    필자는 위와 같이 입력하였다. (성명은 생략하여도 계정 생성엔 문제가 없다)


    사용자 삽입 이미지
    날짜가 혹시 틀리게 나온다면, 바로 잡고 "다음"을 누르자


    사용자 삽입 이미지
    이 화면은 Fedora 개발팀에게,
    fedora를 설치한 내 컴퓨터의 하드웨어 정보를 전송하는것이다.
    이런 정보들이 모여, Fedora 개발에 참고자료가 되는것이다.

    전송되는게 싫다면, Do not send profile을 선택하고 다음을 누르면, 간단한 메시지창이 하나 나오고 그냥 진행될것이다.

    필자는 그냥 Sned Profile을 선택하였다.


    사용자 삽입 이미지
    첫 로긴 화면이다~!
    id와 password를 그냥 키보드로 눌러 "로그인"을 해도 되고
    목록에서 해당 ID를 클릭한후 password만 키보드로 입력해서 "로그인"해도 된다.

    혹시라도 목록에 나오지 않는, root로 로긴을 시도할경우
    "위험하다, 계속 진행할거냐?"라는 경고를 볼수 있다. (로긴이 안되는것은 아니다)

    가능하다면, 일반 계정으로 사용하는 버릇을 들이는것이 좋다.

    사용자 삽입 이미지
    짜잔~ pogusm이란 유저ID로 로긴한 Gnome Desktop의 화면이다.


    사용자 삽입 이미지
    참고로 위 화면은 아까 잠깐 이야기 했었던 VirtualBox의 스냅샷 기능을 나타낸다.

    사용자 삽입 이미지
    필자의 스냅샷 정보이다 (참고~)


    사용자 삽입 이미지
    Gnome 실행후 잠시 기다리니, 씨뻘건 메뉴가 갑자기 떴다.
    "윈도우XP의 보안 업데이트"와 같다고 볼수 있다.
    보안상 헛점이 있는 프로그램들은 수시로 업데이트된다.
    반드시 거르지 말고, 업데이트를 진행하는것이 좋다.

    사용자 삽입 이미지
    "보안 업데이트" 작업은 ROOT권한으로 진행되어야 하는 작업이다.
    root사용자 또는 root의 password를 모른다면, 업데이트를 진행 할 수 없는것이다.

    root의 패스워드를 입력하면, 업데이트가 진행된다
    (root권한으로만 실행가능한 프로그램들이 몇몇 있는데, 그럴때마다 저런 화면을 보게 될것이다.
    불편한것이 아니라, 당연한 것이다.)

    사용자 삽입 이미지
    우측상단에 업데이트 진행 상황이 보인다. (마치 윈도우XP의 트레이 아이콘같다)


    사용자 삽입 이미지
    클릭해서 자세한 정보도 볼수 있다.




    ------------------------------------------------------------------------------------------------
    이상 Fedora 9 네트워크 인스톨에 대한 글 이었습니다.

    너무 길긴 하지만, 초보분들에겐 도움이 될거라 생각하며 열심히 작성하였습니다.

    도움 되셨길 바랍니다~

    ^^;

    -------------------------------------------------------------
    추가 : 첫부팅후 해상도가 너무 크게 나오는 문제 해결방법 2


    사용자 삽입 이미지
    grub 부팅화면에서 아무키나 누르면 다음 화면으로 이어진다.

    사용자 삽입 이미지
    아래쪽 설명을 보면, 'e'버튼을 눌러 부팅과정을 편집할 수 있다고 나와있다.
    e를 눌러 다음 화면으로 넘어갑니다.

    사용자 삽입 이미지
    두번째 줄 kernel로 시작하는 부분을 선택한후 다시 'e'를 누른다

    사용자 삽입 이미지
    이런 화면이 나올것입니다.

    사용자 삽입 이미지
    한칸 띄고, 3을 입력한후, 엔터를 칩니다.
    (런레벨 3 으로 부팅을 하라는 의미입니다)

    사용자 삽입 이미지
    이전 화면으로 넘어왔습니다.
    'b'를 누르면, 수정된 내용으로 부팅을 수행합니다

    사용자 삽입 이미지
    런레벨3, 콘솔모드(텍스트모드)로 부팅과정이 수행됩니다.

    사용자 삽입 이미지
    첫화면에 몇가지 설정하는것이 나오지만, 그냥 QUIT를 선택해서 넘어갑니다
    (이 메뉴에서는 방향키,탭키,엔터 등을 사용합니다)

    사용자 삽입 이미지
    root로 로긴을 한후, 일반 계정을 추가하고, 그 계정에 대한 password를 지정합니다.
    (필자는 pogusm이란 유저를 추가하였습니다)
    그리고 /etc/X11/xorg.conf 를 편집합니다.

    사용자 삽입 이미지
    Modes "1024x768" "800x600" "540x480" 을 추가/저장 하였습니다
    그런다음 reboot(재부팅)을 수행합니다

    사용자 삽입 이미지
    정상적인 해상도로 부팅이 수행됩니다.

    사용자 삽입 이미지
    로긴 화면입니다

    사용자 삽입 이미지
    짜잔~ 부팅에 성공하였습니다~~
    (원래 진행과정이었던
    1. 환영메시지
    2. 라이센스정보확인
    3. 사용자 생성
    4. 날짜 확인/수정
    5. 하드웨어 프로필 전송 // 의 과정은 건너뛴것입니다  (사용자 생성은 따로 생성했지요))
    Posted by 1010
    61.Linux2008. 7. 22. 10:09
    반응형

    리눅스의 DNS

    • /etc/resolv.conf

      • name server의 주소를 지정 
    • /etc/hosts

      • ip 주소에 해당하는 dns를 명시해 놓은 파일
      • 만약 hosts 파일에 해당 도메인 네임이 있을 경우 name server에 질의하지 않음
    • /etc/named.conf

      • 네임서버 데몬이 시작될때 제일 먼저 읽어 들이는 파일 
    • IP 주소를 얻는 절차

      • URL을 입력
      • /etc/host.conf 파일을 조회하여 우선순위를 확인

        • order hosts,bind : 순서는 hosts, 그 후 nameserver를 찾음 
      • 우선 순위가 /etc/hosts 이므로, 이 파일에서 검색
      • /etc/hosts에 해당 도메인 네임이  있을 경우 IP 주소를 획득
      • 만약 hosts 파일에 없다면, /etc/resolv.conf에 nameserver 부분이 있는지 확인
      • nameserver에 IP 주소를 질의

    네임서버가 작동하는 순서

    • 도메인을 입력(www.readhat.com)
    • /etc/resolv.conf를 검색하여 로컬 네임서버를 알아냄
    • 로컬 네임 서버에 도메인을 질의(www.redhat.com)
    • 없을 경우 루트 네임서버에 도메인의 주소를 질의를 하면 com을 관리하는 네임 서버의 주소를 알려줌
    • com 서버에 www.redhat.com을 질의 하면, redhat.com을 관리하는 네임 서버의 주소를 알려줌
    • redhat.com에 www.redhat.com의 주소를 질의 
    • redhat.com은 레드헷사에서 구축한 네임 서버이므로 ???.redhat.com이라는 이름을 가진 컴퓨터 목록은
      모두 가지고 있다. 그러므로, www.redhat.com의 ip 주소를 알려줌
    • PC는 획득한 IP주소로 접속을 시도
    • 마스터 네임서버

      • ???.hanyang.ac.kr과 같은 도메인에 속해 있는 컴퓨터 
    Posted by 1010
    61.Linux2008. 7. 22. 09:35
    반응형
    Daemon and Process

    - Daemon : 커널상에서 백그라운드 모드로 작동하여 비활성화 상태에서 요청이 있을 때만 동작하는 프로세스를 일컬음

    - Xinetd (extended inetd)
      super daemon
      http://www.xinetd.org
      yum install xinetd
      # cat /etc/xinetd.conf
      # cat /etc/xinetd.d/
      # /etc/init.d/xinetd (re)start
      # chmod 600 /etc/xinetd.conf : change the permission
      # chmod 600 /etc/xinetd.d/*
      # chattr +i /etc/xinetd.conf : disallow to modify the file
      # chattr +i /etc/xinetd.d/*
      http://www.macsecurity.org/resources/xinetd/tutorial.shtml : reference to xinetd superdaemon

    - Process : 커널 상에서 동작하고 있는 모든 프로그램 (PID, Process ID)
      # ps
      # ps -ef
      # ps aux or ps axj

    - Kill process
      # kill -9 973 or kill -SIGKILL 973 : terminate the PID process
      # kill -1 973 or kill -SIGHUP 973 : restart the PID process

    - # ps ax | grep syslogd

    - BG and FG
      # jobs : check if there are background process working
      # fg %작업번호 : bg -> fg
      # bg %작업번호 : fg -> bg
      Ctrl+Z : process interrupt

    - # pstree : print working processes in forms of tree
      # top : monitor the working processes realtime

    - Management of daemon
      부팅시 자동적으로 데몬이 적재
      # /usr/sbin/ntsysv
      # /usr/sbin/chkconfig
      Alt+F2 -> 'system-config-services'

    - Daemon example 1 (at daemon)
      : 작업 스케쥴 예약
      # /etc/init.d/atd restart
      # at 10:00pm today (at now + 4 hours)
      at> shutdown -r now
      at> ctrl+D
      # cat /etc/at.allow : 사용자 제한
      # atq (at -l) : at로 예약한 작업 리스트 확인
      # atrm 작업번호 : 예약중인 at 작업 중지

    - Daemon example 2 (cron daemon)
      : 같은 작업을 주기적으로 반복하여 처리
      # /etc/init.d/crond restart
      # crontab -l : print crontab content
      # crontab -e : edit the cron schedule (using vi editor)
      0 12 * * 6 /home/ekyulee/back.sh : 토요일마다 자신의 디렉토리를 백업
      0 12 1-12/2 * /home/ekyulee/back.sh : 1월부터12월까지 2개월마다 디렉토리 백업
      # cat /etc/crontab
      01 * * * * root run-parts /etc/cron.hourly
      02 4 * * * root run-parts /etc/cron.daily
      22 4 * * o root run-parts /etc/cron.weekly
      42 4 1 * * root run-parts /etc/cron.monthly
      # cat /etc/cron.allow

    출처 : http://thesimple.tistory.com/55
    Posted by 1010
    61.Linux2008. 7. 22. 09:33
    반응형
    네트워크 이해

    1. TCP/IP 이해
    2. TCP/IP 네트워크 주소
    3. 네트워크 장치
    4. 이더넷 모듈 동작 여부 확인


    2. TCP/IP 네트워크 주소

    - IP Address
      네트워크 주소, 호스트 주소, 브로드캐스트 주소
      게이트웨이 주소

    - Netmask
      255.255.255.0      x.00000000  Net: 1  Host: 254
      255.255.255.128   x.10000000  Net: 2  Host: 126
      255.255.255.192   x.11000000  Net: 4  Host: 62
      255.255.255.224   x.11100000  Net: 8  Host: 30
      255.255.255.240   x.11110000  Net: 16 Host: 14 (0, 16, 32, ..., 240)
      255.255.255.248   x.11111000  Net: 32 Host: 6

    - Class
      class     netmask            network address              private address
      A           255.0.0.0           0.0.0.0-127.255.255.255      10.0.0.0-10.255.255.255
      B           255.255.0.0        128.0.0.0-191.255.255.255   172.16.0.0-172.31.255.255
      C           255.255.255.0     192.0.0.0-223.255.255.255   192.168.0.0-192.168.255.255
      Multicast   240.0.0.0         224.0.0.0-239.255.255.255


    3. 네트워크 장치

    - 이더넷 모듈 띄우기
      /usr/lib/modules/커널버전/kernel/drivers/net 디렉토리에서 이더넷 모듈명 확인
      # modprobe e100
      # cat >> /etc/rc.d/rc.local : 부팅시 자동으로 이더넷 모듈을 적재되도록 함
        modprobe e100

    - Modprobe.conf
      # cat /etc/modprobe.conf : 부팅시 자동으로 이더넷 모듈을 적재되도록 함
        alias 디바이스명 모듈명
        options 모듈명 옵션
        .
        alias eth0 3c509
        options 3c509 io=210 irq=10

    - System-config-network

    4. 이더넷 모듈 동작 여부 확인
      # lsmod | grep 모듈명
      # rmmod 모듈명 (동작중인 모듈 제거)



    출처 : http://thesimple.tistory.com/63
    Posted by 1010
    61.Linux2008. 7. 22. 09:32
    반응형
    - 와일드 문자
      * : 그 문자에 해당되는 모든 것
      ? : 하나의 문자를 상징

    - Move a file or rename a file
      # mv /root/test.txt /root/test : move a file or rename a file

      # df -h : 사용가능한 디스크 용량 확인
      # df -T : 마운트되어 있는 시스템 확인
      # du
      # du -h /usr/bin : 해당 디렉토리에서 사용한 용량 확인

      # cat > test.txt : 간단한 텍스트 파일 생성
      # cat >> test.txt: test.txt 파일에 내용 추가
      # cat test.txt : test.txt 파일 내용 print
      # cat -b test.txt : 줄번호 표시

      # find / -name dmesg : / 디렉토리 아래에서 dmesg 이름을 갖는 파일 검색
      # ps : 프로세스 상태 확인
      # ps aux | more

    - Mount
      # mkdir /mnt/dvdrom
      # mount -t iso9660 /dev/hdc /mnt/dvdrom/
      # df
      # umount /mnt/dvdrom or umount /dev/hdc

    - install NTFS module (for mount windows xp partitions)
      # yum install ntfs -3g

    - format the partition '/dev/hda2' as a form of linux file system
      # mkfs -t ext3 /dev/hda2 : 파일 시스템 만들기
      # fsch.ext3 /dev/hda2 : 파일 시스템 점검
      # who or w or finger : 현재 시스템에 접속하 사용자 확인

    - Process
      # kill -1 2695 : 해당 프로세스를 다시 시작
      # kill -HUP 3435 : restart the process
      # kill -9 2695 : 해당 프로세스 정지

    - Man page -> text file
      # man mount | col -b > mount.man.txt : transform the man page into text file

    - 명령어 옵션을 자동으로 실행되게 하는 Alias
      .bashrc 파일 편집
        alias du='du -h'
        alias move='mv -i'
        

    1.5
    - accounts
      # su - : 루트계정으로 전환
      # su ekyulee

    - uncompress (tar.gz or tar.bz2)
      # wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.gz
      # tar xvfz linux-2.6.20.tar.gz
      # wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2
      # tar xvfj linux-2.6.20.tar.bz2

    - rpm uncompress, install, and confirm
      # rpm -ivh webalizer.i386.rpm : rpm 설치
      # rpm -ql webalizer : rpm 설치된 경로 확인
      # rpm -q webalizer : rpm 검색
      # rpm -e webalizer : rpm 제거

      # w or who or finger : 현재 시스템에 접속중이 사용자 확인
      # ps ax | grep syslogd : syslogd 데몬이 프로세스상에서 동작하고 있는지 확인
      # kill -l 2139 : 프로세스 재실행

    - User account
      # adduser siren
      # passwd siren : 비밀번호 변경
      # passwd : root 계정의 비밀번호 변경
      # userdel -r siren : 계정 사용자 삭제
      # finger ekyulee : check the user data
      # chfn ekyulee : change the user data

      # mc : midnight commander

    - background & foreground
      # top & : 시스템 상태 분석 도구인 top를 백그라운드 모드로 작동
      # fg : top 프로세스를 포그라운드로 작동 (q: top 프로세스 종료)

      # /etc/init.d/xinetd restart : xinetd 데몬 재시작

    - review kernel message while booting process
      # dmesg | more

    - kernel version
      # uname -a : check the system's kernel version
      # finger @finger.kernel.org : check the latest kernel version
      # /sbin/lsmod | more : check the currently working kernel modules

    - check the hardware data (under /proc/)
      # cat /proc/cpuinfo
      # cat /proc/meminfo

    - network
      # ping 168.126.84.2
      # traceroute www.yahoo.com
      # ifconfig
      # ifconfig eth0 192.168.1.4 netmask 255.255.255.0 broadcast 192.168.1.255
      # ifconfig eth0 down : 이더넷 네트워크를 비활성화 (제거)
      # ifconfig eth0 192.168.1.4

    - 인터넷 공유
      # echo 1 > /proc/sys/net/ipv4/ip_forward
      # iptables -A FORWARD -o ppp0 -j ACCEPT (case: ADSL)
      # iptables -A FORWARD -o eth0 -j ACCEPT (case: VSDL)
      # iptables -A FORWARD -o eth1 -j ACCEPT
      # iptables -t nat -A POSTROUTING -o ppp0 (ethO) -j MASQUERADE

    - IP Alias 하나의 이더넷 장치에 또 다른 IP를 할당
      # ifconfig eth0:1 192.168.1.100

    - automatic IP Packet forwarding
      set 'net.ipv4.ip_forward=1' at the file '/etc/sysctl.conf'

    - Nameserver
      you can add additional nameserver '192.168.2.1' at the file '/etc/resolv.conf'

    - Firewall (iptables)
      # /etc/init.d/iptables restart
      '/etc/sysconfig/iptables' 설정
      'Alt+F2' -> system-config-securitylevel

    - chmod
      # chmod 644 /bin/uname : read-only
      # chmod 755 /bin/uname : executable

    - ssh
      # ssh localhost (access with root account)
      # ssh localhost -l ekyulee
      # sftp ekyulee@localhost

    - wget download files from remote ftp server without login the ftp server
      # wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.1.tar.bz2

    - Time
      # date : check the current time
      # ntpdate time.kriss.re.kr
      # rdate -p -s time.bora.net

    - Yum : yum 리포티지 - rpm 패키지를 저장하고 있음
      # rpm --import /etc/pki/rpm-gpg/*
      # rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY (GPG키 설치)
      # rpm -ivh http://rpm.livna/org/livna-release-6.rpm

    - Hard disk error
      # badblock -s /dev/hda1

    - File set
      # touch test.txt
      # chattr +i test.txt (파일이 지워지지 않음)
      # chattr -i test.txt (파일이 지워짐)

    - checksum
      # md5sum fedora6.x86.iso

    - Flash 설치
      # wget http://macromedia.mplug.org/macromedia-i386.repo
      # cp macromedia-i386.repo /etc/yum.repos.d/
      # rpm --import http://macromedia.mplug.org/FEDORA-GPG-KEY
      # yum install flash-plugin

    - Linux Kernel 설치
      # wget http://download/fedora.redhat.com/pub/fedora/linux/core/6/source/SRPMS/kernel-2.6.18-1.2798.fc6.src.rpm
      # rpm -ivh kernel-2.6.18-1.2798.fc6.src.rpm
      # rpmbuild -bp --target=$(uname -m) /usr/src/redhat/SPECS/kernel-2.6.spec
      # mv /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i386 /usr/src
      # ln -s /usr/src/linux-2.6.18.i386 /usr/src/linux : 심볼릭 링크 연결

    - Linux Kernel 설치 (Update)
      # yum install yum-utils
      # yumdownloader --source kernel --enablerepo updates-source
    Posted by 1010
    61.Linux2008. 7. 22. 09:32
    반응형
     TCP/IP 설정

    1. 네트워크 설정 전에 고려해야 할 사항
    2. 호스트 이름
    3. 인터페이스 설정
    4. 라우팅 설정
    5. 게이트웨이 설정
    6. DNS 설정 (/etc/resolv.conf)
    7. 페도라 코어의 네트워크 설정 도구
    8. 네트워크 진단
    9. 페도라 코어 리눅스 네트워크 환경 설정 파일
    10. IP활용 기법
    11. 무선 이더넷


    2. 호스트 이름
    - 로컬 호스트 이름 설정
      /etc/sysconfig/network 파일 설정
        NETWORKING=yes
        HOSTNAME=localhost.localdomain : 프롬프트 상의 호스트명을 변경할 수 있음
      /etc/hosts 파일 설정
        IP address  Host name Alias
        127.0.0.1 localhost.localdomain localhost : 'lo' 인터페이스 할당
        (# ssh 127.0.0.1 = # ssh localhost.localdomain = # ssh localhost 모두 동일 효과)
        127.0.0.1 siren.joayo.net fedora
        .
        211.234.93.155  linuxpia.joayo  dumca : DNS의 효과


    3. 인터페이스 설정
      # ifconfig
      # ifconfig eth0 192.168.1.1 netmask 255.255.255.128 broadcast 192.168.1.127 up
        (서브넷이 분리되지 않은 C 클래스의 경우 netmask와 broadcast 주소 생략 가능)
      # ifconfig eth0 down : 인터페이스 비활성화
      # ifdown eth0
      ifconfig 명령으로 인터페이스 활성화 -> 부팅할 때마다 설정해줘야 함

    - 파일 설정
      /etc/rc.d/rc.local 파일내에 ifconfig 명령을 삽입
      /etc/sysconfig/network-scripts/ifcfg-eth0 파일
        DEVICE=eth0
        BOOTPROTO=static
        IPADDR=211.32.56.231
        NETMASK=255.255.255.128
        GATEWAY=211.32.56.135
        ONBOOT=yes
        IPV6INIT=no
        USERCTL=no
        PEERDNS=yes
        TYPE=Ethernet
        HWADDR=00:90:27:a2:73:c2
      /etc/sysconfig/network-scripts/ifcfg-eth1 파일 (DHCP환경의 인터페이스 설정)
        IPV6INIT=no
        ONBOOT=yes
        USERCTL=no
        PEERDNS=no
        TYPE=Ethernet
        DEVICE=eth1
        HWADDR=00:20:ed:8d:d4:5f
        BOOTPROTO=dhcp    


    4. 라우팅 설정
      # route : 시스템의 라우팅 테이블을 보여줌
      # route add -host 192.168.1.11 dev eth0
      # route del 192.168.1.11 dev eth0 : 라우팅 제거


    5. 게이트웨이 설정
      # route add default gw 211.32.56.129 dev eth1
      # route del default (211.32.56.129)


    6. DNS 설정 (/etc/resolv.conf)
      # cat /etc/resolv.conf
        nameserver 168.126.63.1
        nameserver 210.94.0.7 : 첫번째 nameserver가 동작하지 않는 경우 활용됨


    7. 페도라 코어의 네트워크 설정 도구
    - system-config-network

    - netcofig
      # yum install netconfig
      # netconfig
      # netconfig -d eth1 : netconfig 설정 내용은 /etc/sysconfig/ifcfg-eth1 파일에 저장


    8. 네트워크 진단
    - ping
      # ping [-c 회수] [-s 패킷크기] 호스트주소
      # ping 168.126.63.1

    - traceroute
      # traceroute kr.yahoo.com : 목적 호스트까지 전달되는 경로를 표시

    - netstat
      # netstat -nr : 라우팅 테이블 정보 및 네트워크 상태 확인
      # netstat | more : 네트워크의 인터넷 접속 상태와 소켓 상태 확인
      # netstat -t : 네트워크의 인터넷 접속 상태 확인
      # netstat -i : 네트워크의 패킷 전송 상태 확인
      # netstat -s | more : 네트워크 통계 상태
      # netstat -ntapeol : 현재 열려져있는 포트 종류와 현재 사용중인 서비스 포트 확인

    - nslookup
      # nslookup : 네임서버를 통하여 도메인을 검색하거나 IP 정보 확인
        > server 168.126.63.1 : 네임서버 설정
        > kr.yahoo.com
        > 168.126.63.1 (코넷 네임서버)

    - host
      : 도메인 검색에 사용
      # host -v -t any kr.yahoo.com

    - ARP
      : IP 주소와 이더넷 주소를 알려주는 프로토콜
      # arp
      # arp -vn 168.126.63.1


    9. 페도라 코어 리눅스 네트워크 환경 설정 파일
    - 네트워크 환경 설정 파일
      /etc/hosts : 간이 네임 서버 역할
      /etc/sysconfig/network : 호스트 이름과 라우팅 정보, IP forwarding 기능 정보 포함
      /etc/sysconfig/network-scripts : 부팅시 이더넷 및 ppp 인터페이스 네트워크 설정 파일
      /etc/resolv.conf : 네임 서버 정보 포함

    - 관련 네트워크 워크 파일
      /etc/host.conf : resolver 옵션을 지정
      /etc/rc.d/init.d/network : 부팅 시에 이더넷 인터페이스를 구성하기 위한 스크립트
      /etc/services : 네트워크 서비스 목록 및 포트번호
      /etc/protocols : TCP/IP 시스템에서 이용 가능한 프로토콜 목로


    10. IP활용 기법
    - IP Masquerade
      : NAT (Network Address Translation), IP 공유기
      : IPMASQ, MASQ
      http://www.e-infomax.com/ipmasq
      내부네트워크 : eth0 192.168.1.1
      외부 인터넷 : eth1
      # echo 1 > /proc/sys/net/ipv4/ip_forward : 시스템의 IP forwarding 기능 활성화
        /etc/sysctl.conf 파일내 net.ipv4.ip_forward 설정값은 1로 변경 : 부팅시 항상 on으로 설정
      # iptables -A FORWARD -o eth0 -j ACCEPT
      # iptables -A FORWARD -o eth1 -j ACCEPT
      # iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
      # iptables -L : Chain FORWARD 설정에서 모든 포트와 소스에 대해 허용 정책이 설정되었는지 확인
      # iptables -L -t nat : Chain FORWARD 설정에서 마스커레이드 허용 정책이 설정되었는지 확인
      : 클라이언트 설정
      # ifconfig eth0 192.168.1.2
      # route add default gw 192.168.1.1 dev eth0

    - IP Alias
      : 하나의 물리적 이더넷 카드에 여러개의 IP주소를 할당하여 사용하는 것
      : 웹 호스팅 업체에서 버추얼 도메인에 적용
      # ifconfig eth0 192.168.1.1
      # ifconfig eth0:1 192.168.1.10
      # ifconfig eth0:2 192.168.1.11

    - Port Redirection
      : 방화벽 구조에서 서버의 TCP/UDP 서비스 포트를 다른 컴퓨터로 이양하여 자신의 서비스를 다른 컴퓨터에서 할 수 있도록 하는 것
      : 주로 보안 측면에 활용. 서버 서비스 포트를 내부 네트워크를 사용하는 서버에 이양함으로써 크래커가 서비스 서버를 크래킹하더라도 내부 네트워크 서버까지 침투하기 어렵기 때문에 서버의 데이터를 보호할 수 있음
      . 서버 (211.32.56.135)의 SSH 서비스 포트 22를 마스커레이드 환경하의 192.168.1.3 클라이언트에게 이양
      . 외부에서 서버로 SSH에 접속하면 192.168.1.3에서 SSH 서비스가 이루어짐
      # iptables -t nat -A PREROUTING -p tcp -d 211.32.56.135 --dport 22 -j DNAT --to 192.168.1.3:22
      . 211.32.56.135의 웹서버를 192.168.1.10의 웹서버 포트로 이양 (백그라운드 모드 실행)
      # yum install redir (apt-get install redir)
      # redir --lport=80 --cport=80 --laddr=211.32.56.135 --caddr=192.168.1.10 &


    11. 무선 이더넷
    - 무선 이더넷 드라이버
      인텔 무선 이더넷 : http://ipw2100.sf.net, http://ipw2200.sf.net, http://ipw3945.sf.net
      Ndiswrapper : 윈도우즈XP 드라이버를 리눅스에서 동작할 수 있도록 해주는 프로그램
        http://ndiswrapper.sourceforge.net

    - Ndiswrapper 이용한 PCI 무선 이더넷 장치 설치
      # yum install kmod-ndiswrapper : 커널 소스 설치
      . 커널 업데이트 (kernel compile)
      . 새롭게 업데이트된 커널 (vmlinuz-2.6.20-1.2933.fc6)로 부팅
      # mkdir -p /usr/lib/hotplug/wireless
      # cp WinXP용 드라이버 /usr/lib/hotplug/wireless/
      # ndiswrapper -i /usr/lib/hotplug/wireless/TNET1130.INF : inf 파일 로딩
      # ndiswrapper -1 : Ndis 드라이버 설치 확인
      # modprobe ndiswrapper : ndiswrapper 모듈을 modprobe를 이용하여 띄움
      # dmesg : ndiswrapper 모듈이 커널과 충돌이 없는지 / 제대로 커널에 적재되었는지 확인
      # iwconfig wlan0 : 무선 이더넷 확인
      # iwconfig wlan0 mode Managed essid pepsi : 'pepsi'의 ESSID를 가진 AP로 연결하는 경우
      # iwconfig wlan0 mode Ad-hoc essid pepsi channel 5 : Ad-hoc 모드 사용시
      # ifconfig wlan0 192.168.2.1

    - 인텔 센트리노
      # yum install ipw2100 : Intel Pro/Wireless 2100 네트워크 어댑터 드라이버 설치
      # yum install ipw2200
      # yum install ipw3945
      # yum install ipw2100-firmware : Intel Pro/Wireless 2100 네트워크 어댑터 펌웨어
      # yum install ipw2200-firmware
      # yum install ipw3945-firmware
    Posted by 1010
    61.Linux2008. 7. 22. 09:30
    반응형
    ☆ /etc/passwd

    사용자 관리 (gest 로 fedora를 추가하였음)

    1. root ~ iiimd  :  리눅스에 기본적으로 존재하는 표준 사용자 

    ----------------------------------------------------------------------------------------------------
    ( 사용자이름 : 비밀번호 : 사용자 ID : 사용자 소속 그룹 ID : 전체이름 : 홈디렉토리     : 기본 셸       )
           root      :      x      :       0       :           0                :   root     :  /root             : /bin/bash
           ..
           ..
           fedora   :     x      :     500       :          500              : fedora   : /home/fedora : /bin/bash
    ----------------------------------------------------------------------------------------------------
    ( gest ID는 500 부터 시작됨)



    ☆ /etc/group

    ---------------------------------------------------------
    ( 그룹명  :  비밀번호 : 그룹 ID : 그룹에 속한 사용자 )
       root     :       x      :      0     :  root
       ..
      fedora   :      x       :     500  :
    ---------------------------------------------------------

    1. 그룹 생성 :   #  groupadd  newgroup

    2. 사용자 생성 & 그룹 지정  :  #  adduser  user1  -g  newgroup

    (# adduser user1  만 입력시 user1 이란 그룹이 자동으로 생성됨)

    /etc/passwd 를 확인해보면  user1 : x : 502 : 502 : ~
    /etc/group    을 확인해보면  newgroup : x : 502 : user1


    ☆  /etc/shadow

    사용자의 비밀번호가 MD5로 암호화 되어 저장되어있음.

    !! << 암호가 없다는 뜻


    ☆ adduser 명령을 하면...

    1. /etc/passwd  와  /etc/shadow  파일에 사용자 추가

    2. 별도의 그룹 지정없을시  사용자명과 동일한 그룹을  /etc/group 파일에 추가

    3. 별도의 홈디렉토리 지정이 없을시  /home/<사용자명> 디렉토리 생성

    4. /etc/skel  파일을 생성된 홈디렉토리에 복사


    ☆ 삭제

    # userdel <사용자>      // 사용자 삭제
    # groupdel <그룹명>    // 그룹 삭제

    ※ 홈디렉토리는 남게된다.
    1. # rm  -rf  /home/<사용자명>  로 지워주거나
    2. # userdel  -r  <사용자명>   로 처음부터 삭제.


    ☆ 이 모든 과정을 .......

    X-Window의      # system-config-users   에서 할수 있다.
    Posted by 1010
    61.Linux2008. 7. 22. 09:29
    반응형
    ☆ # ls  -l

     -    rw-r--r--   1   root   root   73288   6월 14 11:26   ins.log

     ①          ②          ③    ④       ⑤         ⑥               ⑦               ⑧


    ① : 파일 유형  ( - : 일반 파일  /  d : 디렉토리  /  b : 블록 디바이스  /  c : 문자 디바이스  /  l : 링크 )

    ※ 디바이스 : 장치를 말한다 ( 블록 디바이스 : HDD, FDD, CD-ROM 등 저장장치
                                             문자 디바이스 : 마우스, 키보드 등 입출력 장치 )

    ② : Permission - 허가권  ( r : 읽기  /  w : 쓰기  /  x : 실행 )

      user   |   group  |   other  |  << 각 계층에 허가된 사용권
    ---------------------------
    r  w  x  |  r  w  _  |  r  _  _  |
    ---------------------------
    4  2   1  | 4  2   1  |  4  2  1  |
        7      |     6      |      4     |  << 비트 수로 표현이 가능

    # chmod  777  <파일명>    // 퍼미션 모드 변경
    # chmod  <u/g/o> <+/-> <r/w/x>
    예) chmod  o+r  <파일명> : 다른 사용자에게 읽기 권한 부여
    예) chmod  o-r  <파일명> : 다른 사용자에게 읽기 권한 삭제

    ③ : 링크
    다른 곳에 있는 파일을 연결한 파일

    ④ : 소유자명
    ⑤ : 소유 그룹명

    ※ 파일 소유권 변경
    #  chown  <새로운 사용자명>  <파일명>
    예) # chown  fedora  install.log
         # chown  fedora.fedora  install.log
                                 새 그룹명

    ⑥ : 크기
    ⑦ : 수정 날짜
    ⑧ : 파일명
    Posted by 1010
    61.Linux2008. 7. 22. 09:29
    반응형
    ☆ Unix File System

    boot block
    : 부팅시 필요한 코드가 저장되있는 block

    super block : 전체 파일시스템에 대한 정보를 저장

    inode block : 각 파일이나 디렉토리에 대한 모든 정보 저장
                     ( 파일 소유자 사용번호 & 그룹 번호 , 파일크기 & type , 파일 생성시기 & 최종 변경시기 & 최근 사용시기
                        ,  파일의 보호권한 , 파일 링크수 , 데이터가 저장된 블록의 시작주소)

    data block : 디렉토리 별로 디렉토리 엔트리와 실제 파일에 대한 데이터가 저장



     <파일 시스템 구조의 예 >


    < file 1 이 삭제 될 경우 >

    즉, inode 블럭에 링크된 모든 링크가 삭제되야 data 블럭의 파일이 지워짐.


    ☆ Link

    Hard link : 원본 파일과 동일한 inode 블럭 이용.  원본 파일 data와 링크

    Soft link  : 원본 파일과 다른 inode 블럭 이용.  원본 파일 포인터와 링크

    <  링크 구조와 파일 시스템 >



    하드링크 :

    #  ln  <링크 대상 파일명>  <링크 파일명>   // 원본파일 삭제 or 경로 변경과 무관, 원본과 동일한 크기

    소프트 링크 :

    #  ln  -s  <링크 대상 파일명>  <링크 파일명>   // 원본파일 삭제 or 경로 변경시 쓸모 없어짐, 아주 작은 크기

    Posted by 1010
    61.Linux2008. 7. 22. 09:28
    반응형
    ☆ rpm (Redhat Packege Manager)

    레드햇 사에서 만든 설치파일 (setup.exe 파일과 비슷)

    구조 : <패키지 이름>-<버전>-<릴리즈 번호>.<아키텍쳐>.rpm
                                                                                ※

    ※ 아키텍쳐 : ☞ i386, i486, i586, i686, x86. x86_64   (intel or AMD 계열 cpu)
                       ☞ alpha, sparc, ia64   (해당 cpu를 의미)
                       ☞ src   (소스파일 패키지 , 설치후 별도의 컴파일 필요)
                       ☞ noarch    (모든 종류)


    ☆ 패키지 설치

    # rpm  -Uvh  <rpm 파일>

    옵션  'U' : update (주지 않을경우 일반적인 설치
            'v' : 설치과정 확인
            'h' : 진행과정을 # 로 표시


    ☆ 패키지 삭제

    # rpm  -e  <패키지>


    ☆ 패키지 질의

    # rpm  -qa  <패키지>       // 패키지 설치 질의

    # rpm  -qf  <파일명 & 경로>    // 해당파일 소속 패키지 질의

    # rpm  -ql  <패키지>   // 패키지 파일 내용 질의

    # rpm  -qi  <패키지>  // 패키지 상세정보


    ☆ 파일간의 의존성 문제는 해결해주지 못함


    ※ rpm 예시~ " Fedora 4 에 'mc' 설치하기"

    1. Fedora 4 i386  '4번' 시디 준비

    2. 마운트 확인

    3. # cd  /media/cdrom/Fedora/RPMS/    이동

    4. # ls  mc*     패키지 확인

    5. # rpm  -Uvh  mc...      (Tab)키 활용 ;;
    Posted by 1010
    61.Linux2008. 7. 22. 09:26
    반응형
    ☆  pipe  '|'

    - 두 프로그램을 연결해주는 통로를 의미

    # ls  -l  /etc | more




    ☆ Filter  (grep , tail , wc , sort , awk , sed 등)

    - 필요한 것만 걸러주는 명령어 , 주로 파이프와 같이 이용

    예)

    # ps  -ef  |  grep  bash       //  bash라는 글자가 들어간 프로세스 번호만 출력

    # rpm  -qa  |  grep  bind         // 단순히 rpm -qa bind 명령으로는 bind-utils 는 출력되지 않음




    ☆ Redirection

    - 표준 입출력의 방향을 바꿔줌.

       보통 모니터 출력을 파일로 저장할 때 사용.

    예)

    # ls  -l  > a.lst                   // ls -l 의 내용을 a.lst 파일로 저장 (존재시 덮어씀)

    # ls  -l  >>  a.lst                // 파일 존재시 이어씀

    # sort  <  a.lst                    // a.lst 내용을 정렬하여 화면에 출력

    # sort  <  a.lst  >  b.lst        // 위 처럼 화면에 출력된 것을 b.lst 파일로 저장




    ☆ 프로세스

    - 하드 디스크에 저장된 실행 코드(프로그램)가 메모리에 로딩되어 활성화 된것.


    ⓐ 포그라운드 프로세스  :  실행 화면에 등장.  사용자와 상호작용하는 프로세스

    ⓑ 백그라운드 프로세스  :  실행은 되었지만 화면에 등장하지는 않음

    ⓒ 프로세스 번호           :  메모리에 로딩되어 활성화된 프로세스를 구분하기 위해

                                         각 프로세스에 부여된 고유 번호

    ⓓ 작업 번호                 :  실행되고 있는 백그라운드 프로세스의 순차 번호 (프로세스 번호와 다름)

    ⓔ 부모 & 자식 프로세스 :  - 모든 프로세스는 독립되어 실행되지 않고, 부모 프로세스 하위에 종속되어 실행

                                         - 부모 프로세스 종료시, 종속된 모든 자식 프로세스도 자동 종료

                                         예)  X window (부모 프로세스)  ↔  FireFox (자식 프로세스)



    ※ 프로세스 관련 명령어

    1. ps  :  프로세스 상태 확인

       # ps  -ef  |  grep  <프로세스 번호>

    2. kill  :  프로세스 강제 종료

       # kill  -9  <프로세스 번호>           // -9 : 무조건 종료

    3. pstree  :  부모, 자식 관계를 트리로 보여줌.



    포그라운드    백그라운드    포그라운드  →  프로세스 종료
             ⓐ         ①        ⓑ        ②                                ⓒ

    ⓐ : 실행중인 포그라운드 프로세스를 'Ctrl + z' 를 눌러 일시 중지 시킴

    [1]+  Stopped            <프로세스 이름>

    ① : # bg                  // 일시 중지시킨 프로세스가 백그라운드 프로세스로 전환됨

    [1]+  <프로세스 이름> &

    ⓑ : # jobs              // 현재 백그라운드에서 진행중인 프로세스 출력

    [1]+  Running           <프로세스 이름> &

    ② : # fg <작업번호>  // 작업번호에 해당되는 프로세스를 포그라운드 프로세스로 전환시킴
                                          jobs 에서 보이는 [*] 번호

    ⓒ : 'Ctrl + c'를 누르면 프로세스 작업이 종료됨



    백그라운드 옵션  '&'

    - gedit 나 gzip 으로 대용량 파일 압축할때 효율적이다.

    예)  # gedit &
    Posted by 1010
    61.Linux2008. 7. 22. 09:24
    반응형
    1. yum install vnc-server
    2. vncpasswd
    3. /etc/sysconfig/vncservers
       VNCSERVERS="1:root"
    4. vi /etc/sysconfig/iptables
       -A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
    5. vnc restart
    Posted by 1010
    61.Linux2008. 7. 21. 14:02
    반응형

    페도라 네트워크 설정하는데 완젼 삽질했음..
    다른게 아니라 DNS 에서 완젼 캐삽질....
    dns 설정은 보통 인터넷으로 검색해 보니 resolv.conf 를 수정해주면 된다고 나와있다.

    #vi /etc/resolv.conf


    참고로 저는 페도라9을 설치 했는데 service network restart 했더니 resolv.conf 파일이 초기화 되어있다.
    근데 resolv.conf 파일을 열어보면 자동으로 생성되는 파일이라고 수정하지 말라고 씌여 있다.

    그래서 혹시나 해서 ifcfg-eth0 을 수정해봤다.

    #vi /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0
    BOOTPROTO=static
    HWADDR=XXXXXXXXX
    ONBOOT=yes
    NM_CONTROLLED=yes
    IPADDR=XXX.XXX.XXX.XXX
    NETMASK=255.255.255.0
    GATEWAY=XXX.XXX.XXX.XX
    DNS1=XXX.XXX.XXX.XX
    TYPE=Ethernet
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no

    DNS1 이 부분을 추가해줬더니 된다..


    파일을 열어 확인해 봤더니 nameserver 가 추가되어 있다. ^ㅆ^

    #vi /etc/resolv.conf

    # generated by NetworkManager, do not edit!
    nameserver 192.203.138.11

    와.. . 이거 하나 때문에 얼마나 삽질했는지..
    외부에서 telnet 접속은 되지만
    ping 을 입력해보면 호스트를 찾을 수 없다.
    그리고 yum update 를 했을때, 혹은 yum 을 이용해서 뭔가 설치하려고 하면 아래와 같은 오류가 발생 할
    수 있다.

    [Errno 4] IOError: <urlopen error (-3, ....

    이럴땐 DNS 설정을 해주면 해결이 된다.


    출처 : http://chery.tistory.com/119 님....

    Posted by 1010
    61.Linux2008. 7. 18. 10:39
    반응형

    Linux(리눅스)에서 open port check하기

    Ubuntu(우분투)에서 열려있는 포트 목록 보기


    # nmap -v 서버아이피

    이렇게 입력하면 다음과 같이 결과가 뜹니다.


    Not shown: 1705 closed ports
    PORT    STATE SERVICE
    21/tcp  open  ftp
    22/tcp  open  ssh
    25/tcp  open  smtp
    53/tcp  open  domain
    80/tcp  open  http
    110/tcp open  pop3
    143/tcp open  imap
    993/tcp open  imaps
    995/tcp open  pop3s

    혹시라도 설치가 되어있지 않다면 Ubuntu 유저는 다음과 같이 입력하면 nmap을 설치할 수 있습니다.


    # apt-get install nmap
    Posted by 1010
    61.Linux2008. 7. 17. 13:34
    반응형

    환경 변수는  리눅스를 기준으로

    해당 계정에만 설정 하는경우

      .bash_profile 에 정의 하거나

      /etc/profile 에 정의를 해둘수가 있습니다.


     /etc/profile 에 정의를 하면 모든 사용자들이 오라클을 사용할수 있습니다.

    Posted by 1010
    61.Linux2008. 7. 17. 13:12
    반응형
    # .bash_profile
                    
                    # Get the aliases and functions
                    if [ -f ~/.bashrc ]; then
                        . ~/.bashrc
                    fi
                    
                    # User specific environment and startup programs
    Posted by 1010
    61.Linux2008. 7. 16. 14:51
    반응형

    Xlib: connection to ":0.0" refused by server

    이 에러의 경우 에러 메세지는 remote 시스템 또는 windows의 terminal창에서 GUI환경의 Application을 실행하였을때 발생 하며 아래와 같은메시지가 출력 됩니다.

    Xlib: connection to ":0.0" refused by server
    Xlib: Client is not authorized to connect to Server
    Error: Can't open display: :0.0

    위의 에러가 발생하면 remote 시스템 또는 windows의 terminal창에서 login한 후 아래의 명령을 실행하여 local 시스템이 remote 시스템의 access control list에 포함 되도록 한다.

    # xhost "local-system-hostname"

    예) local 시스템의 hostname이 "bigom"이라면 아래와 같이 지정한다.

    # xhost  test
    cat being added to access control list

    특정한 호스트 외에 다른 모든 시스템을 access control list 에 추가하려면 아래와 같이 지정한다.

    # xhost +
    access control disabled, clients can connect from any host

    Posted by 1010
    61.Linux2008. 7. 15. 12:04
    반응형

    PATH=$PATH:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin


    Posted by 1010
    61.Linux2008. 7. 14. 14:31
    반응형


    cat /etc/issue

    Posted by 1010
    61.Linux2008. 7. 7. 15:45
    반응형
    yum install openssl-devel


    wget http://dag.wieers.com/packages/lzo/lzo-1.08-4.2.el4.rf.i386.rpm
     wget http://dag.wieers.com/packages/lzo/lzo-devel-1.08-4.2.el4.rf.i386.rpm
     rpm -Uvh lzo*

     ## open vpn 받아서 rpm 만들고 설치
     wget http://openvpn.net/release/openvpn-2.0.7.tar.gz
     rpmbuild -tb openvpn-2.0.7.tar.gz
     rpm -Uvh  /usr/src/redhat/RPMS/i386/openvpn-2.0.7-1.i386.rpm

    3. 인증서 생성 - 서버
      인증성 생성은 필수이다. 다음과 같이 생성한다.

     1) CA 생성 (상위 인증기관)
       cd /usr/share/doc/openvpn-2.0.7/easy-rsa/
       #vars 파일을 열어서 맨 마지막 줄을 수정한다.!!
         export KEY_COUNTRY=KR
         export KEY_PROVINCE=NA
         export KEY_CITY=BUSAN
         export KEY_ORG="superuser.co.kr"
         export KEY_EMAIL="doly@suidc.com"
      ####################################
      #인증서 생성시 마다 넣는게 귀찮아서 이렇게 정의 하는 것이니 하지 않아도 무관^^;
      . ./vars
      ## 위 명령은 , vars내용을 include한다는 명령이다.
      ./clean-all
      ## 기존에 생성된 것이 있으면 모두 삭제한다.
      ./build-ca
      ## CA 인증서를 생성한다.
      ## 이렇게하면 keys라는 폴더에 ca.key(개인키), ca.crt(공개인증서)가 생성된것을 확인한다.
      ## ca.crt파일은 모든 클라이언트에 배포. ca.key는 서버만 가지고 있음.

     2) 서버키 생성 (서버에 사용될 인증서 및 개인키)
       ./build-key-server server
      ## 뭐 많이 물어보는데 대충 대답하고 , y를 누른다.
    Common Name 을 물어 오면 'server'를 입력한다. 그리고 다음 두개의 질문에 Yes 라고 답한다.
    Sign the certificate? y/n
    1 out of 1 certificate requests certified, commit? y/n
      # keys 디렉토리에 server.crt  server.key 등이 생긴것을 확인할수 있다.
      # 이 키들은 CA에 의해 사인된 인증서이다.
      # server.crt, server.key 모두 서버에만 사용


     3) 클라이언트키 생성 (클라이언트에 사용될 인증서)
       ./build-key client
      ## 뭐 많이 물어보는데 대충 대답하고 , y를 누른다.
    Common Name 을 물어 오면 'client'를 입력한다. 그리고 다음 두개의 질문에 Yes 라고 답한다.
    Sign the certificate? y/n
    1 out of 1 certificate requests certified, commit? y/n
      # keys 디렉토리에 client.crt client.key 를 볼 수 있다.
      # 이 키들은 CA에 의해 사인된 인증서이다.
      # client.key, client.crt 모두 클라이언트에만 사용됨.

     4) Diffie Hellman 파라메터 생성(암호화에 필요한 놈)
      ./build-dh
      # keys디렉토리에 dh1024.pem 파일이 생긴것을 확인할 수 있다.
      # dh1024.pem은 서버에만 가지고 있는다.

     5) 클라이 언트용 파일 복사 및 보관
        mkdir -p /root/client-keys
        cp keys/ca.crt keys/client.* /root/client-keys
        cd /root
        zip client-keys.zip client-keys/*


    4. 설정파일(server.conf)파일 복사 및 편집 - 서버
     1) 설정파일 및 키 복사
        cd /usr/share/doc/openvpn-2.0.7/
        cp sample-config-files/server.conf /etc/openvpn/
        cp easy-rsa/keys/server.* /etc/openvpn/
        cp easy-rsa/keys/dh1024.pem /etc/openvpn/  
        cp easy-rsa/keys/ca.* /etc/openvpn/
       
     2) 설정파일 편집.(/etc/openvpn/server.conf)
        server 10.1.1.0 255.255.255.0
        client-to-client
        duplicate-cn
        max-clients 100
        plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login

       ## 설명
       # sever 네트웍 설정은 10.1.1.0으로 한다.
       # client-to-client : 클라이언트 끼리 통신 가능하게
       # duplicate-cn : client인증서 하나로 여러대의 PC에서 사용할 수 있게한다.
       # max-clients 100 : 연결수를 100으로 제한한다.
       # plugin .... : user/pass인증을 받는다. (시스템 계정)


     3) G/W로 VPN서버를 쓰기 때문에 인터넷 공유 설정.
        echo 'iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE' >> /etc/rc.d/rc.local
        iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE
        iptables -t nat -L


    참고자료 > VPN 구축 (via OpenVPN) 글쓴이 : doly™     날짜 : 07-03-06 15:56    

    Posted by 1010
    61.Linux2008. 7. 7. 15:43
    반응형

    리눅스 서버를 이용한 자바 개발 환경 구축

    이 문서는 초보자도 쉽게 리눅스 서버를 이용한 자바 개발 환경을 구축할 수 있도록 돕기 위해서 작성되었습니다.
    이 문서의 수정 및 재 배포가 가능하며 상업적 용도로 사용할 수 없습니다.

    단 수정 및 재 배포 시 작성자의 이름 및 출처를 꼭 명시하기 바랍니다.

    작성자 : 최광호(하이버즈)

    작성일 : 2007년 07월 24일 수요일

    최종 수정일 : 2008년 03월 28일 금요일

    이메일 : hibuz@하이버즈.com

     

    설치할 항목들

    • 리눅스서버 : SULinux 1.5 Server

      • 커널 : kernel-2.6.9
    • DB서버 :  MySQL 4.1
    • WAS 서버 :  JBoss 4.2.2
    • 형상관리 서버 :  Subversion 1.1.4
    • 이슈관리 서버 :  Trac 0.10.4

    1. 리눅스 서버운영 환경 구축

      1. 설치 순서 : 리눅스 -> JDK -> JBoss -> MySQL -> Subversion -> Trac
      2. 리눅스 설치
        로고

        • 버전 : SULinux 1.5 Server
        • 다운로드 : http://www.sulinux.net/1.5/download.php
        • 파일명 : SULinux-Server-1.5-i386.iso
        • 설치 후 yum repository site를 centos 4 로 변경합니다. (subversion 관련 패키지가 SULinux repository에는 없으므로)

          ]# vi /etc/yum.repos.d/SULinux-Base.repo
          1. ### SULinux-Base.repo 파일 ###[base]
            name=SULinux-$releasever - Base
            #mirrorlist=http://www.sulinux.net/mirrorlist/?release=1&arch=i386&repo=os  <- 주석처리
            baseurl=http://mirror.centos.org/centos/4/os/$basearch/ <- 추가
            gpgkey=http://mirror.centos.org/centos/4/os/$basearch/RPM-GPG-KEY-centos4 <- 추가
            #baseurl=http://ftp.sulinux.net/pub/SULinux/1/os/$basearch/
            gpgcheck=0
            #released updates
            [update]
            name=SULinux-$releasever - Updates
            #mirrorlist=http://www.sulinux.net/mirrorlist/?release=1&arch=i386&repo=updates <- 주석처리
            baseurl=http://mirror.centos.org/centos/4/updates/$basearch/  <- 추가
            #baseurl=http://ftp.sulinux.net/pub/SULinux/1/updates/$basearch/
            gpgcheck=0
        • 최신으로 update 한다

          ]# yum update
        • 시스템 점검 결과 보고와 관련된 /root/bin/sbin/system_check_port 스크립트 파일의 버그를 고친다.

          파일 중간에 lsof 명령 실행 부분을 절대경로로 바꿔준다.

          ]# vi /root/bin/sbin/system_check_port
          1. ### system_check_port 파일 ###
          2. lsof -P -> /usr/sbin/lsof -P
        • 참고: http://www.sulinux.net/bbs/board.php?bo_table=qna_1_0&wr_id=2707&page=9
        • FTP 를 이용해 자료를 업로드할 계정을 생성한다. (각자 원하는 사용자 계정 추가)

          ]# adduser hibuz

          ]# passwd hibuz

      3. JDK 설치
        Java

        • 버전 :  Java(TM) SE Development Kit 6 Update 5
        • 다운로드 : http://java.sun.com/javase/downloads/index.jsp
        • 파일명 : jdk-6u5-linux-i586.bin
        • 이전에 생성한 계정으로 다운로드 받은 파일을 ftp로 서버에 업로드 합니다. ex) user: hibuz
          설치할 경로로 파일을 옮깁니다. 여기서는 /usr/local 에 JDK를 설치할 것 입니다.

          ]# mv /home/hibuz/jdk-6u5-linux-i586.bin /usr/local/
        • 퍼미션을 확인하여 파일이 실행 가능하도록 권한을 설정합니다.

          ]# cd /usr/local/

          ]# chmod 755 jdk-6u5-linux-i586.bin

        • 파일을 실행시켜서 JDK를 설치합니다.

          ]# ./jdk-6u5-linux-i586.bin
        • 먼저 화면에 사용권 계약이 출력됩니다. [스페이스]를 누르면 페이지 단위로 이동합니다.
          끝까지 이동해서 Do you agree to the above license terms? [yes or no] 메시지가 보이면 y 또는 yes를 입력합니다.
          압축이 풀리면서 JDK가 설치되고 나면 설치 파일은 삭제 합니다.

          ]#  rm jdk-6u5-linux-i586.bin
        • /usr/local/jdk 디렉토리로도 접근 할 수 있도록 절대경로로 symbolic link 를 만듭니다.

          ]# ln -s /usr/local/jdk1.6.0_05 /usr/local/jdk
        • etc/profile 파일을 에디터로 열어서 파일 첫부분에 JAVA_HOME을 추가 합니다.

          ]# vi /etc/profile
          1. ### profile 파일 ###
          2. JAVA_HOME=/usr/local/jdk
          3. PATH=$PATH:$JAVA_HOME/bin
          4. export JAVA_HOME
        • 변경된 설정을 시스템에 적용시킵니다.

          ]# source /etc/profile
        • 임의의 위치에서 실행시켜 봤을때 java version "1.6.0_05" 메시지가 나오면 성공적으로 설치된 것입니다.

          ]# java -version
      4. JBoss 설치
        JBoss - A Division of Red Hat

        • 버전 : JBoss application server 4.2.2
        • 다운로드 : http://labs.jboss.com/jbossas/downloads
        • 파일명 : jboss-4.2.2.GA.zip
        • 다운로드 받은 파일을 ftp로 서버에 업로드 한 후 /usr/local/ 디렉토리로 파일을 옮깁니다.

          ]# mv /home/hibuz/jboss-4.2.2.GA.zip /usr/local/
        • 다운받을 주소를 알고 있을 경우 wget 명령어로 받아도 됩니다.

        • 압축을 해제한 후 압축 파일은 삭제 합니다.

          ]# cd /usr/local
          ]# unzip jboss-4.2.2.GA.zip

          ]# rm jboss-4.2.2.GA.zip

        • jboss_init_redhat.sh 파일을 수정한다.

          ]# vi /usr/local/jboss-4.2.2.GA/bin/jboss_init_redhat.sh
          1. ### jboss_init_redhat.sh 파일 ###
          2. JBOSS_USER=${JBOSS_USER:-"root"}
          3. JBOSSSH=${JBOSSSH:-"$JBOSS_HOME/bin/run.sh -c $JBOSS_CONF -b 0.0.0.0"}
        • jboss-4.2.2.GA 디렉토리를 jboss 디렉토리로도 접근 할 수 있도록 절대경로로 symbolic link 를 만듭니다.

          ]# ln -s /usr/local/jboss-4.2.2.GA /usr/local/jboss
        • 부팅시 JBoss가 자동으로 실행되도록 절대경로로 symbolic link 를 만듭니다.

          ]# ln -s /usr/local/jboss/bin/jboss_init_redhat.sh /etc/rc.d/init.d/jbossd

          ]# cd /etc/rc.d/rc0.d

          ]# ln -s ../init.d/jbossd K72jbossd

          ]# cd /etc/rc.d/rc3.d
          ]# ln -s ../init.d/jbossd S72jbossd

        • 시스템 체크 관련 설정 파일의 실행 프로세스 항목에 run.sh를 추가한다.

          ]# vi /root/conf/su_util.cfg
          1. ### su_util.cfg 파일 ###
          2. ############## 시스템 채크 관련 설정 ###################
          3. # 관리자 메일주소 (여러명에게 보낼시 공백으로 띄워주세요)# 시스템 점검 결과를 보낼 메일 주소
            system_mailto = test@hibuz.com <- 메일 주소를 적어주면 시스템 점검 결과가 하루마다 메일로 전달된다.
            proclist = run.sh <- 추가
        • JBoss 를 시작한다.

          ]# service jbossd start
        • 방화벽에서 8080 포트를 열어준다. (방화벽 설정 > 사용자 설정 > 그 외의 포트 > 맨끝에 8080:tcp 추가 > 확인 > 확인 > 종료)

          ]# setup
        • 웹 브라우져로 확인한다.

          http://(설치한 IP주소 또는 도메인):8080/
      5. MySQL 설치
        MySQL

        • 버전 : MySQL 4.1.20
        • yum update 명령으로 MySQL을 설치한다. (의존성을 가진 패키지들을 같이 설치한다.)

          ]# yum install mysql-server
        • 설치후 서비스를 자동으로 시작할 수 있도록 선택해준다. (시스템 서비스 > mysqld 선택 > 확인 > 종료)
          ]# setup
        • mysql을 시작한다.

          ]# service mysqld start
        • 초기 설치시 root 암호가 지정되어 있지 않아 보안상 위험하므로 비밀번호를 설정합니다.

          ]# mysqladmin -uroot -p password testpw <- 원하는 비밀번호 설정
        • mysql DB에 접속해 새로운 원격 사용자를 추가합니다. (호스트를 %로 하면 어떤 곳에서든 접속만 할 수 있음)

          ]# mysql -uroot -ptestpw mysql
          mysql> insert into user (host, user, password) values ('%', 'hibuz', password('testpw'));  <- 원하는 아이이 및 비밀번호 설정
        • 새로운 DB를 생성해서 권한을 주고 테스트용 테이블을 생성합니다.
          (호스트를 %로 해서 어떤 곳에서든 접속할 수 있고 hibuz 사용자에게 hibuzdb의 모든권한 부여)

          mysql> create database hibuzdb; <- 원하는 DB 생성

          mysql> insert into db values('%','hibuzdb','hibuz', 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

          mysql> use hibuzdb;
          mysql> create table test_table (
              ->   id int not null auto_increment primary key,
              ->   foo varchar(25),
              ->   bar int);
          mysql> insert into test_table values(null, 'hello', 12345);
          mysql> flush privileges; <- MySQL 서버 재시작 없이 사용자 정보가 반영되도록 하기 위함

      6. Subversion 설치
        Subversion

        • 버전 : Subversion 1.1.4
        • yum install 명령으로 subversion을 설치한다. (아파치 웹서버를 포함한 의존성을 가진 패키지들이 같이 설치된다.)

          ]# yum install mod_dav_svn
        • https 프로토콜을 사용할 수 있도록 mod_ssl 패키지도 같이 설치한다.

          ]# yum install mod_ssl
        • 설치후 서비스를 자동으로 시작할 수 있도록 선택해준다. (시스템 서비스 > httpd 선택 > 확인 > 종료)

          ]# setup
        • SULinux 의 환경설정 파일을 고쳐준다.

          ]# vi /root/conf/su_util.cfg
          1. ### su_util.cfg 파일 ###
          2. ################# mysql 관련 셋팅 ###################
            # mysql bin 디렉토리를 설정합니다. 예) mysql_bin_dir = /usr/local/mysql/bin
            mysql_bin_dir = /usr/bin
          3. ## mysql 데이터 디렉토리
            mysql_data_dir = /var/lib/mysql
          4. ################# 아파치 관련 셋팅 ################
            ## apache bin 샐행 스크립트 위치 예) /usr/local/apache/bin/apachectl
            apache_bin_ctl = /etc/rc.d/init.d/httpd
          5. ## apache conf 디렉토리 예) /usr/local/apache/conf
            apache_conf_dir = /etc/httpd/conf
          6. ## htpasswd 명령어 위치
            htpasswd_path = /usr/bin/htpasswd
          7. ## 결과를 생성할 웹 절대 경로
          8. web_dir = /var/www/html/ssu
          9. ## 웹인증 아이디 (웹인증을 yes 했을때만 사용)
            htuser = admin <- 웹 시스템 점검 페이지(http://설치 IP/ssu) 에 접근시 계정 설정 [system_check 명령을 실행시키면 확인가능]
            ## 웹인증 패스워드 (웹인증을 yes 했을때만 사용)
            htpass = sulinux
        • 설정 변경후 이를 적용해 준다.

          ]# system_check_init --all
        • 설치 후 svnadmin 명령어로 파일 시스템을 이용한 저장소를 만들고 권한을 변경합니다.

          ]# mkdir /home/svnroot

          ]# cd /home/svnroot

          ]# svnadmin create repos1 --fs-type fsfs

          ]# chown -R apache.apache repos1

        • svn 사용자 계정을 만든다.

          ]# cd /etc/httpd/conf

          ]# htpasswd -c passwd hibuz  <- https프로토콜을 이용해 svn을 이용할 별도의 계정, 처음 추가할 때만 -c옵션을 사용하고 다음 계정을 추가할 때는 -c 옵션을 빼고 사용한다.

          NewPassword:

          Re-type new password:

        • https 프로토콜로 svn에 접근할 수 있도록 환경을 설정합니다.
          /etc/httpd/conf.d/ssl.conf 파일의 마지막 부분의 </VirtualHost> 태그 안쪽에 <Location>을 다음과 같이 추가 합니다.
          접근은 아무나 가능하고 commit만 사용자 계정이 필요한 경우임

          ]# vi /etc/httpd/conf.d/ssl.conf
          1. ### ssl.conf 파일 ###
          2. <Location /svnroot>
              DAV svn
          3.   SVNParentPath /home/svnroot
          4.     AuthType Basic
          5.     AuthName "Hibuz's Repository"
          6.     AuthUserFile /etc/httpd/conf/passwd
          7.         <LimitExcept GET PROPFIND OPTIONS REPORT>
          8.             Require valid-user
          9.         </LimitExcept>
          10. </Location>
          11. </VitualHost>
        • 아파치를 시작 한다.

          ]# service httpd start
        • 웹 브라우져로 확인한다.

          https://(Subversion과 Apache를 설치한 IP주소 또는 도메인)/svnroot/repos1
      7. Trac 설치
        Trac

        • 버전 : Trac 0.10.4
        • yum install 명령으로 trac 을 설치하기 위해 Red Hat EL Repository를 추가한다.

          ]# vi /etc/yum.repos.d/SULinux-Base.repo
          1. [dag]
            name=Dag RPM Repository for Red Hat Enterprise Linux
            baseurl=http://apt.sw.be/redhat/el4/en/$basearch/dag
            gpgcheck=0
            enabled=0
            includepkgs=clearsilver python-clearsilver trac
        • Trac을 설치하고 아파치와 연동하기 위해 mod_python 패키지도 같이 설치한다.

          ]# yum --enablerepo=dag install trac

          ]# yum install mod_python

        • 설치 후 trac-admin 명령어로 파일 시스템을 이용한 저장소를 만들고 권한을 변경합니다. (묻는 과정에서 모두 엔터를 치고 Path to repository 에서 /home/svnroot/repos1 을 입력한다)

          ]# mkdir /home/trac

          ]# cd /home/trac

          ]#  trac-admin /home/trac/myproject initenv

          ]# chown -R apache.apache trac

        • 웹에서 접근 가능하도록 Location 을 등록한다.

          ]# vi /etc/httpd/conf.d/trac.conf
          1. #Alias /trac/ <- 첫줄은 주석처리
          2. <Location /trac>
               SetHandler mod_python
               PythonHandler trac.web.modpython_frontend
               # "/svn/trac/foobar" is the folder you gave to trac-admin initenv earlier
               PythonOption TracEnv /home/trac/myproject
               # "/trac" is the same as the Location above
               PythonOption TracUriRoot /trac
               # "/tmp" should be some writable temporary directory
               SetEnv PYTHON_EGG_CACHE /tmp
               # "trac" can be any string, but must be the same for all
               # Trac instances on the same Apache install
               PythonInterpreter trac
            </Location>
            <Location /trac/login>
               AuthType Basic
               AuthName "hibuz"
               AuthUserFile /etc/httpd/conf/passwd
               Require valid-user
            </Location>
        • Web Admin 플러그인 설치를 위한 권한 설정 후 확인해 본다.

          ]# trac-admin /home/trac/myproject permission add hibuz TRAC_ADMIN

          ]# trac-admin /home/trac/myproject permission add hibuz TICKET_ADMIN

          ]# trac-admin /home/trac/myproject permission list

        • Python 2.3 버전으로 Web Admin plug-in 을 다운로드 받는다.
        • Download for Trac 0.9.3 or later (Python 2.3) xmlrpcplugin.zip
        • 서버에 올린후 확장자를 제거하고 압축을 해제한다.

          ]# mv TracWebAdmin-0.1.2dev_r4240-py2.3.egg.zip TracWebAdmin-0.1.2dev_r4240-py2.3.egg

          ]# unzip xmlrpcplugin.zip

        • easy_install 을 사용하기 위해 python 스크립트를 서버에 올린 후 설치한다. [다운로드 : http://hibuz.springnote.com/pages/596254/attachments/420486?download=true]

          ]# python ez_setup.py
        • 플러그인을 설치한다.

          ]# easy_install TracWebAdmin-0.1.2dev_r4240-py2.3.egg

          ]# easy_install xmlrpcplugin/0.10/

        • trac.ini에 내용 추가

          ]# vi /home/trac/myproject/conf/trac.ini
          1. [components]
          2. webadmin.* = enabled
            tracrpc.* = enabled
        • 웹서버를 재시작한다.

          ]# service httpd reload
        • 웹 브라우져로 확인한다. (hibuz 계정으로 로그인 시 admin 탭이 보여야 한다.)

          http://(Subversion과 Apache를 설치한 IP주소 또는 도메인)/trac
        • 이메일 통보 기능을 사용하려면 trac.ini 에서 smtp를 활성화 하고 saslpasswd2 명령을 통해 인증 사용자를 추가한다.

          ]# saslpasswd2 -c root  <- 추가할 이메일 계정 사용자 -c 옵션은 최초 사용자 추가시 만 사용한다. /etc/sasldb2 파일을 생성해 준다.

          ]# vi trac.ini

          1. smtp_enabled = true
            smtp_password = password
            smtp_user = root
        • 이클립스 플러그인 업데이트 에서 Mylyn 을 선택해서 trac connector를 포함한 플러그인들을 추가해서 설치한다.
        • task repositories 에서 Add Task Repository 로 http://(Subversion과 Apache를 설치한 IP주소 또는 도메인)/trac 을 추가해서 task를 생성할 수 있다.
        • 참고사항

          Subversion Repository 변경사항 동기화 명령어 : trac-admin /home/trac/myproject resync

    Posted by 1010