Query all non-subscribed RHEL7 repos at once

The old Red Hat Network was simple and easy to use. The RHN website presented a list of systems in your web browser, with counts of outstanding patches and outdated packages. You could click on a specific system name and do various things like subscribe to specific repositories (channels) etc.

The current Red Hat Network is a glittering javascript tour-de-force that multiplies the number of clicks and the amount of specialized knowledge you will need to manage your systems. You can pay extra for add-on capabilities such as the ability to select groups of systems and apply a set of operations to all of them, which is almost certainly necessary if you have a large number of systems. It’s a sad travesty of the much-maligned system it replaced.

If you’re completely entangled in the new RHN with your Red Hat Enterprise Linux 7 systems (by which I mean that you haven’t managed to exit the Red Hat ecosystem for a more cost-effective infrastructure yet) you might want to do something like figure out which of the various poorly named repos (such as -extras, -optional, and -supplementary) contains some particular package you want.

Command line to the rescue! Ignore all RHN’s useless beauty and use ugly, reliable Gnu awk. This, for example, finds the repo where the git-daemon package has been hidden away.

subscription-manager repos --list | gawk '/^Repo ID/{print "yum --showduplicates list available --disablerepo=\"*\" --enablerepo=" $3}' | bash | grep -i git-daemon

After several minutes (there’s a lot of network traffic involved) you’ll find that versions of git-daemon are in five different repos.

git19-git-daemon.x86_64 1.9.4-2.el7 rhel-server-rhscl-7-eus-rpms
git19-git-daemon.x86_64 1.9.4-3.el7 rhel-server-rhscl-7-eus-rpms
git19-git-daemon.x86_64 1.9.4-3.el7.1 rhel-server-rhscl-7-eus-rpms
git-daemon.x86_64 1.8.3.1-5.el7 rhel-7-server-optional-fastrack-rpms
git-daemon.x86_64 1.8.3.1-4.el7 rhel-7-server-optional-rpms
git-daemon.x86_64 1.8.3.1-5.el7 rhel-7-server-optional-rpms
git-daemon.x86_64 1.8.3.1-6.el7 rhel-7-server-optional-rpms
git19-git-daemon.x86_64 1.9.4-2.el7 rhel-server-rhscl-7-rpms
git19-git-daemon.x86_64 1.9.4-3.el7 rhel-server-rhscl-7-rpms
git19-git-daemon.x86_64 1.9.4-3.el7.1 rhel-server-rhscl-7-rpms
git-daemon.x86_64 1.8.3.1-5.el7 rhel-7-server-optional-beta-rpms

So, you query the Red Hat Package Manager, rpm, to find out what version of git you have.

rpm -q git
1.8.3.1-6.el7

Since 1.8.3.1-6.el7 matches the latest version of git-daemon available from the rhel-7-server-optional-rpms repository, that’s the one you need to add in order to load git-daemon.

subscription-manager repos --enable rhel-6-server-optional-rpms
yum install git-daemon
.

This process is much easier than using the Red Hat Network web gui, and requires less specialized knowledge. Which is pretty sad, considering how arcane these incantations are.

Walmart closing stores

The Beeb is reporting that Walmart’s going to close 269 stores worldwide.

I wonder if it’s too much to hope that the local businesses that failed when Walmart came to town will re-appear, phoenix-like, from the ashes? According to the Austrian economists, they should. But even if they do, it seems to me that once the wages go down, they are going to stay down, unless labor becomes scarce. And the increasing automation of shopping and stocking means there’s not going to be any shortage of retail laborers any time soon.

Mansplaining manspreading

Jason Kottke referred to this as “hilarious mansplaining about manspreading” but I thought it was interesting.

In an extremely crowded subway car or airport trolley, I’ll end up sitting with my legs at a 45 degree angle to one side and my back curled so that my chest is nearly touching my thighs, or even in a complete fetal position with my feet on the seat and my arms wrapped around my legs. The passages between seats are so narrow in American mass transit that I can’t have my legs stick straight out, because my knees will be battered into pulp by passersby with briefcases and purses, and the people on either side of me (especially if they are men) won’t have room for their shoulders if I lean back in my also-too-narrow seat.

It turns out there’s a reason for this, it’s basically because I’m shaped like most men – I have longer thighs and wider shoulders than the reedy eloi the seats were apparently designed for.

rsyslog & systemd

