APT & Dpkg 후딱 보기

Linux 2013. 2. 17. 23:16
[스크랩] APT & Dpkg 후딱 보기
본 문서는 Matthew Danish씨가 작성한 'APT and Dpkg Quick Reference Sheet'의 번역본입니다.
원본은 apt-dpkg-ref 패키지에서 찾으실 수 있습니다.



번역: 한정훈



자주 쓰는 APT문 #


apt-get install <패키지>
지정된 <패키지>와 더불어 의존적인 패키지들까지 다운로드해서 설치하거나 판올림한다. 이것은 이미 설치된 <패키지>에 대해서 hold된 상태를 해제할 수 있다. hold상태에 관해서는 아래를 보기 바란다.





apt-get remove [--purge] <패키지>
지정된 <패키지>와 더불어 의존적인 패키지들까지 삭제한다. --purge 옵션은 패키지의 잔재까지도 말끔히 제거할 때 함께 쓴다. 자세한 정보는 dpkg -P 에 관해 찾아보기 바란다.





apt-get update
데비안 미러서버로부터 패키지 목록정보들을 갱신한다. 특정 패키지를 설치할 때 또는 /etc/apt/sources.list의 내용이 변경되었을 때는 적어도 한번은 실행해 주어야 한다.





apt-get upgrade [-u]
설치된 모든 패키지들을 최신판으로 판올림시켜 주며, 새로 올라온 패키지를 설치하거나 오래된 패키지를 삭제하지는 않는다. 만약 특정 패키지의 의존성에 변화가 생겼거나 새 패키지 설치를 필요로 하는 경우라면 해당된 패키지를 판올림하지 않으며, 대신 hold(잠금) 상태로 바꾼다. apt-get upgrade는 hold 상태인 패키지를 판올림하지 않을 것이다.(이것이 hold(잠금)의 의미이기도 하다.) 패키지를 손수 hold 상태로 설정하는 방법에 관해서는 아래를 참고하도록 한다.
-u 옵션을 쓰면 판올림될 패키지목록을 확인할 수 있다.





apt-get dist-upgrade
의존성 관계들을 만족시키기 위해서 패키지들을 새로 설치하거나 삭제하는 점만 빼고 apt-get upgrade와 비슷한 기능을 수행한다.





apt-cache search <패턴>
지정된 <패턴>과 일치하는 패키지들과 패키지설명부(description)를 검색한다.





apt-cache show <패키지>
지정된 <패키지>에 대한 전체설명을 보여준다.





apt-cache showpkg <패키지>
지정된 <패키지>뿐만 아니라 다른 패키지와의 연관성까지도 상세하게 보여준다.



1. dselect 
2. console-apt 
3. aptitude 
4. gnome-apt 
APT에 시각적인 요소를 가미한 프런트-엔드 프로그램 종류(이것들중의 일부는 패키지에 자체적으로 포함되어 있을 수도 있다. 그러한 것들은 사용전에 반드시 설치되어 있어야 한다.) dselect는 분명히 가장 막강한 성능을 지닌 프로그램인데다, 제일 오래되었고 제일 사용하기 까다롭기도 하다. 


자주 쓰는 Dpkg문 #


dpkg -i <패키지.deb>
데비안 패키지 파일을 설치한다; 이를 테면 유저가 직접 다운로드한 패키지 파일.





dpkg -c <패키지.deb>
<패키지.deb> 또는 .deb파일에 든 내용물을 목록형식으로 보여준다. 





dpkg -I <패키지.deb>
<패키지.deb> 또는 .deb파일로부터 패키지 정보를 추출한다.





dpkg -r <패키지>
지정된 <패키지>를 시스템에서 삭제한다.





dpkg -P <패키지>
지정된 <패키지>를 시스템에서 말끔히 삭제한다. remove와 purge의 차이는 remove가 데이터와 실행파일만 지우는 반면, purge는 추가적인 각종 환경설정 파일들까지도 지우는 점이다.





dpkg -L <패키지>
<패키지>를 통해 설치된 모든 파일의 목록을 제공한다. .deb 파일의 내용도 확인하려면 dpkg -c도 참고하기 바란다.





dpkg -s <패키지>
시스템에 설치된 <패키지>에 관한 정보를 보여준다. 데비안 패키지 저장소에서 패키지 정보를 보여주는 apt-cache show와 .deb파일로부터 패키지 정보를 추출해서 보여주는 dpkg -I도 참고하기 바란다. 





