본문 바로가기

DeveloP/Linux

리눅스 서버 기초 명령어

 네트워크 설정

  1. lsmod

      - 현재 사용중인 모듈 검사하기

  2. dmesg

     -이더넷 카드가 위치하는 IO 어드레스와 IRQ가 자동 설정된 부분 확인하기

  3. ifconfig

    -이더넷 장치를 활성화 시키거나 비활성화 시키는데 쓰이고 현재 이더넷 장치의 상태를 알아보는 데에도 쓰인다. 이더넷이 활성화 되어 있는 상태에서 root로 로그인 한 후 ifconfig 명령어를 내리면 이더넷 정보에 대해 보여준다.

  4. route

    - 이더넷의 게이트웨이와 라우팅 테이블을 설정하는데 쓰인다. 이 역시 route 명령어를 통해 이미 설정되어 있는 이더넷의 상황을 알아볼 수 있다.

  5. ifdown eth0

    - 이더넷이 비활성화 되어 네트워크에서 빠져 나오기

  6. rmmod rtl8139

     - 메모리에 올라가 있는 커널 모듈을 내리기. 단, 이 명령어는 위의 명령어로 네트워크에서 빠져 나온 후에야 올바르게 작동하며 명령어 뒤에 사용하고 있는 이더넷 카드의 종류를 써준다.

  7. cat /proc/pci

   - Linux에서는 /proc 디렉토리를 통해 여러 하드웨어의 정보를 텍스트로 저장한다. /proc 디렉토리는 이런 정보를 저장하는 가상 파일 시스템이다. 이 디렉토리에는 pci라는 파일이 있는데 이 파일은 PCI 버스의 정보를 담고 있다. /proc/pci 파일의 내용은 cat 명령어를 이용해서 볼 수 있다.

  8. make xconfig

     -  ( /usr/src/linux 로 먼저 이동한 후 실행)

  9. modprobe rt18139

     - 커널 모듈의 이름을 알게 되었으면 modprobe명령어로 이 장치 드라이버를 커널에 올려주면 된다. 네트워크가 잡혀 있지 않은 상태이므로 lsmod 명령어를 통해 보면 rtl8139가 없는 것을 볼 수 있다. 먼저 해당 모듈을 modprobe 명령어로 올려준다.

  10. Linux 커널 소스의 도움말:  /usr/src/linux/Documentation/Configure.help

    - vi 편집기로 열어 PCI 정보에서 알아낸 자료를 근거로 검색을 하여 찾아낸다. 이 방법은 좀더 빠르고 편한 방법이지만 시스템에 대한 감각이 있어야 하며, vi 편집기에서 8139라는 칩셋을 검색어로 하여 찾아볼 수 있다.

  11.  라눅스 서버를 네트워크에 참여 시키기: ifconfig , route

      - 활용예: # ifconfig eth0 211.38.227.200 netmask 255.255.255.224 broadcast 211.38.227.255 up

                    # route add idefault gw 211.38.227.222 eth0

  12. DNS 서비스 설정 : vi  /etc/resolv.conf

       - serch wbionline.com

          nameserver 211.38.227.200

       - DNS 서버 구동: /etc/rc.d/init.d/named restart

 13. 스크립트를 이용한 네트워크 자동 설정

        - 관련 파일 편집하기

      - # vi /etc/conf.modules

           alias eth0 rtl8139

      - # vi /etc/sysinit/network-script/ifcfg-eth0

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

        DEVICE=eth0

        BOOTPROTO=static

        IPADDR=211.38.227.200

        NETMASK=255.255.255.254

        NETWORK=211.38.227.0

        BROADCAST=211.38.227.255

        ONBOOT=yes

      - # vi /etc/sysinit/network

      - # vi /etc/sysconfig/network

        NETWORKING=yes

        HOSTNAME=linux

        GATEWAY=211.38.227.222

        GATEWAYDEV=eth0

        NS0=211.185.155.221

        NS1=210.104.1.3

        NS2=210.104.1.2

  14. 네트워크 활성화 시키기

      - # /etc/init.d/network restart  : 네트워크 재시동

      - # ifup eth0

 

 하드디스크 추가하기

  1. 하디디스크 물리적 장착하기

  2. 하드디스크 인식시키기

  3. fdisk /dev/hdb

  4. mkfs -t ext3 /dev/hdb1

  5. vi /etc/mtab  [ fstab ]

  6. 위에서 정의한 대로 마운트 위치 만들어주기 (ex: /home/shinrw )

  7. mount /dev/hdb1

 

 부팅시 데몬을 자동으로 실행 시키기

    - # /usr/sbin/ntsysv : 시작하려는 데몬 체크

    - ls /etc/rc.d/init.d/ : 설치된 데몬 확인하기. 여기서 데몬을 실행하고 종료 시킬 수 있음

    - # ps -axj : 실행중인 데몬 확인, tty 필드가 설정되지 않은 것이 실행중인 데몬

    - /etc/rc.d/rc[0-6].d/ : 런 레벨에 따른 실행 데몬 설정 되어 있음, ln 명령어나 런 레벨 편집기에서 추가 제거 가능

    - # ps -aux | grep httpd : 데몬 실행 상태 확인

    - # ./httpd status : httpd 데몬 실행 상태 확인

    - # ./httpd start

    - # ./httpd stop

    - # ./httpd restart : 데몬 재실행 (stop + start) - 죽인 다음 다시 시작

    - # ./httpd reload : 데몬 재구동 ( kill -HUP ) - 데몬을 유지시키면서 초기화 시킴

 

 아파치서버 설정 : /etc/httpd/conf/httpd.conf

    1. 구성: 주석, 컨테이너, 지시자

    2. ServerType standalone | inetd

    3. ServerRoot "etc/httpd"

    4. LockFile /var/lock/httpd.lock

    5. PideFile /var/run/httpd.pid

    6. #httpd configtest  : 환경 설정 문제 점검하기

 

 아파치서버 실행: /usr/sbin/httpd

                             kill -TERM `cat /var/run/httpd.pid` - 서버 끝내기

                             kill -HUP  `cat /var/run/httpd.pid` -재시작하기

                             /etc/rc.d/init.d/httpd restart - 재시작하기

 proftp 데몬

   - /etc/rc.d/init.d/proftpd start

   - /etc/sbin/proftpd start

   - /etc/proftpd.conf

 RPM 활용하기

   - # rpm -[u(업그레이드)/v(진행과정표시)/h(설치진행과정을#문자료표시)/--test/--nodeps] [설치할패키지파일명]

   - # rpm -uvh [설치할패키지파일명]

   - # rpm -ivh --nodeps [설치할패키지파일명] : 의존성을 무시하고 설치

   - # rpm -Uvh [설치할패키지파일명] : 업그레이드 설치

   - # rpm -Fvh [설치할패키지파일명] : 이전 버전이 없으면 설치 중단

   - # rpm -e [설치할패키지파일명] : 패키지 삭제

   - # rpm -q[i(패키지에대한간단한정보)/l(포함하는파일목록)/s(설치된상태)/r(의존파일목록)] : 설치정보 찾기

   - # rpm -qi

   - # rpm -qa : 모든 패키지를 보고자 할 때

   - # rpm -qa | grep mysql : mysql 관련 패키기만 보기

   - # rpm -V [검증옵션] : 패키지 검증

 부팅 문제 해결

  1) lilo암호 걸기

    - # vi /etc/lilo.conf.anaconda

      root = dev/hda1

      password = 12345

      restricted

    - #sbin/lilo

  2) root 암호 문제

    - 부팅시 tab

    - boot: linux single

    -  패스워드 변경후 리부팅

  3) 부팅시 문제가 생길 떄

    - 설치 CD(1)로 부팅

    - bttp: vmlinuz root=/dev/hda1 (설치루트파티션)

  4) 파일 시스템에 문제가 생길 때

    - 설치 CD(1)로 부팅

    - boot: fsck -t ext3 /dev/hda1 (설치루트파티션)

  텔넷 서비스

    - vi etc/xinetd.d/telnet : disable = yes --> no 로 수정

    - # etc/rc.d/init.d/xinetd restart : 재시작

  FTP 서비스

    - ftp://ID:PASSWORD@HOSTNAME   : 웹에서 접속하기

    - # ftp> open ftp.bora.net : 터미널에서 접속하기

    - # ftp>mget *.* ~deuckgi/down : 지정한 계정의 폴더에 현재 디렉토리의 모든 파일을 다운로드

   가상호스트 설정하기

    - # /sbin/ifconfig

    - # /sbin/ifconfig eth0:1 192.168.1.11