第三方软件清单应仅含用户手动安装的非系统应用,通过apt list --installed | grep "manual"提取,并用dpkg -l与官方基准包diff剔除预装软件,再合并Snap/Flatpak列表,最终sort -u生成clean、可复用的thirdparty-all.txt。

你需要一份干净、可复用的第三方软件清单,用于迁移、审计或向同事交接环境,而不是混着系统组件和内核模块的冗长包列表。
用apt list筛选出真正由用户安装的软件
这一步直接调用APT的安装标记机制,能准确区分“手动安装”和“自动依赖”,避免把libssl1.1这类底层库也塞进你的第三方清单里。
打开终端(Ctrl + Alt + T),执行:
apt list --installed | grep -v "\-dev\|lib\|fonts\|data\|common\|i386" | grep "manual" | awk -F/ '{print $1}' | sort -u > thirdparty-manual.txt
注意:【grep "manual" 是关键,它只保留用户主动执行 apt install 命令装上的包,不包括系统自动拉进来的依赖】。命令末尾的 sort -u 会去重并按字母排序,方便后续查阅。
用dpkg -l过滤掉系统预装包,提取新增应用
银河麒麟桌面版V10/V11出厂时自带大量基础软件(如ukui-control-center、kylin-installer),这些不属于“第三方”。我们通过比对默认镜像的基准包列表来剔除它们。
第一步:获取当前系统所有已安装deb包名称
dpkg -l | awk '/^ii/ {print $2}' | sort > all-packages.txt
第二步:下载官方V11 SP1标准镜像的基准包清单(假设已存为 kylin-v11-sp1-base.txt)
diff all-packages.txt kylin-v11-sp1-base.txt | grep "^>" | cut -d' ' -f2 > thirdparty-diff.txt
第三步:合并前两步结果,去重后生成最终清单
cat thirdparty-manual.txt thirdparty-diff.txt | sort -u > thirdparty-final.txt
从麒麟软件商店导出带图标和分类的可视化清单
如果你需要给非技术人员看,或者要附在汇报材料里,图形界面导出的CSV更直观。
方法一:启动麒麟软件商店 → 点击顶部【软件管理】→ 切换到【历史安装】标签页 → 右键空白处 → 选择【导出安装记录】→ 保存为 thirdparty-store.csv
方法二:若【历史安装】为空,说明未启用商店安装追踪,改用此命令补全:
journalctl -u kylin-software-center --since "2026-01-01" | grep "install.*package" | awk '{print $10}' | sort -u > thirdparty-journal.txt
注意:【journalctl 命令需sudo权限才能读取完整日志,普通用户可能只能看到最近7天记录】。
排除Snap和Flatpak等非deb格式的第三方软件
部分用户会手动添加Snap或Flathub源安装软件,这些完全不在dpkg/apt体系内,必须单独抓取。
① 检查snapd是否启用:
systemctl is-active snapd
② 若返回active,则执行:
snap list --all | awk 'NR>1 {print $1 "/" $2}' | sort -u >> thirdparty-final.txt
③ 检查Flatpak是否安装:
flatpak list --app 2>/dev/null | awk '{print $1}' | sort -u >> thirdparty-final.txt
最后运行:
sort -u thirdparty-final.txt > thirdparty-all.txt

















