Image of Operating System Concepts
Image of XSLT 2.0 and XPath 2.0 Programmer's Reference (Programmer to Programmer)
Image of Modern Operating Systems (3rd Edition)
Image of RHCE Red Hat Certified Engineer Linux Study Guide (Exam RH302) (Certification Press)

Configure a Local ISO-based Package Repository on a CentOS 7.2 VM

Consider the following scenario. You have downloaded the CentOS-7-x86_64-Everything-1511.iso from the CentOS Project or a mirror, used the ISO to create a VM in VMware Workstation, and now want to be able to access a package repository (repo) when you have no Internet access. Assume that a GNOME desktop is available on your CentOS VM and the VM is sized such that you have at least 8 Gb of free disk space. Copy the IS0 to your CentOS VM by whatever method works for you. If you have VMware Tools installed, you can just drag and drop the file using

Repair Damaged RPM Database

If you encounter any of the following messages: rpmdb: PANIC: fatal region error detected; run recovery error: db3 error(22) from dbenv->open: Invalid argument error: cannot open Packages index using db3 – Invalid argument (22) error: cannot open Packages database in /var/lib/rpm error: rpmdb: damaged header #1439 retrieved — skipping. or a similar RPM-related error message, it is probable that your RPM database is damaged. RPM uses a database to maintain the package dependency information. This database is normally located at /var/lib/rpm. # cd /var/lib/rpm # ls -al total 86420 drwxr-xr-x. 2 root root 4096 Nov 18 21:09 . drwxr-xr-x. 45

YUM Package Installation Updating and Removal Forensics

In previous posts I examined the internals of RPM packages and the RPM database itself. In this post, I explore how to trace RPM package installation, update and removal on Linux distributions which use YUM (YellowDog Update Modified). If you examine /var/log/yum.log, an example of which is shown below, you will note that the date component of each entry includes the day and month but not the year. Feb 15 10:00:44 Updated: ibus-1.5.5-1.fc20.x86_64 Feb 15 10:00:45 Updated: ibus-gtk2-1.5.5-1.fc20.x86_64 Feb 15 10:00:47 Updated: python-boto-2.23.0-1.fc20.noarch Feb 15 10:00:48 Installed: python-dropbox-1.6-4.fc20.noarch Feb 15 10:00:56 Installed: python-crypto-2.6.1-1.fc20.x86_64 Feb 15 10:00:57 Installed: python-paramiko-1.10.1-2.fc20.noarch Feb 15

Exploring PackageKit's GNOME Software

Fedora 20 (codename Heisenbug) Beta was released on November 12th 2013. One of the accepted system wide change proposals for this release was to replace the existing gnome-packagekit frontends (gpk-update-viewer and gpk-application) with a new unified and more user-centric application. A quick high-level overview of PackageKit first. It is essentially a framework which consists of frontends such as yum which communicate with backends such as PackageKit-yum via an abstraction layer based on D-Bus. Essentially, it is a set of APIs exported through a D-Bus interface. Glib, qt and python and other language bindings are available. This abstraction layer enables applications

Fedora FedUp Does Not Sync Distribution

Fedora FedUp is an excellent tool for upgrading your Fedora system. However you should be aware that it does not currently synchronize your system with the Fedora distribution that you upgraded to. To do that, you need to execute the following command after you finish FedUp-ing your system. # yum distro-sync From the yum man page: distribution-synchronization or distro-sync Synchronizes the installed package set with the latest packages available, this is done by either obsoleting, upgrading or downgrading as appropriate. This will “normally” do the same thing as the upgrade command however if you have the package FOO installed at