APT
목차
apt(Advanced Packaging Tool)는 메뉴가 지원되는 dselect와 달리 명령행에서 수행된다. 주로 쓰이는 명령어는 apt-get, apt-cache이다. apt-get은 패키지 설치, 삭제 그리고 apt-cache는 패키지 검색, 패키지 내용 보기 등의 기능을 제공한다.
apt-get 주요 명령, 옵션에 대한 설명은 다음과 같다.
apt-get 명령
update : 패키지 목록 갱신
upgrade, dselect-upgrade, dist-upgrade : 패키지 및 시스템 업그레이드
install : 패키지 설치
remove : 패키지 삭제
source : 소스 패키지 설치
build-dep : 소스 패키지를 컴파일하기 위해 필요한 패키지 설치
apt-get 옵션
-d : 패키지를 다운로드만 하고 설치하지 않음
-f : 업그레이드되는 패키지를 보여줌
-b : 소스패키지를 다운로드한 후에 컴파일
패키지 설치
패키지를 설치하는 명령어는 다음과 같다.(출력되는 결과는 시스템에 따라 다르게 나올수 있다.)
khkim:/# apt-get install koffice Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: kchart kdebase-libs kformula kivio koffice-libs kontour koshell kpresenter kspread kugar kword The following NEW packages will be installed: kchart kdebase-libs kformula kivio koffice koffice-libs kontour koshell kpresenter kspread kugar kword 0 packages upgraded, 12 newly installed, 0 to remove and 0 not upgraded. Need to get 9522kB of archives. After unpacking 30.0MB will be used. Do you want to continue? [Y/n]
apt를 이용하면 의존성이 걸린 패키지들이 자동으로 같이 설치된다. 만약 이미 설치된 패키지의 파일 일부가 손상된 경우는 --reinstall이라는 옵션을 주어 재설치할 수 있다.
패키지 삭제
패키지를 삭제하는 명령어는 다음과 같다.
khkim:/# apt-get remove mozilla-browser Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: mozilla-browser mozilla-mailnews mozilla-psm nautilus-mozilla 0 packages upgraded, 0 newly installed, 4 to remove and 0 not upgraded. Need to get 0B of archives. After unpacking 31.3MB will be freed. Do you want to continue? [Y/n]
모질라가 삭제되면 모질라에 의존성이 있는 패키지도 같이 삭제가 된다. --purge는 환경 설정 파일까지 삭제하는 옵션이다.
패키지 업그레이드
패키지를 업그레이드하는 명령어는 upgrade, dselect-upgrade, dist-upgrade로 3가지로 구분되어 존재한다. upgrade는 버전 변화가 있는 패키지만 업그레이드하며, dselect-upgrade는 버전 변화가 있는 패키지와 패키지의 의존성을 검사해서 업그레이드한다. dist-upgrade는 배포본에 따라 추가, 삭제되는 패키지들을 검사하여 업그레이드를 수행한다. 가장 많이 쓰이는 것은 apt-get update; apt-get dist-upgrade이다.
소스 패키지 설치 -> 바이너리 패키지 생성법
이번에는 바이너리 패키지가 아닌 소스 패키지를 설치하여 바이너리 패키지로 만드는 방법을 알아보자. 먼저 해야 할 일은 /etc/apt/sources.list에 deb-src를 추가하는 것이다. 소스 패키지를 다운로드하는 명령어는 다음과 같다.
khkim:/# apt-get source apache Reading Package Lists... Done Building Dependency Tree... Done Need to get 2803kB of source archives. Get:1 http://ftp.devolus.org woody/main apache 1.3.22-2 (dsc) [829B] Get:2 http://ftp.devolus.org woody/main apache 1.3.22-2 (tar) [2512kB] Get:3 http://ftp.devolus.org woody/main apache 1.3.22-2 (diff) [291kB] Fetched 2803kB in 4s (649kB/s) dpkg-source: extracting apache in apache-1.3.22
해당 소스리스트에서 소스 패키지(dsc, tar.gz, diff)를 다운로드한 후에 소스를 현재 디렉토리에 풀어준다. -b 옵션은 패키지 다운로드와 동시에 바이너리 패키지로 컴파일을 수행한다. -b 옵션을 사용 안 했을 경우는 풀린 디렉토리에서 dpkg-buildpackage -rfakeroot -uc -b를 수행해서 바이너리 패키지로 만들면 된다.
소스패키지를 컴파일하여 바이너리 패키지를 만들 때 필요한 라이브러리를 설치하기 위해서는 다음과 같은 명령어를 수행한다.
khkim:/# apt-get build-dep apache Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: libdb3-dev libgnome-dev libgnorba-dev The following NEW packages will be installed: libdb2-dev libecpg3 libmysqlclient10-dev libpgsql2.1 libssl-dev postgresql-dev 0 packages upgraded, 6 newly installed, 3 to remove and 0 not upgraded. Need to get 2541kB of archives. After unpacking 5684kB will be used. Do you want to continue? [Y/n]
apache를 컴파일하기 위한 패키지들을 설치해준다. 패키지 검색을 위해서는 apt-cache search를 이용한다. 설치되어 있는 않은 패키지도 검색한다.
khkim:/# apt-cache search irc bezerk - GTK based IRC client chipmunk-log - a circuit schematic capture tool and simulation environment. epic - Modified ircII client with additional functionality icom - Software control for ICOM radios ircd-dalnet - DALnet IRCd (IRC server) iroffer - IRC file distribution bot irssi - A Gnome irc client proj-ps-doc - PostScripts docs for cartographic projection filters and library stopafter - kill commands after a given time task-gnome-net - GNOME network applications .....
패키지 검색
특정 단어로 시작하는 패키지를 찾기 위해서는 apt-cache pkgnames를 이용한다.
khkim:/tmp# apt-cache pkgnames xmms xmms-bumpscope xmms-goom xmms-fmradio xmms-modplug xmms-infinity xmms-jess xmms-cdread xmms-lirc xmms-ko ...
패키지 정보 확인
패키지의 정보를 보기 위해서는 apt-cache show를 이용한다.
khkim:/tmp# apt-cache show apache Package: apache Priority: optional Section: web Installed-Size: 783 Maintainer: Johnie Ingram <johnie@debian.org> Architecture: i386 Version: 1.3.22-2 Replaces: apache-modules Provides: httpd Depends: libc6 (>= 2.2.4-2), libdb2 (>= 2:2.7.7-4), mime-support, apache-common (>= 1.3.22), apache-common (<< 1.3.23), perl5 | perl Suggests: apache-doc Conflicts: apache-modules, libapache-mod-perl (<= 1.17-1), jserv (<= 1.1-3) Filename: pool/main/a/apache/apache_1.3.22-2_i386.deb ...
패키지 이름, 우선 순위, 메인테이너, 버전 번호, 의존성 기타 등등 패키지에 대한 자세한 정보를 참조할 수 있다.
작성자 및 의견
최초 작성 2002년 11월 15일 -- 김기헌
수정 2017년 05월 07일 -- westporch (항목별 단락 제목을 생성함)