2012년 5월 17일 목요일

서버관리(Ubuntu)

1. 패키지 관리(apt-get)

  1.1. 패키지 검색(apt-cache)

      1.1.1. 검색(search)

         ] $ apt-cache search ${name}
         ] $ apt-cache search ${name} | grep ${name2}

  1.2. 설치된 패키지 검색(dpkg)

      1.2.1. 목록으로 출력(-l | --list [<pattern> ...])

         ] $ dpkg -l

      1.2.2. 패키지명으로 검색

         ] $ dpkg -l ${PackageName} | grep ii | awk '{print $2,":",$3}'

  1.3. 패키지 인덱스 정보 업데이트(apt-get update)

        apt-get은 각 패키지들에 대한 인덱스 정보를 가지고 있으며, 파일은 /etc/apt/sources.list 입니다.
        ] # apt-get update
          or
        ] $ suto apt-get update
        

  1.4. 패키지 인덱스 정보 업그레이드(apt-get upgrade)

        apt-get 패키지 전체를 새 버전으로 업그레이드 합니다.
        ] # apt-get upgrade
          or
        ] $ suto apt-get upgrade
        

2. 리눅스 명령어

2.1. 복사(cp)

2.1.1. 용도

    파일이나 디렉토리를 복사

2.1.2. 사용법

    cp [Options] ${SOURCE} ${DEST}
    cp [Options] ${SOURCE} ${DIRECTORY}

2.1.3. 옵션

    -a : 원본 파일의 속성, 링크 정보들을 그대로 유지하면서 복사
    -b : 복사할 대상이 이미 존재하는 경우 기존 파일을 백업하고 복사한다.
    -d : 만약 복사할 원본이 심볼릭 링크일때 심볼릭링크파일 자체를 복사한다.
    -f : 복사할 대상이 이미 존재하는 경우 기존 파일을 삭제하고 복사한다.
    -i : 만약 복사할 대상이 이미 존재하는 경우 사용자에게 물어보고 복사한다.
    -P : 원본파일 지정을 경로와 같이 지정을 하였을경우 그 경로 그대로복사한다.
    -p : 파일의 소유자, 권한, 그룹, 시간정보들이 보존된 상태로 복사된다.
    -r : 원본이 파일이면 그냥 복사되고, 디렉토리이면 디렉토리 전체가 복사된다.
    -s : 파일을 심볼릭링크 형태로 복사한다. 원본파일이름을 절대경로로 지정해야 한다.
    -u : 복사할 대상이 있을때 이 파일의 변경날짜가 같거나, 더 최근의 것이면 복사하지 않 는다.
    -v : 복사가 진행되는 상태를 보여준다.
    -x : 원본과 대상의 파일시스템이 다를 경우에는 복사하지 않는다.
    -R : 디렉토리를 복사할 경우 그 안에 포함된 모든 하위경로와 파일들을 모두 복사한다.

2.2. 마운트(mount)

2.2.1. 용도

    파일시스템을 마운트

2.2.2. 사용법

    mount [options] ${device} ${dir}

2.2.3. 옵션

    -a, --all 
    -F, --fork
    -f, --fake
    -i, --internal-only
    -l
    -n, --no-mtab
    --no-canonicalize
    -p, --pass-fd
    -s 
    -r, --read-only
    -w, --rw
    -L
    -U
    -t, --types
    -O, --test-opts
    -o, --options
    -B, --bind
    -R, --rbind
    -M, --move
2.2.4. 사용예
    ] $ sudo mount -o loop rootfs.img mnt
    ## loop device는 파일을 블럭 디바이스 처럼 엑세스 할 수 있게 해주는 가상의 장치를 의미한다.
    ] $ sudo mount -t ext3 -o loop rootfs.img mnt
    ## device remount 하기(Android의 '/system' 디렉토리 remount)

    ] # mount -rwo remount,rw /dev/block/mmcblk0p2 /system

2.3. dd


2.3.1. 용도


2.3.2. 사용법

2.3.3. 옵션


2.4. df


2.4.1. 용도


2.4.2. 사용법

2.4.3. 옵션


2.2.4. 사용예
    ] $ df -Th
    ## 파일 시스템을 확인하기