V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zw
V2EX  ›  Linux

有没什么简单的方法,列出 Debian 系统里自初始安装以来,所有手工新安装的包列表?

  •  
  •   zw · 2018-04-26 17:48:21 +08:00 · 4099 次点击
    这是一个创建于 2403 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    20 条回复    2018-04-27 11:18:33 +08:00
    Fishdrowned
        1
    Fishdrowned  
       2018-04-26 18:58:53 +08:00   ❤️ 1
    Ubuntu
    apt-mark showmanual
    zw
        2
    zw  
    OP
       2018-04-26 19:44:08 +08:00
    @Fishdrowned 这个嘛,Debian 里也有,但是,它显示的结果里,连初始安装(通过安装器全新安装系统)时安装上去的包也在里面,这个没啥意义。

    我想要这个列表,是想下次如果重装了,直接 apt install `cat pkg_lists.txt`,安装一个跟目前用的环境一样的,虽然可以直接用整个列表,反正也不会重复安装包,但这不完美。。。
    daigouspy
        3
    daigouspy  
       2018-04-26 19:47:15 +08:00 via Android
    反正是手动安装的,自己每装一个就记下来吧。
    Jakesoft
        4
    Jakesoft  
       2018-04-26 20:39:37 +08:00 via iPhone
    @daigouspy 这样做不 geek
    wd
        5
    wd  
       2018-04-26 20:43:27 +08:00 via iPhone
    @zw 你的目的如果是重装一个一样的系统 那你断思路感觉不太对 系统安装的时候就有很多选择的 然后手动安装断包还有版本和配置 不可能简单的拿一个列表就能得到一样的系统
    zw
        6
    zw  
    OP
       2018-04-26 20:52:49 +08:00
    @wd 当然,随着版本的迭代,确实不太可能完全一样,但是,主要软件包做到大体上差不多吧。
    zw
        7
    zw  
    OP
       2018-04-26 20:54:39 +08:00
    @daigouspy
    @Jakesoft

    唉,确实不够 geek,但不怕笑话,我还真的随手搞了个 txt 来记录,但是,有时候就忘记了,所以,不齐全。
    s82kd92l
        8
    s82kd92l  
       2018-04-26 23:53:11 +08:00
    @zw 你那么在乎初始包做什么,重复安装一边有什么危害?
    goreliu
        9
    goreliu  
       2018-04-26 23:56:51 +08:00
    重装的时候,把备份的列表和当前的列表 comm 一下就可以了。
    jessehzj
        10
    jessehzj  
       2018-04-27 00:50:20 +08:00 via Android
    docker 可以不?虽然我没用过ლ(╹◡╹ლ)
    doun
        11
    doun  
       2018-04-27 06:39:16 +08:00 via Android
    用 Dockerfile 来构建?或者不要手动从 shell 装,装的全部放在脚本里面,运行脚本来装
    keramist
        12
    keramist  
       2018-04-27 08:18:21 +08:00 via Android
    @zw 几年都不用装一次 debian 三屏幕用到现在 只要硬盘不坏 又不会挂 闲得
    wlwood
        13
    wlwood  
       2018-04-27 09:18:58 +08:00
    emmm,或者,你可以重写一下 apt-get 或者 aptitude。就是每次手动的时候,都加个参数什么的,让它把安装成功的软件写进你的文件。
    ucun
        14
    ucun  
       2018-04-27 09:21:34 +08:00
    apt install logwatch

    logwatch --detail High --service all --format html --filename /var/www/html/log.html --range all
    shihira
        15
    shihira  
       2018-04-27 09:31:49 +08:00
    ARCH 用户表示

    怎么好像所有的包都是我自己装的(害怕
    zw
        16
    zw  
    OP
       2018-04-27 10:21:36 +08:00
    @keramist 我目前用的这个确实有一年多了,但最近把硬盘从 amd/bios/mbr 迁移到了 intel/uefi 系统上,打算换成 uefi/gpt 重新装一次,我知道有办法不损坏数据切换成 gpt,但换到 uefi 貌似不方便,我目前没有独立的 /boot 分区。
    zw
        17
    zw  
    OP
       2018-04-27 10:23:24 +08:00
    @shihira arch 真有必要随时备份一下包列表,以便下次滚挂后重装。。。:D
    zw
        18
    zw  
    OP
       2018-04-27 10:24:47 +08:00
    @ucun 多谢,日志文件我更喜欢通过 grep & awk & sed 来控制显示。。。:D
    zw
        19
    zw  
    OP
       2018-04-27 10:28:13 +08:00
    @goreliu 这应该是目前最省事的办法了,将当前系统的包列表备份下来,新装后 sort/diff 一下,然后把缺少的包全装上,不管是不是因依赖关系而装上的。
    Osk
        20
    Osk  
       2018-04-27 11:18:33 +08:00 via Android
    arch 我是分析 pacman 的日志来确定的,但是如 15#所说:

    怎么好像所有的包都是我自己装的(害怕
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2697 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:28 · PVG 13:28 · LAX 21:28 · JFK 00:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.