Trans:PortageUtils

Gentoo Korea Wiki
둘러보기로 가기 검색하러 가기

포티지 유틸리티

1. 소개

portage-utils는 C로 작성한 매우 빠른 유틸리티의 모음이며, 이는 더 빠르지만 gentoolkit의 대응 관계에 있어 좀 더 제한된 기능을 제공함을 의미합니다. portage-utilsgentoolkit을 대체하지 않음을 참고하십시오. portage-utils의 유틸리티는 gentoolkit에 있는 동일한 요소보다 훨씬 효율적이며, 아마도 포티지르 반복적으로 호출할 필요가 있는 스크립트에 좀 더 안성 맞춤이겠지만 portage-utils는 완전 동일한 기능을 제공하지는 않습니다. 모든 방면에 있어서 eclass를 고려하지 않았으며 revdep-rebuildglsa-check와 같은 도구를 제공하지는 않습니다.

gentoolkit에 대한 더 자세한 내용은 gentoolkit 안내서에서 찾을 수 있습니다.

man q를 입력하든가 q --help를 입력하면 portage-utils의 완전한 프로그램 목록을 보실 수 있습니다. 이 안내서는 단지 가장 쓸모있는 함수에 대한 간단한 참고서일 뿐이며, 제각각의 프로그램의 모든 정보를 포함하지 않으므로, 각각의 유틸리티의 설명을 보시려면 맨 페이지를 읽으십시오.

portage-utils를 사용하는 첫 단추 끼기 동작은 패키지를 설치하는 것입니다.


코드 예제 1.1: portage-utils 설치하기
# emerge portage-utils


2. 사용방법

파일이 들어있는 패키지를 찾는 방법

qfile은 파일이 어떤 패키지에 들어있는지 찾습니다.


코드 예제 2.1: 지정한 파일이 들어있는 패키지 찾기
$ qfile /etc/fonts/fonts.conf

media-libs/fontconfig (/etc/fonts/fonts.conf)
$ qfile /usr/share/keymaps/atari/atari-uk-falcon.map.gz

sys-apps/kbd (/usr/share/keymaps/atari/atari-uk-falcon.map.gz)


패키지 유효성 검증

MD5 합 또는 일부 패키지가 설치한 파일의 mtimes를 확인하려면 qcheck 프로그램을 사용합니다.


코드 예제 2,2: 패키지 유효성 검증
$ qcheck portage-utils

Checking app-portage/portage-utils-0.1.13 ...

* 36 out of 36 files are good


물론 설치 과정 이후 바뀐 모든 파일은 여기서 나타납니다. 설치 이후 직접 편집한 설정 파일으 프로그램이 보고했다해도 걱정할 거리가 없습니다.

일부 패키지에 의존하는 패키지 목록 나열

물론 어떤 패키지에 의존하는지에 대한 모든 패키지 목록을 조회할 수 있는 프로그램도 있습니다. 이를 수행하려면 qdepends를 사용합니다. 패키지에 대한 DEPEND, RDEPEND, PDEPEND에 대한 모든 정보를 보시려면 -a 플래그를 사용하십시오.


코드 예제 2.3: 어떤 패키지에 의존하는지 패키지 목록 나열하기

$ qdepends -a pygtk
  * DEPEND
dev-python/pygtk-2.8.2: >=dev-lang/python-2.3 >=x11-libs/gtk+-2.8.0
=dev-libs/glib-2.8.0 >=x11-libs/pango-1.10.0 >=dev-libs/atk-1.8.0
>=gnome-base/libglade-2.5.0 >=dev-python/pycairo-0.9.0 dev-python/numeric
virtual/opengl dev-python/pyopengl >=x11-libs/gtkglarea-1.99
>=dev-util/pkgconfig-0.9 sys-devel/patch
  * RDEPEND
dev-python/pygtk-2.8.2: >=dev-lang/python-2.3 >=x11-libs/gtk+-2.8.0
>=dev-libs/glib-2.8.0 >=x11-libs/pango-1.10.0 >=dev-libs/atk-1.8.0
>=gnome-base/libglade-2.5.0 >=dev-python/pycairo-0.9.0 dev-python/numeric
virtual/opengl dev-python/pyopengl >=x11-libs/gtkglarea-1.99
  * PDEPEND


