If you’re on the latest Fedora release, you’re already running lots of modern packages. However, there are those times when you may want to help with testing efforts or try out a new feature in a newer package. Most of my systems have the updates-testing repository enabled in one way or another. This repository contains packages that package maintainers have submitted to become the next stable package in Fedora. For example, if there is a bug fix for nginx, the package maintainer submits the changes and publish a release.
When you upgrade packages on Red Hat, CentOS and Fedora systems, the newer package replaces the older package. That means that files managed by RPM from the old package are removed and replaced with files from the newer package. There’s one exception here: kernel packages. Upgrading a kernel package with yum and dnf leaves the older kernel package on the system just in case you need it again. This is handy if the new kernel introduces a bug on your system or if you need to work through a compile of a custom kernel module.
With Fedora 22’s release date quickly approaching, it’s time to familiarize yourself with dnf. It’s especially important since clean installs of Fedora 22 won’t have yum. Almost all of the command line arguments are the same but automated updates are a little different. If you’re used to yum-updatesd, then you’ll want to look into dnf-automatic. Installation Getting the python code and systemd unit files for automated dnf updates is a quick process:
Installing Jenkins on Fedora 20 is quite easy thanks to the available Red Hat packages, but I ran into problems when I tried to start Jenkins. Here are the installation steps I followed: wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm –import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key yum -y install jenkins systemctl enable jenkins systemctl start jenkins Your first error will show up if Java isn’t installed. You can fix that by installing Java: yum -y install java-1.
My work at Rackspace has involved working with a bunch of Debian chroots lately. One problem I had was that daemons tried to start in the chroot as soon as I installed them. That created errors and made my ansible output look terrible. If you’d like to prevent daemons from starting after installing a package, just toss a few lines into /usr/sbin/policy-rc.d: cat > /usr/sbin/policy-rc.d << EOF #!/bin/sh echo "All runlevel operations denied by policy" >&2 exit 101 EOF Now, install any packages that you need and the daemons will remain stopped until you start them (or reboot the server).