1 |
r0bertz 08/02/27 17:15:53 |
2 |
|
3 |
Added: gentoolkit.xml |
4 |
Log: |
5 |
added zh_cn gentoolkit.xml |
6 |
|
7 |
Revision Changes Path |
8 |
1.1 xml/htdocs/doc/zh_cn/gentoolkit.xml |
9 |
|
10 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/zh_cn/gentoolkit.xml?rev=1.1&view=markup |
11 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/zh_cn/gentoolkit.xml?rev=1.1&content-type=text/plain |
12 |
|
13 |
Index: gentoolkit.xml |
14 |
=================================================================== |
15 |
<?xml version="1.0" encoding="utf-8"?> |
16 |
|
17 |
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/zh_cn/gentoolkit.xml,v 1.1 2008/02/27 17:15:53 r0bertz Exp $ --> |
18 |
<!-- English CVS version: 1.30 --> |
19 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
20 |
|
21 |
<guide link="/doc/zh_cn/gentoolkit.xml" lang="zh_cn"> |
22 |
<title>Gentoo工具包(GentooKit)</title> |
23 |
|
24 |
<author title="作者"> |
25 |
<mail link="mbutcher@××××××××××.tv">Matt Butcher</mail> |
26 |
</author> |
27 |
<author title="编辑"> |
28 |
<!-- zhen@g.o --> |
29 |
John P. Davis |
30 |
</author> |
31 |
<author title="编辑"> |
32 |
<mail link="erwin@g.o">Erwin</mail> |
33 |
</author> |
34 |
<author title="编辑"> |
35 |
<mail link="fox2mike@g.o">Shyam Mani</mail> |
36 |
</author> |
37 |
<author title="编辑"> |
38 |
<mail link="neysx@g.o">Xavier Neys</mail> |
39 |
</author> |
40 |
<author title="编辑"> |
41 |
<mail link="karltk@g.o">Karl Trygve</mail> |
42 |
</author> |
43 |
<author title="编辑"> |
44 |
<mail link="yoswink@g.o">José Luis Rivero</mail> |
45 |
</author> |
46 |
<author title="编辑"> |
47 |
<mail link="nightmorph@g.o">Joshua Saddler</mail> |
48 |
</author> |
49 |
<author title="译者"> |
50 |
<mail link="jjj3112007@×××××.com">Zezhou Jiang</mail> |
51 |
</author> |
52 |
|
53 |
<abstract> |
54 |
Gentoolkit是一套使得管理Gentoo系统更加轻松的软件集合。这个文档介绍了一些Gentoolkit里的工具的一些基本使用方法。 |
55 |
</abstract> |
56 |
|
57 |
|
58 |
<!-- Licensed under GFDL --> |
59 |
<version>1.12</version> |
60 |
<date>2007-06-25</date> |
61 |
|
62 |
<chapter> |
63 |
<title>介绍</title> |
64 |
<section> |
65 |
<title>什么是Gentoolkit?</title> |
66 |
<body> |
67 |
|
68 |
<p> |
69 |
Gentoo是一个独一无二的发行版,并且存在一些别的发行版没有的复杂的东西。Gentoo开发者和贡献者们在发现这些复杂的东西的同时写了一些工具来帮助用户和管理员来使用它们。这些工具中的很大一部分已经被贡献到了Gentoo项目,并且被整合到了一个叫<c>app-portage/gentoolkit</c>的包里。 |
70 |
</p> |
71 |
|
72 |
<note> |
73 |
到现在为止,存在者两种版本的gentookit:<c>app-portage/gentoolkit</c>和<c>app-portage/gentoolkit-dev</c>。前者包含了管理脚本,而后者包含了一些专门帮助Gentoo开发的脚本。如果你是一个开发者,你可以通过联系Gentoolkit维护者来让你的脚本被收录到<c>gentoolkit-dev</c>里。这个文档只讨论gentoolkit。 |
74 |
</note> |
75 |
|
76 |
<p> |
77 |
Gentoolkit包含了一整套有用的工具来帮助你管理你的软件包和留意在你的系统上发生的事。大部分的用户———特别是经常升级系统的用户,将会从安装gentoolkit里受益。 |
78 |
</p> |
79 |
|
80 |
</body> |
81 |
</section> |
82 |
<section> |
83 |
<title>安装</title> |
84 |
<body> |
85 |
|
86 |
<p> |
87 |
就像其他的Gentoo软件包一样,安装就只是简单地emerge。 |
88 |
</p> |
89 |
|
90 |
<pre caption="安装gentoolkit"> |
91 |
# <i>emerge gentoolkit</i> |
92 |
</pre> |
93 |
|
94 |
<note> |
95 |
许多gentoolkit里的工具会显示一些有关于你的系统的信息或者需要root授权的重要信息。所以,一些程序(或是只是特定的函数)可能只能在获得root授权以后才能被运行。 |
96 |
</note> |
97 |
|
98 |
</body> |
99 |
</section> |
100 |
<section> |
101 |
<title>查找文档</title> |
102 |
<body> |
103 |
|
104 |
<p> |
105 |
一个程序可能有的任何的文档(除了man页)被存储在<path>/usr/share/doc/gentoolkit-[版本]/[程序名]/</path>里面。 |
106 |
</p> |
107 |
|
108 |
</body> |
109 |
</section> |
110 |
</chapter> |
111 |
|
112 |
<chapter> |
113 |
<title>equery</title> |
114 |
<section> |
115 |
<title>介绍</title> |
116 |
<body> |
117 |
|
118 |
<p> |
119 |
<c>equery</c>是一个显示大量有关于你系统上的软件包的有用信息和其他许多东西的工具。<c>equery --help</c>能给你完整的选项列表。 |
120 |
</p> |
121 |
|
122 |
<note> |
123 |
目前为止不是所有的<c>equery --help</c>列出的特性都被实现了。没有被实现的特性都被很清楚地提到了。你也会见到每个命令都有一个缩写,比如说<c>b</c>而不是<c>belongs</c>。 |
124 |
</note> |
125 |
|
126 |
<note> |
127 |
你要知道最近如果equery通过一个管道发送输出信息,它会改变输出信息的格式。那个通过管道传输的格式被认为更容易被工具格式化,但是你可以通过加入<c>--no-pipe</c>选项来关掉它。如果你写了需要equery的脚本,你需要了解这个。 |
128 |
</note> |
129 |
|
130 |
</body> |
131 |
</section> |
132 |
<section> |
133 |
<title>查找一个文件来自于哪个软件包</title> |
134 |
<body> |
135 |
|
136 |
<p> |
137 |
<c>equery</c>也提供了寻找一个文件来自于哪个软件包的功能,使用<c>belongs</c>命令(或只是<c>b</c>)。 |
138 |
</p> |
139 |
|
140 |
<pre caption="查找安装了某个给定文件的ebuild"> |
141 |
# <i>equery belongs /usr/bin/audacious</i> |
142 |
[ Searching for file(s) /usr/bin/audacious in *... ] |
143 |
media-sound/audacious-1.1.2 (/usr/bin/audacious) |
144 |
</pre> |
145 |
|
146 |
<p> |
147 |
通过使用<c>-f</c>选项,你可以搜索符合任意的正规短语的文件所属的软件包。<c>-e</c>选项能够在第一个符合的软件包找到后就立即终止寻找。 |
148 |
</p> |
149 |
|
150 |
</body> |
151 |
</section> |
152 |
<section> |
153 |
<title>验证软件包的完整性</title> |
154 |
<body> |
155 |
|
156 |
<p> |
157 |
有时候检查一个软件包的完整性是很有用的。<c>equery</c>可以通过验证md5 sums和时间戳来检验一个软件包是否被破坏、替换或是移除。 |
158 |
</p> |
159 |
|
160 |
<pre caption="确认软件包的完整性"> |
161 |
# <i>equery check gentoolkit</i> |
162 |
[ Checking app-portage/gentoolkit-0.2.0 ] |
163 |
* 54 out of 54 files good |
164 |
</pre> |
165 |
|
166 |
<p> |
167 |
请记住,如果你在安装完成后改变了配置文件,这些可能会被报告为 "not good"。 |
168 |
</p> |
169 |
|
170 |
</body> |
171 |
</section> |
172 |
<section> |
173 |
<title>列出所有依赖的软件包……</title> |
174 |
<body> |
175 |
|
176 |
<p> |
177 |
<c>equery</c>能够列出符合一个软件包的所有直接依赖关系。我们能够简单地使用<c>depends</c>函数来做这件事: |
178 |
</p> |
179 |
|
180 |
<pre caption="查找依赖于pygtk的软件包"> |
181 |
# <i>equery depends pygtk</i> |
182 |
[ Searching for packages depending on pygtk... ] |
183 |
app-office/dia-0.93 |
184 |
dev-python/gnome-python-2.0.0-r1 |
185 |
gnome-extra/gdesklets-core-0.26.2 |
186 |
media-gfx/gimp-2.0.4 |
187 |
x11-libs/vte-0.11.11-r1 |
188 |
</pre> |
189 |
|
190 |
</body> |
191 |
</section> |
192 |
<section> |
193 |
<title>依赖关系图表</title> |
194 |
<body> |
195 |
|
196 |
<p> |
197 |
<c>equery</c>可以向我们给出一个特定软件包的依赖关系图表。这个依赖关系图表向我们展示了指定软件包的所有一系列直接或间接相关软件包的列表 |
198 |
</p> |
199 |
|
200 |
<pre caption="cdrtools的依赖关系树"> |
201 |
# <i>equery depgraph cdrtools</i> |
202 |
Displaying dependencies for app-cdr/cdrtools-2.01_alpha37 |
203 |
`-- app-cdr/cdrtools-2.01_alpha37 |
204 |
`-- sys-libs/glibc-2.3.4.20040808 (virtual/libc) |
205 |
`-- sys-kernel/linux-headers-2.4.22 (virtual/os-headers) |
206 |
`-- sys-apps/baselayout-1.10.4 |
207 |
`-- sys-apps/sysvinit-2.85-r1 |
208 |
`-- sys-apps/gawk-3.1.3-r1 |
209 |
`-- sys-apps/util-linux-2.12-r4 |
210 |
`-- sys-apps/sed-4.0.9 |
211 |
`-- sys-libs/ncurses-5.4-r4 |
212 |
`-- sys-apps/pam-login-3.14 |
213 |
`-- sys-libs/pam-0.77-r1 |
214 |
`-- sys-libs/cracklib-2.7-r10 |
215 |
`-- sys-apps/miscfiles-1.3-r1 |
216 |
`-- app-arch/gzip-1.3.5-r1 |
217 |
`-- sys-apps/portage-2.0.50-r10 |
218 |
</pre> |
219 |
|
220 |
<p> |
221 |
比如说,cdrtools直接依赖于glibc,而linux-headers是cdrtools的间接依赖。请记住输出的信息也包括一些虚拟的软件包的信息。在上面的例子中,事实上<c>cdrtools</c>是被编写成需要virtual/libc的,而不是sys-libs/glibc,但是在例子里提到的系统上sys-libs/glibc提供了virtual/libc。 |
222 |
</p> |
223 |
|
224 |
</body> |
225 |
</section> |
226 |
<section> |
227 |
<title>列出属于一个ebuild的软件包</title> |
228 |
<body> |
229 |
|
230 |
<p> |
231 |
<c>equery</c>能够列出所有属于一个已安装ebuild的文件。如果我不知道Gentoolkit在系统上安装了哪些文件,我将会用<c>equery</c>来把它们列出来。 |
232 |
</p> |
233 |
|
234 |
<pre caption="列出文件"> |
235 |
# <i>equery files gentoolkit</i> |
236 |
[ Searching for packages matching gentoolkit... ] |
237 |
app-portage/gentoolkit-0.2.0 |
238 |
* Contents of app-portage/gentoolkit-0.2.0: |
239 |
/usr |
240 |
/usr/bin |
241 |
/usr/bin/equery |
242 |
/usr/bin/etcat |
243 |
/usr/bin/euse |
244 |
/usr/bin/glsa-check |
245 |
/usr/bin/qpkg |
246 |
/usr/bin/revdep-rebuild |
247 |
/usr/lib |
248 |
/usr/lib/gentoolkit |
249 |
/usr/lib/gentoolkit/pym |
250 |
/usr/lib/gentoolkit/pym/gentoolkit |
251 |
/usr/lib/gentoolkit/pym/gentoolkit/__init__.py |
252 |
/usr/lib/gentoolkit/pym/gentoolkit/gentoolkit.py |
253 |
/usr/lib/gentoolkit/pym/gentoolkit/pprinter.py |
254 |
/usr/lib/gentoolkit/pym/glsa.py |
255 |
/usr/sbin |
256 |
/usr/share |
257 |
/usr/share/doc |
258 |
/usr/share/doc/gentoolkit-0.2.0_pre10 |
259 |
|
260 |
[...] |
261 |
</pre> |
262 |
|
263 |
<p> |
264 |
<c>equery</c>的<c>files</c>命令提供了一些用来修改输出信息的选项。你可以在<c>equery</c>的man页中找到它们。 |
265 |
</p> |
266 |
|
267 |
</body> |
268 |
</section> |
269 |
<section> |
270 |
<title>查找使用某个特定USE标记的软件包</title> |
271 |
<body> |
272 |
|
273 |
<p> |
274 |
如果你想要寻找在你的系统上使用某个特定USE标记的软件包,<c>equery</c>包括了一个叫<c>hasuse</c>的函数。 |
275 |
</p> |
276 |
|
277 |
<pre caption="查找使用firefox这个USE标记的软件包"> |
278 |
# <i>equery hasuse firefox</i> |
279 |
[ Searching for USE flag firefox in all categories among: ] |
280 |
* installed packages |
281 |
[I--] [ ] dev-python/gnome-python-extras-2.14.0-r1 (0) |
282 |
[I--] [ ] media-video/totem-2.16.4 (0) |
283 |
</pre> |
284 |
|
285 |
</body> |
286 |
</section> |
287 |
<section> |
288 |
<title>列出软件包</title> |
289 |
<body> |
290 |
|
291 |
<p> |
292 |
<c>equery</c>拥有一个强大的特性,它能够列出属于我们的系统或在Portage里的软件包,甚至在overlay里的软件包也行。让我们试试看: |
293 |
</p> |
294 |
|
295 |
<pre caption="使用equery来列出软件包"> |
296 |
# <i>equery list gentoolkit</i> |
297 |
[ Searching for package 'gentoolkit' in all categories among: ] |
298 |
* installed packages |
299 |
[I--] [ ] app-portage/gentoolkit-0.2.0 (0) |
300 |
</pre> |
301 |
|
302 |
<p> |
303 |
标准的查询会搜索符合给定名字的已安装的软件包。如果找到了,下面的信息会被显示出来:在第一个括号里的是软件包位置(I代表已安装,P代表Portage,O代表Overlay),在第二个括号里的是可能的mask(~是keyword的禁用,-是主机平台的禁用,M是硬性禁用),然后是分类和完整的名字,最后是软件包储存的位置。 |
304 |
</p> |
305 |
|
306 |
<p> |
307 |
下面是另一个例子,这次我们要使用本地选项来寻找在我们的portage树和overlay里的软件包。 |
308 |
</p> |
309 |
|
310 |
<pre caption="使用equery的本地选项"> |
311 |
# <i>equery list -p -o vim</i> |
312 |
[ Searching for package 'vim' in all categories among: ] |
313 |
* installed packages |
314 |
[I--] [ ] app-editors/vim-6.3-r4 (0) |
315 |
* Portage tree (/usr/portage) |
316 |
[-P-] [M~] app-editors/vim-7.0_alpha20050126 (0) |
317 |
[-P-] [M~] app-editors/vim-7.0_alpha20050201 (0) |
318 |
[-P-] [ ] app-editors/vim-6.3-r2 (0) |
319 |
[-P-] [M~] app-editors/vim-7.0_alpha20050122 (0) |
320 |
[-P-] [M~] app-editors/vim-core-7.0_alpha20050126 (0) |
321 |
[-P-] [ ] app-editors/vim-core-6.3-r3 (0) |
322 |
[-P-] [M~] app-editors/vim-core-7.0_alpha20050122 (0) |
323 |
[-P-] [M~] app-editors/vim-core-7.0_alpha20050201 (0) |
324 |
[-P-] [ ] app-editors/vim-core-6.3-r4 (0) |
325 |
* overlay tree (/opt/ebuilds) |
326 |
</pre> |
327 |
|
328 |
</body> |
329 |
</section> |
330 |
<section> |
331 |
<title>查找软件包大小</title> |
332 |
<body> |
333 |
|
334 |
<p> |
335 |
你甚至想知道一个软件包占用多少空间?因为一个软件包可以在许多目录有它的文件,通常使用<c>du -hc</c>可能不能给你正确的数字。别着急,<c>equery</c>来拯救你了! |
336 |
</p> |
337 |
|
338 |
<pre caption="软件包大小"> |
339 |
# <i>equery size openoffice-bin</i> |
340 |
* app-office/openoffice-bin-1.1.2 |
341 |
Total Files : 2908 |
342 |
Total Size : 223353.31 KiB |
343 |
</pre> |
344 |
|
345 |
<p> |
346 |
正如你所见,<c>equery</c>以KB为单位打印出了全部的已用空间,并且它也列出了那个软件包的所有文件数。 |
347 |
</p> |
348 |
|
349 |
</body> |
350 |
</section> |
351 |
<section> |
352 |
<title>USE标记的Package-wise列表</title> |
353 |
<body> |
354 |
|
355 |
<p> |
356 |
<c>equery</c>可以被用来给我们有关一个特定的软件包使用的USE标记的信息。它也可以告诉我们一个软件包正在使用的USE标记和可以使用的USE标记。 |
357 |
</p> |
358 |
|
359 |
<pre caption="设置和取消USE标记"> |
360 |
# <i>equery uses wireshark</i> |
361 |
[ Colour Code : set unset ] |
362 |
[ Legend : (U) Col 1 - Current USE flags ] |
363 |
[ : (I) Col 2 - Installed With USE flags ] |
364 |
|
365 |
U I [ Found these USE variables in : net-analyzer/wireshark-0.99.4 ] |
366 |
- - adns : Adds support for the adns DNS client library |
367 |
+ + gtk : Adds support for x11-libs/gtk+ (The GIMP Toolkit) |
368 |
- - ipv6 : Adds support for IP version 6 |
369 |
- - kerberos : Adds kerberos support |
370 |
- - portaudio : Adds support for the crossplatform portaudio audio API |
371 |
- - selinux : !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
372 |
- - snmp : Adds support for the Simple Network Management Protocol if available |
373 |
+ + ssl : Adds support for Secure Socket Layer connections |
374 |
- - threads : Adds threads support for various packages. Usually pthreads |
375 |
</pre> |
376 |
|
377 |
<p> |
378 |
我安装了wireshark,并且仅仅使用了gtk和ssl两个USE标记,但是那里还有一些其他的wireshark可以使用的USE标记。请参考<uri link="/doc/zh_cn/handbook/">Gentoo手册</uri>里的<uri link="/doc/zh_cn/handbook/handbook-x86.xml?part=2&chap=2">USE标记</uri>这一章来得到更多信息。 |
379 |
</p> |
380 |
|
381 |
</body> |
382 |
</section> |
383 |
<section> |
384 |
<title>ebuild在哪儿?</title> |
385 |
<body> |
386 |
|
387 |
<p> |
388 |
我们也可以使用<c>equery</c>来找出一个特定的软件包所使用的ebuild文件。你可以使用<c>equery which</c>来达到目的,这是一个显示一个ebuild文件完整路径的命令。 |
389 |
</p> |
390 |
|
391 |
<pre caption="显示ebuild路径"> |
392 |
# <i>equery which cdrtools</i> |
393 |
/usr/portage/app-cdr/cdrtools/cdrtools-2.01_alpha37.ebuild |
394 |
</pre> |
395 |
|
396 |
</body> |
397 |
</section> |
398 |
</chapter> |
399 |
|
400 |
<chapter> |
401 |
<title>euse</title> |
402 |
<section> |
403 |
<title>介绍</title> |
404 |
<body> |
405 |
|
406 |
<p> |
407 |
<c>euse</c>是一个用来在多个地方查看、设置和取消USE标记的工具。请参考<uri link="/doc/zh_cn/handbook/handbook-x86.xml?part=2&chap=2">USE标记</uri>来得到更多信息。请查看<c>euse -h</c>来得到完整的帮助和所有的选项。 |
408 |
</p> |
409 |
|
410 |
</body> |
411 |
</section> |
412 |
<section> |
413 |
<title>查看,设置和取消USE标记</title> |
414 |
<body> |
415 |
|
416 |
<p> |
417 |
<c>euse -a</c>命令读取当前激活的USE标记并把它们显示出来。 |
418 |
</p> |
419 |
|
420 |
<note> |
421 |
<c>euse</c>用5列的输出信息来显示一个USE标记是否被设置或取消和在哪里被设置或取消。那些列分别表示+/-(激活活取消)、是在环境里设置的、是在make.conf里设置的、是在make.Defaults里设置的和是在make.Globals里设置的。输出的信息就像这样[+ECDG]。 |
422 |
</note> |
423 |
|
424 |
<pre caption="常看所有活跃的USE标记"> |
425 |
# <i>euse -a</i> |
426 |
X [+ CD ] |
427 |
aalib [+ ] |
428 |
acpi [+ C ] |
429 |
alsa [+ C ] |
430 |
apache2 [+ C ] |
431 |
apm [+ D ] |
432 |
avi [+ D ] |
433 |
berkdb [+ D ] |
434 |
bitmap-fonts [+ D ] |
435 |
bonobo [+ ] |
436 |
cdr [+ C ] |
437 |
crypt [+ CD ] |
438 |
cscope [+ C ] |
439 |
cups [+ CD ] |
440 |
curl [+ ] |
441 |
emboss [+ D ] |
442 |
encode [+ D ] |
443 |
esd [+ ] |
444 |
fam [+ ] |
445 |
fbcon [+ C ] |
446 |
firefox [+ C ] |
447 |
font-server [+ D ] |
448 |
foomaticdb [+ D ] |
449 |
fortran [+ D ] |
450 |
gd [+ C ] |
451 |
gdbm [+ D ] |
452 |
gif [+ CD ] |
453 |
gimpprint [+ C ] |
454 |
gnome [+ CD ] |
455 |
gphoto2 [+ ] |
456 |
gpm [+ CD ] |
457 |
gstreamer [+ C ] |
458 |
gtk [+ D ] |
459 |
gtkhtml [+ C ] |
460 |
guile [+ ] |
461 |
imagemagick [+ ] |
462 |
imlib [+ CD ] |
463 |
innodb [+ ] |
464 |
ipv6 [+ D ] |
465 |
javascript [+ C ] |
466 |
jpeg [+ CD ] |
467 |
kde [+ D ] |
468 |
ldap [+ ] |
469 |
libg++ [+ CD ] |
470 |
libwww [+ CD ] |
471 |
mad [+ CD ] |
472 |
mbox [+ C ] |
473 |
md5sum [+ C ] |
474 |
mikmod [+ CD ] |
475 |
mmx [+ C ] |
476 |
motif [+ CD ] |
477 |
mp3 [+ ] |
478 |
mpeg [+ CD ] |
479 |
mpeg4 [+ C ] |
480 |
mysql [+ C ] |
481 |
ncurses [+ CD ] |
482 |
nls [+ D ] |
483 |
nvidia [+ C ] |
484 |
odbc [+ ] |
485 |
offensive [+ ] |
486 |
ogg [+ CD ] |
487 |
opengl [+ CD ] |
488 |
oss [+ D ] |
489 |
pam [+ CD ] |
490 |
pdflib [+ CD ] |
491 |
perl [+ CD ] |
492 |
png [+ CD ] |
493 |
python [+ CD ] |
494 |
qt [+ D ] |
495 |
quicktime [+ CD ] |
496 |
readline [+ CD ] |
497 |
ruby [+ ] |
498 |
sdl [+ CD ] |
499 |
slang [+ D ] |
500 |
spell [+ CD ] |
501 |
sse [+ C ] |
502 |
ssl [+ CD ] |
503 |
svga [+ CD ] |
504 |
tcltk [+ C ] |
505 |
tcpd [+ D ] |
506 |
tiff [+ C ] |
507 |
truetype [+ CD ] |
508 |
usb [+ C ] |
509 |
vanilla [+ C ] |
510 |
x86 [+ C ] |
511 |
xml [+ ] |
512 |
xosd [+ C ] |
513 |
xv [+ CD ] |
514 |
xvid [+ C ] |
515 |
zlib [+ CD ] |
516 |
</pre> |
517 |
|
518 |
<p> |
519 |
相似地你可以使用<c>euse -a -g</c>命令来只显示活跃的全局USE标记。<c>euse -a -l</c>命令只显示活跃的局部USE标记。<c>-g</c> & <c>-l</c>是<c>euse</c>的子选项,并且需要一个选项在他们之前(像<c>-a</c>)来正确运行。 |
520 |
</p> |
521 |
|
522 |
<pre caption="查看活跃的局部USE标记"> |
523 |
# <i>euse -a -l</i> |
524 |
bitmap-fonts [+ D ] |
525 |
font-server [+ D ] |
526 |
fortran [+ D ] |
527 |
gimpprint [+ C ] |
528 |
md5sum [+ C ] |
529 |
mpeg4 [+ C ] |
530 |
nvidia [+ C ] |
531 |
offensive [+ ] |
532 |
truetype [+ CD ] |
533 |
</pre> |
534 |
|
535 |
<p> |
536 |
我们也可以使用<c>euse</c>来设置或取消USE标记。命令是这样的:<c>euse -E flagname</c>(启用一个USE标记)和<c>euse -D flagname</c>(禁用一个USE标记)。 |
537 |
</p> |
538 |
|
539 |
<warn> |
540 |
请不要单独使用<c>euse -E</c>或<c>euse -D</c>命令(就是没有USE标记的情况)。它会设置/取消所有在<c>/etc/make.conf</c>里的USE标记。虽然一个备份被保存在了<path>/etc/make.conf.euse_backup</path>里,但是在使用<c>euse -E</c>或<c>euse -D</c>的时候请小心。 |
541 |
</warn> |
542 |
|
543 |
<pre caption="设置和取消USE标记"> |
544 |
<comment>(启用一个USE标记)</comment> |
545 |
# <i> euse -E 3dfx</i> |
546 |
/etc/make.conf was modified, a backup copy has been placed at /etc/make.conf.euse_backup |
547 |
|
548 |
<comment>(在那个命令后的/etc/make.conf)</comment> |
549 |
USE="alsa acpi apache2 -arts cups cdr crypt cscope -doc fbcon \ |
550 |
firefox gd gif gimpprint gnome gpm gstreamer gtkhtml imlib \ |
551 |
innodb -java javascript jpeg libg++ libwww mad mbox md5sum \ |
552 |
mikmod mmx motif mpeg mpeg4 mysql ncurses nvidia \ |
553 |
ogg odbc offensive opengl pam pdflib perl png python \ |
554 |
quicktime readline sdl spell sse ssl svga tcltk tiff truetype usb \ |
555 |
vanilla X xosd xv xvid x86 zlib 3dfx" |
556 |
|
557 |
<comment>(禁用USE标记)</comment> |
558 |
# <i> euse -D 3dfx</i> |
559 |
/etc/make.conf was modified, a backup copy has been placed at /etc/make.conf.euse_backup |
560 |
|
561 |
<comment>(在那个命令后的/etc/make.conf)</comment> |
562 |
USE="alsa acpi apache2 -arts cups cdr crypt cscope -doc fbcon \ |
563 |
firefox gd gif gimpprint gnome gpm gstreamer gtkhtml imlib \ |
564 |
innodb -java javascript jpeg libg++ libwww mad mbox md5sum \ |
565 |
mikmod mmx motif mpeg mpeg4 mysql ncurses nvidia \ |
566 |
ogg odbc offensive opengl pam pdflib perl png python \ |
567 |
quicktime readline sdl spell sse ssl svga tcltk tiff truetype usb \ |
568 |
vanilla X xosd xv xvid x86 zlib -3dfx" |
569 |
</pre> |
570 |
|
571 |
<note> |
572 |
<c>euse</c>不是物理地从make.conf里移除USE标记。它只是在USE标记前叫了一个-(减号)来取消它。你可能要手动地清理你的make.conf来避免不想要的变量。 |
573 |
</note> |
574 |
|
575 |
</body> |
576 |
</section> |
577 |
</chapter> |
578 |
|
579 |
<chapter> |
580 |
<title>其他工具</title> |
581 |
<section> |
582 |
<title>revdep-rebuild</title> |
583 |
<body> |
584 |
|
585 |
<p> |
586 |
这个工具是Gentoo's Reverse Dependency(Gentoo反向依赖关系)的重建者。它可以通过扫描你已经安装了的ebuild文件来了解软件包是否因为一次它们依赖的软件包的升级而被破坏。它可以为你重新emerge这些软件包。但也可能是给定的软件包在当前的依赖环境下无法再工作了,在这种情况下你应该把这些破损的软件包升级到一个较新的版本。revdep-rebuild会通过标志来emerge,这让你能使用<c>--pretend</c>标志在你进行进一步工作前来查看哪些东西要被重新emerge。 |
587 |
</p> |
588 |
|
589 |
<pre caption="假装(pretend mode)运行revdep-rebuild"> |
590 |
# <i>revdep-rebuild -p</i> |
591 |
|
592 |
Checking reverse dependencies... |
593 |
Packages containing binaries and libraries broken by any package update, |
594 |
will be recompiled. |
595 |
|
596 |
Collecting system binaries and libraries... done. |
597 |
(/root/.revdep-rebuild.1_files) |
598 |
|
599 |
Collecting complete LD_LIBRARY_PATH... done. |
600 |
(/root/.revdep-rebuild.2_ldpath) |
601 |
|
602 |
Checking dynamic linking consistency... |
603 |
broken /usr/lib/ao/plugins-2/libarts.so (requires libartsc.so.0) |
604 |
broken /usr/lib/kde3/libkpresenterpart.so (requires libartskde.so.1 libqtmcop.so.1 |
605 |
libsoundserver_idl.so.1 libkmedia2_idl.so.1 libartsflow.so.1 libartsflow_idl.so.1 libmcop.so.1) |
606 |
broken /usr/lib/ruby/site_ruby/1.8/i686-linux/fox.so (requires libFOX-1.0.so.0) |
607 |
broken /usr/lib/xine/plugins/1.0.0/xineplug_ao_out_arts.so (requires libartsc.so.0) |
608 |
broken /usr/lib/perl5/vendor_perl/5.8.0/i686-linux/auto/SDL_perl/SDL_perl.so (requires libSDL_gfx.so.0) |
609 |
broken /usr/lib/libloudmouth-1.so.0.0.0 (requires libgnutls.so.10) |
610 |
broken /usr/bin/k3b (requires libartskde.so.1 libqtmcop.so.1 libsoundserver_idl.so.1 libkmedia2_idl.so.1 |
611 |
libartsflow.so.1 libartsflow_idl.so.1 libmcop.so.1) |
612 |
broken /usr/bin/lua (requires libhistory.so.4) |
613 |
broken /usr/bin/lyx (requires libAiksaurus-1.0.so.0) |
614 |
broken /usr/bin/luac (requires libhistory.so.4) |
615 |
broken /usr/bin/avidemux2 (requires libartsc.so.0) |
616 |
broken /usr/bin/pptout (requires libxml++-0.1.so.11) |
617 |
broken /usr/bin/xml2ps (requires libxml++-0.1.so.11) |
618 |
done. |
619 |
(/root/.revdep-rebuild.3_rebuild) |
620 |
|
621 |
Assigning files to ebuilds... done. |
622 |
(/root/.revdep-rebuild.4_ebuilds) |
623 |
|
624 |
Evaluating package order... done. |
625 |
(/root/.revdep-rebuild.5_order) |
626 |
|
627 |
All prepared. Starting rebuild... |
628 |
emerge --oneshot --nodeps -p =app-cdr/k3b-0.11.14 =app-office/koffice-1.3.2 =app-office/lyx-1.3.4 \ |
629 |
=app-office/passepartout-0.2 =dev-lang/lua-5.0.2 =dev-ruby/fxruby-1.0.29 =media-libs/libao-0.8.5 \ |
630 |
=media-libs/xine-lib-1_rc5-r3 =media-video/avidemux-2.0.26 =net-libs/loudmouth-0.16 |
631 |
|
632 |
These are the packages that I would merge, in order: |
633 |
|
634 |
Calculating dependencies ...done! |
635 |
[ebuild R ] app-cdr/k3b-0.11.14 |
636 |
[ebuild R ] app-office/koffice-1.3.2 |
637 |
[ebuild R ] app-office/lyx-1.3.4 |
638 |
[ebuild R ] app-office/passepartout-0.2 |
639 |
[ebuild R ] dev-lang/lua-5.0.2 |
640 |
[ebuild R ] dev-ruby/fxruby-1.0.29 |
641 |
[ebuild R ] media-libs/libao-0.8.5 |
642 |
[ebuild R ] media-libs/xine-lib-1_rc5-r3 |
643 |
[ebuild R ] media-video/avidemux-2.0.26 |
644 |
[ebuild R ] net-libs/loudmouth-0.16 |
645 |
|
646 |
Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild. |
647 |
</pre> |
648 |
|
649 |
<p> |
650 |
如果你需要重新编译一些软件包,你可以在没有<c>-p</c>标志的情况下运行<c>revdep-rebuild</c>,然后被列出的软件包就会被重新emerge。 |
651 |
</p> |
652 |
|
653 |
</body> |
654 |
</section> |
655 |
<section> |
656 |
<title>glsa-check</title> |
657 |
<body> |
658 |
|
659 |
<p> |
660 |
<c>glsa-check</c>是一个测试工具来留意多种GLSA(Gentoo Linux Security Advisory——Gentoo Linux安全建议),并且最后被整合到<c>emerge</c>和<c>equery</c>去了。请访问<uri link="/proj/en/portage/glsa-integration.xml">Portage GLSA整合页面</uri>来得到更多信息。 |
661 |
</p> |
662 |
|
663 |
</body> |
664 |
</section> |
665 |
<section> |
666 |
<title>eread</title> |
667 |
<body> |
668 |
|
669 |
<p> |
670 |
<c>eread</c>是一个用来显示<c>大于或等于2.1版本</c>的portage产生的elog文件的简单组件。你可以通过设置<path>/etc/make.conf</path>里的一些变量来设置elog文件的存储。 |
671 |
</p> |
672 |
|
673 |
<pre caption="在/etc/make.conf中启用elog"> |
674 |
PORTAGE_ELOG_CLASSES="log" |
675 |
PORTAGE_ELOG_SYSTEM="save" |
676 |
</pre> |
677 |
|
678 |
<note> |
679 |
这只是存储elog信息的其中一条途径。请参考在<uri link="/doc/zh_cn/handbook/handbook-x86.xml?part=3&chap=1#doc_chap4">Portage Handbook</uri>里的适当的页面来得到更多有关portage的elog系统如果工作的信息。 |
680 |
</note> |
681 |
|
682 |
<p> |
683 |
一旦你配置了eread,只要运行<c>eread</c>就能查看你的log文件了。 |
684 |
</p> |
685 |
|
686 |
<pre caption="使用eread"> |
687 |
$ <i>eread</i> |
688 |
|
689 |
This is a list of portage log items. Choose a number to view that file or type q to quit. |
690 |
|
691 |
1) app-portage:gentoolkit-0.2.4_pre2:20070320-000256.log |
692 |
2) app-portage:gentoolkit-0.2.4_pre2:20070320-000258.log |
693 |
3) app-portage:gentoolkit-0.2.4_pre2:20070320-000319.log |
694 |
4) app-portage:gentoolkit-0.2.3:20070320-000408.log |
695 |
Choice? |
696 |
</pre> |
697 |
|
698 |
<p> |
699 |
选择一个数字,然后文件就会通过在“PAGER”环境变量里特定的页面系统(Paging System)而被显示。如果“PAGER”变量没有被设置,它会使用<c>less</c>。 |
700 |
</p> |
701 |
|
702 |
<p> |
703 |
在显示了elog项目后,如果你想要删除那个文件你就会被提醒。 |
704 |
</p> |
705 |
|
706 |
</body> |
707 |
</section> |
708 |
</chapter> |
709 |
|
710 |
</guide> |
711 |
|
712 |
|
713 |
|
714 |
-- |
715 |
gentoo-commits@l.g.o mailing list |