如何在Linux中按大小(最大)列出已安装的软件包

How To List Installed Packages By Size (Largest) In Linux

当系统空间不足时,您可能需要检查谁是造成此问题的主要因素。 这可以用两种方法进行分析。

最初,每个人都试图找出大文件,它可能是日志文件,等等,另一个选择是应用程序/软件包安装大小。

容易识别吗? 是的,但是您需要一些理解。

在Linux中,软件包管理器是重要且方便的工具之一,它允许用户执行大多数操作,例如软件包安装,删除,搜索,升级等。

程序包管理器在这些活动中起着主要作用,因此,我们应该具有程序包管理工具方面的经验。

以下是著名的Linux软件包管理器。

  • YUM包经理

  • DNF软件包管理器

  • APT包管理器

  • APT-GET包管理器

  • Zypper软件包管理器

  • 吃豆包装经理

  • RPM软件包管理器

  • DPKG包装经理

  • 如何使用rpm命令按大小列出CentOS / RHEL / Fedora系统中已安装的软件包的顺序

    RHEL,CentOS,openSUSE和Fedora系统正在使用RPM软件包,因此我们可以使用rpm Package Manager来获取此信息。

    RPM代表Red Hat Package Manager,它是一个功能强大的命令行软件包管理实用程序,用于基于Red Hat的系统,例如CentOS,Oracle Linux和Fedora。某些其他Linux发行版也使用RPM软件包openSUSE,Mageia和Scientific Linux。

    RPM实用程序允许您在Linux系统/服务器上安装,升级,删除,查询和验证软件包。

    RPM文件带有.rpm扩展名。 使用所需的库和依赖关系构建的RPM软件包不会与系统上安装的其他软件包冲突。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    # rpm -qa --queryformat '%10{size} - %-25{name} \t %{version} \t %{os}
    '
    | sort -rh | head -25 | awk '{print $1/1024/1024, $2, $3, $4}'
    133.078 - kernel 2.6.32
    131.008 - kernel 2.6.32
    131.003 - kernel 2.6.32
    107.227 - glibc-common 2.12
    102.25 - java-1.8.0-openjdk-headless 1.8.0.171
    58.1633 - kernel-firmware 2.6.32
    40.1377 - samba-client 3.6.23
    39.3547 - python36u-libs 3.6.5
    38.1399 - rh-python35-python-libs 3.5.1
    36.4767 - samba-common 3.6.23
    33.6483 - perl 5.10.1
    21.9148 - python-libs 2.6.6
    21.1606 - vim-common 7.4.629
    18.5959 - gcc 4.4.7
    15.0838 - redhat-logos 60.0.14
    14.5824 - git 1.7.1
    12.5136 - glibc 2.12
    12.2767 - coreutils 8.4
    10.754 - iso-codes 3.16
    9.73368 - postfix 2.6.6
    9.54788 - cpp 4.4.7
    9.37589 - binutils 2.20.51.0.2
    9.00094 - selinux-policy 3.7.19
    8.89512 - cracklib-dicts 2.8.16
    8.75903 - nagios 4.3.4

    如何使用dpkg-query命令按大小列出Debian / Ubuntu系统中已安装软件包的顺序

    基于Debian / Ubuntu的系统正在使用DEB软件包,因此我们可以使用dpkg Package Manager来获取此信息。

    dpkg代表Debian软件包管理器(dpkg)。 dpkg是用于安装,构建,删除和管理Debian软件包的命令行工具。 dpkg使用Aptitude(主要且更加用户友好)作为前端来执行所有操作。

    其他实用程序(例如dpkg-deb和dpkg-query)将dpkg用作执行某些操作的前端。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    $ dpkg-query --show --showformat='${Installed-Size}\t${Package}
    '
    | sort -rh | head -25 | awk '{print $1/1024, $2}'
    257.928 openjdk-9-jre-headless
    220.642 linux-modules-4.16.7-041607-generic
    205.605 linux-firmware
    179.729 google-chrome-stable
    172.762 docker-ce
    160.827 firefox
    157.745 linux-image-extra-4.13.0-46-generic
    157.745 linux-image-extra-4.13.0-45-generic
    157.743 linux-image-extra-4.13.0-43-generic
    157.74 linux-image-extra-4.13.0-39-generic
    157.74 linux-image-extra-4.13.0-38-generic
    127.182 libreoffice-core
    122.828 libgl1-mesa-dri
    121.062 thunderbird
    120.862 papirus-icon-theme
    111.339 golang-1.8-go
    95.3184 openjdk-8-jre-headless
    89.8867 inkscape
    84.6797 fonts-noto-cjk
    72.3418 linux-headers-4.16.7-041607
    71.9678 linux-headers-4.13.0-46
    71.9678 linux-headers-4.13.0-45
    71.9648 linux-headers-4.13.0-43
    71.9541 linux-headers-4.13.0-39
    71.9434 linux-headers-4.13.0-38

    如何使用aptitude命令按大小列出Debian / Ubuntu Systems中已安装软件包的顺序

    Aptitude是Debian GNU / Linux软件包系统的基于文本的界面。 它允许用户查看软件包列表并执行软件包管理任务,例如安装,升级和删除软件包。 可以从可视界面或命令行执行操作。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    $ aptitude search"~i" --display-format"%p %I" --sort installsize | tail -25
    linux-image-4.13.0-46-generic 72.6 MB
    linux-headers-4.13.0-38 75.4 MB
    linux-headers-4.13.0-39 75.4 MB
    linux-headers-4.13.0-43 75.5 MB
    linux-headers-4.13.0-46 75.5 MB
    linux-headers-4.13.0-45 75.5 MB
    linux-headers-4.16.7-041607 75.9 MB
    fonts-noto-cjk 88.8 MB
    inkscape 94.3 MB
    openjdk-8-jre-headless 99.9 MB
    golang-1.8-go 117 MB
    papirus-icon-theme 127 MB
    thunderbird 127 MB
    libgl1-mesa-dri 129 MB
    libreoffice-core 133 MB
    linux-image-extra-4.13.0-39-generic 165 MB
    linux-image-extra-4.13.0-38-generic 165 MB
    linux-image-extra-4.13.0-43-generic 165 MB
    linux-image-extra-4.13.0-45-generic 165 MB
    linux-image-extra-4.13.0-46-generic 165 MB
    firefox 169 MB
    google-chrome-stable 194 MB
    docker-ce 197 MB
    linux-firmware 216 MB
    linux-modules-4.16.7-041607-generic 231 MB

    如何使用dpigs命令按大小列出Debian / Ubuntu Systems中已安装软件包的顺序

    dpigs按大小对已安装的软件包进行排序,并输出最大的软件包。 默认情况下,dpigs显示最多10个软件包。 您可以使用-n选项更改此值。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ dpigs -H
     220.6M linux-modules-4.16.7-041607-generic
     205.6M linux-firmware
     179.7M google-chrome-stable
     172.8M docker-ce
     160.8M firefox
     157.7M linux-image-extra-4.13.0-46-generic
     157.7M linux-image-extra-4.13.0-45-generic
     157.7M linux-image-extra-4.13.0-43-generic
     157.7M linux-image-extra-4.13.0-39-generic
     157.7M linux-image-extra-4.13.0-38-generic

    如何使用wajig命令按大小列出Debian / Ubuntu Systems中已安装软件包的顺序

    Wajig是用于软件包管理的简化且更统一的命令行界面。 它为用户界面增加了更直观的质量。 Wajig还提供了称为gjig的图形用户界面。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    $ wajig size | tail -25 | sed -e 's:,::g' | awk '{print $1, $2/1024}'
    linux-headers-4.13.0-38 71.9434
    linux-headers-4.13.0-39 71.9541
    linux-headers-4.13.0-43 71.9648
    linux-headers-4.13.0-45 71.9678
    linux-headers-4.13.0-46 71.9678
    linux-headers-4.16.7-041607 72.3418
    fonts-noto-cjk 84.6797
    inkscape 89.8867
    openjdk-8-jre-headless 95.3184
    golang-1.8-go 111.339
    papirus-icon-theme 120.862
    thunderbird 121.062
    libgl1-mesa-dri 122.828
    libreoffice-core 127.182
    linux-image-extra-4.13.0-38-generic 157.74
    linux-image-extra-4.13.0-39-generic 157.74
    linux-image-extra-4.13.0-43-generic 157.743
    linux-image-extra-4.13.0-46-generic 157.745
    linux-image-extra-4.13.0-45-generic 157.745
    firefox 160.827
    docker-ce 172.762
    google-chrome-stable 179.729
    linux-firmware 205.605
    linux-modules-4.16.7-041607-generic 220.642
    openjdk-9-jre-headless 257.928

    如何使用pacman命令在基于Arch Linux的系统中按大小列出已安装的软件包顺序

    基于Arch Linux的系统正在使用pacman软件包管理器,因此我们可以使用pacman软件包管理器来获取此信息。

    pacman代表软件包管理器实用程序(pacman)。 pacman是用于安装,构建,删除和管理Arch Linux软件包的命令行实用程序。 pacman使用libalpm(Arch Linux软件包管理(ALPM)库)作为后端来执行所有操作。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    # pacman -Qi | awk '/^Name/{name=$3} /^Installed Size/{print $4$5, name}' | sort -hr | head -25
    296.64MiB linux-firmware
    144.20MiB python
    105.43MiB gcc-libs
    72.90MiB python2
    66.91MiB linux
    57.47MiB perl
    45.49MiB glibc
    35.33MiB icu
    34.68MiB git
    30.96MiB binutils
    29.95MiB grub
    18.96MiB systemd
    13.94MiB glib2
    13.79MiB coreutils
    13.41MiB python2-boto
    10.65MiB util-linux
    9.50MiB gnupg
    8.09MiB groff
    8.05MiB gettext
    7.99MiB texinfo
    7.93MiB sqlite
    7.15MiB bash
    6.50MiB lvm2
    6.43MiB openssl
    6.33MiB db

    如何使用pacgraph在基于Arch Linux的系统中按大小列出安装的软件包顺序

    Pacgraph实用程序允许Arch Linux用户按大小获取已安装的软件包。此外,它还能绘制出已安装软件包的精美图片。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    # pacgraph -c | head -25
    Autodetected Arch.
    Loading package info
    Total size: 1221MB
    367MB linux
    144MB pacgraph
    98MB cloud-init
    37MB grub
    35MB icu
    34MB git
    31698kB binutils
    19337kB pacman
    11029kB man-db
    8186kB texinfo
    8073kB lvm2
    7632kB nano
    7131kB openssh
    5735kB man-pages
    3815kB xfsprogs
    3110kB sudo
    3022kB wget
    2676kB tar
    2626kB netctl
    1924kB parted
    1300kB procps-ng
    1248kB diffutils