LinuxTOY 是一个致力于提供 Linux 相关资讯的专题站点。如果您发现了好用好玩的 Linux 东东并愿意发扬自由、分享的精神,可以点击顶部导航 Contact 按钮进行投稿。

Related entries

Linux 包管理速查表

使用 Linux 系统总是免不了要接触包管理工具。比如,Debian/Ubuntu 的 apt、openSUSE 的 zypp、Fedora 的 yum、Mandriva 的 urpmi、Slackware 的 slackpkg、Archlinux 的 pacman、Gentoo 的 emerge、Foresight 的 conary、Pardus 的 pisi,等等。DistroWatch 针对上述包管理器的主要用法进行了总结,对各位 Linux 用户来说具有很好的参考作用。这个总结还是有一点不足,有空给大家整理一个更全面的版本。

任务 apt
Debian, Ubuntu
zypp
openSUSE
yum
Fedora, CentOS
安装包 apt-get install <pkg> zypper install <pkg> yum install <pkg>
移除包 apt-get remove <pkg> zypper remove <pkg> yum erase <pkg>
更新包列表 apt-get update zypper refresh yum check-update
更新系统 apt-get upgrade zypper update yum update
列出源 cat /etc/apt/sources.list zypper repos yum repolist
添加源 (edit /etc/apt/sources.list) zypper addrepo <path> <name> (add <repo> to /etc/yum.repos.d/)
移除源 (edit /etc/apt/sources.list) zypper removerepo <name> (remove <repo> from /etc/yum.repos.d/)
搜索包 apt-cache search <pkg> zypper search <pkg> yum search <pkg>
列出已安装的包 dpkg -l rpm -qa rpm -qa
任务 urpmi
Mandriva
slackpkg
Slackware
pacman
Arch
安装包 urpmi <pkg> slackpkg install <pkg> pacman -S <pkg>
移除包 urpme <pkg> slackpkg remove <pkg> pacman -R <pkg>
更新包列表 urpmi.update -a slackpkg update pacman -Sy
更新系统 urpmi –auto-select slackpkg upgrade-all pacman -Su
列出源 urpmq –list-media cat /etc/slackpkg/mirrors cat /etc/pacman.conf
添加源 urpmi.addmedia <name> <path> (edit /etc/slackpkg/mirrors) (edit /etc/pacman.conf)
移除源 urpmi.removemedia <media> (edit /etc/slackpkg/mirrors) (edit /etc/pacman.conf)
搜索包 urpmf <pkg> pacman -Qs <pkg>
列出已安装的包 rpm -qa ls /var/log/packages/ pacman -Qii
任务 conary
rPath, Foresight
pisi
Pardus
emerge
Gentoo
安装包 conary update <pkg> pisi install <pkg> emerge <pkg>
移除包 conary erase <pkg> pisi remove <pkg> emerge -C <pkg>
更新包列表   pisi update-repo emerge –sync | layman -S [for added repositories]
更新系统 conary updateall pisi upgrade emerge -NuDa world
列出源   pisi list-repo layman -L
添加源   pisi add-repo <name> <path> layman -a
移除源   pisi remove-repo <name> layman -d
搜索包 conary query <pkg> pisi search <pkg> emerge –search
列出已安装的包 conary query pisi list-installed cat /var/lib/portage | more

参考

[via DistroWatch]

署名 • 注明出处 • 非商业性使用

20 Comments

  1. 1 Zer4tul Commented @ 2008-09-22 7:34 pmReply to this comment

    没有portage……伤心了……

  2. 2 LanEast Commented @ 2008-09-22 7:40 pmReply to this comment

    slackware的列出已安装的包是”cat /var/log/packages/”? 是”ls”吧?

  3. 3 Moligaloo Commented @ 2008-09-22 8:26 pmReply to this comment

    上个表和下个表不要挤在一起,中间还是要有点分隔

  4. 4 食古不化 Commented @ 2008-09-22 9:06 pmReply to this comment

    竟然没有emerge

  5. 5 imouse Commented @ 2008-09-22 9:16 pmReply to this comment

    是啊,是啊,建议添加上

  6. 6 Toy Commented @ 2008-09-22 9:55 pmReply to this comment

    @LanEast: 谢谢,已更正。

    @食古不化: 已补上。

  7. 7 三翻领 Commented @ 2008-09-22 10:55 pmReply to this comment

    现在基本都不会emerge –search,而是eix

  8. 8 yu Commented @ 2008-09-23 7:46 amReply to this comment

    来自distrowatch

  9. 9 xiws Commented @ 2008-09-23 8:50 amReply to this comment

    差点以为没有arch了。。

  10. 10 walkerxk Commented @ 2008-09-23 9:04 amReply to this comment

    cat /etc/apt/sources.list不够的吧,我大部分源都分类放在/etc/apt/sources.list.d下面。还有如果要清除配置文件的话应该用apt-get purge等于apt-get remove –purge,不过前者在早期的版本中没有。
    还有更新系统最好用apt-get dist-upgrade。

  11. 11 Eric Zhang Commented @ 2008-09-23 9:05 amReply to this comment

    这个很有用,谢谢Toy,排版再改进一下,在我的firefox下看的不舒服

  12. 12 bamanzi Commented @ 2008-09-23 10:56 amReply to this comment

    Mandriva在国内有更新源么?不能只有光盘镜像

  13. 13 Centeur Commented @ 2008-09-23 12:02 pmReply to this comment

    Archlinux 的 pacman、Gentoo 的 emerge

  14. 14 Arak Commented @ 2008-09-23 12:54 pmReply to this comment

    不错,有时候临时用别的系统时可以有个对照

  15. 15 muzuiget Commented @ 2008-09-23 1:07 pmReply to this comment

    对我非常有用,赞啊。

  16. 16 bbbush Commented @ 2008-09-23 1:09 pmReply to this comment

    缺 smart 和 package-kit 命令行,不过 pk-… 什么的命令实在不好记。把 dbus 消息列出来?…

  17. 17 bamanzi Commented @ 2008-09-23 4:28 pmReply to this comment

    虽然有了这些,但作为一个习惯了debian的用户,有一个头疼的问题是,我不知道怎样去找到类似Debian里面testing或者unstable的源(要求里面的软件是比较快地更新的,而不是期望整个distribution下个版本在半年或者一年之后发行我才能用上某个软件的新版本)。比如, fedora和mandriva的源是怎样的? 甚至ubuntu的源是怎样我也不清楚。

  18. 18 Frank Deng Commented @ 2008-09-24 12:01 pmReply to this comment

    再加上
    搜索某个文件属于哪个包,redhat - rpm -qf, debian, dpkg -S
    搜索某个命令或者文件属于哪个包(在没有安装这个包的情况下)
    搜索某个包依赖于哪些包

  19. 19 wyt Commented @ 2008-09-25 11:13 amReply to this comment

    Gentoo列出已安装的包应该是cat /var/lib/portage/world 或者 eix -I

  20. 20 yymailb Commented @ 2008-09-26 10:49 pmReply to this comment

    pacman -Qs
    应该是
    pacman -Ss