原文:https://wiki.archlinux.org/index.php/Pacman/Rosetta
https://old-en.opensuse.org/Software_Management_Command_Line_Comparison

http://dnf.readthedocs.org/en/latest/cli_vs_yum.html

https://en.wikipedia.org/wiki/Package_manager

ty co Action 行动 Arch Red Hat/Fedora Debian/Ubuntu SLES/openSUSE Gentoo ty
Basic operations 基本操作 1 Install a package(s) by name 按名称安装软件包 pacman -S dnf install apt install zypper install
zypper in
emerge [-a] Basic operations 基本操作
2 Remove a package(s) by name 按名称删除包 pacman -Rs dnf remove apt remove zypper remove
zypper rm
emerge -C
3 Search for package(s) by searching the expression in name, description, short description. What exact fields are being searched by default varies in each tool. Mostly options bring tools on par. 通过在名称,描述,简短描述中搜索表达式来搜索包。默认搜索的确切字段在每个工具中都有所不同。大多数选项带来了相同的工具。 pacman -Ss dnf search apt search zypper search
zypper se [-s]
emerge -S
4 Upgrade Packages - Install packages which have an older version already installed 升级包 - 安装已安装旧版本的包 pacman -Syu dnf upgrade apt update && apt upgrade zypper update zypper up emerge -u world
5 Upgrade Packages - Another form of the update command, which can perform more complex updates -- like distribution upgrades. When the usual update command will omit package updates, which include changes in dependencies, this command can perform those updates. 升级包 - 另一种形式的更新命令,可以执行更复杂的更新 - 例如分发升级。当通常的更新命令将省略包更新(包括依赖关系的更改)时,此命令可以执行这些更新。 pacman -Syu dnf distro-sync apt update && apt dist-upgrade zypper dup emerge -uDN world
6 Clean up all local caches. Options might limit what is actually cleaned. Autoclean removes only unneeded, obsolete information. 清理所有本地缓存 。选项可能会限制实际清理的内容。 Autoclean仅删除不需要的过时信息。 pacman -Sc
pacman -Scc
dnf clean all apt autoclean
apt clean
zypper clean eclean distfiles
7 Remove dependencies that are no longer needed, because e.g. the package which needed the dependencies was removed. 删除不再需要的依赖项,例如删除了需要依赖项的包。 pacman -Qdtq | pacman -Rs - dnf autoremove apt autoremove zypper rm -u emerge --depclean
8 Remove packages no longer included in any repositories. 删除不再包含在任何存储库中的包。 pacman -Qmq | pacman -Rs - dnf repoquery --extras aptitude purge '~o'    
9 Mark a package previously installed as a dependency as explicitly required. 将先前作为依赖项安装的包标记为明确要求。 pacman -D --asexplicit dnf mark install apt-mark manual   emerge --select
10 Install package(s) as dependency / without marking as explicitly required. 安装包作为依赖/没有明确要求的标记。 pacman -S --asdeps dnf install => dnf mark remove apt-mark auto   emerge -1
11 Only downloads the given package(s) without unpacking or installing them 仅下载给定的软件包而无需解压缩或安装它们 pacman -Sw dnf download apt install --download-only (into the package cache)
apt download (bypass the package cache)
zypper --download-only emerge --fetchonly
12 Start a shell to enter multiple commands in one session 启动shell以在一个会话中输入多个命令     apt-config shell zypper shell  
13 Show a log of actions taken by the software management. 显示软件管理所采取的操作的日志。 cat /var/log/pacman.log dnf history cat /var/log/dpkg.log cat /var/log/zypp/history located in /var/log/portage
14 Get a dump of the whole system information - Prints, Saves or similar the current state of the package management system. Preferred output is text or XML. (Note: Why either-or here? No tool offers the option to choose the output format.) 获取整个系统信息的转储 - 打印,保存或类似包管理系统的当前状态。首选输出是文本或XML。 (注意:为什么或者在这里?没有工具提供选择输出格式的选项。) (see /var/lib/pacman/local) (see /var/lib/rpm/Packages) apt-cache stats n/a emerge --info
15 e-mail delivery of package changes 电子邮件传递包更改     apt install apt-listchanges    
                   
