You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出系统中已安装的非transitive packages?

如何列出系统中已安装的非transitive packages?

嘿,这个问题我太熟悉了!在Debian、Ubuntu这类依赖apt/aptitude管理软件包的系统里,要筛选出那些不是作为依赖被动安装的「手动安装包」(也就是你说的非transitive packages),有几个实用的方法:

用apt命令快速获取

直接在终端里敲下面的命令就行,它会输出所有你手动安装的包,自动排除那些因依赖关系被拉进来的transitive packages:

apt-mark showmanual

这个命令的输出非常简洁,就是纯包名列表,方便你直接查看或者导出到文件里。

用aptitude的两种方式

如果你更习惯用aptitude,也有对应的方法:

  • 命令行模式:运行下面的命令,通过筛选条件精准定位目标包:
    aptitude search '~i!~M'
    
    这里的参数简单解释下:~i代表已安装的包,!~M代表排除被标记为「自动安装」的包(也就是transitive依赖包),两者组合就得到了你要的结果。
  • 交互式界面:打开aptitude后,按下小写的l键调出搜索框,输入~i!~M并回车,就能看到筛选好的包列表了,界面里还会附带包的版本、简短描述等信息。

另外补充个小技巧:要是你不小心把某个手动安装的包标记成了自动,或者想把自动安装的包改成手动管理,可以用下面的命令调整:

  • 标记为自动安装:apt-mark auto <包名>
  • 标记为手动安装:apt-mark manual <包名>

备注:内容来源于stack exchange,提问作者tribbloid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:29:07