<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Captain's Log</title><link>https://captainslog.me/</link><description></description><lastBuildDate>Thu, 26 Mar 2026 00:00:00 -0500</lastBuildDate><item><title>How to clear DNS cache everywhere</title><link>https://captainslog.me/memos/2026-03-26-clear-dns-cache-everywhere/</link><description>&lt;p&gt;All the ways and places to clear DNS cache&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Thu, 26 Mar 2026 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2026-03-26:/memos/2026-03-26-clear-dns-cache-everywhere/</guid><category>memo</category></item><item><title>Update /etc/hosts to use auto-apt-proxy</title><link>https://captainslog.me/memos/2026-03-19-etc-hosts-auto-apt-proxy/</link><description>&lt;p&gt;Quickly add apt-proxy to /etc/hosts&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Thu, 19 Mar 2026 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2026-03-19:/memos/2026-03-19-etc-hosts-auto-apt-proxy/</guid><category>memo</category></item><item><title>Create Floppy Disk Images for 86Box</title><link>https://captainslog.me/memos/2025-09-05-create-floppy-disk-images/</link><description>&lt;p&gt;Create a floppy disk image for use with 86box and others&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Fri, 05 Sep 2025 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2025-09-05:/memos/2025-09-05-create-floppy-disk-images/</guid><category>memo</category><category>86box</category><category>virt</category><category>retro</category><category>qemu</category></item><item><title>Create a local dnf repo from a directory of packages</title><link>https://captainslog.me/memos/2025-08-14-local-dnf-repo-from-dir/</link><description>&lt;p&gt;Create a local dnf repository from a directory of packages.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Thu, 14 Aug 2025 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2025-08-14:/memos/2025-08-14-local-dnf-repo-from-dir/</guid><category>memo</category></item><item><title>How to push to a different remote branch with Git</title><link>https://captainslog.me/memos/2025-02-19-git-push-to-different-remote-branch/</link><description></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 19 Feb 2025 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2025-02-19:/memos/2025-02-19-git-push-to-different-remote-branch/</guid><category>til</category><category>git</category></item><item><title>Create a firewalld service for Plex Media Server</title><link>https://captainslog.me/memos/2025-01-27-firewalld-service-for-plex/</link><description>&lt;p&gt;How to create a firewalld service definition for Plex Media Server&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 27 Jan 2025 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2025-01-27:/memos/2025-01-27-firewalld-service-for-plex/</guid><category>til</category><category>plex</category><category>firewalld</category></item><item><title>Printing only headers with cURL</title><link>https://captainslog.me/memos/2025-01-20-curl-only-print-headers/</link><description>&lt;p&gt;Using cURL only print headers and not entire page content&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 20 Jan 2025 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2025-01-20:/memos/2025-01-20-curl-only-print-headers/</guid><category>memo</category></item><item><title>Delete lines in Vim beginning with a specific character</title><link>https://captainslog.me/memos/2025-01-13-delete-lines-in-vim-beginning-with-a-specific-character/</link><description>&lt;p&gt;Delete lines in Vim beginning with a specific character like the hash or blank lines&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 13 Jan 2025 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2025-01-13:/memos/2025-01-13-delete-lines-in-vim-beginning-with-a-specific-character/</guid><category>til</category><category>vim</category></item><item><title>Using grep with tail</title><link>https://captainslog.me/memos/2025-01-09-using-grep-with-tail/</link><description>&lt;p&gt;Using grep --line-buffered to filter tail&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Thu, 09 Jan 2025 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2025-01-09:/memos/2025-01-09-using-grep-with-tail/</guid><category>til</category></item><item><title>End an active telnet session</title><link>https://captainslog.me/memos/2024-10-21-end-an-active-telnet-session/</link><description>&lt;p&gt;Use CTRL+] and q to end an active telnet session&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 21 Oct 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2024-10-21:/memos/2024-10-21-end-an-active-telnet-session/</guid><category>memo</category></item><item><title>Swap Floppy Disks or CD-ROMs using QEMU monitor</title><link>https://captainslog.me/memos/2024-09-12-swap-floppy-disks-or-cd-rom-images/</link><description>&lt;p&gt;Use QEMU monitor to swap floppy or CD images&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Thu, 12 Sep 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2024-09-12:/memos/2024-09-12-swap-floppy-disks-or-cd-rom-images/</guid><category>memo</category><category>qemu</category><category>virt</category></item><item><title>Enable SSH Port Forwarding after opening session</title><link>https://captainslog.me/memos/2024-08-23-ssh-portforwarding-after-opening-session/</link><description>&lt;p&gt;Enabling Port Forwarding during an active SSH session.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Fri, 23 Aug 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2024-08-23:/memos/2024-08-23-ssh-portforwarding-after-opening-session/</guid><category>memo</category><category>ssh</category></item><item><title>Installing Webmin on AlmaLinux</title><link>https://captainslog.me/memos/2024-08-21-installing-webmin-on-almalinux/</link><description>&lt;p&gt;Notes on install Webmin on AlmaLinux&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 21 Aug 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2024-08-21:/memos/2024-08-21-installing-webmin-on-almalinux/</guid><category>til</category></item><item><title>Determine Raspberry Pi model from command line</title><link>https://captainslog.me/memos/2024-08-19-determine-raspberry-pi-model-from-command-line/</link><description>&lt;p&gt;Determine Raspberry Pi model from command line&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 19 Aug 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2024-08-19:/memos/2024-08-19-determine-raspberry-pi-model-from-command-line/</guid><category>til</category><category>raspberrypi</category></item><item><title>Cisco: Disconnect from service-module session</title><link>https://captainslog.me/memos/2024-08-12-cisco-disconnect-from-service-module-session/</link><description>&lt;p&gt;When connected to a service module you need to press Ctrl+Shift+6, then X in order to go back to the host router.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 12 Aug 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2024-08-12:/memos/2024-08-12-cisco-disconnect-from-service-module-session/</guid><category>memo</category><category>cisco</category></item><item><title>Auto-restart a crashed systemd service</title><link>https://captainslog.me/memos/2024-07-10-auto-restart-a-crashed-systemd-service/</link><description>&lt;p&gt;With systemd, it is easy to configure a service to automatically restart when it's crashed.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 10 Jul 2024 14:20:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2024-07-10:/memos/2024-07-10-auto-restart-a-crashed-systemd-service/</guid><category>til</category><category>systemd</category></item><item><title>Installing qemu-guest-agent with virt-customize</title><link>https://captainslog.me/memos/2024-05-21-installing-qemu-guest-agent-with-virt-customize/</link><description>&lt;p&gt;When using cloud-images from various distrobutions, sometimes the qemu-guest-agent isn't installed.  Using virt-customize you config modify the image to include this package as well as enable it boot. &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ virt-customize -a /path/to/image --install qemu-guest-agent --run-command '/usr/bin/systemctl enable qemu-guest-agent'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The guest should not be running when you do …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Tue, 21 May 2024 10:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2024-05-21:/memos/2024-05-21-installing-qemu-guest-agent-with-virt-customize/</guid><category>memo</category><category>proxmox</category><category>virt</category></item><item><title>Useful OpenSSL Tips</title><link>https://captainslog.me/memos/2024-03-16-useful-openssl-tips/</link><description>&lt;div class="toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#examine-a-single-certificate"&gt;Examine a single certificate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#examine-a-file-that-contains-multiple-certificates"&gt;Examine a file that contains multiple certificates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#verify-a-certificate-is-valid-using-a-specific-root"&gt;Verify a certificate is valid using a specific root.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#check-that-the-certificate-and-chain-being-served-is-valid"&gt;Check that the certificate, and chain, being served is valid&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;Just writing down some common openssl command I often find myself using.  One
day this collection might be more complete …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Sat, 16 Mar 2024 12:30:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2024-03-16:/memos/2024-03-16-useful-openssl-tips/</guid><category>memo</category><category>crypto</category><category>tls</category><category>certs</category></item><item><title>Generate Public SSH Key From Private SSH Key</title><link>https://captainslog.me/memos/2024-01-12-generate-public-ssh-key-from-private-ssh-key/</link><description>&lt;p&gt;If you have a private SSH key but need to regenerate the public key again, use
&lt;code&gt;ssh-keygen&lt;/code&gt; with &lt;code&gt;-y&lt;/code&gt;. This option will read a private OpenSSH format file and
print an OpenSSH public key to stdout.  &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ssh-keygen -y -f ~/.ssh/id_ed25519 &amp;gt; ~/.ssh/id_ed25519.pub
Enter passphrase: 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This will save the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Fri, 12 Jan 2024 14:30:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2024-01-12:/memos/2024-01-12-generate-public-ssh-key-from-private-ssh-key/</guid><category>memo</category><category>ssh</category></item><item><title>PXE netboot.xyz with Unifi UDM-Pro and Synology TFTP</title><link>https://captainslog.me/memos/2023-12-15-pxe-netbootxyz-with-unifi-udm-pro-and-synology-tftp/</link><description>&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://netboot.xyz"&gt;netboot.xyz&lt;/a&gt; lets you PXE boot various operating system installers or utilities from a single tool over the network.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— &lt;small&gt;&lt;a href="https://netboot.xyz/"&gt;netboot.xyz&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;h2 id="enable-tfpt-service-on-synology-dsm"&gt;Enable TFPT service on Synology DSM&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Control Panel &amp;gt; File Services &amp;gt; Advanced&lt;/li&gt;
&lt;li&gt;Check "Enable TFTP service"&lt;/li&gt;
&lt;li&gt;Select TFPT root folder&lt;/li&gt;
&lt;li&gt;Apply&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can edit advanced settings to enable logging, configure …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Fri, 15 Dec 2023 07:45:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2023-12-15:/memos/2023-12-15-pxe-netbootxyz-with-unifi-udm-pro-and-synology-tftp/</guid><category>memo</category><category>synology</category><category>unifi</category><category>tftp</category><category>netboot</category></item><item><title>Synology Storage Analyzer A data write error</title><link>https://captainslog.me/memos/2023-05-09-synology-storage-analyzer-a-data-write-error/</link><description>&lt;p&gt;After many months of using Synology Storage Analyzer to create automatic reports recently these have been failing with the error&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Storage Analyzer: A data write error occurred while generating the usage report. 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A bit of searching online and this seems to be common for a few reasons.  In my case …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Tue, 09 May 2023 07:45:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2023-05-09:/memos/2023-05-09-synology-storage-analyzer-a-data-write-error/</guid><category>memo</category><category>synology</category></item><item><title>Printing line numbers with cat and grep</title><link>https://captainslog.me/memos/2022-09-29-printing-line-numbers-with-cat-and-grep/</link><description>&lt;p&gt;Both grep and cat can include line numbers. &lt;/p&gt;
&lt;p&gt;With &lt;code&gt;cat&lt;/code&gt;: &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;:::text
[root@mx1 ~]# cat -n /etc/hosts 
   1  # Loopback entries; do not change.
   2  # For historical reasons, localhost precedes localhost.localdomain:
   3  127.0.0.1   localhost localhost.localdomain localhost4
   4  ::1         localhost localhost.localdomain localhost6
   5  # See hosts(5 …&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Thu, 29 Sep 2022 07:45:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2022-09-29:/memos/2022-09-29-printing-line-numbers-with-cat-and-grep/</guid><category>memo</category><category>terminal</category></item><item><title>Debug logging with systemd-resolved</title><link>https://captainslog.me/memos/2022-09-23-debug-logging-with-systemd-resolved/</link><description>&lt;ol&gt;
