技术解析

有没什么简单的方法,列出 Debian 系统里自初始安装以来,所有手工新安装的包列表?
0
2021-06-23 14:27:38
idczone

但不包括安装后又删除的,也不包括因依赖关系而自动安装的。

我知道可以打开 /var/log/apt/history.log 来检索,写个脚本来去除那些已经被删除的,但是,我想知道,有没有现成的小工具呢?


Ubuntu
apt-mark showmanual

这个嘛,Debian 里也有,但是,它显示的结果里,连初始安装(通过安装器全新安装系统)时安装上去的包也在里面,这个没啥意义。
我想要这个列表,是想下次如果重装了,直接 apt install `cat pkg_lists.txt`,安装一个跟目前用的环境一样的,虽然可以直接用整个列表,反正也不会重复安装包,但这不完美。。。

反正是手动安装的,自己每装一个就记下来吧。

这样做不 geek

你的目的如果是重装一个一样的系统 那你断思路感觉不太对 系统安装的时候就有很多选择的 然后手动安装断包还有版本和配置 不可能简单的拿一个列表就能得到一样的系统

当然,随着版本的迭代,确实不太可能完全一样,但是,主要软件包做到大体上差不多吧。



唉,确实不够 geek,但不怕笑话,我还真的随手搞了个 txt 来记录,但是,有时候就忘记了,所以,不齐全。

你那么在乎初始包做什么,重复安装一边有什么危害?

重装的时候,把备份的列表和当前的列表 comm 一下就可以了。

docker 可以不?虽然我没用过ლ(╹◡╹ლ)

用 Dockerfile 来构建?或者不要手动从 shell 装,装的全部放在脚本里面,运行脚本来装

几年都不用装一次 debian 三屏幕用到现在 只要硬盘不坏 又不会挂 闲得

emmm,或者,你可以重写一下 apt-get 或者 aptitude。就是每次手动的时候,都加个参数什么的,让它把安装成功的软件写进你的文件。

apt install logwatch
logwatch --detail High --service all --format html --filename /var/www/html/log.html --range all

ARCH 用户表示
怎么好像所有的包都是我自己装的(害怕

我目前用的这个确实有一年多了,但最近把硬盘从 amd/bios/mbr 迁移到了 intel/uefi 系统上,打算换成 uefi/gpt 重新装一次,我知道有办法不损坏数据切换成 gpt,但换到 uefi 貌似不方便,我目前没有独立的 /boot 分区。

arch 真有必要随时备份一下包列表,以便下次滚挂后重装。。。:D

多谢,日志文件我更喜欢通过 grep & awk & sed 来控制显示。。。:D

这应该是目前最省事的办法了,将当前系统的包列表备份下来,新装后 sort/diff 一下,然后把缺少的包全装上,不管是不是因依赖关系而装上的。

arch 我是分析 pacman 的日志来确定的,但是如 15#所说:
怎么好像所有的包都是我自己装的(害怕

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服