gentoo / 未分类 · 2012年4月14日

emerge 的用法(简明笔记)

———————————————————————————-
安装软件在gentoo中有两种方法:
1.安装预编译的二进制包,好处不用自己编译,编译大的套件很花时间。预编译软件在/usr/portage/packages/All中。
2.下载源文件自动编译安装,慢但是根据自己的机器优化,这种时候就会受USE参数的影响,下载的源码在/usr/portage/distfiles中。
———————————————————————————-
以下都以mozilla为例,括号内为参数的缩写
1.想要编译安装软件:emerge mozilla
2.查看软件依赖哪些别的软件,实际并不编译安装:emerge –pretend mozilla (-p)
3.先下载软件,并不编译:emerge –fetchonly mozilla
4.查看要从哪里下载源码:emerge –pretend -fetchonly mozilla (-pf)如果你本地没有上网条件可以用它记下要下载的东西,去别处下载后带回来,把源码cp到正确的路径下再emerge
5.想安装一个特定版本的软件:emerge “mozilla-1.4″ 将会安装比1.4新的版本
emerge “=mozilla-1.4″将会安装1.4版
6.安装预编译版本:emerge –usepkg mozilla (-k)
7.安装预编译软件,不在乎版本:emerge –usepkgonly mozilla (-K)
8.本地系统上没有预编译软件,可以从网上下载:在/etc/make.conf中用PORTAGE_BINHOST指定提供预编译好的二进制包的地址,然后emerge –getbinpkg mozilla (-g),这将会下载此软件和它依赖的二进制包并安装。要查看哪些依赖的软件将会被安装:
emerge –getbinpkg –pretend mozilla
9.本地系统有此软件的预编译包,但是就是想下载网上的预编译包来安装:
emerge –getbinpkgonly mozilla (-G)
10.指定预编译包版本:emerge –usepkg “mozila-1.4″
“=mozilla-1.4″
11.显示所有mozilla依赖的包:emerge –emptytree –pretend mozilla
12.不管依赖条件,尝试强行编译安装包:emerge –nodeps mozilla(可能会失败)
13.删除以安装的包:emerge unmerge mozilla 也可以用emerge -C mozilla
14.假装删除软件看看会删除什么依赖的包:emerge –pretend unmerge mozilla
15.安装被mask掉的软件:#ACCEPT_KETWORDS=”~86″ emerge mozilla
——————————————————————————-
看了这些相信你对如何emerge一个软件有简单的了解,建议抽一两个晚上去http://www.gentoo.org/doc/tw/handbook耐心翻看getoo官方手册,相信会使你有所收获。
一個套件會被封鎖註有兩個原因:
你如果正在使用 ARCH,而這個套件是 ~ARCH
這個套件是被刻意鎖住的
如果是这个原因,而你 非常 想要安裝它,你可以暫時的接受 ~ARCH 套件:
Code Listing 34UNDEFINED STRING: 暫時性的接受 ~ARCH 套件
# ACCEPT_KEYWORDS=”~x86” emerge gnumeric
一個套件會被刻意鎖住將會被放在 /usr/portage/profiles/protage.mask。如果你查看這個檔案,你將會看到這個套件會被刻意鎖住的原因(常常是加入為註解)。如果你不管其他原因要安裝這個套件(有可能會造成系統極度不穩),你將需要建立一個 /etc/portage/package.unmask 檔案然後按照 /usr/portage/profiles/portage.mask 的格式放入你想要安裝的套件。
請 不要 更改 /usr/portage/profiles/package.mask 檔案,這個檔案會在下次更新 Portage tree 時被?驮H绻阈枰怄i一個套件,建立 /etc/portage/package.mask 然後按照以上?似的格式填入。
每个条目下列的两条指令是等效的,我通常用短的。
options都可以组合使用。
(第一条回楼上同学的问题)
避免升级覆盖掉版本更高的软件
emerge -uU world
emerge –update –upgradeonly world
查找名称包含mozilla的包
emerge -s mozilla
emerge search mozilla
查找描述包含mozilla
emerge -S mozilla
emerge –searchdesc mozilla
使用本地编好的包,没有就下源码(尽量避免编译)
emerge -k mozilla
emerge –usepkg mozilla
只使用本地编好的,否则不安装(绝对不编译,所有依赖的包都有binary才装)
emerge -K mozilla
emerge –usepkgonly mozilla
卸载
emerge -C mozilla
emerge unmerge mozilla
升级portage树
emerge sync
下载snapshot包来完成sync
emerge-webrsync
查看已安装包的changelog
emerge -pl mozilla
emerge –pretend –changelog mozilla
查看依赖关系(这个包还没装)
(–pretend保证这一次操作实际上不做任何事情,可以跟任何options组合)
emerge -p mozilla
emerge –pretend mozilla
只下载某个软件的源码(以及它所依赖的)
emerge -f mozilla
emerge –fetchonly mozilla
查看从哪下的源码
emerge -fp mozilla
安装指定版本号的
emerge “………..”
emerge -k “