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 |
+----------------------------------------------------------+------------------------------------------+-------+