The ancient Berkeley syslog is a functionally impoverished logging mechanism, but the protocol is well understood and widely supported. You can use a modern version of the daemon (Ranier’s rsyslog or syslog-ng for example) and work around the shortcomings of the protocol itself.

I’ve been working with a Red Hat Enterprise Linux version 7 spin-up, and since systemd is basically a Red Hat product it should come as no surprise that RHEL7 thoroughly embeds systemd.

Here’s a section of the documentation that describes how the error logging works:

Some versions of systemd journal have problems with database corruption, which leads to the journal to return the same data endlessly in a tight loop. This results in massive message duplication inside rsyslog probably resulting in a denial-of-service when the system resources get exhausted. This can be somewhat mitigated by using proper rate-limiters, but even then there are spikes of old data which are endlessly repeated. By default, ratelimiting is activated and permits to process 20,000 messages within 10 minutes, what should be well enough for most use cases.

VTOL Rocket Roundup

The Experimental Delta Clipper (DC-X) of the 1990s was canceled before it ever made it into space.

The Rotary Rocket Company’s incredibly innovative Roton was designed to land with helicopter blades instead of a parachute or a landing rocket. After the collapse of the small telecommunications satellite market in 1999 the company went out of business without ever building their unique spinning aerospike main engine; without a clear mission, investors were unwilling to fund the various exotic technologies that the company was successfully pioneering.

In 2013 SpaceX’s series of “grasshopper tests” picked up where the DC-X left off.

But SpaceX’s plan to land their Falcon 9 lifter on a seagoing barge has not yet succeeded.

And bringing us up to date, Blue Origin landed the New Shepard on the 23rd. I love the final replay of the landing sequence!

Wrench Wednesday

Once upon a time, tractors and other farm implements came with a wrench that fit all the nuts and bolts on the machinery. Farmers being the clever and parsimonious people they are, they never paid for ten wrenches when just one would do the job! I used to find these things laying all over the place in Uncle Irving’s junkyard; now they are collector’s items.

Page from the 2015 Wrenching News fall auction

Firefox annoyance #5: redirect caching

Firefox Annoyances:

1) Sync
2) pocket
3) hello
4) everything else, other than the plug-in API itself, that isn’t a paper-thin shell around gecko
5) 301 redirect caching

To clear the 301 redirect cache for a single page, go to the “View” menu and light up the “History” sidebar (yeah, of course you forgot about that, nobody uses it), find the site you’re working on, right-click and select “forget about this site”.

annoying git

I’ve been installing git on some corporate servers with the idea of converting existing CVS and ad-hoc code management systems into something reasonably fast and modern.

It’s been somewhat tedious and painful, but supposedly once I’m done the installation will be stable and maintainable. For an enterprise SCM that’s a lot more important than ease of installation, at least in theory. (I ran OpenLDAP for a decade or more, so I can appreciate the value of putting all the pain up front.)

Today’s annoyance is that the gitolite documentation and web site refer to a “hosting user” but the toolset and other web sites describing gitolite installation talk about an “admin user”. After wasting several hours with Google trying to find out exactly what the difference was, I created a new user account for the admin user and executed the commands – at which point it became immediately obvious that THOSE ARE THE SAME DAMN THING.

Curse you, gitolite. I WANTED US TO BE FRIENDS.

British Museum Iron Age virtual exhibit

Heather writes:

One of my web design e-newsletters had a link to the indoors Google Street View of the British Museum. So I wandered around a bit and found this… Celtic Life in Iron Age Britain: A British Museum exhibition of Iron Age objects from collections across the UK.

Medieval Cats

Medievalists.net has an article titled Why Cats were Hated in Medieval Europe that I liked. It references Irina Metzler’s article Heretical Cats: Animal Symbolism in Religious Discourse which seems to be only available in German, and Joyce Salisbury’s The Beast Within: Animals in the Middle Ages which is available in English as an ebook.

15th century manuscript from Dubrovnik, Croatia

Medievalisterrant chimes in with a post on Cats as pets in the Middle Ages.

Happy St. Brice’s Day

November 13th, 1002 Æþelræd Unræd ordered the slaughter of all the Danes in England. Although at that point Aethelraed could only really enforce his will in about a third of his domain, this ill-advised plan did manage to cause the death of Harald Bluetooth’s daughter Gunhilde, and in some histories the St. Brice’s Day Massacre leads directly to the conquest of England by the Danish King Sweyn Forkbeard (Gunhilde’s brother) and Sweyn’s son Knut the Great.