当前位置: 首页 > 科技观察

瞥见你安装的Linux软件包

时间:2023-03-18 23:13:32 科技观察

这些最有用的命令让你了解在你的类DebianLinux系统上安装的软件包。你有没有想过你的Linux系统上是如何安装成千上万的软件包的?是的,我说的是“千”。即使是相当普通的Linux系统也可能安装了数千个软件包。有很多方法可以获取这些软件包的详细信息。首先,要快速获取基于Debian的发行版(例如Ubuntu)上已安装的软件包数量,请使用aptlist--installed,如下所示:$aptlist--installed|wc-l2067这个数字实际上多了一个,因为输出包括“Listing...”作为第一行。这个命令会更准确:$aptlist--installed|grep-v"^清单"|wc-l2066要获取所有这些软件包的详细信息,请按以下方式浏览列表:$aptlist--installed|更多清单..a11y-profile-manager-indicator/xenial,now0.1.10-0ubuntu3amd64[installed]account-plugin-aim/xenial,now3.12.11-0ubuntu3amd64[installed]account-plugin-facebook/xenial,xenial,现在0.12+16.04.20160126-0ubuntu1所有[已安装]account-plugin-flickr/xenial,xenial,现在0.12+16.04.20160126-0ubuntu1所有[已安装]account-plugin-google/xenial,xenial,现在0.12+16.04.201601260ubuntu1all[installed]account-plugin-jabber/xenial,now3.12.11-0ubuntu3amd64[installed]account-plugin-salut/xenial,now3.12.11-0ubuntu3amd64[installed]这个需要多观察细节——尤其是让你的眼睛在所有2000多个文件中游走。它包含包名称、版本等,但并没有以我们人类最容易解析的方式显示。dpkg-query使描述更容易理解,但是这些描述会填满你的命令窗口,除非窗口很宽。因此,为了使本文更易于阅读,下面的数据显示已拆分为左右两侧。左:$dpkg-query-l|moreDesired=未知/安装/删除/清除/保留|Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend|/Err?=(none)/Reinst-required(Status,Err:uppercase=bad)||/名称版本+++-==============================================-=================================-iia11y-profile-manager-indicator0.1.10-0ubuntu3ii帐户插件-aim3.12.11-0ubuntu3ii帐户插件-facebook0.12+16.04.20160126-0ubuntu1ii帐户插件-flickr0.12+16.04.20160126-0ubuntu1ii帐户插件-google0.12+16.04.20160126-0ubuntu10ubuntu1ii帐户-插件-jabber3.12.11-0ubuntu3iiaccount-plugin-salut3.12.11-0ubuntu3iiaccount-plugin-twitter0.12+16.04.20160126-0ubuntu1rcaccount-plugin-windows-live0.11+14.04.20140409.1-0ubuntu2右侧:架构说明============-=====================================================================amd64辅助功能配置文件管理器-Unity桌面指示器用于单点登录的控制中心帐户插件-flickrall用于单点登录的GNOME控制中心帐户插件amd64用于Jabber/XMPPamd64的消息帐户插件用于本地XMPP(Salut)用于单点登录的所有GNOME控制中心帐户插件-twitterallGNOME控制中心帐户untpluginforsinglesignon-windowslive每行开头的ii和rc名称(见上面的“左侧”)是包状态指示器最后一个字母表示包的预期状态:u-未知i-已安装r-moved卸载/卸载p-清除(还有配置文件)h-保持第二个代表包的当前状态:n-未安装i-已安装c-配置文件(仅安装配置文件)U-未打包F-半配置(由于某种原因配置失败)h–half-installed(由于某种原因配置失败)W–waitingfortrigger(包等待来自另一个包的触发器)t–pendingtrigger(包被触发)在一个R添加到通常的两个字符字段的末尾表示需要重新安装。你可能永远不会遇到这些。快速查看整个包状态的一种简单方法是计算不同状态下包的数量:$dpkg-query-l|尾-n+6|awk'{print$1}'|排序|uniq-c2066ii134rc我从上面的dpkg-query输出中排除了前五行,因为这些是标题行并且会混淆输出。这两行基本上告诉我们,在这个系统上,应该安装了2066个包,同时删除了134个其他包,留下了配置文件。您始终可以删除软件包的剩余配置文件:$sudodpkg--purgexfont-mathml请注意,如果软件包二进制文件和配置文件都已安装,则上述命令将同时删除它们。