鉴于很多新手对在gentoo下安装软件问题的理解比较模糊,我把www.gentoo.org上portage帮助整理精简一下给大家参考。当您看了此文以后对gentoo的包管理还兴趣的话,可以去http://www.gentoo.org/doc/tw/handbook查看详细的文档。
----------------------------------------------------------------------------------
安装软件在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新的版本
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 "<mozilla-1.4"
">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
一個套件會被封鎖註有兩個原因:
你如果正在使用 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 "<mozilla-1.6"
emerge "=..........."
.......">..........."
emerge -k "<mozilla-1.6".....
从网上下binary包来装
emerge -g mozilla
emerge --getbinpkg mozilla
(注意,实际上没有任何binary包存在于官方的mirror中
所以这个基本上是无用,在manpage也没有出现。除非自
己用livecd来setup一个这样的站点。不知道以后会不会
出现这样的mirror。gentoo.org论坛上似乎也有讨论这个。)
查看binary包依赖
emerge -gp mozilla
emrege --getbinpkg --pretend mozilla
查看依赖关系(这个包已经装了)
emerge -ep opera
emerge --emptytree --pretend opera
(不用pretend会重新编译这所有依赖的包,glibc因为安全关系没有列出)
不使用依赖关系安装软件
emerge -O opera
emerge --nodeps opera
只安装其依赖的软件
emerge -o opera
emerge --onlydeps opera
升级软件
emerge -u opera
emerge --update opera
升级系统软件
emerge -u system
升级整个系统
emerge -u world
避免升级覆盖掉版本更高的软件
emerge -uU world
emerge --update --upgradeonly world
----------------------------------------------------------------------------------
安装软件在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新的版本
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 "<mozilla-1.4"
">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
一個套件會被封鎖註有兩個原因:
你如果正在使用 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 "<mozilla-1.6"
emerge "=..........."
.......">..........."
emerge -k "<mozilla-1.6".....
从网上下binary包来装
emerge -g mozilla
emerge --getbinpkg mozilla
(注意,实际上没有任何binary包存在于官方的mirror中
所以这个基本上是无用,在manpage也没有出现。除非自
己用livecd来setup一个这样的站点。不知道以后会不会
出现这样的mirror。gentoo.org论坛上似乎也有讨论这个。)
查看binary包依赖
emerge -gp mozilla
emrege --getbinpkg --pretend mozilla
查看依赖关系(这个包已经装了)
emerge -ep opera
emerge --emptytree --pretend opera
(不用pretend会重新编译这所有依赖的包,glibc因为安全关系没有列出)
不使用依赖关系安装软件
emerge -O opera
emerge --nodeps opera
只安装其依赖的软件
emerge -o opera
emerge --onlydeps opera
升级软件
emerge -u opera
emerge --update opera
升级系统软件
emerge -u system
升级整个系统
emerge -u world
避免升级覆盖掉版本更高的软件
emerge -uU world
emerge --update --upgradeonly world