It is a time to start Advent Calendar, isn't it? In Japan, many Advent Calendar will start sine today. So, I'll do it too.
The pkcon command
The pkcon command is provided by PackageKit pacakage. You can install, remove, search, or etc by it. Of course you can do same operation by yum or rpm but it still useful in some case I think.
So, let's look it.
[masami@rune:~]$ pkcon Usage: pkcon [OPTION...] PackageKit Console Program PackageKit Console Interface Subcommands: get-actions get-groups get-filters get-transactions get-time search [name|details|group|file] [data] install [packages] install-local [files] download [directory] [packages] install-sig [type] [key_id] [package_id] remove [package] update <package> refresh [--force] resolve [package] get-updates get-depends [package] get-requires [package] get-details [package] get-files [package] get-update-detail [package] get-packages repo-list repo-enable [repo_id] repo-disable [repo_id] what-provides [search] get-categories
As you can see pkcon has many options and easy to use. Let's look get-updates option. It downloads update information then display it.
[masami@rune:~]$ pkcon get-updates Getting updates [=========================] Starting [=========================] Getting information [=========================] Downloading update information[=========================] Downloading lists of changes [=========================] Bug fix xine-lib-1.1.20-1.fc16.x86_64 A multimedia engine
Ok, I got what package is going to update. I can check the update information about that package by get-update-detail option.
[masami@rune:~]$ pkcon get-update-detail xine-lib More than one package matches: 1. xine-lib-1.1.20-1.fc16.i686 [updates-testing] 2. xine-lib-1.1.20-1.fc16.x86_64 [updates-testing] Please choose the correct package: 2 Getting update details [=========================] Starting [=========================] Getting information [=========================] Details about the update: Package: xine-lib-1.1.20-1.fc16.x86_64 Updates: xine-lib;1.1.19-7.fc16;x86_64;installed:koji-override-0 Obsoletes: Vendor: https://admin.fedoraproject.org/updates/F16/FEDORA-2011-16463;Fedora 16 Update FEDORA-2011-16463 Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=753758;xine-lib-1.1.20 is available CVE: Update text: An update of xine-lib to the latest upstream release: http://sourceforge.net/projects/xine/files/xine-lib/1.1.20/README.txt.asc/view In particular, the new release adds support for WebM/VP8 videos, but only with t he supplementary codec package from a well-known third-party repository (it requ ires FFmpeg). Changes: **2011-11-20** Kevin Kofler <Kevin@tigcc.ticalc.org> 1.1.20-1 - update to 1.1.20 (#753758) - use .xz tarball - drop old conditionals - drop ESD (esound) support on F17+ (native PulseAudio just works) - drop autotools patch, run autogen.sh in %prep instead - drop unused deepbind patch - drop xvmclib_header patch, fixed upstream - use the system libdvdnav (and libdvdread) instead of the bundled one - fix system libdvdnav support to also link libdvdread - plugin ABI is now 1.30 State: testing Issued: 2011-11-26T22:22:27 Updated:
You can check dependencies. It display format is pretty nice.
[masami@rune:~]$ pkcon get-depends xine-lib More than one package matches: 1. xine-lib-1.1.19-7.fc16.x86_64 [installed:koji-override-0] 2. xine-lib-1.1.20-1.fc16.i686 [updates-testing] 3. xine-lib-1.1.20-1.fc16.x86_64 [updates-testing] Please choose the correct package: 1 Getting dependencies [=========================] Starting [=========================] Getting information [=========================] Installed alsa-lib-1.0.24-2.fc15.x86_64 The Advanced Linux Sound Architecture (ALSA) library Installed flac-1.2.1-6.fc12.x86_64 An encoder/decoder for the Free Lossless Audio Codec Installed glibc-2.14.90-19.x86_64 The GNU libc libraries Installed libX11-1.4.3-1.fc16.x86_64 Core X11 protocol client library Installed libXext-1.3.0-1.fc16.x86_64 X.Org X11 libXext runtime library Installed libXinerama-1.1.1-2.fc15.x86_64 X.Org X11 libXinerama runtime library Installed libXv-1.0.6-2.fc15.x86_64 X.Org X11 libXv runtime library Installed libXvMC-1.0.6-3.fc15.x86_64 X.Org X11 libXvMC runtime library Installed libgcc-4.6.2-1.fc16.x86_64 GCC version 4.6 shared support library Installed libmng-1.0.10-5.fc15.x86_64 Library for Multiple-image Network Graphics support Installed libmodplug-1:0.8.8.4-1.fc16.x86_64 Modplug mod music file format library Installed libmpcdec-1.2.6-7.fc15.x86_64 Musepack audio decoding library Installed libogg-2:1.2.2-3.fc15.x86_64 The Ogg bitstream file format library Installed libtheora-1:1.1.1-1.fc15.x86_64 Theora Video Compression Codec Installed libv4l-0.8.5-1.fc16.x86_64 Collection of video4linux support libraries Installed libvorbis-1:1.3.2-1.fc15.x86_64 The Vorbis General Audio Compression Codec. Installed libxcb-1.7-3.fc16.x86_64 A C binding to the X11 protocol Installed mesa-libGL-7.11.2-1.fc16.x86_64 Mesa libGL runtime libraries and DRI rivers Installed mesa-libGLU-7.11.2-1.fc16.x86_64 Mesa libGLU runtime library Installed pulseaudio-libs-0.9.23-1.fc16.x86_64 Libraries for PulseAudio clients Installed speex-1.2-0.13.rc1.fc15.x86_64 A voice compression format (codec) Installed wavpack-4.60.1-2.fc15.x86_64 A completely open audiocodec Installed zlib-1.2.5-5.fc16.x86_64 The zlib compression and decompression library ||> I found get-files option is also useful. It output is same as rpm -ql packagename but pkcon's get-files option doesn't require the package is installed. >|| [masami@rune:~]$ rpm -ql dillo package dillo is not installed [masami@rune:~]$ pkcon get-files dillo Getting file list [=========================] Starting [=========================] Package files /etc/dillo /usr/share/doc/dillo-3.0.1 /usr/share/doc/dillo-3.0.1/doc /usr/lib64/dillo /usr/lib64/dillo/dpi/bookmarks snip /usr/share/applications/fedora-dillo.desktop /usr/lib64/dillo/dpi/cookies/cookies.dpi /usr/share/man/man1/dillo.1.gz
Finally, I usually use Yum Extender as package management tool (main reason is I use LXDE spin and it is default tool for the spin) and some times use yum/rpm command directly but pkcon command is good tool in case.