&lt;li&gt;Add an override. &lt;code&gt;sudo systemctl edit systemd-resolved&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;[Service]
Environment=SYSTEMD_LOG_LEVEL=debug
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;Make changes active. &lt;code&gt;sudo systemctl restart systemd-resolved&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;View logs. &lt;code&gt;journalctl -u systemd-resolved -f&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And when you're done, undo all these changes.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo systemctl revert systemd-resolved
sudo systemctl restart systemd-resolved`
&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Fri, 23 Sep 2022 18:01:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2022-09-23:/memos/2022-09-23-debug-logging-with-systemd-resolved/</guid><category>memo</category><category>systemd</category><category>logging</category></item><item><title>Retrieve Existing Keytabs from FreeIPA</title><link>https://captainslog.me/memos/2022-08-30-retreive-existing-keytabs-from-ipa/</link><description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This is a work in progress.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;In this example, &lt;code&gt;s1.prod.example.com&lt;/code&gt; is a real server and an IPA client. The
name &lt;code&gt;ipa.example.com&lt;/code&gt; is an alias. &lt;/p&gt;
&lt;p&gt;The same process can be repeated to allow additional real hosts to retrieve a
keytab for &lt;code&gt;ipa.example.com&lt;/code&gt;, simply …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Tue, 30 Aug 2022 09:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2022-08-30:/memos/2022-08-30-retreive-existing-keytabs-from-ipa/</guid><category>memo</category><category>freeipa</category><category>kerberos</category></item><item><title>Using Healthchecks.io with systemd timers</title><link>https://captainslog.me/memos/2022-05-01-using-healthchecksio-with-systemd-timers/</link><description>&lt;p&gt;I use &lt;a href="https://healthchecks.io/about/"&gt;healthchecks.io&lt;/a&gt; to monitor several cronjobs and this works great.&lt;/p&gt;
&lt;p&gt;Recently I have been using systemd timers instead of cronjobs but wanted to continue to use 
healthchecks with them.  I accomplished this using &lt;code&gt;ExecStartPre&lt;/code&gt; and &lt;code&gt;ExecStartPost&lt;/code&gt; in the service file.&lt;/p&gt;
&lt;p&gt;To add these checks to the &lt;code&gt;dnf-automatic.service …&lt;/code&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Sun, 01 May 2022 09:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2022-05-01:/memos/2022-05-01-using-healthchecksio-with-systemd-timers/</guid><category>til</category></item><item><title>Kill a hung SSH session</title><link>https://captainslog.me/memos/2022-04-25-kill-a-hung-ssh-session/</link><description>&lt;p&gt;End a hung ssh sessions with &lt;code&gt;~&lt;/code&gt; + &lt;code&gt;.&lt;/code&gt;.  &lt;/p&gt;
&lt;p&gt;In practice this doesn't also ways work for me.  I've found that sometimes you
must press Enter a couple of times before &lt;code&gt;~.&lt;/code&gt; seems to do anything.  &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 25 Apr 2022 08:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2022-04-25:/memos/2022-04-25-kill-a-hung-ssh-session/</guid><category>memo</category></item><item><title>Octoprint Plugins</title><link>https://captainslog.me/memos/2022-04-20-octoprint-plugins/</link><description>&lt;p&gt;Just a list of the 3rd party plugins I have installed in Octoprint.  Keeping these here for my own future reference. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ABL Expert Plugin&lt;/li&gt;
&lt;li&gt;Bed Visualizer&lt;/li&gt;
&lt;li&gt;DiscordRemote&lt;/li&gt;
&lt;li&gt;Filament Manager&lt;/li&gt;
&lt;li&gt;OctoDash Companion&lt;/li&gt;
&lt;li&gt;Octolapse&lt;/li&gt;
&lt;li&gt;PrettyGCode&lt;/li&gt;
&lt;li&gt;Print History Plugin&lt;/li&gt;
&lt;li&gt;PrintTimeGenius&lt;/li&gt;
&lt;li&gt;Slicer Thumbnails&lt;/li&gt;
&lt;li&gt;UI Customizer&lt;/li&gt;
&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 20 Apr 2022 08:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2022-04-20:/memos/2022-04-20-octoprint-plugins/</guid><category>memo</category></item><item><title>View Markdown from Terminal</title><link>https://captainslog.me/memos/2021-11-23-view-markdown-from-terminal/</link><description>&lt;p&gt;You can view markdown files using any file viewer.  However, to get a slightly more pleasent view you can use pandoc to first convert to HTML and then render that with either lynx or w3m (any any other browser.) &lt;/p&gt;
&lt;p&gt;Examples:&lt;/p&gt;
&lt;pre class="shell"&gt;&lt;code class="language-sourceCode"&gt;# Using pandoc with Lynx
$ pandoc file.md | lynx -stdin

# Using …&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Tue, 23 Nov 2021 10:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2021-11-23:/memos/2021-11-23-view-markdown-from-terminal/</guid><category>memo</category></item><item><title>Making a temporary home directory</title><link>https://captainslog.me/memos/2021-09-14-making-a-temporary-home-directory/</link><description>&lt;p&gt;There are times when your home directory might not be available.  This can be
due to your homedir coming from LDAP or another network service and the local
directory not being available.  When logging in you'll see something similar
to&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Last login: Mon Sep 13 21:03:37 from foo …&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Tue, 14 Sep 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2021-09-14:/memos/2021-09-14-making-a-temporary-home-directory/</guid><category>memo</category></item><item><title>Using yum with only the cache</title><link>https://captainslog.me/memos/2021-09-08-using-yum-with-only-the-cache/</link><description>&lt;p&gt;Yum keeps a local cache.  To use yum with only the cache use &lt;code&gt;yum -C&lt;/code&gt; or &lt;code&gt;yum --cacheonly&lt;/code&gt;. &lt;/p&gt;
&lt;h2 id="reference"&gt;Reference&lt;/h2&gt;
&lt;p&gt;man yum&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 08 Sep 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2021-09-08:/memos/2021-09-08-using-yum-with-only-the-cache/</guid><category>til</category></item><item><title>Check SSH Key Fingerprints</title><link>https://captainslog.me/memos/2021-08-19-check-ssh-key-fingerprints/</link><description>&lt;p&gt;Show the fingerprint of an SSH key&lt;/p&gt;
&lt;pre class="shell"&gt;&lt;code class="language-sourceCode"&gt;$ ssh-keygen -l -f ~/.ssh/id_rsa
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The default hashing is sha256, however it might be more useful to see the fingerprint in md5.&lt;/p&gt;
&lt;pre class="shell"&gt;&lt;code class="language-sourceCode"&gt;$ ssh-keygen -l -f ~/.ssh/id_rsa
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Less useful, but sometimes fun, is showing the randomart assocated with the key&lt;/p&gt;
&lt;pre class="shell"&gt;&lt;code class="language-sourceCode"&gt;~ $ ssh-keygen -l -v …&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Thu, 19 Aug 2021 10:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2021-08-19:/memos/2021-08-19-check-ssh-key-fingerprints/</guid><category>memo</category></item><item><title>Force chrony to update time</title><link>https://captainslog.me/memos/2021-07-28-force-chrony-to-update-time/</link><description>&lt;pre class="shell"&gt;&lt;code class="language-sourceCode"&gt;$ chronyc -a 'burst 4/10'
$ sleep 5
$ chronyc -a makestep
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="references"&gt;References&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://chrony.tuxfamily.org/doc/4.1/chronyc.html#burst"&gt;chrony - chronyc(1)&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 28 Jul 2021 10:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2021-07-28:/memos/2021-07-28-force-chrony-to-update-time/</guid><category>til</category></item><item><title>Update libvirt/KVM guest virtual machine templates</title><link>https://captainslog.me/memos/2020-03-01-update-libvirtkvm-guest-virtual-machine-templates/</link><description>&lt;p&gt;virt-customize can be used to customize a virtual machine image by
installing packages, editing configuration files, and so on. This is
done by modifying the disk image in place.&lt;/p&gt;
&lt;h2 id="update-the-template"&gt;Update the template&lt;/h2&gt;
&lt;p&gt;Run yum update to update the packages already installed in the template
to their latest versions.&lt;/p&gt;
&lt;pre class="shell"&gt;&lt;code class="language-sourceCode"&gt;$ virt-customize --connect …&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Sun, 01 Mar 2020 20:28:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2020-03-01:/memos/2020-03-01-update-libvirtkvm-guest-virtual-machine-templates/</guid><category>memo</category></item><item><title>Reset and Clone libvirt/KVM guest virtual machines</title><link>https://captainslog.me/memos/2020-02-20-reset-and-clone-libvirtkvm-guest-virtual-machines/</link><description>&lt;h2 id="prepare-the-clone"&gt;Prepare the clone&lt;/h2&gt;
&lt;p&gt;Use the virt-sysprep command to reset a virtual machine. The virtual
machine must be shut down before you use this command.&lt;/p&gt;
&lt;pre class="shell"&gt;&lt;code class="language-sourceCode"&gt;virt-sysprep --connect qemu:///system -d centos7-gold
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="create-the-clone"&gt;Create the clone&lt;/h2&gt;
&lt;p&gt;Use the virt-clone command to create a clone of an existing virtual
machine.&lt;/p&gt;
&lt;pre class="shell"&gt;&lt;code class="language-sourceCode"&gt;virt-clone  --original centos7-gold --name …&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Thu, 20 Feb 2020 19:50:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2020-02-20:/memos/2020-02-20-reset-and-clone-libvirtkvm-guest-virtual-machines/</guid><category>memo</category></item><item><title>Automatic DNS resolution for libvirt guests using a local domain</title><link>https://captainslog.me/memos/2020-02-19-automatic-dns-resolution-for-libvirt-guests-using-a-local-domain/</link><description>&lt;h2 id="configuring-libvirt"&gt;Configuring libvirt&lt;/h2&gt;
&lt;p&gt;First libvirt needs to be configured. Modify the default network using
virsh net-edit default.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo virsh net-dumpxml default
&amp;lt;network connections='1'&amp;gt;
  &amp;lt;name&amp;gt;default&amp;lt;/name&amp;gt;
  &amp;lt;uuid&amp;gt;3a3627c2-15a7-4e7f-b7b6-0c2310ba9427&amp;lt;/uuid&amp;gt;
  &amp;lt;forward mode='nat'&amp;gt;
    &amp;lt;nat&amp;gt;
      &amp;lt;port start='1024' end='65535'/&amp;gt;
    &amp;lt;/nat&amp;gt;
  &amp;lt;/forward&amp;gt;
  &amp;lt;bridge name='virbr0' stp='on' delay='0'/&amp;gt;
  &amp;lt;mac address='52 …&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 19 Feb 2020 20:50:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2020-02-19:/memos/2020-02-19-automatic-dns-resolution-for-libvirt-guests-using-a-local-domain/</guid><category>memo</category></item><item><title>Clear systemd journal</title><link>https://captainslog.me/memos/2018-04-09-clear-systemd-journal/</link><description>&lt;p&gt;If the journal is configured to archive entires these can take up
unnecessary disk space when not properly maintained. The current disk
usage can be seen with journalctl &lt;code&gt;--disk-usage&lt;/code&gt;. This includes both
active and archived journal files.&lt;/p&gt;
&lt;h2 id="clear-journal-entries-older-then-x-number-of-days"&gt;Clear journal entries older then X number of days&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;$ journalctl --vacuum-time=5d
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="clear-journals-exceeding-x-storage"&gt;Clear …&lt;/h2&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 09 Apr 2018 12:03:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2018-04-09:/memos/2018-04-09-clear-systemd-journal/</guid><category>memo</category></item><item><title>Reset root password on RHEL7</title><link>https://captainslog.me/memos/2018-03-21-reset-root-password-on-rhel7/</link><description>&lt;p&gt;How to reset an unknown root password using rd.break on RHEL 7.&lt;/p&gt;
&lt;p&gt;Start by booting until the GRUB2 menu appears then edit the boot loader
menu with the e key. Find the line beginning with linux and make then
follow these steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;add rd.break&lt;/li&gt;
&lt;li&gt;run mount -o remount …&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 21 Mar 2018 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2018-03-21:/memos/2018-03-21-reset-root-password-on-rhel7/</guid><category>memo</category></item><item><title>Using screen as a serial console</title><link>https://captainslog.me/memos/2018-02-20-using-screen-as-a-serial-console/</link><description>&lt;p&gt;Using screen you can connect to any serial device in /dev. A typical
USB-to-RS-232 adapter will usually be /dev/ttyUSB0. A physical serial
port will usually be /dev/ttyS0.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;screen /dev/ttyUSB0 9600
&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Tue, 20 Feb 2018 11:59:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2018-02-20:/memos/2018-02-20-using-screen-as-a-serial-console/</guid><category>memo</category></item><item><title>Discover IPv6 Neighbors</title><link>https://captainslog.me/memos/2018-02-20-discover-ipv6-neighbors/</link><description>&lt;p&gt;Ping nodes on the local network segment using multicast&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;pre class="none"&gt;&lt;code class="language-sourceCode"&gt;ping6 -c2 -I &amp;lt;interface&amp;gt; ff02::1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then, view IPv6 neighbors&lt;/p&gt;
&lt;pre class="none"&gt;&lt;code class="language-sourceCode"&gt;ip -f inet6 neigh
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="references"&gt;References&lt;/h2&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Multicast_address"&gt;https://en.wikipedia.org/wiki/Multicast_address&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Tue, 20 Feb 2018 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2018-02-20:/memos/2018-02-20-discover-ipv6-neighbors/</guid><category>memo</category></item><item><title>Renew Expired GPG Keys</title><link>https://captainslog.me/memos/2018-01-22-renew-expired-gpg-keys/</link><description>&lt;p&gt;To renew an expiring, or extend the expiration of a gpg key edit the key
and set a new expiration date.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;gpg --edit-key &amp;lt;keyid&amp;gt;
command&amp;gt; list
command&amp;gt; key [keyid]
command&amp;gt; expire
command&amp;gt; save
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Where &lt;code&gt;keyid&lt;/code&gt; above is the key that is expiring.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 22 Jan 2018 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2018-01-22:/memos/2018-01-22-renew-expired-gpg-keys/</guid><category>memo</category></item><item><title>Set time with NTPd</title><link>https://captainslog.me/memos/2018-01-01-set-time-with-ntpd/</link><description>&lt;p&gt;Use &lt;code&gt;ntpd -gc&lt;/code&gt; to start the NTP daemon and set the time regardless of what
the offset between the local and remote clock is.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 01 Jan 2018 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2018-01-01:/memos/2018-01-01-set-time-with-ntpd/</guid><category>til</category></item><item><title>Modify iptables rules</title><link>https://captainslog.me/memos/2017-10-03-modify-iptables-rules/</link><description>&lt;p&gt;Show all iptables rules and include line numbers&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;iptables -L INPUT --line-numbers
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Replace iptables rule at a specific line number&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;iptables -R X INPUT &amp;lt;new rule here&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Tue, 03 Oct 2017 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2017-10-03:/memos/2017-10-03-modify-iptables-rules/</guid><category>til</category></item><item><title>Grow LVM physical volume</title><link>https://captainslog.me/memos/2017-02-19-grow-lvm-physical-volume/</link><description>&lt;p&gt;The pvresize command can be used to grow an existing physical volume so long as
you grow the parition on the underlying device.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use &lt;code&gt;fdisk -l /dev/sdc1&lt;/code&gt; to find the start sector of the partition.&lt;/li&gt;
&lt;li&gt;Delete existing partition and create a new partition with the same start
sector.&lt;/li&gt;
&lt;li&gt;Use …&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Sun, 19 Feb 2017 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2017-02-19:/memos/2017-02-19-grow-lvm-physical-volume/</guid><category>til</category></item><item><title>Using ssmtp with FastMail</title><link>https://captainslog.me/memos/2017-02-10-using-ssmtp-with-fastmail/</link><description>&lt;pre&gt;&lt;code&gt;#  a config file for sSMTP sendmail.

# The user that gets all mail for userids less than 1000. If blank, address
# rewriting is disabled.
Root=roots-mail@example.com

# the smarthost or relay or ...
Mailhub=smtp.fastmail.com:465

# TLS Config
UseTLS=YES
UseSTARTTLS=NO

RewriteDomain=example.com

# The full hostname
Hostname …&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Fri, 10 Feb 2017 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2017-02-10:/memos/2017-02-10-using-ssmtp-with-fastmail/</guid><category>til</category></item><item><title>Signing GnuPG keys with caff</title><link>https://captainslog.me/memos/2016-11-16-signing-gnupg-keys-with-caff/</link><description>&lt;p&gt;These are my notes on getting caff configured and working in order to send
signed keys after the OhioLinuxFest keysigning.  All of this was done on a
Fedora 24 Workstation using only the standard repositories.&lt;/p&gt;
&lt;!-- more --&gt;

&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;pgp-tools&lt;/code&gt; package provides caff.  It can be easily installed with yum.  I
also …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 16 Nov 2016 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2016-11-16:/memos/2016-11-16-signing-gnupg-keys-with-caff/</guid><category>memo</category></item><item><title>Configuring ipmi using ipmitool</title><link>https://captainslog.me/memos/2016-08-10-configuring-ipmi-using-ipmitool/</link><description>&lt;h2 id="packages-and-services"&gt;Packages and Services&lt;/h2&gt;
&lt;p&gt;On RHEL7Server the &lt;code&gt;OpenIPMI&lt;/code&gt; and &lt;code&gt;ipmitool&lt;/code&gt; are necessary to configure and use IPMI.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ yum install OpenIMPI ipmitool
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="networking"&gt;Networking&lt;/h2&gt;
&lt;p&gt;Configure a static ip address on the first port.  For dynamic configuration
set &lt;code&gt;ipsrc&lt;/code&gt; to dynamic.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo ipmitool lan set 1 ipsrc static
$ sudo ipmitool lan set 1 ipaddr …&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 10 Aug 2016 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2016-08-10:/memos/2016-08-10-configuring-ipmi-using-ipmitool/</guid><category>memo</category></item><item><title>Reinstall the Kernel with yum</title><link>https://captainslog.me/memos/2016-07-20-reinstall-the-kernel-with-yum/</link><description>&lt;p&gt;After failing to update the initrd after making changes to the plymouth boot I was unable to boot into the kernel.  The yum reinstall fixed this&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ yum reinstall kernel
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;However, this doesn't always work.  If yum feels the kernel is already installed and healthy this will return 'nothing to do' …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 20 Jul 2016 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2016-07-20:/memos/2016-07-20-reinstall-the-kernel-with-yum/</guid><category>memo</category></item><item><title>Have dovecot logins update lastlog</title><link>https://captainslog.me/memos/2016-07-13-have-dovecot-logins-update-lastlog/</link><description>&lt;p&gt;Two changes are needed to have dovecot update lastlog when a user logins with either imap or pop3.&lt;/p&gt;
&lt;p&gt;In &lt;code&gt;/etc/dovecot/cond.d/auth-system.conf.ext&lt;/code&gt; enable PAM sessions&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;passdb {
  driver = pam
  args = session=yes dovecot
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then, enable the lastlog module in the dovecot PAM configuration at &lt;code&gt;/etc/pam.d …&lt;/code&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 13 Jul 2016 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2016-07-13:/memos/2016-07-13-have-dovecot-logins-update-lastlog/</guid><category>memo</category></item><item><title>SELinux Permissive Domains</title><link>https://captainslog.me/memos/2016-03-18-selinux-permissive-domains/</link><description>&lt;p&gt;When SELinux is configured to run in Permissive mode it will only log
when an action would be denied using Enforcing. Using permissive domains
a single process and be configured to run in Permissive mode while
leaving the rest of the system in Enforcing.&lt;/p&gt;
&lt;p&gt;Make a domain permissive with &lt;code&gt;semanage …&lt;/code&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Fri, 18 Mar 2016 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:captainslog.me,2016-03-18:/memos/2016-03-18-selinux-permissive-domains/</guid><category>til</category></item><item><title>Change network device name after restore</title><link>https://captainslog.me/memos/2016-01-11-change-network-device-name-after-restore/</link><description>&lt;p&gt;Restoring a server using an image based backup product can
result in network inteface naming changing. Here is a short procedure to
changes those names back.&lt;/p&gt;
&lt;p&gt;If the MAC address of a physical or virtual network interface changes
then the device name will often change as well. This is common …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 11 Jan 2016 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2016-01-11:/memos/2016-01-11-change-network-device-name-after-restore/</guid><category>memo</category></item><item><title>Interface teaming with nmcli</title><link>https://captainslog.me/memos/2015-12-28-interface-teaming-with-nmcli/</link><description>&lt;h2 id="create-the-team-interface"&gt;Create the team interface&lt;/h2&gt;
&lt;p&gt;This creates a new team interface named &lt;strong&gt;team0&lt;/strong&gt; and sets runner (bond 
mode) to lacp.  In these examples the name of the interface is &lt;strong&gt;team0&lt;/strong&gt;
- this is entirely for personal tastes.  The connection name can be
anything, using team simply makes things easier to follow.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ nmcli …&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Mon, 28 Dec 2015 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2015-12-28:/memos/2015-12-28-interface-teaming-with-nmcli/</guid><category>memo</category></item><item><title>Hammer notes</title><link>https://captainslog.me/memos/2015-12-09-hammer-notes/</link><description>&lt;p&gt;Here is a collection of my notes on using hammer cli with Red Hat 
Satellite.  Most of these things probably work with Katello also, but 
all of my testing is with Satellite.&lt;/p&gt;
&lt;h2 id="add-new-product"&gt;Add new Product&lt;/h2&gt;
&lt;p&gt;Products are a group of repositories.  Content Hosts can subscribe to a 
product to make …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Wed, 09 Dec 2015 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2015-12-09:/memos/2015-12-09-hammer-notes/</guid><category>memo</category></item><item><title>RPM Notes</title><link>https://captainslog.me/memos/2015-11-22-rpm-notes/</link><description>&lt;p&gt;Here is a collection of my notes on using RPM. Most of these are well
documented in man pages and other sources around the web. I\'ve
collected the ones I\'ve used most here as a reference for myself and
others.&lt;/p&gt;
&lt;h2 id="query-package-information"&gt;Query package information&lt;/h2&gt;
&lt;h3 id="show-package-information"&gt;Show package information&lt;/h3&gt;
&lt;pre class="console"&gt;&lt;code class="language-sourceCode"&gt;$ rpm -qi …&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon M</dc:creator><pubDate>Sun, 22 Nov 2015 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:captainslog.me,2015-11-22:/memos/2015-11-22-rpm-notes/</guid><category>memo</category></item></channel></rss>