Querying specific packages 查询特定包 1 Show all or most information about a package. The tools' verbosity for the default command vary. But with options, the tools are on par with each other. 显示有关包的所有或大部分信息。 工具对默认命令的详细程度各不相同。 但是通过选项,这些工具彼此相同。 pacman -[S|Q]i dnf list, dnf info apt show / apt-cache policy zypper info zypper if emerge -S; emerge -pv; eix Querying specific packages 查询特定包
2 Display local package information: Name, version, description, etc. 显示本地包信息:名称,版本,描述等。 pacman -Qi rpm -qi / dnf info installed dpkg -s / aptitude show zypper info; rpm -qi emerge -pv and emerge -S
3 Display remote package information: Name, version, description, etc. 显示远程包信息:名称,版本,描述等。 pacman -Si dnf info apt-cache show / aptitude show zypper info emerge -pv and emerge -S or equery m (meta)
4 Display files provided by local package 显示本地包提供的文件 pacman -Ql rpm -ql dpkg -L rpm -Ql equery files
5 Display files provided by a remote package 显示远程包提供的文件 pacman -Fl dnf repoquery -l or repoquery -l (from package yum-utils) apt-file list $pattern   pfl
6 Query the package which provides FILE 查询提供FILE的包 pacman -Qo rpm -qf (installed only) or dnf provides (everything) or repoquery -f (from package yum-utils) dpkg -S / dlocate zypper search -f equery belongs
7 List the files that the package holds. Again, this functionality can be mimicked by other more complex commands. 列出程序包包含的文件。 同样,此功能可以通过其他更复杂的命令来模仿。 pacman -Ql 
pacman -Fl
dnf repoquery -l dpkg-query -L rpm -ql equery files
8 Displays packages which provide the given exp. aka reverse provides. Mainly a shortcut to search a specific field. Other tools might offer this functionality through the search command. 显示提供给定exp的包。 又名反向提供。 主要是搜索特定字段的快捷方式。 其他工具可能通过搜索命令提供此功能。 pacman -Fo dnf provides apt-file search zypper what-provides zypper wp equery belongs (only installed packages); pfl
9 Search all packages to find the one which holds the specified file. auto-apt is using this functionality. 搜索所有包以查找包含指定文件的包。 auto-apt正在使用此功能。 pacman -Fs dnf provides apt-file search zypper search -f equery belongs
10 Show the changelog of a package 显示包的更改日志 pacman -Qc rpm -q --changelog apt-get changelog rpm -q --changelog equery changes -f
                   