ebuild에 속한 파일 나열하기

qlist는 ebuild에 속한 모든 파일을 나열합니다.


코드 예제 2.4: ebuild파일에 속한 파일 나열

$ qlist vim
/usr/bin/gvim
/usr/bin/gvimdiff
/usr/bin/evim
/usr/bin/eview
/usr/bin/gview
/usr/bin/rgvim
[...]


지정한 USE 플래그를 사용하는 패키지 찾기

quse를 사용하면 찾아볼 수 있는데 root 권한으로 실행해야 합니다. ebuild 캐시를 처음 만들고 업데이트할 때 시간이 좀 걸립니다


코드 예제 2.5: 'firefox' USE 플래그를 사용하는 패키지 보기

# quse firefox
app-misc/tracker/tracker-0.12.10-r1.ebuild applet doc eds elibc_glibc exif firefox-bookmarks flac flickr gif
[...]


패키지 크기 구하기

다음처럼 간단하게 qsize 프로그램으로 확인할 수 있습니다.


코드 예제 2.6: 패키기 크기 구하기

$ qsize vim
app-editors/gvim-6.4: 10 files, 7 non-files, 2327.516 KB
app-editors/vim-6.4: 6 files, 2 non-files, 2058.14 KB
app-editors/vim-core-6.4: 1024 files, 68 non-files, 10950.984 KB
[...]


포티지 트리 검색

portage-utils의 가장 강력한 도구중 하나로서 qsearch가 있습니다. 이 도구는 이머지의 기본 검색 옵션 emerge -s 보다 빠릅니다.

사용방법에 대한 약간의 예를 넣었습니다.


코드 예제 2,7: 트리 검색에 qsearch 사용하기

(내 취향의 폰트가 들어있는 패키지 이름을 까먹었어요)
$ qsearch terminus
media-fonts/terminus-font A clean fixed font for the console and X11

(누가 만들었는지 아주그냥 어우~ 땡큐하네요. 근데 그 사람 홈페이지는 어디서 찾죠?)
$ qsearch -H terminus
media-fonts/terminus-font http://www.is-vn.bg/hamster/jimmy-en.html

(jabber 클라이언트가 필요하고 바로 올려야 합니다)
$ qsearch -S "jabber client"
app-emacs/emacs-jabber A Jabber client for Emacs.
net-im/gajim Jabber client written in PyGTK
net-im/gnome-jabber Gnome Jabber Client
net-im/gossip Lightweight Jabber client for GNOME
net-im/imcom Python commandline Jabber Client
net-im/psi QT 3.x Jabber Client, with Licq-like interface
net-im/tkabber Featureful Jabber client for tcl/tk.
x11-themes/psi-themes Iconsets for Psi, a QT 3.x Jabber Client



이머지 로그에서 정보 가져오기

emerge.log 파일에서 쓸모있는 정보를 가져올 수 있도록 하는 도구도 있습니다. 이를 qlop 이라고 하며, 누구의 컴퓨터가 컴파일을 빠르게 하는지 컴퓨터에서 여러분의 친구와 패키지 컴파일 시간을 추정할 때 쓸만합니다. 언제 어느 시점에 어떤 패키지를 검파일 하고 있는지 터미널 콘솔에서 머물러있을 때 컴파일 하는데 시간이 얼마나 걸리는지를 확인할 수 있으며, 또한 다른 의미를 가진 요소는 확인할 필요가 없게 할 수도 있습니다.


코드 예제 2.8: qlop으로 emerge log 불러오기

(emerge perl을 실행하는 중이며 보통 얼마나 걸리는지 측정해보고 싶습니다.)
$ qlop -tH perl
perl: 7 minutes, 52 seconds for 4 merges
(이제 이 순간에 뭘 이머지 하고 있었는지 보십시오)
$ qlop -c
  * perl-5.8.8-r23
    started: Mon May 21 12:41:11 2007
    elapsed: 19 seconds