2009年6月4日木曜日

ubuntu/debianのインストール済みパッケージリストを整形して出力する

ディスクの空きがちょっと減ってきたので、サイズが大きいパッケージを知りたくて作ってみた。

python-aptとprettytable使ってます。


#!/usr/bin/python


import apt
from prettytable import PrettyTable

pt = PrettyTable(["package", "version", "size"])
pt.set_field_align("package", "l")
pt.set_field_align("version", "r")
pt.set_field_align("size", "r")
pt.set_padding_width(1)

SizeToStr = apt.SizeToStr

for v in sorted([x.installed for x in apt.cache.Cache() if x.isInstalled], key=lambda v: v.installed_size):
    pt.add_row((v.package.name, v.version, SizeToStr(v.installed_size)))

print pt


出力


+----------------------------------------------------------+------------------------------------------+-------+
|                         package                          |                 version                  |  size |
+----------------------------------------------------------+------------------------------------------+-------+
| adobe-certs                                              |                                 1.0.8210 |     0 |
| adobeair1.0                                              |                               1.5.1.8210 |     0 |
| tweetdeckfast.f9107117265db7542c1a806c8db837742ce14c21.1 |                                     0.22 |     0 |
| gnuplot                                                  |                                  4.2.5-2 | 20.5k |
| uim                                                      |                                1:1.5.3-1 | 20.5k |
(省略)
| texlive-latex-extra-doc                                  |                    2007.dfsg.17-2ubuntu1 |  110M |
| openoffice.org-core                                      |                         1:3.1.0-3ubuntu2 |  113M |
| llvm-dev                                                 |                 2.5+svn20090504-0ubuntu1 |  117M |
| ghc6                                                     |                          6.10.3-2ubuntu1 |  148M |
+----------------------------------------------------------+------------------------------------------+-------+



0 件のコメント:

コメントを投稿