Querying package lists 查询包列表 1 Search for package(s) by searching the expression in name, description, short description. What exact fields are being searched by default varies in each tool. Mostly options bring tools on par. 通过在名称,描述,简短描述中搜索表达式来搜索包。默认搜索的确切字段在每个工具中都有所不同。大多数选项带来了相同的工具。 pacman -Ss dnf search apt search zypper search zypper se [-s] emerge -S Querying package lists 查询包列表
2 Lists packages which have an update available. Note: Some provide special commands to limit the output to certain installation sources, others use options. 列出具有可用更新的包。注意:有些命令提供特殊命令来限制输出到某些安装源,其他命令则使用选项。 pacman -Qu dnf list updates, dnf check-update apt-get upgrade -> n zypper list-updates zypper patch-check (just for patches) emerge -uDNp world
3 Display a list of all packages in all installation sources that are handled by the packages management. Some tools provide options or additional commands to limit the output to a specific installation source. 显示由包管理处理的所有安装源中的所有包的列表。某些工具提供选项或其他命令以限制输出到特定安装源。 pacman -Sl dnf list available apt-cache dumpavail apt-cache dump (Cache only) apt-cache pkgnames zypper packages emerge -ep world
4 Generates a list of installed packages 生成已安装包的列表 pacman -Q dnf list installed dpkg --list | grep ^i zypper search --installed-only emerge -ep world
5 List packages that are installed but are not available in any installation source (anymore). 列出已安装但在任何安装源(不再)中都不可用的软件包。 pacman -Qm dnf list extras deborphan zypper se -si | grep 'System Packages' eix-test-obsolete
6 List packages that were recently added to one of the installation sources, i.e. which are new to it. 列出最近添加到其中一个安装源的软件包,即新的安装源。 (none) dnf list recent aptitude search '~N' / aptitude forget-new n/a eix-diff
7 List installed local packages along with version 列出已安装的本地软件包以及版本 pacman -Q rpm -qa dpkg -l zypper search -s; rpm -qa emerge -e world
8 Search locally installed package for names or descriptions 在本地安装的包中搜索名称或描述 pacman -Qs rpm -qa '*<str>*' aptitude search '~i(~n $name|~d $description)'   eix -S -I
9 List packages not required by any other package 列出任何其他包不需要的包 pacman -Qt package-cleanup --all --leaves deborphan -anp1    
10 List packages installed explicitly (not as dependencies) 列出明确安装的包(不是依赖项) pacman -Qe dnf history userinstalled apt-mark showmanual    
11 List packages installed automatically (as dependencies) 列出自动安装的包(作为依赖项) pacman -Qd   apt-mark showauto    
                   
Querying package dependencies 查询包依赖项 1 Display packages which require X to be installed, aka show reverse dependencies. 显示需要安装X的软件包,也就是显示反向依赖项。 pacman -Sii dnf repoquery --alldeps --whatrequires or repoquery --whatr[equires] apt-cache rdepends / aptitude search ~D$pattern zypper search --requires equery depends Querying package dependencies 查询包依赖项
2 Display packages which conflict with given expression (often package). Search can be used as well to mimic this function. 显示与给定表达式(通常是包)冲突的包。 也可以使用搜索来模仿此功能。   dnf repoquery --conflicts aptitude search '~C$pattern'    
3 List all packages which are required for the given package, aka show dependencies. 列出给定包所需的所有包,即show dependencies。 pacman -[S|Q]i dnf repoquery --requires or repoquery -R apt-cache depends / apt-cache show zypper info --requires emerge -ep
4 List what the current package provides 列出当前包提供的内容   dnf provides dpkg -s / aptitude show zypper info --provides equery files
5 List all packages that require a particular package 列出需要特定包的所有包   dnf repoquery --alldeps --whatrequires aptitude search ~D{depends,recommends,suggests}:$pattern / aptitude why zypper search --requires equery depends -a
6 Display all packages that the specified packages obsoletes. 显示指定包废弃的所有包。   dnf list obsoletes apt-cache show    
7 Generates an output suitable for processing with dotty for the given package(s). 生成适合于使用dotty处理给定包的输出。     apt-cache dotty n/a  
                   