dpkg-reconfigure <패키지>
이미 설치된 <패키지>가 debconf를 쓰는 경우 그것을 이용해서 다시 설정해준다.
(debconf는 패키지 설치시 일관적인 설정 인터페이스를 제공한다.) front-end(역자주: ncurse방식의 텍스트 그래픽 설정을 따를것인가, 아니면 gnome그래픽 대화상자 설정을 따를 것인가, 아니면 그냥 콘솔명령행을 따를 것인가 등..)를 바꾸거나 설정중에 뜨는 질문의 순서를 바꾸기 위해서 debconf 자체를 재설정할 수도 있다.
예를 들어, 대화상자를 쓰는 프런트-엔드를 쓰려면 아래처럼 실행하면 된다:


dpkg-reconfigure --frontend=dialog debconf




echo ``<패키지> hold`` | dpkg --set-selection
<패키지>를 hold(잠금)상태로 둔다.(명령행 방식)





dpkg --get-selection ``<패키지>``
<패키지>의 현재 상태를 얻는다.





dpkg -S <파일>
지정한 <파일>을 패키지 데이터베이스에서 검색해서 그것을 포함하고 있는 패키지들을 알려준다.



소스로부터 데비안 패키지 만들기 #


apt-get source [-b] <패키지>
지정한 <패키지>와 일치하는 소스패키지를 다운로드해서 푼다. 이것이 제대로 작동하려면 /etc/apt/sources.list파일 내용에 deb-src가 존재해야 된다. 루트로 로그인한 상태에서 '-b' 옵션을 곁들이면 (가능한 경우) 패키지를 자동으로 빌드해준다.





apt-get build-dep <패키지>
지정된 소스 <패키지>를 빌드할 때 반드시 필요한 패키지들을 다운로드해서 설치해준다. 이 기능은 apt버전 0.5버전과 이후 버전에만 적용된다. 현재로선 우디(woody) 이상의 버전에서 모두 작동한다. 오래된 버전의 apt를 쓰고 있는 경우, 빌드 의존관계를 확인할 수 있는 가장 쉬운 방법은 소스 패키지 디렉토리에서 debian/control 파일을 확인하는 것이다.
이 명령은 'apt-get source -b'명령과 함께 자주 쓰인다. 이를 테면 아래처럼 실행할 경우:



apt-get build-dep <패키지>
apt-get source -b <패키지>
소스 패키지와 의존관계에 딸린 패키지들을 모두 다운로드한 다음, 소스패키지 빌드를 시도한다.




dpkg-source -x <패키지.dsc>
소스 패키지를 직접 다운로드하면 .orig.tar.gz(또는 데비안 기반일 경우 .tar.gz로), .dsc, .diff.gz(데비안 기반이 아닐 경우)형태를 띤 파일이 들어있다. 이런 경우에는 이 명령을 .dsc 파일에 적용시킴으로써 소스패키지를 풀 수 있다.





dpkg-buildpackage
데비안소스트리로부터 데비안 패키지를 빌드한다. 이 명령을 제대로 실행시키려면 작업경로가 소스트리의 메인 디렉토리이어야 한다.
사용예:



dpkg-buildpackage -rfakeroot -uc -b
'-rfakeroot' 옵션은 root 권한(소유권 획득을 목적으로)을 흉내내기 위해서 fakeroot 프로그램을 쓸 수 있도록 한다. '-uc'는 changelog에 대해서 암호화 서명을 하지 않게 함을 의미하며, '-b'는 바이너리 패키지만 빌드함을 의미한다.




debuild
lintian과 gpg를 함께 쓰는 경우처럼, dpkg-buildpackage와 함께 쓰이는 유용한 wrapper 스크립트로서 fakeroot 사용여부를 스스로 판단한다. 



의존성 고치기 #


dpkg --configure --pending
apt-get install, upgrade, 또는 dist-upgrade 명령 실행중에 dpkg가 오류와 함께 종료되었을 때 이 명령을 통해 이미 풀린 패키지들에 대해서 설정할 수 있도록 시도한다.
(역자주: 이 명령은 dselect 메뉴에서 Config을 선택했을 때도 실행된다.)
그런 다음 apt-get install, upgrade, 또는 dist-upgrade -f를 실행하고, apt-get install, upgrade, 또는 dist-upgrade -f를 필요한 만큼 반복실행해라. 이렇게 하면 의존관계로 인해 발생하는 대부분의 문제점들을 해결할 수 있다. (만약, 어떠한 이유 때문에 특정 패키지가 언급되면 그 패키지를 설치하거나 지워야한다.)



* apt-get install -f 
* apt-get upgrade -f 
* apt-get dist-upgrade -f 
위의 명령중에 어느 한가지를 실행하면 스스로 의존성 문제를 해결하려고 한다. 'apt-get install -f' 는 <패키지>인자를 넣지 않고 그냥 실행함을 유의하기 바란다


 http://nixy.egloos.com/134717


Posted by 노라스
,