给定的包和依赖项需要多少空间?

jos*_*lvo 23 package-management apt

给定一个包名,我想知道如果包及其依赖项被删除,将会释放多少空间。

由于依赖项可能在包之间共享,因此正确的放置方式可能是:一个包占用多少空间,包括仅由该包使用的所有依赖项

我更喜欢 CLI 解决方案,因为我会在脚本中使用它们

tot*_*tti 19

获取程序及其所有依赖项使用的空间的最简单且无错误的方法是使用 apt 本身。请注意,其他程序未使用但随包安装的依赖项不会被考虑,因为它们不会被删除。
简单地

sudo apt-get --assume-no autoremove PACKAGENAME
Run Code Online (Sandbox Code Playgroud)

或者

apt-space-used-by() { sudo apt-get --assume-no autoremove $@ | grep freed | cut -d' ' -f4-5 ;}
Run Code Online (Sandbox Code Playgroud)

用法 apt-space-used-by PACKAGENAME

这个python 脚本看起来很有希望(bigpkg - 查找需要大量系统空间的包)


Pan*_*dya 5

  • 只需尝试以下命令(通过清除释放磁盘空间):

    echo -n | sudo apt-get purge <package> | grep "disk space will be freed"
    
    Run Code Online (Sandbox Code Playgroud)

    或者

    echo -n | sudo apt-get purge --auto-remove <package> | grep "disk space will be freed"
    
    Run Code Online (Sandbox Code Playgroud)

    其中,替换<package>你的package-name(例如:gimp

    不会清除具有依赖项的,而只会给出grep!




  • 使用dpigs(来自 man dpigs):

    dpigs - 显示哪些已安装的软件包占用最多空间

    dpigs 按大小对已安装的包进行排序并输出最大的包。默认 dpigs 显示最大的 10 个包。你可以改变
       这个值通过使用 -n 选项(见“选项”)。该信息取自带有 grep-status(1) 的 dpkg 状态文件

    这可以通过以下方式安装: 运行命令示例sudo apt-get install debian-goodies

    $ dpigs
    115449 wine1.6-i386
    110356 linux-image-extra-3.13.0-24-generic
    103828 libreoffice-core
    86240 fonts-horai-umefont
    74016 libreoffice-common
    72709 liboxideqtcore0
    61736 linux-headers-3.13.0-24
    60821 libpyzy-1.0-0
    59477 firefox
    59443 thunderbird
    
    Run Code Online (Sandbox Code Playgroud)

  • 查找未使用包的大小:-

    popularity-contest (8) - list the most popular Debian packages
    popcon-largest-unused (8) - List size of unused packages
    
    Run Code Online (Sandbox Code Playgroud)

    首先运行popularity-contest,然后popcon-largest-unused,这将帮助您找到未使用的包的大小。访问手册页了解更多信息。


我尽力按步骤提供有用的命令。
希望这些有帮助!