Installation sources management 安装源管理 1 Installation sources management 安装源管理 ${EDITOR} /etc/pacman.conf ${EDITOR} /etc/yum.repos.d/${REPO}.repo ${EDITOR} /etc/apt/sources.list ${EDITOR} /etc/zypp/repos.d/${REPO}.repo layman Installation sources management 安装源管理
2 Add an installation source to the system. Some tools provide additional commands for certain sources, others allow all types of source URI for the add command. Again others, like apt and dnf force editing a sources list. apt-cdrom is a special command, which offers special options design for CDs/DVDs as source. 将安装源添加到系统。 某些工具为某些源提供附加命令,其他工具允许add命令的所有类型的源URI。 其他人,比如apt和dnf强制编辑源列表。 apt-cdrom是一个特殊的命令,它提供CD / DVD的特殊选项设计作为源。 /etc/pacman.conf /etc/yum.repos.d/*.repo apt-cdrom add zypper service-add layman, overlays
3 Refresh the information about the specified installation source(s) or all installation sources. 刷新有关指定安装源或所有安装源的信息。 pacman -Sy (always upgrade the whole system afterwards) dnf clean expire-cache && dnf check-update apt-get update zypper refresh zypper ref emerge --sync;layman -S
4 Prints a list of all installation sources including important information like URI, alias etc. 打印所有安装源的列表,包括URI,别名等重要信息。 cat /etc/pacman.d/mirrorlist cat /etc/yum.repos.d/* apt-cache policy zypper service-list layman -l
5 List all packages from a certain repo 列出某个仓库中的所有包裹 paclist <repo>        
6 Disable an installation source for an operation 禁用操作的安装源   dnf --disablerepo=     emerge package::repo-to-use
7 Download packages from a different version of the distribution than the one installed. 从分发版本的不同版本下载软件包。   dnf --releasever= apt-get install -t release package/ apt-get install package/release (deps not covered)   echo "category/package ~amd64" >> /etc/portage/package.keywords && emerge package
                   
Overrides 覆盖 1 Add a package lock rule to keep its current state from being changed 添加程序包锁定规则以防止其当前状态发生更改 /etc/pacman.conf
modify IgnorePkg array
dnf.conf <--”exclude” option (add/amend) apt-mark hold pkg Put package name in /etc/zypp/locks, or zypper al /etc/portage/package.mask Overrides 覆盖
2 Delete a package lock rule 删除包锁定规则 remove package from IgnorePkg line in /etc/pacman.conf   apt-mark unhold pkg Remove package name from /etc/zypp/locks or zypper rl /etc/portage/package.mask (or package.unmask)
3 Show a listing of all lock rules 显示所有锁定规则的列表 cat /etc/pacman.conf   /etc/apt/preferences View /etc/zypp/locks or zypper ll cat /etc/portage/package.mask
4 Set the priority of the given package to avoid upgrade, force downgrade or to overwrite any default behavior. Can also be used to prefer a package version from a certain installation source. 设置给定包的优先级以避免升级,强制降级或覆盖任何默认行为。 也可用于优先选择某个安装源的软件包版本。 ${EDITOR} /etc/pacman.conf
Modify HoldPkg and/or IgnorePkg arrays
  /etc/apt/preferences, apt-cache policy zypper mr -p ${EDITOR} /etc/portage/package.keywords
Add a line with =category/package-version
5 Remove a previously set priority 删除先前设置的优先级     /etc/apt/preferences zypper mr -p ${EDITOR} /etc/portage/package.keywords
remove offending line
6 Show a list of set priorities. 显示设置优先级列表。     apt-cache policy /etc/apt/preferences zypper lr -p cat /etc/portage/package.keywords
7 Ignores problems that priorities may trigger. 忽略优先级可能触发的问题。       n/a  
                   
Verification and repair 验证和修复 1 Verify single package 验证单个包 pacman -Qk[k] rpm -V debsums rpm -V equery check Verification and repair 验证和修复
2 Verify all packages 验证所有包 pacman -Qk[k] rpm -Va debsums rpm -Va equery check
3 Reinstall given Package - Will reinstall the given package without dependency hassle. 重新安装给定的包 - 将重新安装给定的包没有依赖性麻烦。 pacman -S dnf reinstall apt install --reinstall zypper install --force emerge -1O
4 Verify dependencies of the complete system. Used if installation process was forcefully killed. 验证整个系统的依赖关系。 如果强制终止安装过程,则使用。 pacman -Dk dnf repoquery --requires apt-get check zypper verify emerge -uDN world
5 Use some magic to fix broken dependencies in a system 使用一些魔法来修复系统中破坏的依赖项 pacman dep level - pacman -Dk, shared lib level - findbrokenpkgs or lddd dnf repoquery --unsatisfied apt-get --fix-broken
aptitude install
zypper verify revdep-rebuild
6 Add a checkpoint to the package system for later rollback 将检查点添加到包系统以便以后回滚   (unnecessary, done on every transaction)   n/a  
7 Remove a checkpoint from the system 从系统中删除检查点 N/A N/A   n/a  
8 Provide a list of all system checkpoints 提供所有系统检查点的列表 N/A dnf history list   n/a  
9 Rolls entire packages back to a certain date or checkpoint. 将整个包裹卷回特定日期或检查点。 N/A dnf history rollback   n/a  
10 Undo a single specified transaction. 撤消单个指定的事务。 N/A dnf history undo   n/a  
                   
Using package files and building packages 使用包文件和构建包 1 Query a package supplied on the command line rather than an entry in the package management database 查询命令行上提供的包而不是包管理数据库中的条目 pacman -Qp rpm -qp dpkg -I     Using package files and building packages 使用包文件和构建包
2 List the contents of a package file 列出包文件的内容 pacman -Qpl rpmls rpm -qpl dpkg -c rpm -qpl  
3 Installs local package file, e.g. app.rpm and uses the installation sources to resolve dependencies 安装本地包文件,例如 app.rpm并使用安装源来解决依赖关系 pacman -U dnf install apt install zypper in emerge
4 Updates package(s) with local packages and uses the installation sources to resolve dependencies 使用本地软件包更新软件包,并使用安装源来解决依赖关系 pacman -U dnf upgrade debi   emerge
5 Add a local package to the local package cache mostly for debugging purposes. 将本地程序包添加到本地程序包高速缓存主要用于调试目的。 cp $filename /var/cache/pacman/pkg/   apt-cache add n/a cp $filename /usr/portage/distfiles
6 Extract a package 提取包 tar -Jxvf rpm2cpio | cpio -vid dpkg-deb -x rpm2cpio | cpio -vid tar -jxvf
7 Install/Remove packages to satisfy build-dependencies. Uses information in the source package. 安装/删除包以满足构建依赖性。 使用源包中的信息。 automatic dnf builddep apt-get build-dep zypper si -d emerge -o
8 Display the source package to the given package name(s) 将源包显示给给定的包名称   dnf repoquery -s apt-cache showsrc n/a  
9 Downloads the corresponding source package(s) to the given package name(s) 将相应的源包下载到给定的包名称 Use ABS && makepkg -o dnf download --source apt-get source / debcheckout zypper source-install emerge --fetchonly
10 Build a package 构建一个包 makepkg -s rpmbuild -ba (normal)
mock (in chroot)
debuild rpmbuild -ba; build; osc build ebuild; quickpkg
11 Check for possible packaging issues 检查可能的包装问题 namcap rpmlint lintian rpmlint repoman

 

Actionzypper[10]pacmanaptdnf (yum)portage
install package zypper in PKG pacman -S PACKAGE apt install PACKAGE yum install PACKAGE emerge PACKAGE
remove package zypper rm -RU PKG pacman -R PACKAGE apt remove PACKAGE dnf remove --nodeps PACKAGE emerge -C PACKAGE or 
emerge --unmerge PACKAGE
remove package+orphans zypper rm -u --force-resolution PKG pacman -Rs PACKAGE apt autoremove PACKAGE dnf remove PACKAGE emerge -c PACKAGE or 
emerge --depclean PACKAGE
update software database zypper ref pacman -Sy apt update yum check-update emerge --sync
show updatable packages zypper lu pacman -Qu apt list --upgradable yum check-update emerge -avtuDN --with-bdeps=y @world or 
emerge --update --pretend @world
delete orphans+config zypper rm -u pacman -Rsn $(pacman -Qdtq) apt autoremove dnf erase PKG emerge --depclean
show orphans zypper pa --orphaned --unneeded pacman -Qdt   package-cleanup --quiet --leaves --exclude-bin emerge -caD or 
emerge --depclean --pretend
update all zypper up pacman -Syu apt upgrade yum update emerge --update --deep --with-bdeps=y @world