Gentoo:包管理

来自WHY42
imported>Soleverlee2016年5月19日 (四) 09:31的版本 (Soleverlee移动页面Gentoo:emerge命令Gentoo:包管理,不留重定向)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

Portage更新

如下命令将调用rsync进行同步。

emerge --sync

webrsync将直接下载最新的Portage快照进行安装。

emerge-webrsync

软件安装

搜索相关软件:其中--searchdesc (or -S) 命令将显示软件描述信息。

emerge --search pdf
emerge --searchdesc pdf

安装软件:

emerge --ask app-office/gnumeric

只查看安装将引起的更改而不安装:

emerge --pretend gnumeric

emerge安装时会下载源码到/usr/portage/distfiles/。如果想只下载而不实际安装,可以用下面的参数:

emerge --fetchonly gnumeric

有的软件带有文档,USE中doc标识是否安装对应的文档,使用下面的命令查看是否有doc标识:

emerge -vp alsa-lib
[ebuild  N    ] media-libs/alsa-lib-1.0.14_rc1  -debug +doc 698 kB

文档安装完成后存放在 /usr/share/doc/ 目录。查看软件包所有安装的文件:

equery files alsa-lib | less
media-libs/alsa-lib-1.0.14_rc1
* Contents of media-libs/alsa-lib-1.0.14_rc1:
/usr
/usr/bin
/usr/bin/alsalisp
...

软件卸载使用以下命令即可。软件卸载时会移除去用户修改的配置文件外的所有安装文件。注意,卸载时Portage不会自动检测依赖项,仅当如果重要软件包移除可能破坏系统时进行警告。

emerge --unmerge gnumeric

软件更新

更新Portage树之后,可以使用以下命令更新系统:

emerge --update --ask @world

该命令会更新/var/lib/portage/world目录下安装的所有软件,但不包括依赖项。如果也需要更新依赖项,可以:

emerge --update --deep @world

如果需要更新编译依赖项(构建其他包的软件),可以:

emerge --update --deep --with-bdeps=y @world

如果USE设置改变了,建议增加--newuse选项。Portage将检查已安装的软件是否需要更新或者重新编译。

emerge --update --deep --with-bdeps=y --newuse @world

清理Metapackages

emerge --update --deep --newuse @world
emerge --depclean
revdep-rebuild

安装revdep-rebuild命令:

emerge --ask app-portage/gentoolkit