RPM
List all installed packages:
$ rpm -qa
Get the list of all installed packages and their architecture:
$ rpm -qa --queryformat "%-40{NAME} %-8{ARCH}\n"
Same as above, but show i586 packages only:
$ rpm -qa --queryformat "%-40{NAME} %-8{ARCH}\n" | grep i586
Downgrade a package to an old version:
$ wget ftp://ftp.repository.org/mandrakelinux/official/10.0/package-1.0-1mdk.i586.rpm $ rpm -Uvh --oldpackage package-1.0-1mdk.i586.rpm
Unpack/Deflate/Extract a RPM without installing it:
$ rpm2cpio dummy.src.rpm | cpio -id
Evaluate %mkrel 3 rpm macro:
$ rpm --eval '%mkrel 3'
Force removal of a package that has problems with embedded “pre-” and/or “post-” scripts:
$ rpm -e --noscripts packagename
Urpmi
List all available packages with name containing python:
$ urpmq --fuzzy python
Find which RPM contain the file named dummy:
$ urpmf dummy
Get information about the dummy RPM:
$ urpmq -i dummy
Get the list of all RPMs that require python-psyco package:
$ urpmf --requires python-psyco
Get the list of all RPMs that provide python-psyco package:
$ urpmf --provides python-psyco
I use this command in a cron entry to update automatically and regularly my Mandriva:
$ /usr/sbin/urpmi.update -a && /usr/sbin/urpmi --update --auto --auto-select
Generate urpmi repository index and metadata of the current folder:
$ genhdlist ./
Yum
Install a new package:
$ yum install subversion
Search for packages containing the x11 string:
$ yum search x11
Get the list of packages that provide Python’s Subversion bindings:
$ yum provides "*/svn/__init__.py"
Update repository index:
$ yum update
Clear all caches (sometimes required to force a repository index update):
$ yum clean all
Generate Yum repository index and metadata of the current folder:
$ createrepo -v ./