dpkg 명령으로 패키지 관리하기
- APT 명령은 페도라의 yum 명령과 비슷
- 두 명령 모두 인터넷이 연결된 환경에서 패키지를 자동으로 설치
- 우분투에서 페도라의 rpm과 같은 명령 => dpkg
- 데비안 계열의 리눅스에서 패키지를 관리하는데 사용
- APT 명령도 내부적으로는 dpkg 명령을 사용
- 일반적으로 패키지를 설치할 때 APT 명령을 사용하면 되지만,
시스템의 특정 파일이 어느 패키지에 속한 것인지를 확인하는 등 보다 세부적인 기능을 사용하려면
dpkg 명령이 필요
dpkg |
- 기능 : 데비안의 패키지 관리 명령 - 형식 : dpkg [옵션] 파일명 또는 패키지명 - 옵션 : * '-l' : 설치된 패키지의 목록을 출력 * '-l 패키지명' : 패키지의 설치 상태를 출력 * '-s 패키지명' : 패키지의 상세 정보를 출력 * '-S 경로명' : 경로명이 포함된 패키지를 검색 * '-L 패키지명' : 패키지가 설치된 파일의 목록을 출력 * '-c .deb 파일명' : 지정한 .deb 파일의 내용을 출력 * '-i .deb 파일' : 해당 파일을 설치(sudo) * '-r 패키지명' : 해당 패키지를 삭제(sudo) * '-P 패키지명' : 해당 패키지와 설정 정보를 모두 삭제(sudo) * '-x .deb 파일 디렉터리' : 해당 파일을 지정한 디렉터리에 풀어 놓음 - 사용 예 : dpkg -l, dpkg -s netcat, dpkg -S /bin/ls, sudo dpkg -i netcat_1.10-40_all.deb |
1) 패키지 목록 보기 : -l 옵션 - '-l' 옵션을 사용하면 설치되어 있는 패키지의 목록을 출력 - 첫 글자는 상단의 희망 상태를 - 두 번째 글자는 상태를 나타냄 - 처음 두 글자 'ii' 는 희망 상태가 '설치(i)', 상태도 '설치(i)'임을 뜻함 ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ dpkg -l | less 희망상태=알수없음(U)/설치(I)/지우기(R)/깨끗이(P)/고정(H) - '-l' 다음에 특정 패키지의 이름을 지정하면 해당 패키지에 관한 정보 출력 ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ dpkg -l zip ============================================================================================== 2) 패키지 상세 정보 보기 : -s 옵션 - 패키지의 상세 정보를 보려면 '-s' 옵션을 사용 ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ dpkg -s zip 3) 특정 파일이 포함된 패키지 검색하개 : -S 옵션 - 특정 파일이 포함된 패키지를 검색하려면 '-S' 옵션을 사용 - '-S' 옵션의 인자로는 파일의 경로명을 지정 ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ dpkg -S /bin/ls ============================================================================================== 4) 패키지가 설치한 파일 목록 검색하기 : -L 옵션 - 지정한 패키지가 설치한 파일의 목록을 검색하려면 '-L' 옵션을 사용 ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ dpkg -L zip 5) 패키지의 파일 목록 검색하기 : -c 옵션 - '-c' 옵션은 .deb 파일이 가지고 있는 내용을 출력 - deb 파일 다운로드 예 : 'apt-get download netcat' ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ dpkg -c netcat_1.10-40_all.deb ============================================================================================== 6) 패키지 설치하기 : -i 옵션 - dpkg 명령으로 패키지를 설치할 때 지정하는 옵션은 '-i' - 패키지를 설치하려면 root 권한이 필요 ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo dpkg -i netcat_1.10-40_all.deb ============================================================================================== - netcat 패키지를 설치하려면 netcat-traditional 패키지가 필요하다는 메시지 출력 - APT 명령과 달리 dpkg 명령은 의존성이 있는 패키지를 자동으로 설치하지 않으므로 사용자가 일일이 설치해야함 - 따라서 netcat-traditional 패키지를 내려받아 먼저 설치한 다음 netcat 패키지를 설치해야함. ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ apt-get download netcat-traditional ============================================================================================== - netcat-traditional 패키지를 내려받았으므로 차례로 설치 ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo dpkg -i netcat-traditional_1.10-40_amd64.deb 7) 패키지 삭제하기 : -r, -P 옵션 - dpkg 명령으로 패키지를 삭제할 때 '-r' 옵션이나 '-P' 옵션을 사용 - '-r' 옵션은 설치된 패키지만 삭제 - '-P' 옵션은 패키지와 설정 정보를 모두 삭제 ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo dpkg -r netcat - '-P' 옵션으로 패키지 삭제시 패키지 삭제 외에 추가적인 작업을 처리 ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo dpkg -P netcat-traditional ============================================================================================== 8) .deb 파일 풀기 : -x 옵션 - '-x' 옵션을 .deb 파일의 내용을 지정한 디렉터리에 풀어 놓음 ============================================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ mkdir netcat ============================================================================================== |
dpkg 명령으로 패키지 설치하기 |
1) 'gnome-chess' 패키지 설치 확인 ======================================================================= sjw-lenovo@sjwlenovo-Lenovo-U310:~$ dpkg -l gnome-chess ======================================================================= 2) APT 명령을 사용하여 'gnome-chess' 패키지를 내려받음 ======================================================================= sjw-lenovo@sjwlenovo-Lenovo-U310:~$ apt-get download gnome-chess ======================================================================= 3) 'gnome-chess' 패키지를 구성하는 파일의 내용 확인 ======================================================================= sjw-lenovo@sjwlenovo-Lenovo-U310:~$ dpkg -c gnome-chess_1%3a3.8.3-1_amd64.deb | less drwxr-xr-x root/root 0 2013-06-30 14:15 ./ ... .. . .. ... ======================================================================= 4) 'gnome-chess' 패키지 설치 ======================================================================= sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo dpkg -i gnome-chess_1%3a3.8.3-1_amd64.deb ======================================================================= 5) 4번에서 원래는 의존성이 있는 패키지가 여러 개 있어서 설치가 되지 않음 만약 의존성이 있는 패키지로 인해 설치가 되지 않을 경우 APT 명령을 통해서 설치하면 됨. 만약 그중에 특정 패키지를 못 찾겠다는 오류 메시지가 출력될 경우 그 패키지는 제외하고 설치 |