<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>BAFM</title><link>https://christian.blog.pakiheim.de/</link><description>Recent content on BAFM</description><generator>Hugo -- 0.160.1</generator><language>en</language><lastBuildDate>Fri, 06 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://christian.blog.pakiheim.de/index.xml" rel="self" type="application/rss+xml"/><item><title>About Me</title><link>https://christian.blog.pakiheim.de/about/</link><pubDate>Fri, 06 Feb 2026 00:00:00 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/about/</guid><description>This contains just a few details about me.</description></item><item><title>Exploring the Intersight API with a Python-Based Schema Browser</title><link>https://christian.blog.pakiheim.de/posts/2026-02-07_working-with-intersight-api/</link><pubDate>Fri, 06 Feb 2026 00:00:00 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/posts/2026-02-07_working-with-intersight-api/</guid><description>A comprehensive guide to using a Python tool for exploring Cisco Intersight&amp;#39;s OpenAPI specification and accelerating PowerShell module development.</description></item><item><title>How to Use NAS Storage with Docker Compose: NFS, SMB, and Local Volumes</title><link>https://christian.blog.pakiheim.de/posts/2026-02-03_nfs_performance_considerations_for_docker/</link><pubDate>Tue, 03 Feb 2026 00:00:00 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/posts/2026-02-03_nfs_performance_considerations_for_docker/</guid><description>A practical guide to connecting your NAS (Synology, QNAP, TrueNAS, or any NFS/SMB server) to Docker Compose stacks. Learn how to mount network shares as volumes, configure permissions, and avoid common pitfalls.</description></item><item><title>LVM Quick Reference: Setup, Extend, and Resize Filesystems</title><link>https://christian.blog.pakiheim.de/posts/2026-02-01_lvm_quick_reference-setup_extend_resize_filesystems/</link><pubDate>Sun, 01 Feb 2026 21:43:50 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/posts/2026-02-01_lvm_quick_reference-setup_extend_resize_filesystems/</guid><description>A hands-on reference for creating and extending LVM Physical Volumes, Volume Groups, and Logical Volumes, plus growing XFS and ext3/ext4 filesystems.</description></item><item><title>Docker Swarm + Compose: Traefik Label Sync</title><link>https://christian.blog.pakiheim.de/posts/2026-02-01_docker-swarm-and-compose-traefik_label_sync/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/posts/2026-02-01_docker-swarm-and-compose-traefik_label_sync/</guid><description>How to enable Traefik auto-discovery for docker-compose containers on Swarm worker nodes</description></item><item><title>Impressum</title><link>https://christian.blog.pakiheim.de/impressum/</link><pubDate>Wed, 14 Jan 2026 21:30:00 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/impressum/</guid><description>&lt;h1 id="impressum"&gt;Impressum&lt;/h1&gt;
&lt;h2 id="angaben-gemäß--5-tmg"&gt;Angaben gemäß § 5 TMG&lt;/h2&gt;
&lt;p&gt;Christian Heim
Leopoldstr. 32
D-76287 Rheinstetten&lt;/p&gt;
&lt;h2 id="kontakt"&gt;Kontakt&lt;/h2&gt;
&lt;p&gt;E-Mail: &lt;a href="mailto:hello@pakiheim.de"&gt;hello@pakiheim.de&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="hinweis"&gt;Hinweis&lt;/h2&gt;
&lt;p&gt;Dies ist eine private, nicht-kommerzielle Webseite.&lt;/p&gt;
&lt;h2 id="haftung-für-inhalte"&gt;Haftung für Inhalte&lt;/h2&gt;
&lt;p&gt;Als Diensteanbieter bin ich gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG bin ich als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.&lt;/p&gt;</description></item><item><title>Privacy Policy</title><link>https://christian.blog.pakiheim.de/privacy-policy/</link><pubDate>Wed, 14 Jan 2026 21:30:00 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/privacy-policy/</guid><description>&lt;h2 id="who-we-are"&gt;Who we are&lt;/h2&gt;
&lt;p&gt;Our website address is: &lt;a href="https://christian.blog.pakiheim.de"&gt;https://christian.blog.pakiheim.de&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="what-personal-data-we-collect-and-why-we-collect-it"&gt;What personal data we collect and why we collect it&lt;/h2&gt;
&lt;h3 id="comments"&gt;Comments&lt;/h3&gt;
&lt;p&gt;When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.&lt;/p&gt;
&lt;h3 id="media"&gt;Media&lt;/h3&gt;
&lt;p&gt;If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.&lt;/p&gt;</description></item><item><title>Sort file into subdirectories structures by year and month</title><link>https://christian.blog.pakiheim.de/posts/2023-04-16_sort-file-by-createdtime-into-subdirectories-structures-by-year-and-month/</link><pubDate>Sun, 16 Apr 2023 17:52:50 +0000</pubDate><guid isPermaLink="false">https://christian.weblog.heimdaheim.de/?p=5471</guid><description>&lt;h1 id="owncloud-camera-import-sort-script"&gt;OwnCloud Camera Import Sort Script&lt;/h1&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;BASE_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/var/www/owncloud.heimdaheim.de/data/christian/files/Camera-Import
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SORT_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/var/www/owncloud.heimdaheim.de/data/christian/files/Camera-Sorted
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;find &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$BASE_DIR&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -type f -name &lt;span class="s2"&gt;&amp;#34;*&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -r file&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;year&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date -d &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;stat -c %y &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; +%Y&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;month&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date -d &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;stat -c %y &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; +%b&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;filestamp&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date -d &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;stat -c %y &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; +%Y%m%d&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[[&lt;/span&gt; ! -d &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$SORT_DIR&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$year&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$month&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; mkdir -p &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$SORT_DIR&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$year&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$month&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mv &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$SORT_DIR&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$year&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$month&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;filestamp&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;_&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;file&lt;/span&gt;&lt;span class="p"&gt;##*/&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;/h2&gt;
&lt;p&gt;This Bash script automatically sorts camera uploads from OwnCloud into a year/month directory structure. Files are organized based on their modification date and prefixed with a timestamp in the filename.&lt;/p&gt;</description></item><item><title>Bash sort files into date-subdirectories</title><link>https://christian.blog.pakiheim.de/posts/2023-04-07_bash-sort-files-into-date-subdirectories/</link><pubDate>Fri, 07 Apr 2023 20:48:33 +0000</pubDate><guid isPermaLink="false">https://christian.weblog.heimdaheim.de/?p=5469</guid><description>&lt;p&gt;This is how to sort files into date separated folders.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;BASE_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/var/www/owncloud.heimdaheim.de/data/christian/files/oldgallery
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SORT_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/var/www/owncloud.heimdaheim.de/data/christian/files/datedgallery
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;find &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$BASE_DIR&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -type f -name &lt;span class="s2"&gt;&amp;#34;*&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -r file&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;year&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date -d &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;stat -c %y &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; +%Y&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;month&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date -d &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;stat -c %y &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; +%b&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;filestamp&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; date -d &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; stat -c %y &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; +%Y%m%d&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[[&lt;/span&gt; ! -d &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$SORT_DIR&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$year&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$month&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; mkdir -p &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$SORT_DIR&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$year&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$month&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mv &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$SORT_DIR&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$year&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$month&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;filestamp&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;_&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;file&lt;/span&gt;&lt;span class="p"&gt;##*/&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Shrink git repo directory</title><link>https://christian.blog.pakiheim.de/posts/2022-08-26_shrink-git-repo-directory/</link><pubDate>Fri, 26 Aug 2022 19:32:59 +0000</pubDate><guid isPermaLink="false">https://christian.weblog.heimdaheim.de/?p=5457</guid><description>&lt;p&gt;So I just had the issue, that I encountered a long running local tracking git repo to be huge.&lt;br&gt;
And it wasn&amp;rsquo;t that there are huge (lfs) files stored in it.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# du -h --max-depth=1 --exclude=.git /var/www/pma.heimdaheim.de/www/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;60K /var/www/pma.heimdaheim.de/www/.github
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;676K /var/www/pma.heimdaheim.de/www/doc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;20K /var/www/pma.heimdaheim.de/www/examples
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;9.0M /var/www/pma.heimdaheim.de/www/js
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;5.8M /var/www/pma.heimdaheim.de/www/libraries
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;59M /var/www/pma.heimdaheim.de/www/po
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;92K /var/www/pma.heimdaheim.de/www/scripts
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;28K /var/www/pma.heimdaheim.de/www/setup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;28K /var/www/pma.heimdaheim.de/www/sql
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1.5M /var/www/pma.heimdaheim.de/www/templates
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;3.3M /var/www/pma.heimdaheim.de/www/test
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;9.0M /var/www/pma.heimdaheim.de/www/themes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;20M /var/www/pma.heimdaheim.de/www/vendor
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;92M /var/www/pma.heimdaheim.de/www/node_modules
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;28K /var/www/pma.heimdaheim.de/www/tmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;200M /var/www/pma.heimdaheim.de/www/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now after looking at that, we can take a closer look into the git-directory itself (as to what is consuming the space):&lt;/p&gt;</description></item><item><title>Create a Proxmox VM via CLI</title><link>https://christian.blog.pakiheim.de/posts/2022-06-21_create-a-proxmox-vm-via-cli/</link><pubDate>Tue, 21 Jun 2022 23:09:44 +0000</pubDate><guid isPermaLink="false">https://christian.weblog.heimdaheim.de/?p=5449</guid><description>&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Clone the VM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm clone &lt;span class="m"&gt;9000&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --name nzbget.ka.beiheimdaheim.de --full&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt; --storage vmstorage
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set the nameserver&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --nameserver&lt;span class="o"&gt;=&lt;/span&gt;10.76.41.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set the ipconfiguration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --ipconfig0 &lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.76.41.40/24,gw&lt;span class="o"&gt;=&lt;/span&gt;10.76.41.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Configure the virtual network adapter.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --net0 virtio,bridge&lt;span class="o"&gt;=&lt;/span&gt;vmbr0,tag&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;41&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Enable autoboot&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --onboot &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set the RAM of the VM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --memory &lt;span class="m"&gt;2048&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set the vCPU count for the VM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --cores &lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Start the VM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm start &lt;span class="m"&gt;4140&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Create a Proxmox Ubuntu Cloud-Init Template</title><link>https://christian.blog.pakiheim.de/posts/2022-06-21_create-a-proxmox-ubuntu-cloud-init-template/</link><pubDate>Tue, 21 Jun 2022 19:02:19 +0000</pubDate><guid isPermaLink="false">https://christian.weblog.heimdaheim.de/?p=5436</guid><description>&lt;h2 id="step-1-download-the-ubuntu-image"&gt;Step 1: Download the Ubuntu image&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SRC_IMG&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64-disk-kvm.img&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#VMSTORAGE=&amp;#34;/vmstorage&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;VMSTORAGE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/var/lib/vz/images&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;IMG_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;jammy-server-cloudimg-amd64-disk-kvm.qcow2&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;IMG_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;$VMSTORAGE/$IMG_NAME&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;wget&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;O&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;IMG_PATH&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;SRC_IMG&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-2-add-necessary-packages"&gt;Step 2: Add necessary packages&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="n"&gt;libguestfs&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;virt&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;customize&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;IMG_PATH&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;cloud&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;initramfs&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;growroot&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;atop&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;htop&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;nano&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;vim&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;qemu&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;guest&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;curl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;wget&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;unattended&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;upgrades&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;git&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-3-modify-etcsshsshd_config"&gt;Step 3: Modify /etc/ssh/sshd_config&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-2-1"&gt;&lt;a class="lnlinks" href="#hl-2-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo virt-customize -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; --run-command &lt;span class="s2"&gt;&amp;#34;sed -i &amp;#39;s/.*PasswordAuthentication.*/PasswordAuthentication yes/g&amp;#39; /etc/ssh/sshd_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-4-modify-etcaptaptconfd50unattended-upgrades"&gt;Step 4: Modify &lt;code&gt;/etc/apt/apt.conf.d/50unattended-upgrades&lt;/code&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-3-1"&gt;&lt;a class="lnlinks" href="#hl-3-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-2"&gt;&lt;a class="lnlinks" href="#hl-3-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;EDITOR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;nano
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo -E virt-edit -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; /etc/apt/apt.conf.d/50unattended-upgrades
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-5-modify-etcdefaultgrub"&gt;Step 5: Modify &lt;code&gt;/etc/default/grub&lt;/code&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-4-1"&gt;&lt;a class="lnlinks" href="#hl-4-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-4-2"&gt;&lt;a class="lnlinks" href="#hl-4-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-4-3"&gt;&lt;a class="lnlinks" href="#hl-4-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;EDITOR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;nano
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo -E virt-edit -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; /etc/default/grub
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo virt-customize -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; --run-command &lt;span class="s2"&gt;&amp;#34;update-grub&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-6-install-ohmybash"&gt;Step 6: Install &lt;code&gt;ohmybash&lt;/code&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-5-1"&gt;&lt;a class="lnlinks" href="#hl-5-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-5-2"&gt;&lt;a class="lnlinks" href="#hl-5-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo virt-customize -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; --run-command &lt;span class="s2"&gt;&amp;#34;git clone https://github.com/ohmybash/oh-my-bash.git /opt/ohmybash&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-7-fix-timezone"&gt;Step 7: Fix timezone&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-6-1"&gt;&lt;a class="lnlinks" href="#hl-6-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo virt-customize -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; --timezone &lt;span class="s2"&gt;&amp;#34;Europe/Berlin&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-8-create-the-proxmox-template"&gt;Step 8: Create the Proxmox template&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-7-1"&gt;&lt;a class="lnlinks" href="#hl-7-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-2"&gt;&lt;a class="lnlinks" href="#hl-7-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-3"&gt;&lt;a class="lnlinks" href="#hl-7-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-4"&gt;&lt;a class="lnlinks" href="#hl-7-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-5"&gt;&lt;a class="lnlinks" href="#hl-7-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-6"&gt;&lt;a class="lnlinks" href="#hl-7-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-7"&gt;&lt;a class="lnlinks" href="#hl-7-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-8"&gt;&lt;a class="lnlinks" href="#hl-7-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-9"&gt;&lt;a class="lnlinks" href="#hl-7-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-10"&gt;&lt;a class="lnlinks" href="#hl-7-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-11"&gt;&lt;a class="lnlinks" href="#hl-7-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-12"&gt;&lt;a class="lnlinks" href="#hl-7-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-13"&gt;&lt;a class="lnlinks" href="#hl-7-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-14"&gt;&lt;a class="lnlinks" href="#hl-7-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-15"&gt;&lt;a class="lnlinks" href="#hl-7-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-16"&gt;&lt;a class="lnlinks" href="#hl-7-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-17"&gt;&lt;a class="lnlinks" href="#hl-7-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-18"&gt;&lt;a class="lnlinks" href="#hl-7-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-19"&gt;&lt;a class="lnlinks" href="#hl-7-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TEMPL_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ubuntu2204-cloud&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;VMID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;9000&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;MEM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;512&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DISK_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;10G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DISK_STOR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;vmstorage&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NET_BRIDGE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;vmbr0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm create &lt;span class="nv"&gt;$VMID&lt;/span&gt; --name &lt;span class="nv"&gt;$TEMPL_NAME&lt;/span&gt; --memory &lt;span class="nv"&gt;$MEM&lt;/span&gt; --net0 virtio,bridge&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$NET_BRIDGE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm importdisk &lt;span class="nv"&gt;$VMID&lt;/span&gt; &lt;span class="nv"&gt;$IMG_NAME&lt;/span&gt; &lt;span class="nv"&gt;$DISK_STOR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --agent &lt;span class="nv"&gt;enabled&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --scsihw virtio-scsi-pci --scsi0 &lt;span class="nv"&gt;$DISK_STOR&lt;/span&gt;:vm-&lt;span class="nv"&gt;$VMID&lt;/span&gt;-disk-0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --ide2 &lt;span class="nv"&gt;$DISK_STOR&lt;/span&gt;:cloudinit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --boot c --bootdisk scsi0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --serial0 socket --vga serial0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --ipconfig0 &lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;dhcp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --ciuser&lt;span class="o"&gt;=&lt;/span&gt;christian
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --cipassword&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;bla&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --searchdomain&lt;span class="o"&gt;=&lt;/span&gt;ka.beiheimdaheim.de
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm resize &lt;span class="nv"&gt;$VMID&lt;/span&gt; scsi0 &lt;span class="nv"&gt;$DISK_SIZE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm template &lt;span class="nv"&gt;$VMID&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Dell notes</title><link>https://christian.blog.pakiheim.de/posts/2022-04-15_dell-notes/</link><pubDate>Fri, 15 Apr 2022 23:32:22 +0000</pubDate><guid isPermaLink="false">https://christian.weblog.heimdaheim.de/?p=5427</guid><description>&lt;p&gt;This is a quick note for some commands, I have found useful.&lt;/p&gt;
&lt;h2 id="get-the-currently-configured-os-hostname"&gt;Get the currently configured OS hostname&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;gt; racadm get System.ServerOS.Hostname
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="set-the-configured-os-hostname"&gt;Set the configured OS hostname&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-3"&gt;&lt;a class="lnlinks" href="#hl-1-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;gt; racadm &lt;span class="nb"&gt;set&lt;/span&gt; System.ServerOS.Hostname hv-2.ka.beiheimdaheim.de
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;System.Embedded.1#ServerOS.1&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Object value modified successfully
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="reset-the-ssl-certificate"&gt;Reset the SSL certificate&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-2-1"&gt;&lt;a class="lnlinks" href="#hl-2-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-2-2"&gt;&lt;a class="lnlinks" href="#hl-2-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;gt; racadm sslresetcfg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;gt; racadm racreset
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mindlesstux.com/2018/03/13/idrac-7-letsencrypt-wildcard-cert/"&gt;https://mindlesstux.com/2018/03/13/idrac-7-letsencrypt-wildcard-cert/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.itechlounge.net/2018/03/dell-how-to-install-a-custom-issued-ssl-certificate-on-idrac/"&gt;https://www.itechlounge.net/2018/03/dell-how-to-install-a-custom-issued-ssl-certificate-on-idrac/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="get-a-list-of-all-storage-devices-and-their-blocksize-conversion-of-netapp-disks---blocksize-520"&gt;Get a list of all storage devices, and their blocksize (conversion of NetApp Disks - blocksize 520)&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-3-1"&gt;&lt;a class="lnlinks" href="#hl-3-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-2"&gt;&lt;a class="lnlinks" href="#hl-3-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-3"&gt;&lt;a class="lnlinks" href="#hl-3-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-4"&gt;&lt;a class="lnlinks" href="#hl-3-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-5"&gt;&lt;a class="lnlinks" href="#hl-3-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-6"&gt;&lt;a class="lnlinks" href="#hl-3-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-7"&gt;&lt;a class="lnlinks" href="#hl-3-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-8"&gt;&lt;a class="lnlinks" href="#hl-3-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-9"&gt;&lt;a class="lnlinks" href="#hl-3-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-10"&gt;&lt;a class="lnlinks" href="#hl-3-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-11"&gt;&lt;a class="lnlinks" href="#hl-3-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-12"&gt;&lt;a class="lnlinks" href="#hl-3-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-13"&gt;&lt;a class="lnlinks" href="#hl-3-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-14"&gt;&lt;a class="lnlinks" href="#hl-3-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-15"&gt;&lt;a class="lnlinks" href="#hl-3-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-16"&gt;&lt;a class="lnlinks" href="#hl-3-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-17"&gt;&lt;a class="lnlinks" href="#hl-3-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-18"&gt;&lt;a class="lnlinks" href="#hl-3-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-19"&gt;&lt;a class="lnlinks" href="#hl-3-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-20"&gt;&lt;a class="lnlinks" href="#hl-3-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-21"&gt;&lt;a class="lnlinks" href="#hl-3-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-22"&gt;&lt;a class="lnlinks" href="#hl-3-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-23"&gt;&lt;a class="lnlinks" href="#hl-3-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-24"&gt;&lt;a class="lnlinks" href="#hl-3-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-25"&gt;&lt;a class="lnlinks" href="#hl-3-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="k"&gt;for&lt;/span&gt; sg in &lt;span class="k"&gt;$(&lt;/span&gt; ls /dev/sg* &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="nv"&gt;output&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sg&lt;span class="se"&gt;\_&lt;/span&gt;format &lt;span class="nv"&gt;$sg&lt;/span&gt; 2&amp;gt;/dev/null&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;blocksize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$output&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;Block size&amp;#39;&lt;/span&gt; &lt;span class="se"&gt;\|&lt;/span&gt; cut -d&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="se"&gt;\|&lt;/span&gt; cut -d&lt;span class="se"&gt;\ &lt;/span&gt;-f1&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$sg&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="nv"&gt;$blocksize&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg0: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg1: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg10: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg11: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg12: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg13: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg14: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg15: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg16: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg17: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg18: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg19: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg2: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg20: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg21: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg22:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg23:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg3: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg4: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg5: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg6: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg7: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg8: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sg9: &lt;span class="m"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="list-the-servers-power-status-and-try-and-turn-the-power-off"&gt;List the servers power status and try and turn the power off.&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-4-1"&gt;&lt;a class="lnlinks" href="#hl-4-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-4-2"&gt;&lt;a class="lnlinks" href="#hl-4-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-4-3"&gt;&lt;a class="lnlinks" href="#hl-4-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-4-4"&gt;&lt;a class="lnlinks" href="#hl-4-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;admin1-&amp;gt; racadm serveraction powerstatus
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Server power status: ON
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;admin1-&amp;gt; racadm serveraction powerdown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ERROR: Timeout &lt;span class="k"&gt;while&lt;/span&gt; waiting &lt;span class="k"&gt;for&lt;/span&gt; server to perform requested power action.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If you happen to have 3rd party fans inside the system, you may get the above reaction.&lt;/p&gt;</description></item><item><title>Nagios: Service Check Timed Out</title><link>https://christian.blog.pakiheim.de/posts/2018-12-07_nagios-service-check-timed-out/</link><pubDate>Fri, 07 Dec 2018 21:24:54 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1981</guid><description>&lt;p&gt;Since I got the pleasure of watching some Windows boxen with Nagios, I took the &lt;a href="http://www.monitoringexchange.org/inventory/Check-Plugins/Operating-Systems/Windows-NRPE/Check-Windows-Updates"&gt;Windows Update plugin&lt;/a&gt; from Michal Jankowski and implemented it. It took me some time, to initially set up the nsclient++ correctly so it just works, but up till now the check plugin sometimes reported the usual &amp;ldquo;Service Check Timed Out&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Usually I ended up increasing the cscript timeout, or the nsclient++ socket timeout, but it still kept showing up. Since I rely heavily on my surveillance tools, I have the demand, that as few as possible false positives show up. So I ended up chasing down this error today, and after that I have to say it was quite simple.&lt;/p&gt;</description></item><item><title>Mass-updating Tivoli Storage Manager drive status</title><link>https://christian.blog.pakiheim.de/posts/2017-10-11_mass-updating-tivoli-storage-manager-drive-status/</link><pubDate>Wed, 11 Oct 2017 19:48:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2552</guid><description>&lt;p&gt;I was fighting with our VTL again, and TSM was thinking all the drives were offline. In order to update the drive status, you&amp;rsquo;d need to go into the ISC and select each drive and set them to &lt;em&gt;ONLINE&lt;/em&gt;. Since I&amp;rsquo;m a bit click-lazy, I wrote a simple nested for-loop, which gives me the output to update all the drives at once:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;for i in 1 2; do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; for k in $( seq -w 1 32 ); do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;UPDATE DRIVE VTL$i VTL${i}_DR${k} ONLINE=YES&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; done
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Result is a list like this:&lt;/p&gt;</description></item><item><title>VMware Auto Deploy already registered / RuleEngine</title><link>https://christian.blog.pakiheim.de/posts/2017-09-03_vmware-auto-deploy-already-registered-ruleengine/</link><pubDate>Sun, 03 Sep 2017 19:19:28 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4143</guid><description>&lt;p&gt;I had this weird plugin error the other day which bothered me on Friday. I decided to go fixing it. So after poking around in the vCenter installed software list. I couldn&amp;rsquo;t find the Auto Deploy in the list, so I figured due to my recent vCenter reinstallation while keeping the database, I forgot to reinstall Auto Deploy.&lt;/p&gt;
&lt;p&gt;I went ahead and started the Auto Deploy setup from the DVD again, until I received this weird looking error. Apparently the setup thought (and decided correctly) that Auto Deploy was already installed in my vCenter.&lt;/p&gt;</description></item><item><title>Debian: dmesg output contains Error: Driver 'pcspkr' is already registered, aborting…</title><link>https://christian.blog.pakiheim.de/posts/2017-02-28_debian-dmesg-output-contains-error-driver-pcspkr-is-already-registered-aborting/</link><pubDate>Tue, 28 Feb 2017 15:18:42 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4639</guid><description>&lt;p&gt;Well, I recently prepared a bunch of Debian KVM guests, and today I got annoyed (basically because logwatch complains about it &amp;hellip;) by this pesky error message on each startup. What causes this is error is really simple.&lt;/p&gt;
&lt;p&gt;Udev loads the PC speaker driver (pcspkr) and then (for whatever reason) tries to load the alsa-module for the PC speaker (snd_pcsp). And the second one, basically fails. All we need to do, is create a blacklist.conf and add the latter one to it.&lt;/p&gt;</description></item><item><title>Synology DS213+: Disable Blue Status LED</title><link>https://christian.blog.pakiheim.de/posts/2016-09-09_synology-ds213-disable-blue-status-led/</link><pubDate>Fri, 09 Sep 2016 08:03:18 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4549</guid><description>&lt;p&gt;Well, the title pretty much says what I want to do. Even if the DS213+ is on top of a living room cupboard, it&amp;rsquo;s still way to bright .. as I don&amp;rsquo;t need really need the LED, here&amp;rsquo;s a quick hack (the ID and the device is &lt;a href="http://www.synology-wiki.de/index.php/LEDs_und_Buttons"&gt;taken from the Synology Wiki&lt;/a&gt;) on how to disable it on each startup:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="nv"&gt;$1&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; start&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Disabling Power LED&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="m"&gt;6&lt;/span&gt; &amp;gt; /dev/ttyS1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Just place the file in &lt;em&gt;/opt/etc/init.d/S01leds&lt;/em&gt; and the script is gonna turn the LED off during a boot/reboot.&lt;/p&gt;</description></item><item><title>UCS blades w/ Boot-from-SAN and AutoYaST</title><link>https://christian.blog.pakiheim.de/posts/2016-06-30_ucs-blades-w-boot-from-san-and-autoyast/</link><pubDate>Thu, 30 Jun 2016 14:49:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4206</guid><description>&lt;p&gt;As I wrote before about &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_enabling-multipathing-in-autoyast-installations" title="Enabling multipathing in autoyast installations"&gt;enabling multipathing for the AutoYaST installation&lt;/a&gt; it&amp;rsquo;s about time I write this one here.&lt;/p&gt;
&lt;p&gt;Sadly AutoYaST needs a little push in the right direction (as to where to actually put the root device), so here&amp;rsquo;s part of my AutoYaST profile for such a Cisco blade:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;profile&lt;/span&gt; &lt;span class="n"&gt;xmlns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;http://www.suse.com/1.0/yast2ns&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;xmlns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;http://www.suse.com/1.0/configns&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;bootloader&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;device_map&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;list&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;device_map_entry&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;firmware&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;hd0&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;firmware&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;linux&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sda&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;linux&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;device_map_entry&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;device_map&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;bootloader&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;partitioning&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;list&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;drive&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;device&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sda&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;device&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;drive&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;partitioning&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;pre&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;list&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;boolean&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;feedback&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;boolean&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;feedback&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ucs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sh&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;interpreter&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;shell&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;interpreter&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;!&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;CDATA&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;cat&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tmp&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;autoinst&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;xml&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;sed&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;s,/dev/sda,/dev/mapper/`/sbin/multipath -ll | grep dm-0 | cut -d -f1`,&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tmp&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;modified&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;xml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;pre&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;chroot&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;list&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;chrooted&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;boolean&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="bp"&gt;true&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;chrooted&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;boolean&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="bp"&gt;true&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;feedback&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;boolean&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="bp"&gt;true&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;feedback&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ucs&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;chroot&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sh&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;interpreter&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;shell&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;interpreter&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;install&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;home&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;barfoo&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;autoyast&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ucs&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;chroot&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sh&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;chroot&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;software&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;packages&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;list&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;package&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;multipath&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;package&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;packages&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;software&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now, the profile addition takes care of the placement of the root-device now (simply parses &lt;em&gt;multipath -ll&lt;/em&gt;) and adjusts the pulled profile accordingly ( &lt;em&gt;/tmp/profile/modified.xml&lt;/em&gt;), which AutoYaST then re-reads.&lt;/p&gt;</description></item><item><title>Extend a LVM btrfs partition</title><link>https://christian.blog.pakiheim.de/posts/2016-03-11_extend-a-lvm-btrfs-partition/</link><pubDate>Fri, 11 Mar 2016 06:53:58 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5406</guid><description>&lt;p&gt;Recently I had the issue, that my root partition (/ or slash) was a bit too small for some update. So I had to look up how to resize the root partition. Luckily with LVM/btrfs this works like a charm (if you added enough free space):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;christian:(hans.heimdaheim.de) PWD:/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Fri Mar 11, 07:02:40 [0] &amp;gt; df -h
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem Size Used Avail Use% Mounted on
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;udev 2.0G 4.0K 2.0G 1% /dev
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tmpfs 396M 428K 395M 1% /run
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/dm-1 952M 789M 176M 82% /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;none 4.0K 0 4.0K 0% /sys/fs/cgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;none 5.0M 0 5.0M 0% /run/lock
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;none 2.0G 0 2.0G 0% /run/shm
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;none 100M 0 100M 0% /run/user
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;christian:(hans.heimdaheim.de) PWD:/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Fri Mar 11, 07:02:46 [0] &amp;gt; lvextend /dev/vg0/slash -L2G
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Extending logical volume slash to 2.00 GiB
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Logical volume slash successfully resized
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;christian:(hans.heimdaheim.de) PWD:/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Fri Mar 11, 07:04:51 [0] &amp;gt; btrfs filesystem resize max /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Resize &amp;#39;/&amp;#39; of &amp;#39;max&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;christian:(hans.heimdaheim.de) PWD:/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Fri Mar 11, 07:04:55 [0] &amp;gt; df -h
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem Size Used Avail Use% Mounted on
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;udev 2.0G 12K 2.0G 1% /dev
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tmpfs 396M 440K 395M 1% /run
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/dm-1 2.0G 647M 1.4G 32% /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;none 4.0K 0 4.0K 0% /sys/fs/cgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;none 5.0M 0 5.0M 0% /run/lock
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;none 2.0G 0 2.0G 0% /run/shm
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;none 100M 0 100M 0% /run/user
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Windows *: mscorsvw-exe high CPU usage</title><link>https://christian.blog.pakiheim.de/posts/2015-09-01_windows-mscorsvw-exe-high-cpu-usage/</link><pubDate>Tue, 01 Sep 2015 17:14:06 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5401</guid><description>&lt;p&gt;Another .NET update later, an hour spent looking this up. &lt;a href="http://blogs.msdn.com/b/dotnet/archive/2013/08/06/wondering-why-mscorsvw-exe-has-high-cpu-usage-you-can-speed-it-up.aspx"&gt;Why is mscorsvw.exe using 25% CPU for &amp;gt;30 minutes?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a short outliner on how to speed it up:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The scripts we’ve provided are a convenience for people who don’t want to deal with a command prompt. If you prefer to use the command prompt, you can use the commands below instead. These commands depend on the version of the .NET Framework you have installed and the version of Windows that you have and whether it’s 32-bit or 64-bit.&lt;/p&gt;</description></item><item><title>NGINX reverse proxy for Synology DiskStation</title><link>https://christian.blog.pakiheim.de/posts/2015-08-05_nginx-reverse-proxy-for-synology-diskstation/</link><pubDate>Wed, 05 Aug 2015 15:47:22 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5107</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been tinkering with NGINX for a while at home, up till now I had a somewhat working reverse proxy setup (to access my stuff, when I&amp;rsquo;m not at home or away).&lt;/p&gt;
&lt;p&gt;What didn&amp;rsquo;t work so far was the DSM web interface. Basically, because the interface is using absolute paths in some CSS/JS includes, which fuck up the whole interface.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xhtml" data-lang="xhtml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/css&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/scripts/ext-3/resources/css/ext-all.css?v=3211&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/css&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/scripts/ext-3/resources/css/xtheme-gray.css?v=3211&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/css&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/scripts/ext-3/ux/ux-all.css?v=3211&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/css&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;resources/css/desktop.css?v=3211&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/css&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;resources/css/flexcrollstyles.css?v=3211&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/scripts/uistrings.cgi?lang=enu&amp;amp;v=3211&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/webfm/webUI/uistrings.cgi?lang=enu&amp;amp;v=3211&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;uistrings.cgi?lang=enu&amp;amp;v=3211&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/scripts/prototype-1.6.1/prototype.js?v=3211&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/scripts/ext-3/adapter/ext/ext-base.js?v=3211&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/scripts/ext-3/ext-all.js?v=3211&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/scripts/ext-3/ux/ux-all.js?v=3211&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/scripts/scrollbar/flexcroll.js?v=3211&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After some googling and looking through the NGINX documentation I thought &amp;ldquo;Why don&amp;rsquo;t I create a vHost for each application that is being served by the reverse proxy?&amp;rdquo;.&lt;/p&gt;</description></item><item><title>foobar2000 File Operations Setup</title><link>https://christian.blog.pakiheim.de/posts/2015-07-02_foobar2000-file-operations-setup/</link><pubDate>Thu, 02 Jul 2015 07:19:29 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5396</guid><description>&lt;p&gt;As I said in the previous posts, I&amp;rsquo;ve reorganized my music library. That included creating sub directories based on the first letter of the artists name (say for example AC/DC would be sorted into the folder A, Iron Maiden would be sorted into I).&lt;/p&gt;
&lt;p&gt;So here&amp;rsquo;s the file name pattern, that I&amp;rsquo;ve used to accomplish this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$left(%album artist%,1)\%album artist% - [%date% - ]%album%\$num(%discnumber%,1)%tracknumber%. %title%
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Kodi Shell Script: Find videos missing a thumbnail</title><link>https://christian.blog.pakiheim.de/posts/2015-04-06_kodi-shell-script-find-videos-missing-a-thumbnail/</link><pubDate>Mon, 06 Apr 2015 19:55:16 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5394</guid><description>&lt;p&gt;Well, compared to the previous script, this one is a short one. It&amp;rsquo;ll find all Matroska containers lacking a corresponding thumbnail (-thumb.jpg or .tbn) file.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/opt/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Find all episodes/movies missing a thumb file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;MKV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; find . -name &lt;span class="s2"&gt;&amp;#34;*.mkv&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s2"&gt;&amp;#34;s,./,,&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;These videos are missing a thumbnail file:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; mkv in &lt;span class="nv"&gt;$MKV&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;basename&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;mkv&lt;/span&gt;&lt;span class="p"&gt;%.*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Check if there is a &amp;lt;xbmc11 thumbnail file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$basename&lt;/span&gt;&lt;span class="s2"&gt;.tbn&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; :
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$basename&lt;/span&gt;&lt;span class="s2"&gt;-thumb.jpg&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; :
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - &lt;/span&gt;&lt;span class="nv"&gt;$basename&lt;/span&gt;&lt;span class="s2"&gt;.mkv&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Sickbeard Shell Script: Fix TV episodes name</title><link>https://christian.blog.pakiheim.de/posts/2015-04-06_sickbeard-shell-script-fix-tv-episodes-name/</link><pubDate>Mon, 06 Apr 2015 19:52:27 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5392</guid><description>&lt;p&gt;Well, I use SickBeard. And sometimes (very often actually) the names are rather screwed up&amp;hellip;. So I wrote myself a script, that&amp;rsquo;ll fix most episode errors (I&amp;rsquo;ve caught so far &amp;hellip;).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt; 10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt; 11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt; 12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt; 13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt; 14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt; 15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt; 16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt; 17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt; 18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt; 19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt; 20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt; 21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt; 22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt; 23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt; 24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt; 25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt; 26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt; 27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt; 28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt; 29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt; 30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt; 31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt; 32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt; 33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt; 34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt; 35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt; 36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt; 37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt; 38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt; 39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt; 40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt; 41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt; 42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt; 43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt; 44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt; 45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt; 46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt; 47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt; 48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt; 49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt; 50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt; 51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt; 52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt; 53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt; 54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt; 55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt; 56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt; 57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt; 58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt; 59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt; 60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt; 61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt; 62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt; 63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-64"&gt;&lt;a class="lnlinks" href="#hl-0-64"&gt; 64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-65"&gt;&lt;a class="lnlinks" href="#hl-0-65"&gt; 65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-66"&gt;&lt;a class="lnlinks" href="#hl-0-66"&gt; 66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-67"&gt;&lt;a class="lnlinks" href="#hl-0-67"&gt; 67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-68"&gt;&lt;a class="lnlinks" href="#hl-0-68"&gt; 68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-69"&gt;&lt;a class="lnlinks" href="#hl-0-69"&gt; 69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-70"&gt;&lt;a class="lnlinks" href="#hl-0-70"&gt; 70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-71"&gt;&lt;a class="lnlinks" href="#hl-0-71"&gt; 71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-72"&gt;&lt;a class="lnlinks" href="#hl-0-72"&gt; 72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-73"&gt;&lt;a class="lnlinks" href="#hl-0-73"&gt; 73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-74"&gt;&lt;a class="lnlinks" href="#hl-0-74"&gt; 74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-75"&gt;&lt;a class="lnlinks" href="#hl-0-75"&gt; 75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-76"&gt;&lt;a class="lnlinks" href="#hl-0-76"&gt; 76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-77"&gt;&lt;a class="lnlinks" href="#hl-0-77"&gt; 77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-78"&gt;&lt;a class="lnlinks" href="#hl-0-78"&gt; 78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-79"&gt;&lt;a class="lnlinks" href="#hl-0-79"&gt; 79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-80"&gt;&lt;a class="lnlinks" href="#hl-0-80"&gt; 80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-81"&gt;&lt;a class="lnlinks" href="#hl-0-81"&gt; 81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-82"&gt;&lt;a class="lnlinks" href="#hl-0-82"&gt; 82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-83"&gt;&lt;a class="lnlinks" href="#hl-0-83"&gt; 83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-84"&gt;&lt;a class="lnlinks" href="#hl-0-84"&gt; 84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-85"&gt;&lt;a class="lnlinks" href="#hl-0-85"&gt; 85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-86"&gt;&lt;a class="lnlinks" href="#hl-0-86"&gt; 86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-87"&gt;&lt;a class="lnlinks" href="#hl-0-87"&gt; 87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-88"&gt;&lt;a class="lnlinks" href="#hl-0-88"&gt; 88&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-89"&gt;&lt;a class="lnlinks" href="#hl-0-89"&gt; 89&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-90"&gt;&lt;a class="lnlinks" href="#hl-0-90"&gt; 90&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-91"&gt;&lt;a class="lnlinks" href="#hl-0-91"&gt; 91&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-92"&gt;&lt;a class="lnlinks" href="#hl-0-92"&gt; 92&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-93"&gt;&lt;a class="lnlinks" href="#hl-0-93"&gt; 93&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-94"&gt;&lt;a class="lnlinks" href="#hl-0-94"&gt; 94&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-95"&gt;&lt;a class="lnlinks" href="#hl-0-95"&gt; 95&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-96"&gt;&lt;a class="lnlinks" href="#hl-0-96"&gt; 96&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-97"&gt;&lt;a class="lnlinks" href="#hl-0-97"&gt; 97&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-98"&gt;&lt;a class="lnlinks" href="#hl-0-98"&gt; 98&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-99"&gt;&lt;a class="lnlinks" href="#hl-0-99"&gt; 99&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-100"&gt;&lt;a class="lnlinks" href="#hl-0-100"&gt;100&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-101"&gt;&lt;a class="lnlinks" href="#hl-0-101"&gt;101&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-102"&gt;&lt;a class="lnlinks" href="#hl-0-102"&gt;102&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-103"&gt;&lt;a class="lnlinks" href="#hl-0-103"&gt;103&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-104"&gt;&lt;a class="lnlinks" href="#hl-0-104"&gt;104&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-105"&gt;&lt;a class="lnlinks" href="#hl-0-105"&gt;105&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-106"&gt;&lt;a class="lnlinks" href="#hl-0-106"&gt;106&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-107"&gt;&lt;a class="lnlinks" href="#hl-0-107"&gt;107&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-108"&gt;&lt;a class="lnlinks" href="#hl-0-108"&gt;108&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-109"&gt;&lt;a class="lnlinks" href="#hl-0-109"&gt;109&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-110"&gt;&lt;a class="lnlinks" href="#hl-0-110"&gt;110&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-111"&gt;&lt;a class="lnlinks" href="#hl-0-111"&gt;111&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-112"&gt;&lt;a class="lnlinks" href="#hl-0-112"&gt;112&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-113"&gt;&lt;a class="lnlinks" href="#hl-0-113"&gt;113&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-114"&gt;&lt;a class="lnlinks" href="#hl-0-114"&gt;114&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-115"&gt;&lt;a class="lnlinks" href="#hl-0-115"&gt;115&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-116"&gt;&lt;a class="lnlinks" href="#hl-0-116"&gt;116&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-117"&gt;&lt;a class="lnlinks" href="#hl-0-117"&gt;117&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-118"&gt;&lt;a class="lnlinks" href="#hl-0-118"&gt;118&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-119"&gt;&lt;a class="lnlinks" href="#hl-0-119"&gt;119&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-120"&gt;&lt;a class="lnlinks" href="#hl-0-120"&gt;120&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-121"&gt;&lt;a class="lnlinks" href="#hl-0-121"&gt;121&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-122"&gt;&lt;a class="lnlinks" href="#hl-0-122"&gt;122&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-123"&gt;&lt;a class="lnlinks" href="#hl-0-123"&gt;123&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-124"&gt;&lt;a class="lnlinks" href="#hl-0-124"&gt;124&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-125"&gt;&lt;a class="lnlinks" href="#hl-0-125"&gt;125&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-126"&gt;&lt;a class="lnlinks" href="#hl-0-126"&gt;126&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-127"&gt;&lt;a class="lnlinks" href="#hl-0-127"&gt;127&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-128"&gt;&lt;a class="lnlinks" href="#hl-0-128"&gt;128&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-129"&gt;&lt;a class="lnlinks" href="#hl-0-129"&gt;129&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-130"&gt;&lt;a class="lnlinks" href="#hl-0-130"&gt;130&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-131"&gt;&lt;a class="lnlinks" href="#hl-0-131"&gt;131&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-132"&gt;&lt;a class="lnlinks" href="#hl-0-132"&gt;132&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-133"&gt;&lt;a class="lnlinks" href="#hl-0-133"&gt;133&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-134"&gt;&lt;a class="lnlinks" href="#hl-0-134"&gt;134&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-135"&gt;&lt;a class="lnlinks" href="#hl-0-135"&gt;135&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-136"&gt;&lt;a class="lnlinks" href="#hl-0-136"&gt;136&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-137"&gt;&lt;a class="lnlinks" href="#hl-0-137"&gt;137&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-138"&gt;&lt;a class="lnlinks" href="#hl-0-138"&gt;138&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-139"&gt;&lt;a class="lnlinks" href="#hl-0-139"&gt;139&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-140"&gt;&lt;a class="lnlinks" href="#hl-0-140"&gt;140&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-141"&gt;&lt;a class="lnlinks" href="#hl-0-141"&gt;141&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-142"&gt;&lt;a class="lnlinks" href="#hl-0-142"&gt;142&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-143"&gt;&lt;a class="lnlinks" href="#hl-0-143"&gt;143&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-144"&gt;&lt;a class="lnlinks" href="#hl-0-144"&gt;144&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-145"&gt;&lt;a class="lnlinks" href="#hl-0-145"&gt;145&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-146"&gt;&lt;a class="lnlinks" href="#hl-0-146"&gt;146&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-147"&gt;&lt;a class="lnlinks" href="#hl-0-147"&gt;147&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-148"&gt;&lt;a class="lnlinks" href="#hl-0-148"&gt;148&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-149"&gt;&lt;a class="lnlinks" href="#hl-0-149"&gt;149&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-150"&gt;&lt;a class="lnlinks" href="#hl-0-150"&gt;150&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-151"&gt;&lt;a class="lnlinks" href="#hl-0-151"&gt;151&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-152"&gt;&lt;a class="lnlinks" href="#hl-0-152"&gt;152&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-153"&gt;&lt;a class="lnlinks" href="#hl-0-153"&gt;153&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-154"&gt;&lt;a class="lnlinks" href="#hl-0-154"&gt;154&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-155"&gt;&lt;a class="lnlinks" href="#hl-0-155"&gt;155&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-156"&gt;&lt;a class="lnlinks" href="#hl-0-156"&gt;156&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-157"&gt;&lt;a class="lnlinks" href="#hl-0-157"&gt;157&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-158"&gt;&lt;a class="lnlinks" href="#hl-0-158"&gt;158&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-159"&gt;&lt;a class="lnlinks" href="#hl-0-159"&gt;159&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-160"&gt;&lt;a class="lnlinks" href="#hl-0-160"&gt;160&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-161"&gt;&lt;a class="lnlinks" href="#hl-0-161"&gt;161&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-162"&gt;&lt;a class="lnlinks" href="#hl-0-162"&gt;162&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-163"&gt;&lt;a class="lnlinks" href="#hl-0-163"&gt;163&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-164"&gt;&lt;a class="lnlinks" href="#hl-0-164"&gt;164&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-165"&gt;&lt;a class="lnlinks" href="#hl-0-165"&gt;165&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-166"&gt;&lt;a class="lnlinks" href="#hl-0-166"&gt;166&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-167"&gt;&lt;a class="lnlinks" href="#hl-0-167"&gt;167&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-168"&gt;&lt;a class="lnlinks" href="#hl-0-168"&gt;168&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-169"&gt;&lt;a class="lnlinks" href="#hl-0-169"&gt;169&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-170"&gt;&lt;a class="lnlinks" href="#hl-0-170"&gt;170&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-171"&gt;&lt;a class="lnlinks" href="#hl-0-171"&gt;171&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-172"&gt;&lt;a class="lnlinks" href="#hl-0-172"&gt;172&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-173"&gt;&lt;a class="lnlinks" href="#hl-0-173"&gt;173&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-174"&gt;&lt;a class="lnlinks" href="#hl-0-174"&gt;174&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-175"&gt;&lt;a class="lnlinks" href="#hl-0-175"&gt;175&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-176"&gt;&lt;a class="lnlinks" href="#hl-0-176"&gt;176&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-177"&gt;&lt;a class="lnlinks" href="#hl-0-177"&gt;177&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-178"&gt;&lt;a class="lnlinks" href="#hl-0-178"&gt;178&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-179"&gt;&lt;a class="lnlinks" href="#hl-0-179"&gt;179&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-180"&gt;&lt;a class="lnlinks" href="#hl-0-180"&gt;180&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-181"&gt;&lt;a class="lnlinks" href="#hl-0-181"&gt;181&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-182"&gt;&lt;a class="lnlinks" href="#hl-0-182"&gt;182&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-183"&gt;&lt;a class="lnlinks" href="#hl-0-183"&gt;183&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-184"&gt;&lt;a class="lnlinks" href="#hl-0-184"&gt;184&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-185"&gt;&lt;a class="lnlinks" href="#hl-0-185"&gt;185&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-186"&gt;&lt;a class="lnlinks" href="#hl-0-186"&gt;186&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-187"&gt;&lt;a class="lnlinks" href="#hl-0-187"&gt;187&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-188"&gt;&lt;a class="lnlinks" href="#hl-0-188"&gt;188&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-189"&gt;&lt;a class="lnlinks" href="#hl-0-189"&gt;189&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-190"&gt;&lt;a class="lnlinks" href="#hl-0-190"&gt;190&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-191"&gt;&lt;a class="lnlinks" href="#hl-0-191"&gt;191&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-192"&gt;&lt;a class="lnlinks" href="#hl-0-192"&gt;192&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-193"&gt;&lt;a class="lnlinks" href="#hl-0-193"&gt;193&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-194"&gt;&lt;a class="lnlinks" href="#hl-0-194"&gt;194&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-195"&gt;&lt;a class="lnlinks" href="#hl-0-195"&gt;195&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-196"&gt;&lt;a class="lnlinks" href="#hl-0-196"&gt;196&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-197"&gt;&lt;a class="lnlinks" href="#hl-0-197"&gt;197&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-198"&gt;&lt;a class="lnlinks" href="#hl-0-198"&gt;198&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-199"&gt;&lt;a class="lnlinks" href="#hl-0-199"&gt;199&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-200"&gt;&lt;a class="lnlinks" href="#hl-0-200"&gt;200&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-201"&gt;&lt;a class="lnlinks" href="#hl-0-201"&gt;201&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-202"&gt;&lt;a class="lnlinks" href="#hl-0-202"&gt;202&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-203"&gt;&lt;a class="lnlinks" href="#hl-0-203"&gt;203&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-204"&gt;&lt;a class="lnlinks" href="#hl-0-204"&gt;204&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-205"&gt;&lt;a class="lnlinks" href="#hl-0-205"&gt;205&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-206"&gt;&lt;a class="lnlinks" href="#hl-0-206"&gt;206&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-207"&gt;&lt;a class="lnlinks" href="#hl-0-207"&gt;207&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-208"&gt;&lt;a class="lnlinks" href="#hl-0-208"&gt;208&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-209"&gt;&lt;a class="lnlinks" href="#hl-0-209"&gt;209&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-210"&gt;&lt;a class="lnlinks" href="#hl-0-210"&gt;210&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-211"&gt;&lt;a class="lnlinks" href="#hl-0-211"&gt;211&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-212"&gt;&lt;a class="lnlinks" href="#hl-0-212"&gt;212&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-213"&gt;&lt;a class="lnlinks" href="#hl-0-213"&gt;213&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-214"&gt;&lt;a class="lnlinks" href="#hl-0-214"&gt;214&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-215"&gt;&lt;a class="lnlinks" href="#hl-0-215"&gt;215&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-216"&gt;&lt;a class="lnlinks" href="#hl-0-216"&gt;216&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-217"&gt;&lt;a class="lnlinks" href="#hl-0-217"&gt;217&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-218"&gt;&lt;a class="lnlinks" href="#hl-0-218"&gt;218&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-219"&gt;&lt;a class="lnlinks" href="#hl-0-219"&gt;219&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-220"&gt;&lt;a class="lnlinks" href="#hl-0-220"&gt;220&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-221"&gt;&lt;a class="lnlinks" href="#hl-0-221"&gt;221&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-222"&gt;&lt;a class="lnlinks" href="#hl-0-222"&gt;222&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-223"&gt;&lt;a class="lnlinks" href="#hl-0-223"&gt;223&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-224"&gt;&lt;a class="lnlinks" href="#hl-0-224"&gt;224&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-225"&gt;&lt;a class="lnlinks" href="#hl-0-225"&gt;225&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-226"&gt;&lt;a class="lnlinks" href="#hl-0-226"&gt;226&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-227"&gt;&lt;a class="lnlinks" href="#hl-0-227"&gt;227&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-228"&gt;&lt;a class="lnlinks" href="#hl-0-228"&gt;228&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-229"&gt;&lt;a class="lnlinks" href="#hl-0-229"&gt;229&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-230"&gt;&lt;a class="lnlinks" href="#hl-0-230"&gt;230&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-231"&gt;&lt;a class="lnlinks" href="#hl-0-231"&gt;231&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-232"&gt;&lt;a class="lnlinks" href="#hl-0-232"&gt;232&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-233"&gt;&lt;a class="lnlinks" href="#hl-0-233"&gt;233&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-234"&gt;&lt;a class="lnlinks" href="#hl-0-234"&gt;234&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-235"&gt;&lt;a class="lnlinks" href="#hl-0-235"&gt;235&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-236"&gt;&lt;a class="lnlinks" href="#hl-0-236"&gt;236&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-237"&gt;&lt;a class="lnlinks" href="#hl-0-237"&gt;237&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-238"&gt;&lt;a class="lnlinks" href="#hl-0-238"&gt;238&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-239"&gt;&lt;a class="lnlinks" href="#hl-0-239"&gt;239&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-240"&gt;&lt;a class="lnlinks" href="#hl-0-240"&gt;240&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-241"&gt;&lt;a class="lnlinks" href="#hl-0-241"&gt;241&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-242"&gt;&lt;a class="lnlinks" href="#hl-0-242"&gt;242&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-243"&gt;&lt;a class="lnlinks" href="#hl-0-243"&gt;243&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-244"&gt;&lt;a class="lnlinks" href="#hl-0-244"&gt;244&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-245"&gt;&lt;a class="lnlinks" href="#hl-0-245"&gt;245&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/opt/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; cat /etc/distribution 2&amp;gt;/dev/null &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;OpenELEC&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nv"&gt;openelec&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nv"&gt;openelec&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; mount &lt;span class="p"&gt;|&lt;/span&gt; /opt/bin/grep &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$PWD&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; /opt/bin/sed &lt;span class="s2"&gt;&amp;#34;s,/tvshows,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $5 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;cifs&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nv"&gt;cifs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nv"&gt;cifs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$openelec&lt;/span&gt; -eq &lt;span class="m"&gt;0&lt;/span&gt; -a &lt;span class="nv"&gt;$cifs&lt;/span&gt; -eq &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Fix permissions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; chown -R nobody.users &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bin/findutils-find &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -type f ! -perm &lt;span class="m"&gt;0664&lt;/span&gt; -exec chmod &lt;span class="m"&gt;0664&lt;/span&gt; &lt;span class="o"&gt;{}&lt;/span&gt; &lt;span class="se"&gt;\;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bin/findutils-find &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -type d ! -perm &lt;span class="m"&gt;0775&lt;/span&gt; -exec chmod &lt;span class="m"&gt;0775&lt;/span&gt; &lt;span class="o"&gt;{}&lt;/span&gt; &lt;span class="se"&gt;\;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;EXTENSIONS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;.avi .mp4 .mkv .srt .tbn .nfo .xml -thumb.jpg&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Needs renaming:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;PATTERN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;WEB.DL,WEB-DL
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Web-Dl,WEB-DL
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;AVC.AC3,DD5.1.H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.AC3.PSIV,-PSIV
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;DD.5.1,DD5.1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;DD5-1,DD5.1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Dd5.1,DD5.1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;DD.2.0,DD2.0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;WEB-DLAAC2,WEB-DL.AAC2
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;H.264.DD5.1,DD5.1.H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;AAC.2.0,AAC2.0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;DD5.1.AAC2.0,DD5.1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;WEB-DL-pcsyndicate,WEB-DL.DD5.1.H.264-pcsyndicate
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;x264,H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;X264,H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;h264,H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;H264,H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Forever.S0,Forever.2014.S0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;H-264,H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;h.264,H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;DD5.1-H.264,DD5.1.H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.KiNGS,-KiNGS
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;-KINGS,-KiNGS
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.TB,-TB
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.BS,-BS
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.~DG2~,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.~DG~,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.CtrlHD,-CtrlHD
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;1x,S01E
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.ECI,-ECI
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.NFHD,-NFHD
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.POD,-POD
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;\.NTb,\-NTb
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.DNR,-DNR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.pcsyndicate,-pcsyndicate
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;German.DD20.Synced.DL.720p.iTunesHD.AVC,720p.WEB-DL.DD2.0.DL.H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;-ss,-SS
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;.Reaperza,-Reaperza
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Grey&amp;#39;s.Anatomy,Greys.Anatomy
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Five-0,Five.0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Hawaii.Five.0.2010\.S0,Hawaii.Five.0.S0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;WEBRip,WEB-DL
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;WEB-DL.H.264.AAC2.0,WEB-DL.AAC2.0.H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Hell.On.Wheels,Hell.on.Wheels
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Mythbusters,MythBusters
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Dont.Trust.The.B----.In.Apartment.23,Dont.Trust.The.B.In.Apartment.23
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Dont.Trust.the.Bitch.in.Apartment.23,Dont.Trust.The.B.In.Apartment.23
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Dont.Trust.the.B.in.Apartment.23,Dont.Trust.The.B.In.Apartment.23
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Rizzoli.&amp;amp;.Isles,Rizzoli.and.Isles
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Revolution.2012,Revolution
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Orange.Is.The.New.Black,Orange.Is.the.New.Black
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Castle.S,Castle.2009.S
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;/Agents.of.S.H.I.E.L.D.,/Marvels.Agents.Of.S.H.I.E.L.D.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Marvel.Agents.Of.SHIELD,Marvels.Agents.Of.S.H.I.E.L.D.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Marvel.Agents.Of.S.H.I.E.L.D..S,Marvels.Agents.Of.S.H.I.E.L.D.S
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Marvel.Agents.Of.S.H.I.E.L.D.S,Marvels.Agents.Of.S.H.I.E.L.D.S
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Marvels.Agents.Of.S.H.I.E.L.D..S,Marvels.Agents.Of.S.H.I.E.L.D.S
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Marvels.Agents.of.S.H.I.E.L.D.,Marvels.Agents.Of.S.H.I.E.L.D.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Rizzoli.Isles,Rizzoli.and.Isles
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;The.Bridge.S,The.Bridge.US.S
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Last.Man.Standing.US,Last.Man.Standing.2011
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;The.Americans.S,The.Americans.2013.S
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Person.Of.Interest,Person.of.Interest
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;The.Tomorrow.People.S0,The.Tomorrow.People.US.S0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;The.Code.AU,The.Code.2014
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;How.to.Get.Away.With.Murder,How.To.Get.Away.With.Murder
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;How.to.Get.Away.with.Murder,How.To.Get.Away.With.Murder
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;How.To.Get.Away.with.Murder,How.To.Get.Away.With.Murder
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Izombie,iZombie
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;-SiCKBEARD,.720p.WEB-DL.DD5.1.H.264
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;DL.DD5.1.WEB-DL,WEB-DL.DD5.1.DL
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;XIII.The.Series.2011,XIII.2011&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FILEEXT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;\\.nfo\\.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;\\.par2\\.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Find files containing spaces and rename them according to the scene rules&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; ext in &lt;span class="nv"&gt;$EXTENSIONS&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$ext&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;.srt&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bin/find . -name &lt;span class="s2"&gt;&amp;#34;* *&lt;/span&gt;&lt;span class="nv"&gt;$ext&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -type f -exec sh -c &lt;span class="s1"&gt;&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; fp=&amp;#34;${0%/*}&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; fn=&amp;#34;${0##*/}&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; fn=&amp;#34;$( echo $fn | /opt/bin/sed -e &amp;#34;s,\!,,&amp;#34; )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; fn=&amp;#34;$( echo $fn | /opt/bin/egrep -oi &amp;#34;[A-Z][A-Za-z0-9.-]+.$ext&amp;#34; | sort -u | tail -n1 )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; echo &amp;#34;Enforcing naming scheme for $0&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; mv &amp;#34;$0&amp;#34; &amp;#34;$fp/$fn&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; read -t 1 line &amp;lt;/dev/tty
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; &amp;#39;&lt;/span&gt; &lt;span class="o"&gt;{}&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Build the list of replacements. Do it here, since we need to&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# do it only once, and not for each file.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; pat in &lt;span class="nv"&gt;$PATTERN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;set&lt;/span&gt; -- &lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$pat&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr , &lt;span class="se"&gt;\ &lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$REN&lt;/span&gt;&lt;span class="s2"&gt; -e &amp;#34;&amp;#34;s,&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;,&lt;/span&gt;&lt;span class="nv"&gt;$2&lt;/span&gt;&lt;span class="s2"&gt;,g&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; pat in &lt;span class="nv"&gt;$FILEEXT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$REN&lt;/span&gt;&lt;span class="s2"&gt; -e &amp;#34;&amp;#34;s,&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;pat&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;,,g&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;REN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$REN&lt;/span&gt;&lt;span class="s2"&gt; -e &amp;#34;&amp;#34;s/[()]//g&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Main loop starts here. Only handle files with the specified extensions.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; ext in &lt;span class="nv"&gt;$EXTENSIONS&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REGEX&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$REGEX&lt;/span&gt;&lt;span class="s2"&gt;|&lt;/span&gt;&lt;span class="nv"&gt;$ext&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;REGEX&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$REGEX&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s2"&gt;&amp;#34;s,|,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;MAIN_REN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$REN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; file in &lt;span class="k"&gt;$(&lt;/span&gt; /opt/bin/find . -regextype posix-egrep -type f -regex &lt;span class="s2"&gt;&amp;#34;.*(&lt;/span&gt;&lt;span class="nv"&gt;$REGEX&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt; ! -wholename &lt;span class="s1"&gt;&amp;#39;*tvshow*&amp;#39;&lt;/span&gt; ! -wholename &lt;span class="s1"&gt;&amp;#39;*season*&amp;#39;&lt;/span&gt; ! -wholename &lt;span class="s1"&gt;&amp;#39;*actors&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OLD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;NEW&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$MAIN_REN&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$file&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; /opt/bin/egrep &lt;span class="s2"&gt;&amp;#34;\.(REPACK|REREPACK|PROPER|iNTERNAL|RERIP|REAL)\.&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$file&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; /opt/bin/grep &lt;span class="s2"&gt;&amp;#34;720p&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$REN&lt;/span&gt;&lt;span class="s2"&gt; -e &amp;#34;&amp;#34;s/\(.*S[0-9]\+\(E[0-9]\+\)\+\)\+.*\(720p.*\)/\1.\3/&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$file&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; /opt/bin/grep &lt;span class="s2"&gt;&amp;#34;1080p&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$REN&lt;/span&gt;&lt;span class="s2"&gt; -e &amp;#34;&amp;#34;s/\(.*S[0-9]\+\(E[0-9]\+\)\+\)\+.*\(1080p.*\)/\1.\3/&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;NEW&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$OLD&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; /opt/bin/sed &lt;span class="nv"&gt;$REN&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; ! -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$NEW&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -a &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$NEW&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OLD&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Enforcing naming scheme for &lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mv &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OLD&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$NEW&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OPTS&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;--force&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nv"&gt;RESCAN_ALL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nv"&gt;RESCAN_ALL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$RESCAN_ALL&lt;/span&gt; -eq &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;FILES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;`/opt/bin/grep -rl &amp;#39;episodedetails&amp;#39; */*/*.nfo 2&amp;gt;/dev/null`&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Get a list of all NFO files having incorrect information&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;FILES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;`/opt/bin/egrep -rli &amp;#39;(\(Guest Star\)|\(Writer\))&amp;#39; */*/*.nfo 2&amp;gt;/dev/null`&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; episode in &lt;span class="nv"&gt;$FILES&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# First convert the nfo-file to use linux line-breaks.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bin/sed -i &lt;span class="s1"&gt;&amp;#39;s/^M$//&amp;#39;&lt;/span&gt; &lt;span class="nv"&gt;$episode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; /opt/bin/grep &lt;span class="s1"&gt;&amp;#39;&amp;lt;director&amp;gt;.*&amp;lt;/director&amp;gt;&amp;#39;&lt;/span&gt; &lt;span class="nv"&gt;$episode&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;DIRECTOR_MISSING&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$DIRECTOR_MISSING&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$episode&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; /opt/bin/grep &lt;span class="s1"&gt;&amp;#39;&amp;lt;credits&amp;gt;.*&amp;lt;/credits&amp;gt;&amp;#39;&lt;/span&gt; &lt;span class="nv"&gt;$episode&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;CREDITS_MISSING&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CREDITS_MISSING&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$episode&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; /opt/bin/grep &lt;span class="s1"&gt;&amp;#39;&amp;lt;credits&amp;gt;.*\(Writer\).*&amp;lt;/credits&amp;gt;&amp;#39;&lt;/span&gt; &lt;span class="nv"&gt;$episode&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;WRITER_MISSING&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$WRITER_MISSING&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$episode&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; /opt/bin/grep &lt;span class="s1"&gt;&amp;#39;&amp;lt;credits&amp;gt;.*\&amp;amp;amp;.*&amp;lt;/credits&amp;gt;&amp;#39;&lt;/span&gt; &lt;span class="nv"&gt;$episode&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;CREDITS_JUNK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CREDITS_JUNK&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$episode&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# see if the file has new-style (multi-line) or old-style (single-line) credits.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; /opt/bin/grep &lt;span class="s1"&gt;&amp;#39;&amp;lt;credits&amp;gt;&amp;#39;&lt;/span&gt; &lt;span class="nv"&gt;$episode&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; wc -l &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -gt &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Updating episode information in &lt;/span&gt;&lt;span class="nv"&gt;$episode&lt;/span&gt;&lt;span class="s2"&gt; (new-style)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mv &lt;span class="nv"&gt;$episode&lt;/span&gt; &lt;span class="nv"&gt;$episode&lt;/span&gt;.old
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bin/grep -v &lt;span class="s2"&gt;&amp;#34;(Guest Star)&amp;lt;/credits&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;$episode&lt;/span&gt;.old &lt;span class="p"&gt;|&lt;/span&gt; /opt/bin/sed &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="s2"&gt;&amp;#34;s, (Writer),,g&amp;#34;&lt;/span&gt; -e -e &lt;span class="s2"&gt;&amp;#34;s,|, / ,g&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="s2"&gt;&amp;#34;s, , ,g&amp;#34;&lt;/span&gt; -e &lt;span class="s1"&gt;&amp;#39;s/^[ \t]*//&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; tee &lt;span class="nv"&gt;$episode&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Mangle the list, so we can work with it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;old_credits&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; /opt/bin/grep &lt;span class="s2"&gt;&amp;#34;&amp;lt;credits&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;$episode&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; /opt/bin/sed -n &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="s1"&gt;&amp;#39;s/.*&amp;lt;credits&amp;gt;\(.*\)&amp;lt;\/credits&amp;gt;.*/\1/p&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Fixup the credits line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;new_credits&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$old_credits&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; /opt/bin/grep -v &lt;span class="s2"&gt;&amp;#34;Guest Star&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; /opt/bin/sed -e &lt;span class="s2"&gt;&amp;#34;s, (Writer),,g&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="s2"&gt;&amp;#34;s,|, / ,g&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s, , ,g&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; /opt/bin/sed -e &lt;span class="s1"&gt;&amp;#39;s/^[ \t]*//&amp;#39;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="s2"&gt;&amp;#34;s/\/*&lt;/span&gt;$&lt;span class="s2"&gt;//&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;shopt&lt;/span&gt; -q -s extglob
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Updating episode information in &lt;/span&gt;&lt;span class="nv"&gt;$episode&lt;/span&gt;&lt;span class="s2"&gt; (old-style)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$new_credits&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /opt/bin/sed -i &lt;span class="s2"&gt;&amp;#34;s|&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;old_credits&lt;/span&gt;&lt;span class="p"&gt;##+([[:&lt;/span&gt;&lt;span class="nv"&gt;space&lt;/span&gt;&lt;span class="p"&gt;:]])&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;|&lt;/span&gt;&lt;span class="nv"&gt;$new_credits&lt;/span&gt;&lt;span class="s2"&gt;|g&amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;$episode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;shopt&lt;/span&gt; -q -u extglob
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$DIRECTOR_MISSING&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;The following episodes are missing a director:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; episode in &lt;span class="nv"&gt;$DIRECTOR_MISSING&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &lt;/span&gt;&lt;span class="nv"&gt;$episode&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CREDITS_JUNK&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;The following episodes credits&amp;#39; contain junk and should be fixed at thetvdb.com:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; episode in &lt;span class="nv"&gt;$CREDITS_JUNK&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &lt;/span&gt;&lt;span class="nv"&gt;$episode&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CREDITS_MISSING&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;The following episodes are missing credits:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; episode in &lt;span class="nv"&gt;$CREDITS_MISSING&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &lt;/span&gt;&lt;span class="nv"&gt;$episode&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$WRITER_MISSING&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;The following episodes are missing a writer:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; episode in &lt;span class="nv"&gt;$WRITER_MISSING&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &lt;/span&gt;&lt;span class="nv"&gt;$episode&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/opt/bin/findutils-find . -name &lt;span class="s2"&gt;&amp;#34;*.old&amp;#34;&lt;/span&gt; -exec rm &lt;span class="o"&gt;{}&lt;/span&gt; &lt;span class="se"&gt;\;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Bear in mind, this script is using ipkg/optware executables, mainly because the provided BusyBox ones are lacking some features.&lt;/p&gt;</description></item><item><title>PowerCLI: Delete all snapshots by name</title><link>https://christian.blog.pakiheim.de/posts/2015-02-23_powercli-delete-all-snapshots-by-name/</link><pubDate>Mon, 23 Feb 2015 19:45:22 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5390</guid><description>&lt;p&gt;I have the issue that we use a cloud automation software, which for whatever reason failed to delete the hypervisor snapshots.&lt;/p&gt;
&lt;p&gt;Now I was looking into a quick way to delete all those 520 snapshots with PowerCLI, and &lt;a href="http://www.hrbac.cz/2013/01/powercli-to-list-delete-snapshots/"&gt;I found something&lt;/a&gt; pretty quick.&lt;/p&gt;
&lt;p&gt;Based on that, I came up with my own quick PowerCLI one-liner, that&amp;rsquo;ll list all VMs and their snapshots:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ps" data-lang="ps"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;Get-VM&lt;/span&gt; &lt;span class="nf"&gt;|&lt;/span&gt; &lt;span class="nf"&gt;Get-Snapshot&lt;/span&gt; &lt;span class="nf"&gt;|&lt;/span&gt; &lt;span class="nf"&gt;Where&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nf"&gt;$_.Name&lt;/span&gt; &lt;span class="nf"&gt;-like&lt;/span&gt; &lt;span class="nf"&gt;&amp;#34;201502*&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nf"&gt;|&lt;/span&gt; &lt;span class="nf"&gt;Format-Table&lt;/span&gt; &lt;span class="nf"&gt;-Property&lt;/span&gt; &lt;span class="nf"&gt;VM,&lt;/span&gt; &lt;span class="nf"&gt;Name,&lt;/span&gt; &lt;span class="nf"&gt;Created,&lt;/span&gt; &lt;span class="nf"&gt;Description,&lt;/span&gt; &lt;span class="nf"&gt;SizeMB&lt;/span&gt; &lt;span class="nf"&gt;-AutoSize&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now, I could use another one-liner to delete all snapshots, that&amp;rsquo;ll look like this:&lt;/p&gt;</description></item><item><title>Migrating from XenServer to ESXi</title><link>https://christian.blog.pakiheim.de/posts/2015-02-19_migrating-from-xenserver-to-esxi/</link><pubDate>Thu, 19 Feb 2015 09:17:05 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5164</guid><description>&lt;p&gt;For the past two months we&amp;rsquo;ve been trying to migrate a bunch (90 or so) VMs from XenServer to ESXi &amp;hellip; However for some reason on some of them, the Converter Service would crash.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2014/02/citrix-monitoring1.png"
alt="VMware Converter crashing due to rsintcor32.dll" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;VMware Converter crashing due to rsintcor32.dll&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Up till Monday, I had no idea why. I decided to look into the error once again, and this time decided just to Google the failing module&amp;hellip; And guess what ? Out came &lt;a href="http://discussions.citrix.com/topic/102434-faulting-module-rsintcordll/"&gt;this Citrix forum&lt;/a&gt; post regarding the failing module. So, after knowing that rsintcor32.dll belongs to the Citrix System Monitoring Agent service (well, I could have guessed that from the DLLs path &amp;#x1f61b;) I decided to simply stop the service.&lt;/p&gt;</description></item><item><title>Tiny Tiny RSS init-script for multiple instances on Debian Wheezy</title><link>https://christian.blog.pakiheim.de/posts/2015-02-09_tiny-tiny-rss-init-script-for-multiple-instances-on-debian-wheezy/</link><pubDate>Mon, 09 Feb 2015 04:04:51 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4642</guid><description>&lt;p&gt;Well, I have a bunch of Tiny Tiny RSS instances running on my webhost, and I wanted a init-script that starts the update-daemons for all instances.&lt;/p&gt;
&lt;p&gt;Now, there&amp;rsquo;s already a bunch of init scripts for Debian around ( &lt;a href="http://noctus.net/2012/initscript-mit-tiny-tiny-rss-1-5-10"&gt;1&lt;/a&gt;, &lt;a href="http://howto.landure.fr/gnu-linux/debian-4-0-etch/installer-tiny-tiny-rss-sur-debian-4-0-etch/tt-rss-initd"&gt;2&lt;/a&gt;) however none of them were to my liking or did what I wanted it to do. So I ended up (yeah, I know &lt;em&gt;&lt;strong&gt;again&lt;/strong&gt;&lt;/em&gt;) rewriting them.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt; 10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt; 11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt; 12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt; 13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt; 14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt; 15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt; 16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt; 17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt; 18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt; 19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt; 20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt; 21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt; 22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt; 23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt; 24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt; 25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt; 26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt; 27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt; 28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt; 29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt; 30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt; 31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt; 32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt; 33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt; 34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt; 35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt; 36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt; 37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt; 38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt; 39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt; 40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt; 41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt; 42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt; 43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt; 44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt; 45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt; 46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt; 47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt; 48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt; 49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt; 50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt; 51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt; 52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt; 53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt; 54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt; 55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt; 56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt; 57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt; 58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt; 59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt; 60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt; 61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt; 62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt; 63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-64"&gt;&lt;a class="lnlinks" href="#hl-0-64"&gt; 64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-65"&gt;&lt;a class="lnlinks" href="#hl-0-65"&gt; 65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-66"&gt;&lt;a class="lnlinks" href="#hl-0-66"&gt; 66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-67"&gt;&lt;a class="lnlinks" href="#hl-0-67"&gt; 67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-68"&gt;&lt;a class="lnlinks" href="#hl-0-68"&gt; 68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-69"&gt;&lt;a class="lnlinks" href="#hl-0-69"&gt; 69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-70"&gt;&lt;a class="lnlinks" href="#hl-0-70"&gt; 70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-71"&gt;&lt;a class="lnlinks" href="#hl-0-71"&gt; 71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-72"&gt;&lt;a class="lnlinks" href="#hl-0-72"&gt; 72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-73"&gt;&lt;a class="lnlinks" href="#hl-0-73"&gt; 73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-74"&gt;&lt;a class="lnlinks" href="#hl-0-74"&gt; 74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-75"&gt;&lt;a class="lnlinks" href="#hl-0-75"&gt; 75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-76"&gt;&lt;a class="lnlinks" href="#hl-0-76"&gt; 76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-77"&gt;&lt;a class="lnlinks" href="#hl-0-77"&gt; 77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-78"&gt;&lt;a class="lnlinks" href="#hl-0-78"&gt; 78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-79"&gt;&lt;a class="lnlinks" href="#hl-0-79"&gt; 79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-80"&gt;&lt;a class="lnlinks" href="#hl-0-80"&gt; 80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-81"&gt;&lt;a class="lnlinks" href="#hl-0-81"&gt; 81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-82"&gt;&lt;a class="lnlinks" href="#hl-0-82"&gt; 82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-83"&gt;&lt;a class="lnlinks" href="#hl-0-83"&gt; 83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-84"&gt;&lt;a class="lnlinks" href="#hl-0-84"&gt; 84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-85"&gt;&lt;a class="lnlinks" href="#hl-0-85"&gt; 85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-86"&gt;&lt;a class="lnlinks" href="#hl-0-86"&gt; 86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-87"&gt;&lt;a class="lnlinks" href="#hl-0-87"&gt; 87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-88"&gt;&lt;a class="lnlinks" href="#hl-0-88"&gt; 88&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-89"&gt;&lt;a class="lnlinks" href="#hl-0-89"&gt; 89&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-90"&gt;&lt;a class="lnlinks" href="#hl-0-90"&gt; 90&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-91"&gt;&lt;a class="lnlinks" href="#hl-0-91"&gt; 91&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-92"&gt;&lt;a class="lnlinks" href="#hl-0-92"&gt; 92&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-93"&gt;&lt;a class="lnlinks" href="#hl-0-93"&gt; 93&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-94"&gt;&lt;a class="lnlinks" href="#hl-0-94"&gt; 94&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-95"&gt;&lt;a class="lnlinks" href="#hl-0-95"&gt; 95&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-96"&gt;&lt;a class="lnlinks" href="#hl-0-96"&gt; 96&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-97"&gt;&lt;a class="lnlinks" href="#hl-0-97"&gt; 97&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-98"&gt;&lt;a class="lnlinks" href="#hl-0-98"&gt; 98&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-99"&gt;&lt;a class="lnlinks" href="#hl-0-99"&gt; 99&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-100"&gt;&lt;a class="lnlinks" href="#hl-0-100"&gt;100&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-101"&gt;&lt;a class="lnlinks" href="#hl-0-101"&gt;101&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-102"&gt;&lt;a class="lnlinks" href="#hl-0-102"&gt;102&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-103"&gt;&lt;a class="lnlinks" href="#hl-0-103"&gt;103&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-104"&gt;&lt;a class="lnlinks" href="#hl-0-104"&gt;104&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-105"&gt;&lt;a class="lnlinks" href="#hl-0-105"&gt;105&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-106"&gt;&lt;a class="lnlinks" href="#hl-0-106"&gt;106&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-107"&gt;&lt;a class="lnlinks" href="#hl-0-107"&gt;107&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-108"&gt;&lt;a class="lnlinks" href="#hl-0-108"&gt;108&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-109"&gt;&lt;a class="lnlinks" href="#hl-0-109"&gt;109&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-110"&gt;&lt;a class="lnlinks" href="#hl-0-110"&gt;110&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-111"&gt;&lt;a class="lnlinks" href="#hl-0-111"&gt;111&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-112"&gt;&lt;a class="lnlinks" href="#hl-0-112"&gt;112&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-113"&gt;&lt;a class="lnlinks" href="#hl-0-113"&gt;113&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-114"&gt;&lt;a class="lnlinks" href="#hl-0-114"&gt;114&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-115"&gt;&lt;a class="lnlinks" href="#hl-0-115"&gt;115&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-116"&gt;&lt;a class="lnlinks" href="#hl-0-116"&gt;116&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-117"&gt;&lt;a class="lnlinks" href="#hl-0-117"&gt;117&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-118"&gt;&lt;a class="lnlinks" href="#hl-0-118"&gt;118&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-119"&gt;&lt;a class="lnlinks" href="#hl-0-119"&gt;119&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-120"&gt;&lt;a class="lnlinks" href="#hl-0-120"&gt;120&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-121"&gt;&lt;a class="lnlinks" href="#hl-0-121"&gt;121&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-122"&gt;&lt;a class="lnlinks" href="#hl-0-122"&gt;122&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-123"&gt;&lt;a class="lnlinks" href="#hl-0-123"&gt;123&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-124"&gt;&lt;a class="lnlinks" href="#hl-0-124"&gt;124&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-125"&gt;&lt;a class="lnlinks" href="#hl-0-125"&gt;125&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-126"&gt;&lt;a class="lnlinks" href="#hl-0-126"&gt;126&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-127"&gt;&lt;a class="lnlinks" href="#hl-0-127"&gt;127&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-128"&gt;&lt;a class="lnlinks" href="#hl-0-128"&gt;128&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-129"&gt;&lt;a class="lnlinks" href="#hl-0-129"&gt;129&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-130"&gt;&lt;a class="lnlinks" href="#hl-0-130"&gt;130&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-131"&gt;&lt;a class="lnlinks" href="#hl-0-131"&gt;131&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-132"&gt;&lt;a class="lnlinks" href="#hl-0-132"&gt;132&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-133"&gt;&lt;a class="lnlinks" href="#hl-0-133"&gt;133&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-134"&gt;&lt;a class="lnlinks" href="#hl-0-134"&gt;134&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-135"&gt;&lt;a class="lnlinks" href="#hl-0-135"&gt;135&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;### BEGIN INIT INFO&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Provides: ttrss&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Required-Start: $local_fs $remote_fs networking&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Required-Stop: $local_fs $remote_fs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Default-Start: 2 3 4 5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Default-Stop: 0 1 6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Short-Description: Tiny Tiny RSS update daemon&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Description: Update the Tiny Tiny RSS subscribed syndication feeds.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;### END INIT INFO&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; -e
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/sbin:/usr/sbin:/bin:/usr/bin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DESC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Tiny Tiny RSS update daemon&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;command&lt;/span&gt; basename &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;0&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DISABLED&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FORKING&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Read configuration variable file if it is present&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt; -r &lt;span class="s2"&gt;&amp;#34;/etc/default/&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; . &lt;span class="s2"&gt;&amp;#34;/etc/default/&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DAEMON_SCRIPT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;update.php --daemon&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$FORKING&lt;/span&gt; -ne &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;DAEMON_SCRIPT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;update_daemon2.php&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DAEMON&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/bin/php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Exit if the package is not installed&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt; -x &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$DAEMON&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt; -d &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TTRSS_PATH&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Load the VERBOSE setting and other rcS variables&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;. /lib/init/vars.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Define LSB log_* functions.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Depend on lsb-base (&amp;gt;= 3.0-6) to ensure that this file is present.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;. /lib/lsb/init-functions
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$DISABLED&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; -a &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;stop&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; log_warning_msg &lt;span class="s2"&gt;&amp;#34;Not starting &lt;/span&gt;&lt;span class="nv"&gt;$DESC&lt;/span&gt;&lt;span class="s2"&gt; - edit /etc/default/tt-rss and change DISABLED to be 0.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; 0&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Function that starts the daemon/service&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;do_start&lt;span class="o"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; dir in &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TTRSS_PATH&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;/*&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;INSTANCE_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;dir&lt;/span&gt;&lt;span class="p"&gt;##*/&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; start-stop-daemon --start --make-pidfile --background --quiet
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --chuid &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TTRSS_USERID&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; --group &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TTRSS_GROUPID&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --chdir &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;dir&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --pidfile &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TTRSS_PIDDIR&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/ttrss-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;INSTANCE_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.pid&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --exec &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;DAEMON&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; --test &amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; start-stop-daemon --start --make-pidfile --background --quiet
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --chuid &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TTRSS_USERID&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; --group &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TTRSS_GROUPID&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --chdir &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;dir&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --pidfile &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TTRSS_PIDDIR&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/ttrss-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;INSTANCE_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.pid&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --exec &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;DAEMON&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -- &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;dir&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;/&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;DAEMON_SCRIPT&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --log
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /var/log/ttrss/&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;INSTANCE_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;.log
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Function that stops the daemon/service&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;do_stop&lt;span class="o"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; dir in &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TTRSS_PATH&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;/*&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;INSTANCE_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;dir&lt;/span&gt;&lt;span class="p"&gt;##*/&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; start-stop-daemon --stop --make-pidfile --quiet
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --retry&lt;span class="o"&gt;=&lt;/span&gt;TERM/1/KILL/5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --pidfile &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TTRSS_PIDDIR&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/ttrss-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;INSTANCE_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.pid&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;RETVAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$?&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RETVAL&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; start-stop-daemon --stop --quiet --oknodo --retry&lt;span class="o"&gt;=&lt;/span&gt;0/1/KILL/5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --exec &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;DAEMON&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$?&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; rm -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TTRSS_PIDDIR&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/ttrss-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;INSTANCE_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.pid&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$RETVAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; start&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; log_daemon_msg &lt;span class="s2"&gt;&amp;#34;Starting &lt;/span&gt;&lt;span class="nv"&gt;$DESC&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$NAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; do_start
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$?&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 0&lt;span class="p"&gt;|&lt;/span&gt;1&lt;span class="o"&gt;)&lt;/span&gt; log_end_msg &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 2&lt;span class="o"&gt;)&lt;/span&gt; log_end_msg &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; stop&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; log_daemon_msg &lt;span class="s2"&gt;&amp;#34;Stopping &lt;/span&gt;&lt;span class="nv"&gt;$DESC&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$NAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; do_stop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$?&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 0&lt;span class="p"&gt;|&lt;/span&gt;1&lt;span class="o"&gt;)&lt;/span&gt; log_end_msg &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 2&lt;span class="o"&gt;)&lt;/span&gt; log_end_msg &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; restart&lt;span class="p"&gt;|&lt;/span&gt;force-reload&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# If the &amp;#34;reload&amp;#34; option is implemented then remove the&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# &amp;#39;force-reload&amp;#39; alias&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; log_daemon_msg &lt;span class="s2"&gt;&amp;#34;Restarting &lt;/span&gt;&lt;span class="nv"&gt;$DESC&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$NAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; do_stop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$?&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 0&lt;span class="p"&gt;|&lt;/span&gt;1&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; do_start
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$?&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 0&lt;span class="o"&gt;)&lt;/span&gt; log_end_msg &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 1&lt;span class="o"&gt;)&lt;/span&gt; log_end_msg &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt; &lt;span class="c1"&gt;# Old process is still running&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; *&lt;span class="o"&gt;)&lt;/span&gt; log_end_msg &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt; &lt;span class="c1"&gt;# Failed to start&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; *&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Failed to stop&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; log_end_msg &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; *&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Usage: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; {start|stop|restart|force-reload}&amp;#34;&lt;/span&gt; &amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-3"&gt;&lt;a class="lnlinks" href="#hl-1-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-4"&gt;&lt;a class="lnlinks" href="#hl-1-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-5"&gt;&lt;a class="lnlinks" href="#hl-1-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-6"&gt;&lt;a class="lnlinks" href="#hl-1-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-7"&gt;&lt;a class="lnlinks" href="#hl-1-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-8"&gt;&lt;a class="lnlinks" href="#hl-1-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-9"&gt;&lt;a class="lnlinks" href="#hl-1-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-10"&gt;&lt;a class="lnlinks" href="#hl-1-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-11"&gt;&lt;a class="lnlinks" href="#hl-1-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-12"&gt;&lt;a class="lnlinks" href="#hl-1-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set DISABLED to 1 to prevent the daemon from starting.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;DISABLED&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;TTRSS_USERID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;www-data&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;TTRSS_GROUPID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;www-data&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;TTRSS_PIDDIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/var/run&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;TTRSS_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/var/www/rss.heimdaheim.de/www&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Allow the update_daemon script to use a forking daemon instead of a&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# single-threaded instance.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# This option is only available for TinyTinyRSS 1.2.20 and above.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;FORKING&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Quick-Add a bunch of Virtual Machine Port-Groups from CSV</title><link>https://christian.blog.pakiheim.de/posts/2015-01-03_quick-add-a-bunch-of-virtual-machine-port-groups-from-csv/</link><pubDate>Sat, 03 Jan 2015 08:06:07 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5388</guid><description>&lt;p&gt;Well, I&amp;rsquo;m currently migrating between different cluster layouts, and I had to create the new PortGroups on the old hosts, in order for me to switch between old and new hosts.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ps" data-lang="ps"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;$vmhosts&lt;/span&gt; &lt;span class="nf"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;Get-Cluster&lt;/span&gt; &lt;span class="nf"&gt;&amp;#34;UCSCL01-02&amp;#34;&lt;/span&gt; &lt;span class="nf"&gt;|&lt;/span&gt; &lt;span class="nf"&gt;Get-VMHost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;foreach&lt;/span&gt; &lt;span class="s"&gt;($vmhost in $vmhosts)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;import-csv&lt;/span&gt; &lt;span class="nf"&gt;-Delimiter&lt;/span&gt; &lt;span class="nf"&gt;&amp;#34;;&amp;#34;&lt;/span&gt; &lt;span class="nf"&gt;.\pg.csv&lt;/span&gt; &lt;span class="nf"&gt;|&lt;/span&gt; &lt;span class="nf"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;$vmhost&lt;/span&gt; &lt;span class="nf"&gt;|&lt;/span&gt; &lt;span class="nf"&gt;Get-VirtualSwitch&lt;/span&gt; &lt;span class="nf"&gt;-Name&lt;/span&gt; &lt;span class="nf"&gt;&amp;#34;vSwitch3&amp;#34;&lt;/span&gt; &lt;span class="nf"&gt;|&lt;/span&gt; &lt;span class="nf"&gt;New-VirtualPortGroup&lt;/span&gt; &lt;span class="nf"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;-Name&lt;/span&gt; &lt;span class="nf"&gt;$_.portgroup&lt;/span&gt; &lt;span class="nf"&gt;-VLanId&lt;/span&gt; &lt;span class="nf"&gt;$_.vlanid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And the corresponding CSV would look like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-3"&gt;&lt;a class="lnlinks" href="#hl-1-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-4"&gt;&lt;a class="lnlinks" href="#hl-1-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-5"&gt;&lt;a class="lnlinks" href="#hl-1-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-6"&gt;&lt;a class="lnlinks" href="#hl-1-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-7"&gt;&lt;a class="lnlinks" href="#hl-1-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-8"&gt;&lt;a class="lnlinks" href="#hl-1-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-9"&gt;&lt;a class="lnlinks" href="#hl-1-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-10"&gt;&lt;a class="lnlinks" href="#hl-1-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-11"&gt;&lt;a class="lnlinks" href="#hl-1-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-12"&gt;&lt;a class="lnlinks" href="#hl-1-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-13"&gt;&lt;a class="lnlinks" href="#hl-1-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-14"&gt;&lt;a class="lnlinks" href="#hl-1-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-15"&gt;&lt;a class="lnlinks" href="#hl-1-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-16"&gt;&lt;a class="lnlinks" href="#hl-1-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-17"&gt;&lt;a class="lnlinks" href="#hl-1-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-18"&gt;&lt;a class="lnlinks" href="#hl-1-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-19"&gt;&lt;a class="lnlinks" href="#hl-1-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-20"&gt;&lt;a class="lnlinks" href="#hl-1-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-21"&gt;&lt;a class="lnlinks" href="#hl-1-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-22"&gt;&lt;a class="lnlinks" href="#hl-1-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-23"&gt;&lt;a class="lnlinks" href="#hl-1-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-24"&gt;&lt;a class="lnlinks" href="#hl-1-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-25"&gt;&lt;a class="lnlinks" href="#hl-1-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-26"&gt;&lt;a class="lnlinks" href="#hl-1-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-27"&gt;&lt;a class="lnlinks" href="#hl-1-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-28"&gt;&lt;a class="lnlinks" href="#hl-1-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-29"&gt;&lt;a class="lnlinks" href="#hl-1-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-30"&gt;&lt;a class="lnlinks" href="#hl-1-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-31"&gt;&lt;a class="lnlinks" href="#hl-1-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-32"&gt;&lt;a class="lnlinks" href="#hl-1-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-33"&gt;&lt;a class="lnlinks" href="#hl-1-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-34"&gt;&lt;a class="lnlinks" href="#hl-1-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-35"&gt;&lt;a class="lnlinks" href="#hl-1-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-36"&gt;&lt;a class="lnlinks" href="#hl-1-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-37"&gt;&lt;a class="lnlinks" href="#hl-1-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-38"&gt;&lt;a class="lnlinks" href="#hl-1-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-39"&gt;&lt;a class="lnlinks" href="#hl-1-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-40"&gt;&lt;a class="lnlinks" href="#hl-1-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-41"&gt;&lt;a class="lnlinks" href="#hl-1-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;portgroup;vlanid
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1700_routers;1700
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1701_routers;1701
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1702_routers;1702
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1703_routers;1703
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1704_routers;1704
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1705_routers;1705
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1706_routers;1706
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1707_routers;1707
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1708_routers;1708
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1709_routers;1709
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1710_routers;1710
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1711_routers;1711
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1712_routers;1712
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1713_routers;1713
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1714_routers;1714
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1715_routers;1715
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1716_routers;1716
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1717_routers;1717
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1718_routers;1718
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1719_routers;1719
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2000_virtual-machines;2000
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2001_virtual-machines;2001
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2002_virtual-machines;2002
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2003_virtual-machines;2003
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2004_virtual-machines;2004
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2005_virtual-machines;2005
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2006_virtual-machines;2006
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2007_virtual-machines;2007
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2008_virtual-machines;2008
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2009_virtual-machines;2009
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2010_virtual-machines;2010
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2011_virtual-machines;2011
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2012_virtual-machines;2012
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2013_virtual-machines;2013
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2014_virtual-machines;2014
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2015_virtual-machines;2015
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2016_virtual-machines;2016
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2017_virtual-machines;2017
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2018_virtual-machines;2018
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2019_virtual-machines;2019
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>ViMbAdmin and mod_rewrite</title><link>https://christian.blog.pakiheim.de/posts/2014-12-02_vimbadmin-and-mod-rewrite/</link><pubDate>Tue, 02 Dec 2014 12:30:38 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5380</guid><description>&lt;p&gt;Well, I use ViMbAdmin for the mail box administration of my users (and aliases) on heimdaheim.de. After I while (well, over half a year I guess), I decided to look at it again. However it didn&amp;rsquo;t work. Well this was a multi-part problem.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ViMbAdmin has been updated to require PHP composer (which populates the vendor/ folder)&lt;/li&gt;
&lt;li&gt;the application.ini was outdated&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After I fixed all that, ViMbAdmin was working again. However I decided to replace my mod_rewrite stuff (I had in my apache config from the previous version) with the one from the Documentation and that actually made things worse. So I ended up &lt;em&gt;redigging&lt;/em&gt; into mod_rewrite (again &lt;em&gt;sigh&lt;/em&gt;) and rewrite the Rewrite Rules&amp;hellip; This time I&amp;rsquo;m documenting it.&lt;/p&gt;</description></item><item><title>Adjust album list display in foobar2000</title><link>https://christian.blog.pakiheim.de/posts/2014-11-13_adjust-album-list-display-in-foobar2000/</link><pubDate>Thu, 13 Nov 2014 09:48:23 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5376</guid><description>&lt;p&gt;Well, as I said earlier I&amp;rsquo;ve been playing around with my Sonos (and in that regard cleaning up my music library). Now, I started setting up my foobar2000 to ignore articles (The, A) when moving/copying file to my music library.&lt;/p&gt;
&lt;p&gt;For example, previously the structure would have looked like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;albums\T\The Beatles - 1963-03-22 - Please Please Me
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now, after implementing the file operations adjustments (I&amp;rsquo;ll post them later), the structure looks like this:&lt;/p&gt;</description></item><item><title>Download a (legal) Windows 8-1 Media Refresh ISO</title><link>https://christian.blog.pakiheim.de/posts/2014-11-13_download-a-legal-windows-8-1-media-refresh-iso/</link><pubDate>Thu, 13 Nov 2014 09:21:26 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5372</guid><description>&lt;p&gt;Well, Microsoft finally had an insight into the user complaints about not being able to download a (legal) Media Refresh ISO for people with preinstalled Windows 8(.1). Now, you just have to download the Media Creation Tool from &lt;a href="http://windows.microsoft.com/en-us/windows-8/create-reset-refresh-media"&gt;http://windows.microsoft.com/en-us/windows-8/create-reset-refresh-media&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s portable, just execute the EXE and it&amp;rsquo;ll download you the selected Windows 8(.1) ISO you selected. Additionally, it finally accepts the Product Keys from Windows 8, which is a big step.&lt;/p&gt;</description></item><item><title>Display MusicBrainz info in foobar2000</title><link>https://christian.blog.pakiheim.de/posts/2014-11-13_display-musicbrainz-info-in-foobar2000/</link><pubDate>Thu, 13 Nov 2014 09:08:15 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5366</guid><description>&lt;p&gt;I&amp;rsquo;ve been cleaning up my music library the past few days (well, I bought a Sonos &amp;#x1f600;), so here&amp;rsquo;s how you display for example the tagging field MUSICBRAINZ ALBUM TYPE in foobar2000&amp;rsquo;s default metadata view.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Goto preferences (Ctrl+P or File-&amp;gt;Preferences)&lt;/li&gt;
&lt;li&gt;Navigate to Advanced&lt;/li&gt;
&lt;li&gt;Extend the Display node, extend Properties Dialoge node&lt;/li&gt;
&lt;li&gt;There you&amp;rsquo;ll find the option for Standard fields&lt;/li&gt;
&lt;li&gt;Change it to the following:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Artist Name=ARTIST;Track Title=TITLE;Album Title=ALBUM;Date=DATE;Genre=GENRE;Composer=COMPOSER;Performer=PERFORMER;Album Artist=ALBUM ARTIST;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Comment=COMMENT;Album Type=MUSICBRAINZ ALBUM TYPE
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After changing the Standard fields option, the metadata view will look like this:&lt;/p&gt;</description></item><item><title>ARmA III - Cheats</title><link>https://christian.blog.pakiheim.de/posts/2014-10-27_arma-iii-cheats/</link><pubDate>Mon, 27 Oct 2014 11:44:16 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5364</guid><description>&lt;p&gt;Well, since most trainers won&amp;rsquo;t enable me to become &amp;ldquo;GOD&amp;rdquo; (yeah, I guess I&amp;rsquo;m too stupid for ARmA III), here&amp;rsquo;s a list of commands that&amp;rsquo;ll change things.&lt;/p&gt;
&lt;p&gt;Disable damage to player and teammates:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{ _x allowDamage false; } foreach units group player;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Disable player fatigue:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;player enableFatigue true; player enableFatigue false;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>OpenELEC on CuBox i - Update to latest snapshot</title><link>https://christian.blog.pakiheim.de/posts/2014-10-20_openelec-on-cubox-i-update-to-latest-snapshot/</link><pubDate>Mon, 20 Oct 2014 16:57:44 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5358</guid><description>&lt;p&gt;Here&amp;rsquo;s an easy way to update the OpenELEC running on a CuBox-i easily:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cd ~/.update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl http://snapshots.openelec.tv/`curl http://snapshots.openelec.tv/ | grep OpenELEC-Cuboxi | cut -d\&amp;#34; -f2` | tar x
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mv OpenELEC*/target/* . &amp;amp;&amp;amp; rm -r OpenELEC*
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>PowerShell - and how to add new DNS servers to remote systems</title><link>https://christian.blog.pakiheim.de/posts/2014-10-01_powershell-and-how-to-add-new-dns-servers-to-remote-systems/</link><pubDate>Wed, 01 Oct 2014 17:14:23 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5351</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been playing around with PowerShell today. I had the task to move (as in change the IP address) two domain controllers into another VLAN. I could have done it the easy way and added the DNS servers by hand (by RDP&amp;rsquo;ing to each system having these particular DNS servers configured) - which wouldn&amp;rsquo;t have been very hard considering the domain only has 7 members at this point &amp;hellip;&lt;/p&gt;</description></item><item><title>Rename a Standard Port Group on all hosts in a cluster</title><link>https://christian.blog.pakiheim.de/posts/2014-09-24_rename-a-standard-port-group-on-all-hosts-in-a-cluster/</link><pubDate>Wed, 24 Sep 2014 10:59:27 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4155</guid><description>&lt;p&gt;Well, I recently decided to rename a bunch of my Standard Port Groups, since they did no longer reflect the network they were providing. Since I&amp;rsquo;m a lazy bastard (well lazy as in click lazy), I wrote this little PowerCLI script:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;oldpg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;newpg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vlan&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;oldpg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;newpg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vlan&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;pg-cluster-rename: &amp;lt;vcenter-server&amp;gt; &amp;lt;cluster&amp;gt; &amp;lt;oldpg&amp;gt; &amp;lt;newpg&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;This script renames each port group with the name &amp;lt;oldpg&amp;gt; to &amp;lt;newpg&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vcenter-server&amp;gt; - DNS name of your vCenter server.&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;cluster&amp;gt; - Display-Name of the vCenter cluster, on which we are&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; gonna create the new portgroup.&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;oldpg&amp;gt; - Name of the old Port Group that is to be replaced (ie VLAN2).&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;newpg&amp;gt; - Name of the new Port Group (ie PG-VLAN2-Produktion).&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vlan&amp;gt; - VLAN-ID for of the new port group.&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Cluster&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VirtualSwitch&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vswitch&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;New&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VirtualPortGroup&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;pg&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VLanId&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vlan&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Cluster&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NetworkAdapter&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Where&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NetworkName&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;$oldpg&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Set&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NetworkAdapter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NetworkName&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;newpg&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Cluster&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;View&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;View&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ID&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;configmanager&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;networkSystem&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RemovePortGroup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;oldpg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Disconnect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This script basically takes a vCenter instance and a single cluster, then creates a new Port Group on each host, after which it reconfigures all VMs possessing a virtual NIC with that Port Group and then deletes the old Port Group.&lt;/p&gt;</description></item><item><title>Create ComicRack compatible cb7 archives</title><link>https://christian.blog.pakiheim.de/posts/2014-08-31_create-comicrack-compatible-cb7-archives/</link><pubDate>Sun, 31 Aug 2014 14:04:34 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5339</guid><description>&lt;p&gt;Well, I have a few directories containing comics (in JPG/PNG) format. Since I&amp;rsquo;m lazy and didn&amp;rsquo;t want to create a 7z by hand for each directory, I wrote a short script that&amp;rsquo;ll do the work for me &amp;#x1f604;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt;58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt;59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt;60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt;61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt;62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt;63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-64"&gt;&lt;a class="lnlinks" href="#hl-0-64"&gt;64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-65"&gt;&lt;a class="lnlinks" href="#hl-0-65"&gt;65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-66"&gt;&lt;a class="lnlinks" href="#hl-0-66"&gt;66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-67"&gt;&lt;a class="lnlinks" href="#hl-0-67"&gt;67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-68"&gt;&lt;a class="lnlinks" href="#hl-0-68"&gt;68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-69"&gt;&lt;a class="lnlinks" href="#hl-0-69"&gt;69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-70"&gt;&lt;a class="lnlinks" href="#hl-0-70"&gt;70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-71"&gt;&lt;a class="lnlinks" href="#hl-0-71"&gt;71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-72"&gt;&lt;a class="lnlinks" href="#hl-0-72"&gt;72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-73"&gt;&lt;a class="lnlinks" href="#hl-0-73"&gt;73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-74"&gt;&lt;a class="lnlinks" href="#hl-0-74"&gt;74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-75"&gt;&lt;a class="lnlinks" href="#hl-0-75"&gt;75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-76"&gt;&lt;a class="lnlinks" href="#hl-0-76"&gt;76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-77"&gt;&lt;a class="lnlinks" href="#hl-0-77"&gt;77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-78"&gt;&lt;a class="lnlinks" href="#hl-0-78"&gt;78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-79"&gt;&lt;a class="lnlinks" href="#hl-0-79"&gt;79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-80"&gt;&lt;a class="lnlinks" href="#hl-0-80"&gt;80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-81"&gt;&lt;a class="lnlinks" href="#hl-0-81"&gt;81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-82"&gt;&lt;a class="lnlinks" href="#hl-0-82"&gt;82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-83"&gt;&lt;a class="lnlinks" href="#hl-0-83"&gt;83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-84"&gt;&lt;a class="lnlinks" href="#hl-0-84"&gt;84&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Mangle IFS, since space is a valid default IFS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SAVEIFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$IFS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -en &lt;span class="s2"&gt;&amp;#34;\n&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Locate the 7z binary&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -x &lt;span class="s2"&gt;&amp;#34;/usr/bin/7zr&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ZIP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/usr/bin/7zr&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -x &lt;span class="s2"&gt;&amp;#34;/usr/syno/bin/7z&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ZIP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/usr/syno/bin/7z&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ORIG_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#find $DIR -mindepth 1 -maxdepth 1 -type d -print0 | sed &amp;#34;s,./,,&amp;#34; | while IFS= read -r -d &amp;#39;&amp;#39; dir; do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;find &lt;span class="nv"&gt;$DIR&lt;/span&gt; -mindepth &lt;span class="m"&gt;1&lt;/span&gt; -maxdepth &lt;span class="m"&gt;1&lt;/span&gt; -type d -print0 &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -r -d &lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt; dir&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;dir&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;dir&lt;/span&gt;&lt;span class="p"&gt;##*/&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="nv"&gt;$dir&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; extracted&lt;span class="p"&gt;|&lt;/span&gt;@eaDir*&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="k"&gt;continue&lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ARCHIVE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;dir&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Remove tags from file names&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ARCHIVE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ARCHIVE&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,\[SaHa\] ,,g&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ARCHIVE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ARCHIVE&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s1"&gt;&amp;#39;s/([^)]*)//g&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ARCHIVE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ARCHIVE&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,_, ,g&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ARCHIVE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ARCHIVE&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s1"&gt;&amp;#39;s/[ \t]*$//&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Decide, whether &amp;#34;,&amp;#34; or &amp;#34;-&amp;#34; separates writer and series&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Get series and author from directory name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;WRITER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ARCHIVE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d, -f1 &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s2"&gt;&amp;#34;s,./,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SERIES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ARCHIVE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d, -f2- &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s1"&gt;&amp;#39;s/^[ \t]*//&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Check if the pictures are directly beyond the subdirectory. Otherwise&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# report the directory and skip it.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;HAS_PICTURES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; find &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$dir&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -mindepth &lt;span class="m"&gt;1&lt;/span&gt; -maxdepth &lt;span class="m"&gt;1&lt;/span&gt; -type f -regex &lt;span class="s2"&gt;&amp;#34;.*\.\(PNG\|png\|jpg\|JPG\|jpeg\|JPG\)&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; wc -l &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$HAS_PICTURES&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -lt &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Attention: &lt;/span&gt;&lt;span class="nv"&gt;$dir&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;has no pictures in the immediate directory. Please move the pictures&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;from the subdirectory to the immediate directory.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;continue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Create a bare ComicInfo.xml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cat &amp;gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$dir&lt;/span&gt;&lt;span class="s2"&gt;/ComicInfo.xml&amp;#34;&lt;/span&gt; &lt;span class="s"&gt;&amp;lt;&amp;lt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;?xml version=&amp;#34;1.0&amp;#34;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;ComicInfo xmlns:xsd=&amp;#34;http://www.w3.org/2001/XMLSchema&amp;#34; xmlns:xsi=&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; &amp;lt;Series&amp;gt;$SERIES&amp;lt;/Series&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; &amp;lt;Writer&amp;gt;$WRITER&amp;lt;/Writer&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; &amp;lt;Genre&amp;gt;Adult&amp;lt;/Genre&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; &amp;lt;LanguageISO&amp;gt;en&amp;lt;/LanguageISO&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; &amp;lt;AgeRating&amp;gt;Adults Only 18+&amp;lt;/AgeRating&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;/ComicInfo&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$ORIG_DIR&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$ARCHIVE&lt;/span&gt;&lt;span class="s2"&gt;.cb7&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$ARCHIVE&lt;/span&gt;&lt;span class="s2"&gt;.cb7: Skipping, since the new archive already exists ?&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;continue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$dir&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Create the cb7 archive&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Creating &lt;/span&gt;&lt;span class="nv"&gt;$ARCHIVE&lt;/span&gt;&lt;span class="s2"&gt;.cb7&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ret&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nv"&gt;$ZIP&lt;/span&gt; a &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$ORIG_DIR&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$ARCHIVE&lt;/span&gt;&lt;span class="s2"&gt;.cb7&amp;#34;&lt;/span&gt; * &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&amp;gt;/dev/null &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nv"&gt;$ORIG_DIR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$ret&lt;/span&gt; -eq &lt;span class="m"&gt;0&lt;/span&gt; -a -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$ORIG_DIR&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$ARCHIVE&lt;/span&gt;&lt;span class="s2"&gt;.cb7&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; rm -rf &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$dir&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# restore $IFS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$SAVEIFS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Hetzner, Debian, KVM and IPv6</title><link>https://christian.blog.pakiheim.de/posts/2014-08-25_hetzner-debian-kvm-and-ipv6/</link><pubDate>Mon, 25 Aug 2014 20:08:11 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5133</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve had my share of troubles with Hetzner, Debian, KVM and IPv6 addresses. After figuring out how to get around the IPv6 neighbor stuff (npd6 for teh win!), I battled with the problem that after restarting (rebooting/resetting - doesn&amp;rsquo;t really matter) a domain it&amp;rsquo;s IPv6 address would no longer work.&lt;/p&gt;
&lt;p&gt;Well, today I decided to take a closer look. After the reboot, the guest comes up with this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pinguinfuss:(thanatos.heimdaheim.de/webs) PWD:~
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Mon Sep 09, 19:01:27 [0] &amp;gt; ip a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 16436 qdisc noqueue state UNKNOWN
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; inet 127.0.0.1/8 scope host lo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; inet6 ::1/128 scope host
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; valid_lft forever preferred_lft forever
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP qlen 1000
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; link/ether 52:54:00:96:ed:35 brd ff:ff:ff:ff:ff:ff
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; inet 78.46.37.114 peer 78.46.37.118/32 brd 78.46.37.114 scope global eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; inet6 2a01:4f8:110:3148::5/64 scope global tentative dadfailed
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; valid_lft forever preferred_lft forever
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; inet6 fe80::5054:ff:fe96:ed35/64 scope link
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; valid_lft forever preferred_lft forever
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;A quick peek into ip 6 neigh show reveals this:&lt;/p&gt;</description></item><item><title>Nagios: Integrating Cisco switches</title><link>https://christian.blog.pakiheim.de/posts/2014-08-20_nagios-integrating-cisco-switches/</link><pubDate>Wed, 20 Aug 2014 08:20:53 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1763</guid><description>&lt;p&gt;Well, as I wrote recently, we received a new BladeCenter a few weeks back. Now, as we slowly take it into service I was interested in watching the utilization of the back planes as well as the CPU utilization of the Cisco Catalyst 3012 network switches.&lt;/p&gt;
&lt;p&gt;The first mistake I made, was to trust Cisco with their guide about &lt;a href="http://www.cisco.com/en/US/tech/tk389/tk816/technologies_tech_note09186a0080094a96.shtml"&gt;how to get the utilization&lt;/a&gt; from &lt;a href="http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094a94.shtml"&gt;the device using SNMP&lt;/a&gt;. They stated some OID&amp;rsquo;s, which I tried with &lt;em&gt;snmpwalk&lt;/em&gt; and got a result from.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;snmpwalk -v1 -c public -O n 10.0.0.35 .1.3.6.1.4.1.9.5.1.1.8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.1.3.6.1.4.1.9.5.1.1.8.0 = INTEGER: 0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now, as I tried retrieving the SNMP data by means of the &lt;em&gt;check_snmp&lt;/em&gt; plugin, I got some flaky results:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-3"&gt;&lt;a class="lnlinks" href="#hl-1-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-4"&gt;&lt;a class="lnlinks" href="#hl-1-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/usr/lib/nagios/plugins/check_snmp -H 10.0.0.35 -C public
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; .1.3.6.1.4.1.9.5.1.1.8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SNMP problem - No data received from host
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;CMD: /usr/bin/snmpget -t 1 -r 5 -m &amp;#39;&amp;#39; -v 1 [authpriv] 10.0.0.35:161
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Those of you, who read the excerpts carefully will notice the difference between &lt;em&gt;snmpwalk&lt;/em&gt; and the OID I passed on to &lt;em&gt;check_snmp&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The point being, the OID&amp;rsquo;s Cisco gave in their Design tech notes are either old, or just not accurate at all. After passing on the &lt;strong&gt;.0&lt;/strong&gt; to each value given by Cisco, the &lt;em&gt;check_snmp&lt;/em&gt; is all honky dory and integrated into Nagios.&lt;/p&gt;
&lt;p&gt;As usual, the Nagios definitions are further down, for those interested.&lt;/p&gt;</description></item><item><title>Summer - finally</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_summer-finally/</link><pubDate>Sat, 16 Aug 2014 10:25:27 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=74</guid><description>&lt;p&gt;Well it&amp;rsquo;s mid of July and the weather seems to be my friend. 25°C ain&amp;rsquo;t that bad. I really liked the weather last week (although everyone at work was bitching about it being tooo warm &amp;#x1f61b;) and would like to keep it (for the rest of the year of course!).&lt;/p&gt;
&lt;p&gt;Hrm, for everyone who loved the music within &lt;strong&gt;Kill Bill - Volume 1&lt;/strong&gt;: &lt;a href="http://en.wikipedia.org/wiki/Tomoyasu_Hotei"&gt;Tomoyasu Hotei&lt;/a&gt; really rocks (playing &lt;strong&gt;Battle without Honor or Humanity&lt;/strong&gt;).&lt;/p&gt;</description></item><item><title>SLES-9-2</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_sles-9-2/</link><pubDate>Sat, 16 Aug 2014 10:23:06 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=81</guid><description>&lt;p&gt;Hrm, today I tried to install some extra programs I need for devel-stuff (quilt, git, subversion) on an &lt;em&gt;ancient&lt;/em&gt; (not sooo ancient) SuSE Linux Enterprise Server 9.2.&lt;/p&gt;
&lt;p&gt;Did I already mention &lt;strong&gt;I hate&lt;/strong&gt; rpm-based distros ? Ah and I missed to tell you, that I &lt;strong&gt;really&lt;/strong&gt; love USE-flags &amp;hellip;&lt;/p&gt;
&lt;p&gt;Ok, so it took me half the afternoon, to rebuild half of all installed packages (heh, &lt;em&gt;kde*&lt;/em&gt; depends upon &lt;em&gt;expat*&lt;/em&gt;; but who need &lt;em&gt;X&lt;/em&gt; or even &lt;em&gt;KDE&lt;/em&gt; on a server-machine?) and figured that everything was for nothing.&lt;/p&gt;</description></item><item><title>portage / eselect-compiler</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_portage-eselect-compiler/</link><pubDate>Sat, 16 Aug 2014 10:22:49 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=85</guid><description>&lt;p&gt;On Monday I helped &lt;a href="http://blogs.gentoo.org/solar"&gt;Ned&lt;/a&gt; fixing ebuilds using the following DEPEND/RDEPEND:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;*DEPEND=&amp;#34; || ( app-admin/eselect-compiler &amp;gt;=sys-devel/gcc-config-1.3.1 )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Problems only popped up because app-admin/eselect-compiler got masked due to numerous, unresolved bugs (and Jeremy/eradicator being MIA again).&lt;/p&gt;
&lt;p&gt;But that also revealed &lt;a href="http://bugs.gentoo.org/143908"&gt;a bug&lt;/a&gt; within portage on handling the || ( a b ), where a is being masked.&lt;/p&gt;
&lt;p&gt;So solar and I had being working on updating those ebuilds that use the above syntax (or something similar, some are using other versions, thanks Sven for the hint/reminder).&lt;/p&gt;</description></item><item><title>LiveCD, bootstraping and binary packages</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_livecd-bootstraping-and-binary-packages/</link><pubDate>Sat, 16 Aug 2014 10:22:11 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=86</guid><description>&lt;p&gt;Ok, as I said &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_portage-eselect-compiler" title="portage / eselect-compiler"&gt;earlier&lt;/a&gt; I&amp;rsquo;m currently reinstalling my system from scratch (to finally and completly get rid of stupid eselect-compiler).&lt;/p&gt;
&lt;p&gt;The first attempt was a bit, ehrm, error-prone (as in unpacking &lt;em&gt;stage3-i686-2006.0.tar.bz2&lt;/em&gt;, &lt;em&gt;chroot&lt;/em&gt; ing to that and running &lt;em&gt;emerge -ek system&lt;/em&gt;). Result was a b0rked chroot after the first two packages (heh, it was pulling in &lt;em&gt;=sys-libs/glibc-2.4-r3&lt;/em&gt; as the second package, thus everything that hasn&amp;rsquo;t been merged from my binpkg-repo and still originating from the snapshot being broken).&lt;/p&gt;</description></item><item><title>Time-out</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_time-out/</link><pubDate>Sat, 16 Aug 2014 10:21:20 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=92</guid><description>&lt;p&gt;OK, as some of you may now (hah, you&amp;rsquo;re really a dear &lt;a href="http://blogs.gentoo.org/seemant/2006/11/09/i_lied_i_really_am_gulleen"&gt;Mr. Gulleen&lt;/a&gt;); I&amp;rsquo;m currently practicing an extended time-out (sort of) from Gentoo.&lt;/p&gt;
&lt;p&gt;I noticed devrel and all the other groups I have a responsibility for, that I&amp;rsquo;ll be more or less away till 30th November 2006. This is due some crazy stuff currently happening at work (like my desk being full of paperwork).&lt;/p&gt;
&lt;p&gt;I also lately thought about retiring myself from Gentoo, but haven&amp;rsquo;t come to a conclusion yet. I really enjoy the work currently, but I can&amp;rsquo;t find as much motivation/time as I used to find earlier this year. True, work is currently eating myself up completely, with all that provisioning (which hopefully ends around 30th November this year - note to head: accounting at German universities sucks !).&lt;/p&gt;</description></item><item><title>DB Adventure Travels - part 3</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_db-adventure-travels-part-3/</link><pubDate>Sat, 16 Aug 2014 10:21:01 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=72</guid><description>&lt;p&gt;Heh, I managed to catch the S1 to Hellenberg and got of in Stuttgart Rohr. The S-Bahn doors nearly squashed me.&lt;/p&gt;
&lt;p&gt;I’m now at my aunt’s place, sitting on the sofa and relaxing a bit. My aunt was really happy when she saw me (as she always is if I or my brother comes by).&lt;/p&gt;
&lt;p&gt;I’ll go to bed in a few minutes, Saturday is getting really stressing. I need to get to my cousin and his wife (and my little grand cousins). I even need to buy a new LCD display for my aunt, since she somewhere red that those need 70% less power.&lt;/p&gt;</description></item><item><title>Seemant, never ending wisdom and work (confession)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_seemant-never-ending-wisdom-and-work-confession/</link><pubDate>Sat, 16 Aug 2014 10:19:10 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=95</guid><description>&lt;p&gt;So Uncle Seemant just &lt;a href="http://kulleen.org/seemant/blog/2006/nov/15/bloggo-war/"&gt;conceded his defeat&lt;/a&gt; (at least for yesterday&amp;rsquo;s battle) which gives me something I barely have. But for today&amp;rsquo;s battle I guess I have to concede, as he has some valid points.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;#0: Why am I still awake ?&lt;/strong&gt;
It&amp;rsquo;s a bit after 12pm around here (that&amp;rsquo;s in Germany) and I&amp;rsquo;m usually in bed at that time, but not today. Basically I waited all the time for my dear Uncle Seemant to gimme his response, so I might be enlightened by his never ending wisdom. And I have to admit it was worth it &amp;#x1f61b; so kids, listen to your Uncle Seemant! The other part of it is, I just don&amp;rsquo;t want to go to bed, as I&amp;rsquo;m trying to avoid some nightmares with blood and killing people and stuff like that.&lt;/p&gt;</description></item><item><title>Adapter teaming on SLES10</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_adapter-teaming-on-sles10/</link><pubDate>Sat, 16 Aug 2014 10:18:13 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/04/adapter-teaming-on-sles10/</guid><description>&lt;p&gt;Since one of the requirements for my current project is having NIC redundancy, I didn&amp;rsquo;t get around looking at the available &amp;quot; &lt;em&gt;adapter teaming&lt;/em&gt;&amp;quot; (or adapter bonding) solutions available for Linux/SLES.&lt;/p&gt;
&lt;p&gt;First I tried to dig into the Broadcom solution (since the Blade I first implemented the stuff uses a Broadcom NetXtreme II card) , but found out pretty soon that the basp configuration tool, which is &lt;em&gt;&lt;strong&gt;only&lt;/strong&gt;&lt;/em&gt; available on the Broadcom driver CD&amp;rsquo;s shipped with the Blade itself, pretty much doesn&amp;rsquo;t work.&lt;/p&gt;</description></item><item><title>Bloody cluster solutions</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions/</link><pubDate>Sat, 16 Aug 2014 10:17:48 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/04/bloody-cluster-solutions/</guid><description>&lt;p&gt;In preparation to get our website (and all those other websites - like &lt;a href="http://www.fh-neubrandenburg.de"&gt;www.fh-neubrandenburg.de&lt;/a&gt; or &lt;a href="http://www.hmt-rostock.de"&gt;www.hmt-rostock.de&lt;/a&gt;) clustered, someone bought the cluster version of the &lt;a href="http://www.packetpro.de/content/view/63/112/"&gt;PacketPro 450&lt;/a&gt;. These things are nice, especially considering you don&amp;rsquo;t need to fiddle around with LVS yourself (which is a &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; pain in the ass).&lt;/p&gt;
&lt;p&gt;The only problem I have currently with them is that they scan the database and web nodes every 30 seconds, and since we have an active node and a hot-standby both do this and producing this:&lt;/p&gt;</description></item><item><title>screen and UTF-8</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_screen-and-utf-8/</link><pubDate>Sat, 16 Aug 2014 10:15:32 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/20/screen-and-utf-8/</guid><description>&lt;p&gt;Since I got annoyed by umlauts being printed as ░, I figured I&amp;rsquo;d install a UTF-8 capable font on this box here and all my problems would be gone. But not so fast.&lt;/p&gt;
&lt;p&gt;screen is a real fucked up thing. If you&amp;rsquo;re starting screen via &lt;em&gt;screen -U&lt;/em&gt; everything is nice and cosy, and you get your UTF-8 goodness. But, don&amp;rsquo;t think you&amp;rsquo;ll get away with just enabling UTF-8 as default and enabling UTF-8 for each new window by doing this:&lt;/p&gt;</description></item><item><title>VBscript undamp; Active Directory and printers</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_vbscript-amp-active-directory-and-printers/</link><pubDate>Sat, 16 Aug 2014 10:15:10 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/13/vbscript-active-directory/</guid><description>&lt;p&gt;Well, since our current solution for mapping printers is an ugly batch file, which needs to be put into &lt;em&gt;Startup&lt;/em&gt;, I today poked at doing it in VBscript (I know, but it&amp;rsquo;s less ugly than the batch script, trust me).&lt;/p&gt;
&lt;p&gt;As some of you know, printers are only applicable to users (as in you can&amp;rsquo;t put a startup script onto an OU, which is going to map the printers). So as we store users and the computes in different OU&amp;rsquo;s in our Active Directory (we do have about 15.000 students), I can&amp;rsquo;t apply the printer.vbs to the users OU directly either, unless I implement some intelligence into the script itself.&lt;/p&gt;</description></item><item><title>Turning a simple chroot into a binpkg repository</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_turning-a-simple-chroot-into-a-binpkg-repository/</link><pubDate>Sat, 16 Aug 2014 10:12:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/12/turning-a-simple-chroot-into-a-binpkg-repository/</guid><description>&lt;p&gt;OK, since Alex asked me last Sunday what exactly needs to be done to turn a simple chroot (or even a bloody box) into a binpkg producing environment, here&amp;rsquo;s a little howto &amp;hellip;&lt;/p&gt;
&lt;p&gt;First, lets start from a freshly unpacked stage3.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;catalyst/x86 stage3-amd64-hardened # chroot . /bin/bash --login
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Now, make sure you turn on FEATURES=buildpkg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# (and setup anything else you need, like CFLAGS,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# LDFLAGS, whatever)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;linux # echo &amp;#39;FEATURES=&amp;#34;buildpkg&amp;#34;&amp;#39; &amp;gt;&amp;gt; /etc/make.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;With that single change you&amp;rsquo;re basically nearly finished with setting up the whole thing, the remaining things are just&lt;/p&gt;</description></item><item><title>stages</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_stages/</link><pubDate>Sat, 16 Aug 2014 10:12:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2008/01/08/stages</guid><description>&lt;p&gt;For what it&amp;rsquo;s worth, I&amp;rsquo;ve been trying to get some stages together the last few days. Thanks to &lt;a href="http://blogs.gentoo.org/solar"&gt;solar&lt;/a&gt; and &lt;a href="http://blogs.gentoo.org/ferdy"&gt;Brent&lt;/a&gt;, the ppc-stages are now coming along quite fast.&lt;/p&gt;
&lt;p&gt;I haven&amp;rsquo;t really tested them yet, but for what it&amp;rsquo;s worth, you&amp;rsquo;ll find stages based on Saturday&amp;rsquo;s snapshot (that is 200780105 for those not smart enough to take a look at the calendar) here for the following profiles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;uclibc/ppc (normal/-softfloat)&lt;/li&gt;
&lt;li&gt;uclibc/ppc/hardened&lt;/li&gt;
&lt;li&gt;uclibc/x86&lt;/li&gt;
&lt;li&gt;uclibc/x86/hardened&lt;/li&gt;
&lt;li&gt;hardened/amd64&lt;/li&gt;
&lt;li&gt;hardened/amd64/nomultilib&lt;/li&gt;
&lt;li&gt;hardened/x86/2.6 (x86/i686)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now remember, this isn&amp;rsquo;t &lt;em&gt;&lt;strong&gt;official&lt;/strong&gt;&lt;/em&gt; release material. This is just &lt;em&gt;&lt;strong&gt;MY&lt;/strong&gt;&lt;/em&gt; effort ( &lt;em&gt;for now&lt;/em&gt;) to provide current stages.&lt;/p&gt;</description></item><item><title>Bloody cluster solutions (continued)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions-continued/</link><pubDate>Sat, 16 Aug 2014 10:10:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/12/bloody-cluster-solutions-continued/</guid><description>&lt;p&gt;So, as the &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions-continued" title="Bloody cluster solutions"&gt;previous try&lt;/a&gt; on getting the &lt;em&gt;teamix&lt;/em&gt; people to fix the bloody LoadBalancer (as in sending at least an identification string for the SSH check) didn&amp;rsquo;t work so well (they told me, I should configure &lt;strong&gt;MASQ&lt;/strong&gt; uerading/ &lt;strong&gt;ROUTE&lt;/strong&gt; ing on the &lt;em&gt;PacketPro&lt;/em&gt;(which is kinda icky), I went on today and looked at what SLES10 installs as default logger.&lt;/p&gt;
&lt;p&gt;Surprisingly they install a rather new syslog-ng (well, syslog-ng-1.6.8 is what they ship) so it was rather easy to workaround the situation.&lt;/p&gt;</description></item><item><title>Research project</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_research-project/</link><pubDate>Sat, 16 Aug 2014 10:07:08 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/01/25/research-project/</guid><description>&lt;p&gt;OK, as I wrote earlier today I went onto a research mission for today, looking at the alternatives for the 2x stuff. Looks like Citrix Presentation Server is just the software I&amp;rsquo;m looking for. Watched the &lt;a href="http://www.citrix.com/English/ps2/demo.asp"&gt;demo&amp;rsquo;s on their website&lt;/a&gt;, which are quite impressing, but sadly don&amp;rsquo;t tell me everything I&amp;rsquo;d like to know.&lt;/p&gt;
&lt;p&gt;Maybe I&amp;rsquo;ll ask some people in Greifswald and in the vicinity, how stuff works with Citrix. Maybe I should even get in contact with Citrix itself and ask for a test version, or some other sort of demonstration.&lt;/p&gt;</description></item><item><title>OCFS2 fun yet again</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_ocfs2-fun-yet-again/</link><pubDate>Sat, 16 Aug 2014 10:05:13 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=227</guid><description>&lt;p&gt;I&amp;rsquo;m coming back today from a six day vacation in the warm south (that is Stuttgart), back at work and find three sheets of paper on my desk. Two tell me something I haven&amp;rsquo;t done yet, the other one tells me something I haven&amp;rsquo;t seen yet.&lt;/p&gt;
&lt;p&gt;One of my colleagues had to restart one of our web nodes and now the thing can&amp;rsquo;t mount the logging volume (and thus, logrotate / awstats failed to do it&amp;rsquo;s job). OCFS2 ain&amp;rsquo;t spitting any error messages, when trying to mount the volume you see it joining the domain the volume belongs to on the other nodes, so from a first glance at things .. nothing is wrong ?&lt;/p&gt;</description></item><item><title>metadata-xml</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_metadata-xml/</link><pubDate>Sat, 16 Aug 2014 10:04:45 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=234</guid><description>&lt;p&gt;So I ended up cleaning out some retired (~20) people from &lt;em&gt;metadata.xml&lt;/em&gt;, where I found this interesting piece of metadata.xml:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel-misc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; crypto@gentoo.org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Crypto herd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; masterdriverz@gentoo.org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Charlie Shephered
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And here the hint for all you people again: &lt;strong&gt;A DAMN HERD AIN&amp;rsquo;T NO MAINTAINER&lt;/strong&gt;. SO IF YOUR HERD IS MAINTAINING A PACKAGE, PUT IT INTO &lt;!-- raw HTML omitted --&gt; and not into the &lt;!-- raw HTML omitted --&gt;. kthnxbye.&lt;/p&gt;</description></item><item><title>Windows XP Embedded and GPO settings</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_windows-xp-embedded-and-gpo-settings/</link><pubDate>Sat, 16 Aug 2014 09:57:51 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=260</guid><description>&lt;p&gt;We&amp;rsquo;re currently having a weird issue (which we had before); the Windows XP Embedded powering our Wyse V90&amp;rsquo;s isn&amp;rsquo;t applying any GPO settings if you log on with a user that has a configured profile.&lt;/p&gt;
&lt;p&gt;Googling (is that a valid word yet ?!) for it, only resulted in &lt;a href="http://windows.ittoolbox.com/groups/technical-functional/activedirectory-l/applying-gpo-to-xp-embedded-thin-client-1259431"&gt;one useful link&lt;/a&gt;, which is apparently a guy with the exact same problem &amp;hellip; &amp;#x1f937; I&amp;rsquo;m completely out of ideas by now, as I don&amp;rsquo;t even have a place to start (as in where the reason might be located).&lt;/p&gt;</description></item><item><title>IBM RDAC and Windows Cluster Service</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_ibm-rdac-and-windows-cluster-service/</link><pubDate>Sat, 16 Aug 2014 09:56:43 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=328</guid><description>&lt;p&gt;Okay, so we received a brand new &lt;a href="http://www-03.ibm.com/systems/x/hardware/rack/x3650/index.html"&gt;x3650&lt;/a&gt; the other day entitled to replace one (or better two) of our NAS frontend servers. We installed Windows on it the other day (had to create a custom Windows Server 2003 CD first, since the default one doesn&amp;rsquo;t recognize the integrated ServeRAID), and we prepped the box during the week with the usual things.&lt;/p&gt;
&lt;p&gt;On Monday I started installing the &amp;quot; &lt;a href="http://www-947.ibm.com/support/entry/portal/sdd?brand=5000028&amp;amp;key=5329827&amp;amp;osKey=0#5365978"&gt;&lt;em&gt;IBM StorageManager RDAC&lt;/em&gt;&lt;/a&gt;&amp;quot; MultiPath driver (since the box got two single port PCIe FC-HBA&amp;rsquo;s) and figured I&amp;rsquo;d be nice if we had this. I asked a IBM Systems Engineer of one of our partners, which told me generally there wouldn&amp;rsquo;t be a problem with Microsoft Cluster Services (MSCS) and the IBM MPIO driver. Only requirement would be that I&amp;rsquo;d install the new storport.sys driver (version 5.2.3790.4021) first (as in Microsoft &lt;a href="http://support.microsoft.com/kb/932755/en"&gt;KB932755&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>Windows XP Embedded and GPO settings (continued)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_windows-xp-embedded-and-gpo-settings-continued/</link><pubDate>Sat, 16 Aug 2014 09:56:20 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=325</guid><description>&lt;p&gt;Well, as I said in my &lt;a href="https://christian.blog.pakiheim.de/posts/2008-06-04_windows-xp-embedded-windows-server-2003-and-gpo-settings-the-solution" title="Windows XP Embedded and GPO settings"&gt;previous post&lt;/a&gt;, I do have some weird things happening. Apparently adding the domain user to the local group &amp;ldquo;Administrators&amp;rdquo; makes everything just works fine, yet he can&amp;rsquo;t do administrator like stuff (like turning off the write protection, changing local user accounts, &amp;hellip;).&lt;/p&gt;
&lt;p&gt;Also, if you&amp;rsquo;re looking for a smart way of how to add a certain global group (as in Active Directory group) to a local group, try this:&lt;/p&gt;</description></item><item><title>VMware design rules</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_vmware-design-rules/</link><pubDate>Sat, 16 Aug 2014 09:52:13 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=357</guid><description>&lt;p&gt;I&amp;rsquo;m just got back from four days in Rostock over at &lt;a href="http://www.sundat.net/De/Default.aspx"&gt;S&amp;amp;N&lt;/a&gt;, where I was attending a VMware design course and here&amp;rsquo;s a list of questions I did ask the trainer:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What&amp;rsquo;s the disadvantage of having a 1016 ported vSwitch ?&lt;/li&gt;
&lt;li&gt;Any clues on how to exchange the default certificate of the Virtual Center ?&lt;/li&gt;
&lt;li&gt;Are there any tools to stress test the virtual system ?&lt;/li&gt;
&lt;li&gt;Are there any performance impacts of having more than 10 users in Virtual Center ?&lt;/li&gt;
&lt;li&gt;Any clues and/or guides on how to do time synchronization in VMware guests, especially Linux guests ?&lt;/li&gt;
&lt;li&gt;What&amp;rsquo;s the preferred NIC type for Linux guests ?&lt;/li&gt;
&lt;li&gt;Any clues to using Raw Device Mappings with VMotion ?&lt;/li&gt;
&lt;li&gt;Is there a way of defining CPU masks on a global level ?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Answers:&lt;/p&gt;</description></item><item><title>Building RPMs on SLES10SP2-ppc64</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_building-rpms-on-sles10sp2-ppc64/</link><pubDate>Sat, 16 Aug 2014 09:50:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=352</guid><description>&lt;p&gt;Well, it turns out that building stuff on ppc64 is a &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; pain in the ass, at least on anything SUSE related. I do have to tweak &lt;strong&gt;&lt;em&gt;every&lt;/em&gt;&lt;/strong&gt; damn spec to include this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;ifarch&lt;/span&gt; &lt;span class="n"&gt;ppc64&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;$LDFLAGS -m64&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;endif&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Otherwise, ld is gonna fail when linking, as it&amp;rsquo;s gonna try linking the generated 64bit code ( &lt;strong&gt;-m64&lt;/strong&gt; is passed on via &lt;em&gt;RPM_OPT_FLAGS&lt;/em&gt; to &lt;em&gt;CFLAGS&lt;/em&gt;) as 32bit code, which ain&amp;rsquo;t gonna work at all &amp;hellip;&lt;/p&gt;</description></item><item><title>Extending vMotion compatiblity</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_extending-vmotion-compatiblity/</link><pubDate>Sat, 16 Aug 2014 09:49:58 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=482</guid><description>&lt;p&gt;Today I did something horrible. I yet again noticed that I bought the wrong CPU&amp;rsquo;s (basically I bought Xeon DP&amp;rsquo;s with four cores). Those have apparently a feature called SSSE3, which makes vMotion with our old Xeon DP&amp;rsquo;s (dual cores) fail before even trying.&lt;/p&gt;
&lt;p&gt;But as we had a cooling outage today (basically &amp;lsquo;cause it broke), I needed to turn off some ESX servers. Thus leaving me with the new ones and one of the old ones. * &lt;strong&gt;yuck&lt;/strong&gt;*&lt;/p&gt;</description></item><item><title>Nagios virtualization</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_nagios-virtualization/</link><pubDate>Sat, 16 Aug 2014 09:49:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=513</guid><description>&lt;p&gt;As virtualization seems to be a trendy thing to do, I went ahead and virtualized our nagios (while reinstalling the whole thing &amp;hellip;).&lt;/p&gt;
&lt;p&gt;Now as I went into work today and started my email client, I received 4 nagios warnings about a LOAD service reaching critical state. Looked at the nagios box itself, opened up the VM console, looked into the syslog. Nothing.&lt;/p&gt;
&lt;p&gt;Yet over 3/4 of the services were flapping, some ping checks were critical (for whatever reason). So I opened the nagios webinterface again, and noticed it dropping the connection over and over again (had to reauthentificate me again and again).&lt;/p&gt;</description></item><item><title>Nagios Hostgroup Inheritance</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_nagios-hostgroup-inheritance/</link><pubDate>Sat, 16 Aug 2014 09:48:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=519</guid><description>&lt;p&gt;As I wrote earlier, I recently &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_nagios-virtualization" title="Nagios virtualization"&gt;virtualized our nagios&lt;/a&gt;. Along with that came a complete &amp;quot; &lt;em&gt;redesign&lt;/em&gt;&amp;quot; of how checks are applied. Up till now, I defined checks for each and every single server, thus ending up with ~25 files, each holding roughly 6 checks which are in the same file just sorted by hostname.&lt;/p&gt;
&lt;p&gt;As you can imagine, it gets quite confusing with that amount of checks (~150). So the last two days I spent on reorganizing (with Visio), on which object/hostgroup placing a check would make sense. Now, this is my first result of two days planning, reorganizing, reordering and moving hosts into different hostgroups.&lt;/p&gt;</description></item><item><title>Cascading Style Sheets are really weird</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_cascading-style-sheets-are-really-weird/</link><pubDate>Sat, 16 Aug 2014 09:47:42 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=628</guid><description>&lt;p&gt;So here I was, sitting around and thinking about formatted classes for my paragraphs. Now the result is quite pleasing, but has some side effects. But see for yourself &amp;hellip;&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/07/screenshot-p-elements.gif"
alt="Messed up CSS" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Messed up CSS&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;As you can see, the browser is reusing the background-image URL from the &lt;!-- raw HTML omitted --&gt; element within the &lt;!-- raw HTML omitted --&gt; element, even though the &lt;!-- raw HTML omitted --&gt; element initially had none. Even defining putting an background-image: none; into the &lt;!-- raw HTML omitted --&gt; class doesn&amp;rsquo;t get me anywhere.The weird thing is only Firefox is displaying it this messed up (not so weird when you think about how IE 6 treats standards). So if any of you CSS wiz&amp;rsquo; got a suggestion, I&amp;rsquo;m listening &amp;#x1f604;&lt;/p&gt;</description></item><item><title>Windows Cluster Service (continued)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_windows-cluster-service-continued/</link><pubDate>Sat, 16 Aug 2014 09:47:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=334</guid><description>&lt;p&gt;Well, guess my &amp;quot; &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_ibm-rdac-and-windows-cluster-service" title="IBM RDAC and Windows Cluster Service"&gt;&lt;em&gt;solution&lt;/em&gt;&lt;/a&gt;&amp;quot; didn&amp;rsquo;t work sooo good. Lemme tell you what&amp;rsquo;s happening. I successfully added the node to the cluster group, but I can&amp;rsquo;t get &lt;em&gt;&lt;strong&gt;any&lt;/strong&gt;&lt;/em&gt; resources online.&lt;/p&gt;
&lt;p&gt;The node tries bringing it online, then shows a failure and immidiately moves them over to the next node. There the resource is being successfully moved online .. So again, I&amp;rsquo;m out of ideas ..&lt;/p&gt;
&lt;p&gt;Already tried reinstalling the box, after that I could get the third node successfully into the cluster, without the &amp;quot; &lt;em&gt;Advanced (minimum)&lt;/em&gt;&amp;quot; trick &amp;hellip; &amp;#x1f937; still ain&amp;rsquo;t bringing any resources online.&lt;/p&gt;</description></item><item><title>SUSE Linux Enterprise Server 10 on VMware ESX</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_suse-linux-enterprise-server-10-on-vmware-esx/</link><pubDate>Sat, 16 Aug 2014 09:46:16 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=565</guid><description>&lt;p&gt;We&amp;rsquo;re currently having a &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; weird problem with our VM&amp;rsquo;s. Sometime last week, SUSE released a kernel update. Now, once you install it and you reboot the selected VM with a DVD/CD image present, you&amp;rsquo;re gonna see this:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/vmxaiomgr.png"
alt="msg.vmxaiomgr.retrycontabort.unkown" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;msg.vmxaiomgr.retrycontabort.unkown&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The only workaround so far has been to unmount &lt;em&gt;&lt;strong&gt;any&lt;/strong&gt;&lt;/em&gt; cleanse any CD-Drives attached to the VM. And yes, this is reproduceable, even reinstalling from scratch doesn&amp;rsquo;t change the fact, that after installing the patch the VM quits working.&lt;/p&gt;</description></item><item><title>SUSE Linux Enterprise Server 10 on VMware ESX (continued)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_suse-linux-enterprise-server-10-on-vmware-esx-continued/</link><pubDate>Sat, 16 Aug 2014 09:45:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=711</guid><description>&lt;p&gt;Well, after some searching today (we applied the VMware Update 2 today, thus the VMware Tools update too), I finally found out what is causing &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-30_suse-linux-enterprise-server-10-on-vmware-esx-finished" title="SUSE Linux Enterprise Server 10 on VMware ESX"&gt;that problem&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Though the problem seems to be not limited to virtual systems alone, I just browsed through this &lt;a href="http://forums.novell.com/novell-product-support-forums/suse-linux-enterprise-desktop-sled/sled-updates/336899-kernel-update-07182008-a.html#post1600495"&gt;Novell Forum thread&lt;/a&gt; which pretty much describes my problem. I found the same error in the VM&amp;rsquo;s I tried to mount a CD image.&lt;/p&gt;</description></item><item><title>More VirtualCenter troubles</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_more-virtualcenter-troubles/</link><pubDate>Sat, 16 Aug 2014 09:44:54 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=828</guid><description>&lt;p&gt;Well, after my co-worker switched the VirtualCenter certificates with one produced by our RA a few days ago, I can&amp;rsquo;t clone anything using a &lt;a href="http://communities.vmware.com/thread/54721"&gt;customization&lt;/a&gt; &lt;a href="http://communities.vmware.com/thread/139080"&gt;specification&lt;/a&gt; anymore.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/virtualcenter_unable_to_decrypt_password.png"
alt="Unable to decrypt passwords in customization specification" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Unable to decrypt passwords in customization specification&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Guess, we&amp;rsquo;re shit outa luck. At least both of those linked VMTN discussions don&amp;rsquo;t contain any (that is for us) workable solution (well besides storing the password in cleartext in the spec &amp;ndash; which ain&amp;rsquo;t sooo good). Gonna bug him tomorrow to open up a VMware support request, maybe that&amp;rsquo;ll help somewhat. I sure hope so.&lt;/p&gt;</description></item><item><title>patch2mail for SLES10</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_patch2mail-for-sles10/</link><pubDate>Fri, 08 Aug 2014 09:51:16 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=188</guid><description>&lt;p&gt;Well, there is this &amp;ldquo;nifty&amp;rdquo; tool called &lt;a href="http://software.opensuse.org/search?q=patch2mail"&gt;patch2mail&lt;/a&gt;, which basically converts the XML for the updates to a more readable format. But you&amp;rsquo;re screwed if you want to do the same on SLES10. Since it ain&amp;rsquo;t shipping with the zypper xml wrapper thing, you need to do it a bit different.&lt;/p&gt;
&lt;p&gt;So I ended up writing a small (and yet, ugly) shell script to generate me a mail of my liking ..&lt;/p&gt;</description></item><item><title>MessPC Ethernetbox 2 and Nagios</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_messpc-ethernetbox-2-and-nagios/</link><pubDate>Fri, 08 Aug 2014 09:46:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=886</guid><description>&lt;p&gt;As I talked to Tobi yesterday, we came to talk about our Ethernet Box thermometer. It&amp;rsquo;s a neat device, which works pretty much out of the box. Integrating it with Nagios is a bit of a bummer.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s what the ~300 EUR box looks like. It&amp;rsquo;s basically a small black box with a RJ45 jack, and four RJ11 jacks for attached external devices. The box itself only functions as a &amp;quot; &lt;em&gt;management station&lt;/em&gt;&amp;quot; and doesn&amp;rsquo;t come with a sensor.
Normally, you can attach up till four RJ11 sensors to it. But, MessPC also has RJ11 port splitters, which enables you to attach up to eight RJ11 sensors to the MessPC.&lt;/p&gt;
&lt;p&gt;As you can see, the box has a RJ45 jack on the other side, which you basically hook up to your network and then configure an IP address (or if you fancy DHCP for those things, it&amp;rsquo;s possible too).&lt;/p&gt;
&lt;p&gt;On the opposite site, are the RJ11 jacks for the sensors. As you can see, we currently do have 4 splitters attachted to the box, enabling up till 8 sensors to be measured.
Once you have it up and running, you can look at the web interface and you&amp;rsquo;ll be able to see the state of the sensors right on the first page.&lt;/p&gt;</description></item><item><title>Linux-HA and Tivoli Storage Manager</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_linux-ha-and-tivoli-storage-manager/</link><pubDate>Fri, 08 Aug 2014 09:44:38 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=983</guid><description>&lt;p&gt;Well, since we received part of our shipment on Wednesday, I finally looked at how we&amp;rsquo;re gonna deploy our active/active Tivoli Storage Manager configuration. Right now, we do have a single pSeries box hosting ~100 client nodes which we&amp;rsquo;re looking to split by two (since we do have two x366 for that purpose now).&lt;/p&gt;
&lt;p&gt;Now, as there ain&amp;rsquo;t no solution for this scenario yet (neither from International Business Machines nor someone out of the open source community), I sat down and started writing an OCF Resource agent for dsmserv (that is the Tivoli Storage Manager server).&lt;/p&gt;</description></item><item><title>USB weirdness</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_usb-weirdness/</link><pubDate>Fri, 08 Aug 2014 09:14:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1304</guid><description>&lt;p&gt;Well, I was at work for a brief moment, where I grabbed me one of our SATA-&amp;gt;USB bridges, since I need to migrate some (~750GB) data of the old raid-array and onto a new one. The troublesome about that is simply, that the current RAID controller only supports four attached devices, that&amp;rsquo;s why I do have to use something like this &amp;hellip; Sure I could have bought a new RAID controller, but why spend 45+ EUR on something, that you can solve differently ?&lt;/p&gt;</description></item><item><title>SIL 3114 barfing</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_sil-3114-barfing/</link><pubDate>Fri, 08 Aug 2014 09:13:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1317</guid><description>&lt;p&gt;Well, after I had &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_usb-weirdness" title="USB weirdness"&gt;so much trouble with the USB converter&lt;/a&gt; (which isn&amp;rsquo;t really suited for Linux), I went ahead and bought a DawiControl DC-154 (which is using a SIL3114) controller to migrate my stuff.&lt;/p&gt;
&lt;p&gt;After fucking up the new RAID array with the 1TB disks on the old controller (luckily I had the old hard disks still lying around, which still contained the RAID array), I plugged the 1TB disks onto the new controller and started building the array. So after 760 minutes (that&amp;rsquo;s nearly 13 hours) of synchronizing the newly created array, I was finally able to create the file system &amp;ndash; that should be without trouble, right ?&lt;/p&gt;</description></item><item><title>Advanced bashrc ('Turning a simple chroot into a binpkg repository' continued)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_advanced-bashrc-turning-a-simple-chroot-into-a-binpkg-repository-continued/</link><pubDate>Fri, 08 Aug 2014 09:11:14 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/12/31/buildpkg-chroots/</guid><description>&lt;p&gt;As I pointed out back in &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_advanced-bashrc-turning-a-simple-chroot-into-a-binpkg-repository-continued"&gt;October&lt;/a&gt;, it&amp;rsquo;s rather easy to create a setup which syncs a built binary package to a remote node (which is serving them to the world - via http,rsync,ftp - pick your poison).&lt;/p&gt;
&lt;p&gt;Now, ever since we had slight space problems on miranda ( &amp;#x1f915; my binpkgs &amp;#x1f915;), I wanted to look into methods on how to get rid of storing them on the buildnode and the webnode. I think now (hehe, it&amp;rsquo;s only 7pm), I finally managed to get a &amp;quot; &lt;em&gt;proper&lt;/em&gt;&amp;quot; bashrc which does a lot of that foo. Take a look at this:&lt;/p&gt;</description></item><item><title>Building opsview for SUSE Linux Enterprise 10</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_building-opsview-for-suse-linux-enterprise-10/</link><pubDate>Fri, 08 Aug 2014 09:10:06 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1581</guid><description>&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; I don’t take &lt;em&gt;any responsibility&lt;/em&gt; for faults within the software, I just provide the RPM’s! Feel free to ask me about stuff concerning these RPM’s, but I ain’t accountable if your stuff goes &lt;strong&gt;kaboom&lt;/strong&gt; …&lt;/p&gt;
&lt;p&gt;Well, I just looked at &lt;a href="http://www.opsview.com/"&gt;opsview&lt;/a&gt; again (haha, thanks Alex &amp;#x1f61b;). Only trouble is, the people over at opsview don&amp;rsquo;t distribute RPM&amp;rsquo;s for that &amp;hellip; After registering for their site, to download the SRPM&amp;rsquo;s (or to download anything), I got the RPM&amp;rsquo;s and started looking at them.&lt;/p&gt;</description></item><item><title>packages-barfoo-org is going away</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_packages-barfoo-org-is-going-away/</link><pubDate>Fri, 08 Aug 2014 09:09:37 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1550</guid><description>&lt;p&gt;For those of you, still using my binary packages. It&amp;rsquo;s just a waste of disk space for me (6.8G to be exact), so I decided to remove them. I&amp;rsquo;m gonna give people one week to grab yourself a copy. I&amp;rsquo;m gonna keep the bashrc and all the other stuff I wrote back when I was &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_turning-a-simple-chroot-into-a-binpkg-repository" title="Advanced bashrc ('Turning a simple chroot into a binpkg repository' continued)"&gt;still interested&lt;/a&gt; in binary packages, but the binary packages &lt;strong&gt;are gonna vanish&lt;/strong&gt;!&lt;/p&gt;</description></item><item><title>VMware vCenter: is not connected</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_vmware-vcenter-is-not-connected/</link><pubDate>Fri, 08 Aug 2014 09:08:15 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1529</guid><description>&lt;p&gt;Well, today I once again had the case where a virtual machine (in my case a Virtual Machine Template) was kinda stuck. You couldn&amp;rsquo;t remove the template (as in the entries for &amp;ldquo;Remove from inventory&amp;rdquo; was grayed out) and you couldn&amp;rsquo;t re-add the Virtual Machine&amp;rsquo;s VMX from the datastore browser either.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2014/08/vi-disconnected-image.png"
alt="VI Client - Disconnected templates" width="400"/&gt; &lt;figcaption&gt;
&lt;p&gt;VI Client - Disconnected templates&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Though, a simple putting the host into maintenance mode and rebooting helped that problem. Maybe there is a simpler solution for this, I just don&amp;rsquo;t know about it.&lt;/p&gt;</description></item><item><title>Tivoli Storage Manager Client and Microsoft Cluster Services</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_tivoli-storage-manager-client-and-microsoft-cluster-services/</link><pubDate>Fri, 08 Aug 2014 09:06:34 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1544</guid><description>&lt;p&gt;Well, I just had another look at our client scheduler services on our &lt;a href="http://www.microsoft.com/windowsserver2003/enterprise/clustering.mspx"&gt;Microsoft Cluster&lt;/a&gt;. A while back we noticed that those scheduler services were going nuts after some time. Well, as it turns out, I can tell why. Microsoft Cluster Services have a feature called &lt;a href="http://support.microsoft.com/kb/174070"&gt;registration replication&lt;/a&gt;, which replicates a given key, if changed when the resource is online, to all connected cluster nodes.&lt;/p&gt;
&lt;p&gt;Now, we added the obvious registry key to the settings of our cluster resources for the scheduler services ( &lt;em&gt;SOFTWAREIBMADSMCurrentVersionBackupClientNodes&lt;!-- raw HTML omitted --&gt;&lt;/em&gt;) and the scheduler service would use the same registry key to store it&amp;rsquo;s passwords. But it seems we were far off with that assumption.&lt;/p&gt;</description></item><item><title>Short vacation</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_short-vacation/</link><pubDate>Fri, 08 Aug 2014 09:05:53 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1278</guid><description>&lt;p&gt;Well, &lt;a href="http://uplegger.eu"&gt;Arne&lt;/a&gt; recently (not really recently though .. &amp;#x1f61b; ) complained about my blog being waaay to technical, so I ended up writing this lil&amp;rsquo; anecdote.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m finally on my long awaited, the remaining year lasting vacation. Last week was interrupted by a short job interview in Nuremberg, and also by the flu (not &amp;quot; &lt;em&gt;again&lt;/em&gt;&amp;quot;, I still got it in me, haven&amp;rsquo;t been able to shake it now for about three months).&lt;/p&gt;</description></item><item><title>IBM RDAC: Installing the driver for a (not yet) running version</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_ibm-rdac-installing-the-driver-for-a-not-yet-running-version/</link><pubDate>Fri, 08 Aug 2014 09:04:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2029</guid><description>&lt;p&gt;Well, kernel updates on our Linux servers running IBM&amp;rsquo;s RDAC driver (developed by &lt;a href="http://www.lsi.com/rdac/ds4000.html#current"&gt;LSI&lt;/a&gt;) is a real pest .. especially if you have to reboot the box two times in order to install the drivers/initrd correctly.&lt;/p&gt;
&lt;p&gt;So I sat down and looked at the Makefile. Turns out, it just needs four tweaks in order to be working with a different kernel version (which you have to pass using environment variables to make).&lt;/p&gt;</description></item><item><title>Novell KMP: KMP'ing IBM's RDAC driver</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_novell-kmp-kmp-ing-ibm-s-rdac-driver/</link><pubDate>Fri, 08 Aug 2014 09:03:51 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2033</guid><description>&lt;p&gt;Well, after yesterday&amp;rsquo;s lesson about &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_ibm-rdac-installing-the-driver-for-a-not-yet-running-version" title="IBM RDAC: Installing the driver for a (not yet) running version"&gt;getting the IBM RDAC to install for a not-yet-running kernel&lt;/a&gt;, I decided to take it a step further. Novell does have some &lt;a href="http://developer.novell.com/wiki/index.php/Creating_a_Kernel_Module_Source_RPM"&gt;documentation about KMP&amp;rsquo;s&lt;/a&gt;, which is actually rather good, especially the &lt;a href="http://www.suse.de/~agruen/KMPM/old/KernelModulePackagesManual-CODE10.pdf"&gt;guide written by Andreas Grünbacher&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;After a short tinkering, I got it actually working. I was kinda surprised, at how easily it actually is. One problem I still have to deal with, is modifying the %post, to generate the mpp-initrd image. For now, the KMP only contains the default %post, which updates the modules.* stuff.&lt;/p&gt;</description></item><item><title>Novell KMP: Useable version of ibm-rdac-ds4000</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_novell-kmp-useable-version-of-ibm-rdac-ds4000/</link><pubDate>Fri, 08 Aug 2014 09:03:03 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2042</guid><description>&lt;p&gt;After some more tinkering, a lot more looking at the macros in /usr/lib/rpm/rpm-suse-kernel-module-subpackage and /usr/lib/rpm/suse_macros, I think I finally have a usable RPM&amp;rsquo;ified version of IBM&amp;rsquo;s Multipathing driver ready for use.&lt;/p&gt;
&lt;p&gt;There is still one major annoyance left: each time you install a new ibm-rdac-ds4000-kmp RPM, you also need to reinstall the corresponding ibm-rdac-ds4000-initrd package, as the macros in /usr/lib/rpm don&amp;rsquo;t allow for custom %post or %postun.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_novell-kmp-kmp-ing-ibm-s-rdac-driver" title="Novell KMP: KMP'ing IBM's RDAC driver"&gt;As mentioned before&lt;/a&gt;, I&amp;rsquo;m gonna send them to LSI/IBM for review, and maybe, MAYBE they are actually gonna make use of that.&lt;/p&gt;</description></item><item><title>Weird TS3500 problem</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_weird-ts3500-problem/</link><pubDate>Fri, 08 Aug 2014 09:00:33 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2212</guid><description>&lt;p&gt;Well, today we had a rather weird problem with our TS3500. TSM running on AIX basically went bonko and spit out weird media sense errors, all stating that there is a hardware or media error of unknown nature:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt;9&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8943E Hardware or media error on library LIB3584 (OP=00006C03, CC=-1,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;KEY=04, ASC=44, ASCQ=00,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SENSE=70.00.04.00.00.00.00.46.00.00.00.00.44.00.00.00.00-
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; .00.40.82.00.00.00.40.00.00.02.00.48.01.A1.00.00.00.00.0-
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 0.06.1B.00.01.09.00.00.00.00.00.00.00.00.00.00.00.00.00.-
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00-
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; .00.00.00.00.00., Description=An undetermined error has occurred).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Refer to Appendix C in the &amp;#39;Messages&amp;#39; manual for recommended action.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8381E LTO volume HG4480L4 could not be mounted in drive DR9 (/dev/rmt8).
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After restarting the TSM server (as in the service, not the whole box) five times, which didn&amp;rsquo;t resolve squat we decided to take a look at the TS3500 itself. We opened up the Management interface and tried moving a tape into a drive. That didn&amp;rsquo;t work. Hrmmmmm.&lt;/p&gt;</description></item><item><title>Linux-HA and Tivoli Storage Manager (Finito!)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_linux-ha-and-tivoli-storage-manager-finito/</link><pubDate>Fri, 08 Aug 2014 08:59:07 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1047</guid><description>&lt;p&gt;As I previously said, I was writing &lt;a href="http://christian.weblog.heimdaheim.de/2008/09/26/linux-ha-and-tivoli-storage-manager/" title="Linux-HA and Tivoli Storage Manager"&gt;my own OCF resource agent&lt;/a&gt; for IBM&amp;rsquo;s Tivoli Storage Manager Server. And I just finished it yesterday evening (it took me about two hours to write this post).&lt;/p&gt;
&lt;p&gt;Only took me about four work days (that is roughly four hours each, which weren&amp;rsquo;t recorded in that subversion repository) plus most of this week at home (which is 10 hours a day) and about one hundred subversion revisions. The good part about it is, that it actually just works :-D (I was amazed on how good actually). Now you&amp;rsquo;re gonna say, &amp;ldquo;but Christian, why didn&amp;rsquo;t you use the included Init-Script and just fix it up, so it is actually compilant to the LSB Standard ?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The answer is rather simple: Yeah I could have done that, but you also know that wouldn&amp;rsquo;t have been fun. Life is all about learning, and learn something I did (even if I hit the head against the wall from time to time ;-) during those few days) &amp;hellip; There&amp;rsquo;s still one or two things I might want to add/change in the future (that is maybe next week), like&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;adding support for monitor depth by querying the dsmserv instance via dsmadmc (if you read through the resource agent, I already use it for the shutdown/pre-shutdown stuff)&lt;/li&gt;
&lt;li&gt;I still have to properly test it (like Alan Robertson mentioned in his &lt;a href="http://lca2007.linux.org.au/talk/29.html"&gt;one hour thirty talk on Linux-HA 2.0&lt;/a&gt; and &lt;a href="http://www.slideshare.net/opensource_training/heartbeat"&gt;on his slides&lt;/a&gt;, Page 100-102) in a pre-production environment&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;m probably configure the IBM RSA to act as a stonith device ( &lt;strong&gt;s&lt;/strong&gt; hoot &lt;strong&gt;t&lt;/strong&gt; he &lt;strong&gt;o&lt;/strong&gt; ther &lt;strong&gt;n&lt;/strong&gt; ode &lt;strong&gt;i&lt;/strong&gt; n &lt;strong&gt;t&lt;/strong&gt; he &lt;strong&gt;h&lt;/strong&gt; ead) - just for the case one of them ever gets stuck in a case, where the box is still up, but doesn&amp;rsquo;t react to any requests anymore&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>XBMC: Adding the ppa keys to apt</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_xbmc-adding-the-ppa-keys-to-apt/</link><pubDate>Fri, 08 Aug 2014 08:55:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2136</guid><description>&lt;p&gt;I recently bought an Acer Aspire Revo and had one of my trainees put XMBC on a SDHC card today. So after a bit of toying earlier, I started looking at the thing (from the command line that is).&lt;/p&gt;
&lt;p&gt;One thing, if you enable the PPA (ppa.launchpad.net) sources, apt/aptitude is gonna babble something about an unverified key.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Fetched&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;119&lt;/span&gt;&lt;span class="nx"&gt;kB&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="nf"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;41.4&lt;/span&gt;&lt;span class="nx"&gt;kB&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Reading&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;package&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;lists&lt;/span&gt;&lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Done&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;W&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;GPG&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="cp"&gt;//ppa.launchpad.net jaunty Release: The following signatures couldn&amp;#39;t be verified because the public key is not available: NO_PUBKEY 6D975C4791E7EE5E&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;W&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;GPG&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="cp"&gt;//ppa.launchpad.net jaunty Release: The following signatures couldn&amp;#39;t be verified because the public key is not available: NO_PUBKEY 2BBD133164234534&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;W&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;GPG&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="cp"&gt;//ppa.launchpad.net jaunty Release: The following signatures couldn&amp;#39;t be verified because the public key is not available: NO_PUBKEY A956EB81318C7509&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I ended up looking the error up (since I only have an Ubuntu desktop). There&amp;rsquo;s a simple solution for this:&lt;/p&gt;</description></item><item><title>XBMC on the Acer Revo</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_xbmc-on-the-acer-revo/</link><pubDate>Fri, 08 Aug 2014 08:53:15 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2143</guid><description>&lt;p&gt;As I wrote &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_xbmc-adding-the-ppa-keys-to-apt" title="XBMC: Adding the ppa keys to apt"&gt;a month ago&lt;/a&gt;, one of my trainees put up with my stubbornness to put XBMC on said Acer Aspire Revo. Now, initially he put the Live Edition onto it, which didn&amp;rsquo;t really fly with me. I&amp;rsquo;m usually the CLI guy, so I needed to install it myself (again). Since I wanted to use the VDPAU features the later GeForce cards offer (and the Revo has such a graphics cad), I had to install the current development builds (you know &amp;ndash; I love bleeding edge!)&lt;/p&gt;</description></item><item><title>Weird lighttpd troubles</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_weird-lighttpd-troubles/</link><pubDate>Fri, 08 Aug 2014 08:51:30 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2296</guid><description>&lt;p&gt;Well, since about a week or so I keep having troubles with my vHost and lighttpd. The point being, after some time (up till now it&amp;rsquo;s been something between days and minutes) lighttpd completely freezes and doesn&amp;rsquo;t serve no content anymore. I don&amp;rsquo;t know if this is related to PHP (might be, I did perform an update to &lt;em&gt;dev-lang/php-5.2.9-r2&lt;/em&gt; on &lt;em&gt;Thu May 28 12:18:57 2009&lt;/em&gt;), but I have to figure this out since the restart cron-job is getting annoying.&lt;/p&gt;</description></item><item><title>Lighttpd troubles resolved</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_lighttpd-troubles-resolved/</link><pubDate>Fri, 08 Aug 2014 08:50:47 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2311</guid><description>&lt;p&gt;Well, after last weeks lighttpd troubles with PHP (or was it without ?), they finally seem resolved. First thing I did, was upgrade to the new php-version (5.2.10). After that, I ran revdep-rebuild, which apparently found issues with lighttpd being linked to a wrong pcre-version. After remerging lighttpd the &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_weird-lighttpd-troubles" title="Weird lighttpd troubles"&gt;issues&lt;/a&gt; seem to be gone!&lt;/p&gt;
&lt;p&gt;Well, guess I was to quick in saying the problem was resolved .. it&amp;rsquo;s still there, just not happening as fast as it would in the past &amp;hellip;.&lt;/p&gt;</description></item><item><title>Lighttpd issues</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_lighttpd-issues/</link><pubDate>Fri, 08 Aug 2014 08:47:28 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2326</guid><description>&lt;p&gt;At first, it seemed that &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_lighttpd-troubles-resolved" title="Lighttpd troubles resolved"&gt;my lighttpd issues were resolved&lt;/a&gt; by updating PHP/remerging lighttpd. But apparently not. After putting in a crontab entry, that restarts lighttpd every 15 minutes (which completely sucks), the issue was minimized in it&amp;rsquo;s impact but not really solved.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;*/15 * * * * root /etc/init.d/lighttpd restart &amp;amp;&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Thanks to Michél (I guess, again) &amp;ndash; who helped me looking at the strace logs, and of course Christian (aka hoffie &amp;ndash; one of my old Gentoo buddies), the issue seems finally resolved. It turns out it was neither a PHP nor lighttpd issue. It was a simple matter of (stale) symlinks in /etc/ssl/certs if you can imagine that. Apparently a stale symlink forced PHP into a loop or something, from which it couldn&amp;rsquo;t recover on it&amp;rsquo;s own.&lt;/p&gt;</description></item><item><title>VMware: New VirtualCenter 2-5 Update 4</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_vmware-new-virtualcenter-2-5-update-4/</link><pubDate>Fri, 08 Aug 2014 08:47:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1873</guid><description>&lt;p&gt;As many people on the VM-Planet already blogged about this, I ain&amp;rsquo;t gonna write just about it. Let&amp;rsquo;s turn the clock back a few months, to January 2008.&lt;/p&gt;
&lt;p&gt;As the institution I work for, is part of the DFN we took the opportunity to be a part of the &amp;quot; &lt;em&gt;I want you to run our RA&lt;/em&gt;&amp;quot;-gang. In January 2008 we thought about changing the vCenter certificate. Now, apparently there&amp;rsquo;s a slight difference between the DFN-PCA and what VMware considers common practice.&lt;/p&gt;</description></item><item><title>Xen dom0 failing with kernel panic</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_xen-dom0-failing-with-kernel-panic/</link><pubDate>Fri, 08 Aug 2014 08:45:02 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2496</guid><description>&lt;p&gt;I&amp;rsquo;m building a 6-node cluster, using Xen at the moment. For the last few days, I tried my setup in a virtual machine, simply because VM&amp;rsquo;s boot much faster than the real hardware. However, certain things you can only replicate on the real hardware (for example, the InfiniBand interfaces, as well as certain nfs-stuff).&lt;/p&gt;
&lt;p&gt;So I spent most of the day to replicate my configurations onto the hardware. After getting all done, the moment of the first boot &amp;hellip; &lt;strong&gt;kaput&lt;/strong&gt;! Doesn&amp;rsquo;t boot, just keeps hanging before booting the real kernel. Now what ? I removed the Xen vga parameters and rebooted (waited ~2 minutes in the process) until I finally saw the root cause for my trouble:&lt;/p&gt;</description></item><item><title>portmap hanging on shutdown</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_portmap-hanging-on-shutdown/</link><pubDate>Fri, 08 Aug 2014 08:43:51 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2515</guid><description>&lt;p&gt;Here&amp;rsquo;s yet another post about my compute cluster. It&amp;rsquo;s (obviously) running NFS and that works quite well. Up till now, I would always have trouble with portmap hanging on shutdown/reboot. After spending some time thinking about the problem, looking at the init script and googling, I stumbled upon this Ubuntu bug on &lt;a href="https://bugs.launchpad.net/ubuntu/+source/portmap/+bug/309542"&gt;portmap&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As noted in the bug, a pmap_dump would hang indefinitely. After taking another look at our nfs-root configuration (in regard to the &lt;a href="https://bugs.launchpad.net/ubuntu/+source/portmap/+bug/309542/comments/1"&gt;first comment&lt;/a&gt; on the bug), it turns out it&amp;rsquo;s exactly that. We didn&amp;rsquo;t setup lo which seems vital for some things.&lt;/p&gt;</description></item><item><title>IBM RSA II adapter and Java RE</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_ibm-rsa-ii-adapter-and-java-re/</link><pubDate>Fri, 08 Aug 2014 08:43:14 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2461</guid><description>&lt;p&gt;Today, after a short break (you can call it break, I think), I sat down and looked at the IBM RSA II adapter&amp;rsquo;s remote management GUI and it&amp;rsquo;s trouble with JRE versions. Ever since the last Java updates, I was unable to access the RSA console because Java would throw an error like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Initializing RemoteDisk v2.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MCS v.3.6 initialized
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Established connection to rsa.home.barfoo.org:1045
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Connected via socket: Socket[addr=rsa.home.barfoo.org/10.0.0.150,port=2000,localport=4292]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Closing socket
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;java.lang.NullPointerException
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.Row.isValid(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at java.awt.Component.invalidateIfValid(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at java.awt.Component.setLocale(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at javax.swing.JComponent.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at javax.swing.JPanel.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at javax.swing.JPanel.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at javax.swing.JPanel.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.Row.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.Options.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.McsToolBar.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.McsClient.begin(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.McsClient.init(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at java.lang.Thread.run(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Ausnahme: java.lang.NullPointerException
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In the end, I &lt;a href="http://www.oracle.com/technetwork/java/archive-139210.html"&gt;downloaded&lt;/a&gt; every version since JRE 1.5.0.11 (that is 20 different versions &amp;#x2757;), as wittnessed by &lt;a href="http://mellerbeck.blogspot.com/2009/07/mcs-v36-initialized-java-error-ibm-rsa.html"&gt;Michael Ellerbeck&lt;/a&gt; that the last working version for him was JRE 1.5.0.11, and gave each one a try (since I want to report the issue to IBM, so that they gonna release a fix sometime soon).&lt;/p&gt;</description></item><item><title>Loooong time</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_loooong-time/</link><pubDate>Fri, 08 Aug 2014 08:42:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2531</guid><description>&lt;p&gt;It&amp;rsquo;s been very quiet around here, I&amp;rsquo;ve been rather busy with my real life. During that busy time, a lot of things happened. I switched jobs starting on October 1st, I&amp;rsquo;m now working in Karlsruhe (as compared to the 870km northern Greifswald). It may sound far, but it&amp;rsquo;s actually quite pleasant. You know, I was born down here (well not exactly here &amp;ndash; 70 kilometers afar) and I still had the feeling that &lt;strong&gt;this is my home&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>SLES11 and AutoYaST</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_sles11-and-autoyast/</link><pubDate>Fri, 08 Aug 2014 08:41:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2605</guid><description>&lt;p&gt;After the first week passed awfully quick, the last week I worked on refining the way on how we are doing openSuSE / SUSE Linux Enterprise Server installations. Up till now, they were done by hand (without a predefined schema) and were getting ugly to maintain. Working my way through the &lt;a href="http://www.suse.com/~ug/autoyast_doc/index.html"&gt;Novell documentation on AutoYaST&lt;/a&gt; was pretty straight forward, but the little details were getting hairy. So I decided to write them down, in case someone was gonna end up in the same situation like me.&lt;/p&gt;</description></item><item><title>Run a command on a list of Fibre-Channel switches (fc-switch-commands-pl)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_run-a-command-on-a-list-of-fibre-channel-switches-fc-switch-commands-pl/</link><pubDate>Fri, 08 Aug 2014 08:40:32 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3526</guid><description>&lt;p&gt;Up till now, we did have a bunch of shell and perl scripts doing this work. Today, as I was looking for some stuff to do, I found them and decided rewriting it, so you wouldn&amp;rsquo;t need a shell script to call the perl worker script &amp;hellip; This is pretty much the result!&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt;58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt;59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt;60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt;61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt;62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt;63&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#!/usr/bin/perl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# LICENSE: GNU General Public License v2. (see LICENSE.txt)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# COPYRIGHT: Copyright 2010 Christian Heim &amp;lt;christian.heim@barfoo.org&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# This script runs a batch of commands on a list of FC-switches. For example:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# fc-switch-commands.pl statsclear | configupload | supportsave&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;use&lt;/span&gt; &lt;span class="n"&gt;strict&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;use&lt;/span&gt; &lt;span class="n"&gt;warnings&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;use&lt;/span&gt; &lt;span class="n"&gt;Net&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="n"&gt;Telnet&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_core&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_2&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_core&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_2&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_host&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_username&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_password&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_core&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.50&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric1_core&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.51&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric1_edge_1&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.52&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric1_edge_2&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_core&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.60&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric2_core&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.61&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric2_edge_1&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.62&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric2_edge_2&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_host&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;10.144.20.45&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;brocade_cfg&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;JuNxJPFC!&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_core&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_core&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_2&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="n"&gt;Dump_Log&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;dump.log&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Output_Log&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;out.log&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Input_Log&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;in.log&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;Net&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="n"&gt;Telnet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Timeout&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;240&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Errmode&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;die&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Prompt&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/.*:admin&amp;gt; $/is&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="c1"&gt;#switches + 1; $i++) {&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;login&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ARGV&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;statsclear&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;statsclear&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="n"&gt;elsif&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ARGV&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;configupload&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Check the FabricOS version, as Brocade decided to break compatiblity with&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# earlier firmware versions w/ v6 (at least configupload)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;firmwareshow&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;lastline&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt; &lt;span class="o"&gt;=~&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;+|&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;+$//&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt; &lt;span class="o"&gt;=~&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;v6&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;configupload -all -ftp &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_host&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_username&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cfg&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_password&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;configupload &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_host&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_username&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cfg&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_password&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="n"&gt;elsif&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ARGV&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;supportsave&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;supportsave -n -u &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_username&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; -p &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_password&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; -h &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_host&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; -d &amp;#34;&lt;/span&gt;&lt;span class="n"&gt;supportsave&lt;/span&gt;&lt;span class="o"&gt;/$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; -l ftp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Monitoring Brocade FC switches with SNMP/Nagios</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_monitoring-brocade-fc-switches-with-snmp-nagios/</link><pubDate>Fri, 08 Aug 2014 08:39:27 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2862</guid><description>&lt;p&gt;I looked into the mess a bit more, and as it turns out, &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_monitoring-brocade-fc-switches-with-nagios" title="Monitoring Brocade FC switches with Nagios"&gt;the weird crap I was talking about&lt;/a&gt; only happens if you have a port with LossofSynchronization, LossofSignal or LinkFailures value with the base of ten (i.e. 10, 101 or 10.000).&lt;/p&gt;
&lt;p&gt;Additionally, the OID&amp;rsquo;s for those three failure elements seem to be dependent on the firmware version, as with 6.3.x they appear as different OIDs. So I may need to introduce another command-line switch, which selects the firmware version and depending on that, the OID.&lt;/p&gt;</description></item><item><title>Monitoring Brocade FC switches with Nagios</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_monitoring-brocade-fc-switches-with-nagios/</link><pubDate>Fri, 08 Aug 2014 08:37:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4398</guid><description>&lt;p&gt;The last four days I spent looking for ways on monitoring a Brocade Fibrechannel switch (in my case IBM 2145 B32/F40). The first thing I came up with, is using SNMP. As it was already configured for the previous monitoring with Munin, getting information should be quite easy. After looking through Google for a bit, there is already &lt;a href="http://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS/IBM-Brocade/check_snmp_FCports_brocade-2Epl/details"&gt;one script&lt;/a&gt; that worked for me.&lt;/p&gt;
&lt;p&gt;Only trouble I had with that script, is that it crams every single port into one result. As I wanted something, that a) could watch a single port and b) return performance data, I went ahead an used the script to do a basic rewrite. But after a short while, I grew antsy and started writing a script from scratch, using the OIDs I got from that script and a &lt;a href="http://forums.cacti.net//files/brocade_interfaces.xml"&gt;Cacti template&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Windows Server 2003 SP1, WSUS and Security Updates</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_windows-server-2003-sp1-wsus-and-security-updates/</link><pubDate>Fri, 08 Aug 2014 08:35:23 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2946</guid><description>&lt;p&gt;Recently, we found some systems (sadly, customer systems) that  weren&amp;rsquo;t getting any Security Updates anymore. Much more sadly, them is running Windows Server 2003, and as you know Security Updates are pretty important for Windows Systems.&lt;/p&gt;
&lt;p&gt;At the time of finding this, I had no clue as to why the were not getting any updates. At first we thought it had something to do with the WSUS server, so I upgraded the WSUS 3.0 SP1 to SP2. Since that didn&amp;rsquo;t solve nothing, I went searching for a internal VM, that showed the same symptoms and I quickly found one.&lt;/p&gt;</description></item><item><title>VBscript: Query remote OS and SP info</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_vbscript-query-remote-os-and-sp-info/</link><pubDate>Fri, 08 Aug 2014 08:34:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2953</guid><description>&lt;p&gt;As I wrote &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_windows-server-2003-sp1-wsus-and-security-updates" title="Windows Server 2003 SP1, WSUS and Security Updates"&gt;on Thursday&lt;/a&gt;, I am battling with Windows Server 2003. Now I got a list out of our change management database, which sadly ain&amp;rsquo;t that accurate. So in order to get reliable information about the target systems (in order to do some accurate planning), I ended up writing a small vbscript which simply takes the hostname on the command line (cscript //NoLogo win_sp_level.vbs 10.0.0.5) and returns a csv-like element.&lt;/p&gt;</description></item><item><title>Reset Master Boot Record (MBR)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_reset-master-boot-record-mbr/</link><pubDate>Fri, 08 Aug 2014 08:34:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3044</guid><description>&lt;p&gt;Since I&amp;rsquo;ve been playing with my AutoYAST setup for the last few days, working out the kinks (for example SLES10 not being able to install into the MBR), I needed a way to zap the MBR (as in remove grub to see whether or not the installation would install a new loader). So after quickly googling, I found &lt;a href="http://linuxgazette.net/issue63/okopnik.html"&gt;this&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; dd if=/dev/zero of=/dev/hda bs=512 count=1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That actually does the trick. The loader as well as the partition table are gone after wards!&lt;/p&gt;</description></item><item><title>Enabling multipathing in autoyast installations</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_enabling-multipathing-in-autoyast-installations/</link><pubDate>Fri, 08 Aug 2014 08:30:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4190</guid><description>&lt;p&gt;As I mentioned before, we&amp;rsquo;re starting to utilize Boot-from-SAN as a means to strip the blades of their local disk. As the title says, after trying a manual installation of SLES 11.1 via CD/HTTP I wanted to automate the process, in order to get a reproducible, consistent installation method. As you might have figured, AutoYaST doesn&amp;rsquo;t have any built in support for configuring multipathing (hey, that&amp;rsquo;s what &lt;a href="http://www.novell.com/support/viewContent.do?externalId=7009981&amp;amp;sliceId=1"&gt;Novell says here&lt;/a&gt;). Now, they also provide a &lt;a href="http://www.novell.com/support/viewContent.do?externalId=7009981&amp;amp;sliceId=1"&gt;comprehensive how-to&lt;/a&gt; on how to &amp;ldquo;add&amp;rdquo; this to your AutoYaST, using a DUD (or &lt;strong&gt;D&lt;/strong&gt; river &lt;strong&gt;U&lt;/strong&gt; pdate &lt;strong&gt;D&lt;/strong&gt; isk).&lt;/p&gt;</description></item><item><title>NetApp FAS/Data ONTAP public key authentification with CIFS/NFS license</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_netapp-fas-data-ontap-public-key-authentification-with-cifs-nfs-license/</link><pubDate>Fri, 08 Aug 2014 08:29:59 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4220</guid><description>&lt;p&gt;Well as the title says, sadly we bought our FAS6210 without CIFS/NFS license. Thus, in order to create the folder structure/add the &lt;em&gt;authorized_keys&lt;/em&gt; file, you&amp;rsquo;ll have to work for your money a little bit.&lt;/p&gt;
&lt;p&gt;First, you need to run &lt;em&gt;cifs setup&lt;/em&gt; / &lt;em&gt;cifs passwd&lt;/em&gt; somewhere. I did it on our Data ONTAP simulator, which comes in handy for things like that.&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll get a cryptic looking password (no clue which format that is), looking like this: _OnWddr)xa.&lt;/p&gt;</description></item><item><title>IBM SVC: Copy VDisk Host-Mapping from one host to another</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_ibm-svc-copy-vdisk-host-mapping-from-one-host-to-another/</link><pubDate>Fri, 08 Aug 2014 08:28:32 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2591</guid><description>&lt;p&gt;As I wrote &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_loooong-time" title="Loooong time"&gt;a few days ago&lt;/a&gt;, I started a new job. One of my first (voluntary) tasks was writing a shell script which would copy a VDisk Host-Mapping from a given host to another. This is useful, if you do have a lot of ESX servers for example and a few roaming ones.&lt;/p&gt;
&lt;p&gt;Now, if say, you need to do some ESX-Updates and you would like to add the roaming one to a given farm, you would be in a dark an deary place. You would be required to either click through the GUI a dozen times (in my case, it might have needed ~200 clicks) or type svcinfo lshostvdiskmap &lt;!-- raw HTML omitted --&gt; and svctask mkhostvdiskmap &lt;!-- raw HTML omitted --&gt; -force (these are incomplete command references) a few times.&lt;/p&gt;</description></item><item><title>NetApp - Copy LUN mappings</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_netapp-copy-lun-mappings/</link><pubDate>Fri, 08 Aug 2014 08:27:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4310</guid><description>&lt;p&gt;Well, today I had another idea (basically like the one I wrote for &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_ibm-svc-copy-vdisk-host-mapping-from-one-host-to-another" title="IBM SVC: Copy VDisk Host-Mapping from one host to another"&gt;SVC&amp;rsquo;s VDisk mappings&lt;/a&gt; a while back) for a script:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KEY_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp.dsa&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SSH_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp-ssh_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$#&lt;/span&gt; -ne &lt;span class="m"&gt;3&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;fas-copy-lunmap: FAS_CONTROLLER SOURCE_IGROUP TARGET_IGROUP&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Copy the LUN map from one igroup to another, ie for ESX reinstallation&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; Usage:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - FAS_CONTROLLER: Hostname/IP-adress of the DATA ONTAP controller&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - SOURCE_IGROUP: igroup that is used as a reference for the copy process&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - TARGET_IGROUP: igroup that is actually modified&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_CTRL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SOURCE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TARGET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh_fas&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# $@: commands for Data ONTAP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;COMMANDS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /usr/bin/ssh -i &lt;span class="nv"&gt;$KEY_FILE&lt;/span&gt; -l root -F &lt;span class="nv"&gt;$SSH_OPTS&lt;/span&gt; &lt;span class="nv"&gt;$COMMANDS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set -x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get the lun list.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; lun in &lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun show -g &lt;span class="nv"&gt;$SOURCE&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort -u &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Get the LUN number its mapped&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;LUN_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun show -m &lt;span class="nv"&gt;$lun&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;^/vol&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $3 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# If the LUN id is 0, skip otherwise we would copy the boot LUN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$LUN_ID&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Actually map the lun to our host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Mapping &lt;/span&gt;&lt;span class="nv"&gt;$lun&lt;/span&gt;&lt;span class="s2"&gt; to &lt;/span&gt;&lt;span class="nv"&gt;$TARGET&lt;/span&gt;&lt;span class="s2"&gt; as LUN_ID &lt;/span&gt;&lt;span class="nv"&gt;$LUN_ID&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun map &lt;span class="nv"&gt;$lun&lt;/span&gt; &lt;span class="nv"&gt;$TARGET&lt;/span&gt; &lt;span class="nv"&gt;$LUN_ID&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set +x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I&amp;rsquo;ll post the counterpart of the script (to remove the LUNs) in a second post later on.&lt;/p&gt;</description></item><item><title>Installserver: Regenerate PXE base menu</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_installserver-regenerate-pxe-base-menu/</link><pubDate>Fri, 08 Aug 2014 08:27:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4322</guid><description>&lt;p&gt;Well, here&amp;rsquo;s the promised script to regenerate the main PXE menu based on the menu entries created by register-suse and register-vmware.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TFTP_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/srv/tftpboot/pxelinux.cfg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Iterate through the pxelinux.cfg directory and recreate the index menues.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; dir in &lt;span class="k"&gt;$(&lt;/span&gt; find &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt; -mindepth &lt;span class="m"&gt;1&lt;/span&gt; -maxdepth &lt;span class="m"&gt;1&lt;/span&gt; -type d &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Generating summary menu for: &lt;/span&gt;&lt;span class="nv"&gt;$dir&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cat &amp;gt; &lt;span class="nv"&gt;$dir&lt;/span&gt;.menu &lt;span class="s"&gt;&amp;lt;&amp;lt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU TITLE Linux Installationservices
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU BACKGROUND addons/background.png
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR screen 37;40 #80ffffff #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR border 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR title 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR unsel 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR sel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR scrollbar 30;44 #40000000 #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR tabmsg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR cmdmark 0 #ff00ff00 #00000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR cmdline 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR timeout_msg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR timeout 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR disabled 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR pwdheader 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR pwdborder 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR pwdentry 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR hotkey 0 #ff00ff00 #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR hotsel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; file in &lt;span class="k"&gt;$(&lt;/span&gt; find &lt;span class="nv"&gt;$dir&lt;/span&gt; -mindepth &lt;span class="m"&gt;1&lt;/span&gt; -name &lt;span class="s2"&gt;&amp;#34;*.menu&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort -r &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;FILE_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^#LABEL &lt;span class="nv"&gt;$file&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f2- &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;FILE_OSARCH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^#OSARCH &lt;span class="nv"&gt;$file&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f2- &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cat &amp;gt;&amp;gt; &lt;span class="nv"&gt;$dir&lt;/span&gt;.menu &lt;span class="s"&gt;&amp;lt;&amp;lt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; LABEL $count
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU LABEL $FILE_LABEL ($FILE_OSARCH)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; KERNEL addons/vesamenu.c32
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; APPEND pxelinux.cfg/${dir##*/}/${file##*/}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt; &lt;span class="nv"&gt;$count&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-3"&gt;&lt;a class="lnlinks" href="#hl-1-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-4"&gt;&lt;a class="lnlinks" href="#hl-1-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-5"&gt;&lt;a class="lnlinks" href="#hl-1-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-6"&gt;&lt;a class="lnlinks" href="#hl-1-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-7"&gt;&lt;a class="lnlinks" href="#hl-1-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-8"&gt;&lt;a class="lnlinks" href="#hl-1-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-9"&gt;&lt;a class="lnlinks" href="#hl-1-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-10"&gt;&lt;a class="lnlinks" href="#hl-1-10"&gt; 10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-11"&gt;&lt;a class="lnlinks" href="#hl-1-11"&gt; 11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-12"&gt;&lt;a class="lnlinks" href="#hl-1-12"&gt; 12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-13"&gt;&lt;a class="lnlinks" href="#hl-1-13"&gt; 13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-14"&gt;&lt;a class="lnlinks" href="#hl-1-14"&gt; 14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-15"&gt;&lt;a class="lnlinks" href="#hl-1-15"&gt; 15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-16"&gt;&lt;a class="lnlinks" href="#hl-1-16"&gt; 16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-17"&gt;&lt;a class="lnlinks" href="#hl-1-17"&gt; 17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-18"&gt;&lt;a class="lnlinks" href="#hl-1-18"&gt; 18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-19"&gt;&lt;a class="lnlinks" href="#hl-1-19"&gt; 19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-20"&gt;&lt;a class="lnlinks" href="#hl-1-20"&gt; 20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-21"&gt;&lt;a class="lnlinks" href="#hl-1-21"&gt; 21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-22"&gt;&lt;a class="lnlinks" href="#hl-1-22"&gt; 22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-23"&gt;&lt;a class="lnlinks" href="#hl-1-23"&gt; 23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-24"&gt;&lt;a class="lnlinks" href="#hl-1-24"&gt; 24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-25"&gt;&lt;a class="lnlinks" href="#hl-1-25"&gt; 25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-26"&gt;&lt;a class="lnlinks" href="#hl-1-26"&gt; 26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-27"&gt;&lt;a class="lnlinks" href="#hl-1-27"&gt; 27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-28"&gt;&lt;a class="lnlinks" href="#hl-1-28"&gt; 28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-29"&gt;&lt;a class="lnlinks" href="#hl-1-29"&gt; 29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-30"&gt;&lt;a class="lnlinks" href="#hl-1-30"&gt; 30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-31"&gt;&lt;a class="lnlinks" href="#hl-1-31"&gt; 31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-32"&gt;&lt;a class="lnlinks" href="#hl-1-32"&gt; 32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-33"&gt;&lt;a class="lnlinks" href="#hl-1-33"&gt; 33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-34"&gt;&lt;a class="lnlinks" href="#hl-1-34"&gt; 34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-35"&gt;&lt;a class="lnlinks" href="#hl-1-35"&gt; 35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-36"&gt;&lt;a class="lnlinks" href="#hl-1-36"&gt; 36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-37"&gt;&lt;a class="lnlinks" href="#hl-1-37"&gt; 37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-38"&gt;&lt;a class="lnlinks" href="#hl-1-38"&gt; 38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-39"&gt;&lt;a class="lnlinks" href="#hl-1-39"&gt; 39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-40"&gt;&lt;a class="lnlinks" href="#hl-1-40"&gt; 40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-41"&gt;&lt;a class="lnlinks" href="#hl-1-41"&gt; 41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-42"&gt;&lt;a class="lnlinks" href="#hl-1-42"&gt; 42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-43"&gt;&lt;a class="lnlinks" href="#hl-1-43"&gt; 43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-44"&gt;&lt;a class="lnlinks" href="#hl-1-44"&gt; 44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-45"&gt;&lt;a class="lnlinks" href="#hl-1-45"&gt; 45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-46"&gt;&lt;a class="lnlinks" href="#hl-1-46"&gt; 46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-47"&gt;&lt;a class="lnlinks" href="#hl-1-47"&gt; 47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-48"&gt;&lt;a class="lnlinks" href="#hl-1-48"&gt; 48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-49"&gt;&lt;a class="lnlinks" href="#hl-1-49"&gt; 49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-50"&gt;&lt;a class="lnlinks" href="#hl-1-50"&gt; 50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-51"&gt;&lt;a class="lnlinks" href="#hl-1-51"&gt; 51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-52"&gt;&lt;a class="lnlinks" href="#hl-1-52"&gt; 52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-53"&gt;&lt;a class="lnlinks" href="#hl-1-53"&gt; 53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-54"&gt;&lt;a class="lnlinks" href="#hl-1-54"&gt; 54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-55"&gt;&lt;a class="lnlinks" href="#hl-1-55"&gt; 55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-56"&gt;&lt;a class="lnlinks" href="#hl-1-56"&gt; 56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-57"&gt;&lt;a class="lnlinks" href="#hl-1-57"&gt; 57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-58"&gt;&lt;a class="lnlinks" href="#hl-1-58"&gt; 58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-59"&gt;&lt;a class="lnlinks" href="#hl-1-59"&gt; 59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-60"&gt;&lt;a class="lnlinks" href="#hl-1-60"&gt; 60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-61"&gt;&lt;a class="lnlinks" href="#hl-1-61"&gt; 61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-62"&gt;&lt;a class="lnlinks" href="#hl-1-62"&gt; 62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-63"&gt;&lt;a class="lnlinks" href="#hl-1-63"&gt; 63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-64"&gt;&lt;a class="lnlinks" href="#hl-1-64"&gt; 64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-65"&gt;&lt;a class="lnlinks" href="#hl-1-65"&gt; 65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-66"&gt;&lt;a class="lnlinks" href="#hl-1-66"&gt; 66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-67"&gt;&lt;a class="lnlinks" href="#hl-1-67"&gt; 67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-68"&gt;&lt;a class="lnlinks" href="#hl-1-68"&gt; 68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-69"&gt;&lt;a class="lnlinks" href="#hl-1-69"&gt; 69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-70"&gt;&lt;a class="lnlinks" href="#hl-1-70"&gt; 70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-71"&gt;&lt;a class="lnlinks" href="#hl-1-71"&gt; 71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-72"&gt;&lt;a class="lnlinks" href="#hl-1-72"&gt; 72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-73"&gt;&lt;a class="lnlinks" href="#hl-1-73"&gt; 73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-74"&gt;&lt;a class="lnlinks" href="#hl-1-74"&gt; 74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-75"&gt;&lt;a class="lnlinks" href="#hl-1-75"&gt; 75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-76"&gt;&lt;a class="lnlinks" href="#hl-1-76"&gt; 76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-77"&gt;&lt;a class="lnlinks" href="#hl-1-77"&gt; 77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-78"&gt;&lt;a class="lnlinks" href="#hl-1-78"&gt; 78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-79"&gt;&lt;a class="lnlinks" href="#hl-1-79"&gt; 79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-80"&gt;&lt;a class="lnlinks" href="#hl-1-80"&gt; 80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-81"&gt;&lt;a class="lnlinks" href="#hl-1-81"&gt; 81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-82"&gt;&lt;a class="lnlinks" href="#hl-1-82"&gt; 82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-83"&gt;&lt;a class="lnlinks" href="#hl-1-83"&gt; 83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-84"&gt;&lt;a class="lnlinks" href="#hl-1-84"&gt; 84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-85"&gt;&lt;a class="lnlinks" href="#hl-1-85"&gt; 85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-86"&gt;&lt;a class="lnlinks" href="#hl-1-86"&gt; 86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-87"&gt;&lt;a class="lnlinks" href="#hl-1-87"&gt; 87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-88"&gt;&lt;a class="lnlinks" href="#hl-1-88"&gt; 88&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-89"&gt;&lt;a class="lnlinks" href="#hl-1-89"&gt; 89&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-90"&gt;&lt;a class="lnlinks" href="#hl-1-90"&gt; 90&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-91"&gt;&lt;a class="lnlinks" href="#hl-1-91"&gt; 91&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-92"&gt;&lt;a class="lnlinks" href="#hl-1-92"&gt; 92&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-93"&gt;&lt;a class="lnlinks" href="#hl-1-93"&gt; 93&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-94"&gt;&lt;a class="lnlinks" href="#hl-1-94"&gt; 94&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-95"&gt;&lt;a class="lnlinks" href="#hl-1-95"&gt; 95&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-96"&gt;&lt;a class="lnlinks" href="#hl-1-96"&gt; 96&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-97"&gt;&lt;a class="lnlinks" href="#hl-1-97"&gt; 97&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-98"&gt;&lt;a class="lnlinks" href="#hl-1-98"&gt; 98&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-99"&gt;&lt;a class="lnlinks" href="#hl-1-99"&gt; 99&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-100"&gt;&lt;a class="lnlinks" href="#hl-1-100"&gt;100&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-101"&gt;&lt;a class="lnlinks" href="#hl-1-101"&gt;101&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-102"&gt;&lt;a class="lnlinks" href="#hl-1-102"&gt;102&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-103"&gt;&lt;a class="lnlinks" href="#hl-1-103"&gt;103&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-104"&gt;&lt;a class="lnlinks" href="#hl-1-104"&gt;104&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-105"&gt;&lt;a class="lnlinks" href="#hl-1-105"&gt;105&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-106"&gt;&lt;a class="lnlinks" href="#hl-1-106"&gt;106&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-107"&gt;&lt;a class="lnlinks" href="#hl-1-107"&gt;107&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-108"&gt;&lt;a class="lnlinks" href="#hl-1-108"&gt;108&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-109"&gt;&lt;a class="lnlinks" href="#hl-1-109"&gt;109&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-110"&gt;&lt;a class="lnlinks" href="#hl-1-110"&gt;110&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-111"&gt;&lt;a class="lnlinks" href="#hl-1-111"&gt;111&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-112"&gt;&lt;a class="lnlinks" href="#hl-1-112"&gt;112&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-113"&gt;&lt;a class="lnlinks" href="#hl-1-113"&gt;113&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-114"&gt;&lt;a class="lnlinks" href="#hl-1-114"&gt;114&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-115"&gt;&lt;a class="lnlinks" href="#hl-1-115"&gt;115&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-116"&gt;&lt;a class="lnlinks" href="#hl-1-116"&gt;116&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-117"&gt;&lt;a class="lnlinks" href="#hl-1-117"&gt;117&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-118"&gt;&lt;a class="lnlinks" href="#hl-1-118"&gt;118&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-119"&gt;&lt;a class="lnlinks" href="#hl-1-119"&gt;119&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-120"&gt;&lt;a class="lnlinks" href="#hl-1-120"&gt;120&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-121"&gt;&lt;a class="lnlinks" href="#hl-1-121"&gt;121&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-122"&gt;&lt;a class="lnlinks" href="#hl-1-122"&gt;122&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-123"&gt;&lt;a class="lnlinks" href="#hl-1-123"&gt;123&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-124"&gt;&lt;a class="lnlinks" href="#hl-1-124"&gt;124&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-125"&gt;&lt;a class="lnlinks" href="#hl-1-125"&gt;125&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-126"&gt;&lt;a class="lnlinks" href="#hl-1-126"&gt;126&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-127"&gt;&lt;a class="lnlinks" href="#hl-1-127"&gt;127&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-128"&gt;&lt;a class="lnlinks" href="#hl-1-128"&gt;128&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-129"&gt;&lt;a class="lnlinks" href="#hl-1-129"&gt;129&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-130"&gt;&lt;a class="lnlinks" href="#hl-1-130"&gt;130&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-131"&gt;&lt;a class="lnlinks" href="#hl-1-131"&gt;131&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-132"&gt;&lt;a class="lnlinks" href="#hl-1-132"&gt;132&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-133"&gt;&lt;a class="lnlinks" href="#hl-1-133"&gt;133&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-134"&gt;&lt;a class="lnlinks" href="#hl-1-134"&gt;134&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-135"&gt;&lt;a class="lnlinks" href="#hl-1-135"&gt;135&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-136"&gt;&lt;a class="lnlinks" href="#hl-1-136"&gt;136&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-137"&gt;&lt;a class="lnlinks" href="#hl-1-137"&gt;137&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-138"&gt;&lt;a class="lnlinks" href="#hl-1-138"&gt;138&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-139"&gt;&lt;a class="lnlinks" href="#hl-1-139"&gt;139&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-140"&gt;&lt;a class="lnlinks" href="#hl-1-140"&gt;140&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-141"&gt;&lt;a class="lnlinks" href="#hl-1-141"&gt;141&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-142"&gt;&lt;a class="lnlinks" href="#hl-1-142"&gt;142&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-143"&gt;&lt;a class="lnlinks" href="#hl-1-143"&gt;143&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-144"&gt;&lt;a class="lnlinks" href="#hl-1-144"&gt;144&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-145"&gt;&lt;a class="lnlinks" href="#hl-1-145"&gt;145&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-146"&gt;&lt;a class="lnlinks" href="#hl-1-146"&gt;146&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-147"&gt;&lt;a class="lnlinks" href="#hl-1-147"&gt;147&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-148"&gt;&lt;a class="lnlinks" href="#hl-1-148"&gt;148&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-149"&gt;&lt;a class="lnlinks" href="#hl-1-149"&gt;149&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-150"&gt;&lt;a class="lnlinks" href="#hl-1-150"&gt;150&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-151"&gt;&lt;a class="lnlinks" href="#hl-1-151"&gt;151&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-152"&gt;&lt;a class="lnlinks" href="#hl-1-152"&gt;152&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-153"&gt;&lt;a class="lnlinks" href="#hl-1-153"&gt;153&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-154"&gt;&lt;a class="lnlinks" href="#hl-1-154"&gt;154&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-155"&gt;&lt;a class="lnlinks" href="#hl-1-155"&gt;155&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-156"&gt;&lt;a class="lnlinks" href="#hl-1-156"&gt;156&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-157"&gt;&lt;a class="lnlinks" href="#hl-1-157"&gt;157&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-158"&gt;&lt;a class="lnlinks" href="#hl-1-158"&gt;158&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-159"&gt;&lt;a class="lnlinks" href="#hl-1-159"&gt;159&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-160"&gt;&lt;a class="lnlinks" href="#hl-1-160"&gt;160&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-161"&gt;&lt;a class="lnlinks" href="#hl-1-161"&gt;161&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-162"&gt;&lt;a class="lnlinks" href="#hl-1-162"&gt;162&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-163"&gt;&lt;a class="lnlinks" href="#hl-1-163"&gt;163&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-164"&gt;&lt;a class="lnlinks" href="#hl-1-164"&gt;164&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-165"&gt;&lt;a class="lnlinks" href="#hl-1-165"&gt;165&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-166"&gt;&lt;a class="lnlinks" href="#hl-1-166"&gt;166&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-167"&gt;&lt;a class="lnlinks" href="#hl-1-167"&gt;167&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-168"&gt;&lt;a class="lnlinks" href="#hl-1-168"&gt;168&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-169"&gt;&lt;a class="lnlinks" href="#hl-1-169"&gt;169&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-170"&gt;&lt;a class="lnlinks" href="#hl-1-170"&gt;170&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-171"&gt;&lt;a class="lnlinks" href="#hl-1-171"&gt;171&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-172"&gt;&lt;a class="lnlinks" href="#hl-1-172"&gt;172&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-173"&gt;&lt;a class="lnlinks" href="#hl-1-173"&gt;173&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-174"&gt;&lt;a class="lnlinks" href="#hl-1-174"&gt;174&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-175"&gt;&lt;a class="lnlinks" href="#hl-1-175"&gt;175&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-176"&gt;&lt;a class="lnlinks" href="#hl-1-176"&gt;176&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-177"&gt;&lt;a class="lnlinks" href="#hl-1-177"&gt;177&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-178"&gt;&lt;a class="lnlinks" href="#hl-1-178"&gt;178&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-179"&gt;&lt;a class="lnlinks" href="#hl-1-179"&gt;179&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-180"&gt;&lt;a class="lnlinks" href="#hl-1-180"&gt;180&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-181"&gt;&lt;a class="lnlinks" href="#hl-1-181"&gt;181&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-182"&gt;&lt;a class="lnlinks" href="#hl-1-182"&gt;182&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-183"&gt;&lt;a class="lnlinks" href="#hl-1-183"&gt;183&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-184"&gt;&lt;a class="lnlinks" href="#hl-1-184"&gt;184&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-185"&gt;&lt;a class="lnlinks" href="#hl-1-185"&gt;185&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-186"&gt;&lt;a class="lnlinks" href="#hl-1-186"&gt;186&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-187"&gt;&lt;a class="lnlinks" href="#hl-1-187"&gt;187&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-188"&gt;&lt;a class="lnlinks" href="#hl-1-188"&gt;188&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-189"&gt;&lt;a class="lnlinks" href="#hl-1-189"&gt;189&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-190"&gt;&lt;a class="lnlinks" href="#hl-1-190"&gt;190&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-191"&gt;&lt;a class="lnlinks" href="#hl-1-191"&gt;191&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-192"&gt;&lt;a class="lnlinks" href="#hl-1-192"&gt;192&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-193"&gt;&lt;a class="lnlinks" href="#hl-1-193"&gt;193&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-194"&gt;&lt;a class="lnlinks" href="#hl-1-194"&gt;194&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-195"&gt;&lt;a class="lnlinks" href="#hl-1-195"&gt;195&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-196"&gt;&lt;a class="lnlinks" href="#hl-1-196"&gt;196&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-197"&gt;&lt;a class="lnlinks" href="#hl-1-197"&gt;197&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-198"&gt;&lt;a class="lnlinks" href="#hl-1-198"&gt;198&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-199"&gt;&lt;a class="lnlinks" href="#hl-1-199"&gt;199&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-200"&gt;&lt;a class="lnlinks" href="#hl-1-200"&gt;200&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-201"&gt;&lt;a class="lnlinks" href="#hl-1-201"&gt;201&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-202"&gt;&lt;a class="lnlinks" href="#hl-1-202"&gt;202&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-203"&gt;&lt;a class="lnlinks" href="#hl-1-203"&gt;203&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-204"&gt;&lt;a class="lnlinks" href="#hl-1-204"&gt;204&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-205"&gt;&lt;a class="lnlinks" href="#hl-1-205"&gt;205&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-206"&gt;&lt;a class="lnlinks" href="#hl-1-206"&gt;206&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-207"&gt;&lt;a class="lnlinks" href="#hl-1-207"&gt;207&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-208"&gt;&lt;a class="lnlinks" href="#hl-1-208"&gt;208&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-209"&gt;&lt;a class="lnlinks" href="#hl-1-209"&gt;209&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-210"&gt;&lt;a class="lnlinks" href="#hl-1-210"&gt;210&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-211"&gt;&lt;a class="lnlinks" href="#hl-1-211"&gt;211&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-212"&gt;&lt;a class="lnlinks" href="#hl-1-212"&gt;212&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-213"&gt;&lt;a class="lnlinks" href="#hl-1-213"&gt;213&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-214"&gt;&lt;a class="lnlinks" href="#hl-1-214"&gt;214&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-215"&gt;&lt;a class="lnlinks" href="#hl-1-215"&gt;215&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-216"&gt;&lt;a class="lnlinks" href="#hl-1-216"&gt;216&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-217"&gt;&lt;a class="lnlinks" href="#hl-1-217"&gt;217&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-218"&gt;&lt;a class="lnlinks" href="#hl-1-218"&gt;218&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-219"&gt;&lt;a class="lnlinks" href="#hl-1-219"&gt;219&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-220"&gt;&lt;a class="lnlinks" href="#hl-1-220"&gt;220&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-221"&gt;&lt;a class="lnlinks" href="#hl-1-221"&gt;221&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-222"&gt;&lt;a class="lnlinks" href="#hl-1-222"&gt;222&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-223"&gt;&lt;a class="lnlinks" href="#hl-1-223"&gt;223&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-224"&gt;&lt;a class="lnlinks" href="#hl-1-224"&gt;224&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-225"&gt;&lt;a class="lnlinks" href="#hl-1-225"&gt;225&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-226"&gt;&lt;a class="lnlinks" href="#hl-1-226"&gt;226&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-227"&gt;&lt;a class="lnlinks" href="#hl-1-227"&gt;227&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-228"&gt;&lt;a class="lnlinks" href="#hl-1-228"&gt;228&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-229"&gt;&lt;a class="lnlinks" href="#hl-1-229"&gt;229&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Tue Jul 24, 17:18:35 &lt;span class="o"&gt;[&lt;/span&gt;0&lt;span class="o"&gt;]&lt;/span&gt; &amp;gt; ll -R /srv/tftpboot/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 28K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; addons/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;7&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; boot/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;6&lt;/span&gt; root root 4.0K Jul &lt;span class="m"&gt;20&lt;/span&gt; 13:14 pxelinux.cfg/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 15K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; pxelinux.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/addons:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 280K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 16K Dec &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; background.png
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 23K Dec &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; background-sles.png
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 24K Dec &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; background-suse.png
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 20K Dec &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; background-vmware.png
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 48K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; mboot.c32
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 142K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; vesamenu.c32
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 20K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;3&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esx/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Oct &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; firmware/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;5&lt;/span&gt; root root 4.0K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;10&lt;/span&gt; root root 4.0K Mar &lt;span class="m"&gt;9&lt;/span&gt; 17:28 sles/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;3&lt;/span&gt; root root 4.0K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; tests/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/esx:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 4.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 4.1-348481/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/esx/4.1-348481:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 81M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 79M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.5M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; vmlinuz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/firmware:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 4.3M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.5M Oct &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; fdboot.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 20K Oct &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; memdisk
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.5M Oct &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; qmh2462_1.76.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.5M Oct &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; qmh2462_1.81.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 12K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 11.3/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 11.4/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 12.1/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.3:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.3/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 32M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 28M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.8M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.3/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 32M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 28M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.7M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.4:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.4/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 37M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 33M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 4.1M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.4/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 37M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 33M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.9M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/12.1:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/12.1/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 43M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 39M Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 4.5M Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/12.1/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 43M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 38M Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 4.4M Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 32K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 10.2/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 10.3/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 10.4/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 11/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 11.1/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 11.1-vmware/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;3&lt;/span&gt; root root 4.0K Mar &lt;span class="m"&gt;9&lt;/span&gt; 17:28 11.2/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:04 11.2-vmware/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.2:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.2/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 11M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 9.0M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.4M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.2/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 11M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 8.9M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.3M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.3:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.3/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 12M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 11M Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.4M Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.3/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 12M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 11M Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.3M Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.4:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.4/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 13M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 12M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.4M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.4/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 13M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 12M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.3M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 24M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 21M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 2.5M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 23M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 21M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 2.4M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 27M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 23M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.1M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 26M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 23M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.1M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1-vmware:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1-vmware/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 27M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 23M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.1M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1-vmware/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 26M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 23M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.1M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.2:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 4.0k
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Mar &lt;span class="m"&gt;9&lt;/span&gt; 17:29 x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.2/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 36M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 33M Mar &lt;span class="m"&gt;9&lt;/span&gt; 17:29 initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.7M Mar &lt;span class="m"&gt;9&lt;/span&gt; 17:29 linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.2-vmware:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Mar &lt;span class="m"&gt;9&lt;/span&gt; 16:52 x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:05 x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.2-vmware/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 36M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 33M Jul &lt;span class="m"&gt;20&lt;/span&gt; 12:46 initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.7M Jul &lt;span class="m"&gt;20&lt;/span&gt; 12:46 linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.2-vmware/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 35M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 32M Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:17 initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.6M Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:17 linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/tests:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 4.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; memtest/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/tests/memtest:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 164K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 157K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; memtest86+-4.00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/pxelinux.cfg:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 48K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 2.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; default
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esx/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.3K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:18 esx.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esxi/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.1K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:18 esxi.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;423&lt;/span&gt; Oct &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; firmware.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:18 opensuse.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 2.6K Jun &lt;span class="m"&gt;4&lt;/span&gt; &lt;span class="m"&gt;2010&lt;/span&gt; rescue.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:05 sles/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 2.7K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:18 sles.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;329&lt;/span&gt; Oct &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; tests.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/pxelinux.cfg/esx:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.9K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esx-4.1-260247.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.9K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esx-4.1-348481.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/pxelinux.cfg/esxi:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 4.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.7K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esxi41.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/pxelinux.cfg/opensuse:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 24K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-11.3-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-11.3-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-11.4-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-11.4-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-12.1-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-12.1-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/pxelinux.cfg/sles:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 60K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:58 sles-10.2-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:57 sles-10.2-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:57 sles-10.3-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:57 sles-10.3-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:57 sles-10.4-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:57 sles-10.4-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:58 sles-11-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:58 sles-11-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:59 sles-11.1-vmware-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:59 sles-11.1-vmware-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:59 sles-11.1-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:00 sles-11.1-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:00 sles-11.2-vmware-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:17 sles-11.2-vmware-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:00 sles-11.2-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>NetApp: Archive SnapManager SQL snapshots</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_netapp-archive-snapmanager-sql-snapshots/</link><pubDate>Fri, 08 Aug 2014 08:25:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4410</guid><description>&lt;p&gt;As I wrote before, we&amp;rsquo;re using SnapManager (for SQL/Oracle) to create consistent snapshots. However my database guys don&amp;rsquo;t want to name their snapshots daily.&lt;!-- raw HTML omitted --&gt; (which I can understand), as once you archive those snapshots to a secondary (and tertiary) system, the names become junk.&lt;/p&gt;
&lt;p&gt;So, they&amp;rsquo;re naming the snapshots like snap__vcsrv_29_12_2012-10.00.01. Sadly, when it comes to SnapVault, it expects the names in form of daily.&lt;!-- raw HTML omitted --&gt; otherwise you won&amp;rsquo;t be able to transfer the snapshots with the CLI (none that I have found anyway).&lt;/p&gt;
&lt;p&gt;But we didn&amp;rsquo;t want to move away from naming the snapshots the way they are, so I ended up writing a PowerShell script, that once triggered archives the Snapshots needed for a set of databases. It took me a while to figure a bunch of stuff out, but in the end I think I have a working way of archiving custom-named snapshots.&lt;/p&gt;</description></item><item><title>Implementing SnapVault backups - the hard way</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_implementing-snapvault-backups-the-hard-way/</link><pubDate>Fri, 08 Aug 2014 08:25:10 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4372</guid><description>&lt;p&gt;Well, I recently had the pleasant task of implementing SnapVault backups, that are being shipped to an offsite location with SnapMirror.&lt;/p&gt;
&lt;p&gt;That in itself isn&amp;rsquo;t the bad thing, however we decided against Protection Manager (since it was a charged product back when we decided on this). So I basically had the three tasks:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Actually implement the SnapVault stuff (and learn my way around it and also document it)&lt;/li&gt;
&lt;li&gt;Write a bunch of scripts, that help us in creating scheduled backups of our databases&lt;/li&gt;
&lt;li&gt;Create a monitoring script, that&amp;rsquo;ll fit into our Nagios environment already in place&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Well, two months later (sadly it still has some kinks - I can&amp;rsquo;t figure out this one bug though for the life of it) and a few hundred hours of working on/with it and out came four things:&lt;/p&gt;</description></item><item><title>NetApp: Establishing SnapVault relations</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_netapp-establishing-snapvault-relations/</link><pubDate>Fri, 08 Aug 2014 08:22:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4361</guid><description>&lt;p&gt;I&amp;rsquo;ve been spending a lot of my time the last week on getting SnapVault with out FAS-filers to work. Out came a script, which does this for a given volume (and of course SnapVault Primary and Secondary).&lt;/p&gt;
&lt;p&gt;The script expects, that &lt;a href="http://christian.weblog.heimdaheim.de/2012/03/07/netapp-fasdata-ontap-public-key-authentification-with-cifsnfs-license/" title="NetApp FAS/Data ONTAP public key authentification with CIFS/NFS license"&gt;SSH public key authentification&lt;/a&gt; has been set up.&lt;/p&gt;</description></item><item><title>Setting up a phpMyAdmin auto-update</title><link>https://christian.blog.pakiheim.de/posts/2014-08-06_setting-up-a-phpmyadmin-auto-update/</link><pubDate>Wed, 06 Aug 2014 19:20:11 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4278</guid><description>&lt;p&gt;Well, just like everybody else, I&amp;rsquo;ve been using phpMyAdmin to do my casual MySQL fixing/work on this website. However, recently the phpMyAdmin developers switched to Git on SourceForge and then to GitHub shortly after that.&lt;/p&gt;
&lt;p&gt;So, the guy over at &lt;a href="http://www.networkjack.info/blog/2011/04/05/simple-checkout-of-phpmyadmin-with-git/"&gt;Network Jack wrote down&lt;/a&gt; what I had already been doing:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone --depth&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; git://phpmyadmin.git.sf.net/gitroot/phpmyadmin/phpmyadmin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; phpmyadmin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git checkout --track -b PMASTABLE origin/STABLE
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;However, as I said before, they switched from SourceForge to GitHub, thus you need another URL.&lt;/p&gt;</description></item><item><title>mdadm: Add a hot-spare after failing a disk</title><link>https://christian.blog.pakiheim.de/posts/2014-07-27_mdadm-add-a-hot-spare-after-failing-a-disk/</link><pubDate>Sun, 27 Jul 2014 21:46:33 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5190</guid><description>&lt;p&gt;Once the disk is failed (or is &lt;em&gt;actually&lt;/em&gt; defective), mdadm will automatically remove it from the RAID. After that, you&amp;rsquo;ll either have to add the disk back as a data disk or as a hot-spare (which was in my case). Now, here&amp;rsquo;s after the rebuild for the failed disk started:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;root:(charon.ka.heimdaheim.de) PWD:~
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Sun Jul 27, 23:40:35 [0] &amp;gt; cat /proc/mdstat
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Personalities : [raid6] [raid5] [raid4]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;md127 : active raid5 sdi1[0] sdh1[6] sdj1[7] sdk1[8] sdf1[9] sdb1[5] sde1[4] sdd1[2] sdc1[1]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 15626121216 blocks super 1.2 level 5, 512k chunk, algorithm 2 [9/8] [UUUUU_UUU]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; [===================&amp;gt;.] recovery = 97.9% (1913176308/1953265152) finish=12.3min speed=53936K/sec
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;unused devices: &amp;lt;none&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In order to add the replaced disk back to the RAID, you&amp;rsquo;ll have to prepare a partition for it (see &lt;a href="https://christian.blog.pakiheim.de/posts/2014-07-09_sfdisk-partition-table-for-2tb-raid-disks" title="SFdisk – Partition table for 2TB RAID-Disks"&gt;this post for more details&lt;/a&gt;). After that, it&amp;rsquo;s a simple call with mdadm to re-add the hot-spare:&lt;/p&gt;</description></item><item><title>diskinfo</title><link>https://christian.blog.pakiheim.de/posts/2014-07-27_diskinfo/</link><pubDate>Sun, 27 Jul 2014 16:39:24 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5195</guid><description>&lt;p&gt;Get a list of all disks and show the serial numbers&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; ! -x /usr/sbin/hdparm &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Missing hdparm&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; disk in /dev/sd?&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$disk&lt;/span&gt;&lt;span class="s2"&gt;: `hdparm -I &lt;/span&gt;&lt;span class="nv"&gt;$disk&lt;/span&gt;&lt;span class="s2"&gt; | grep &amp;#34;&lt;/span&gt;Serial Number:&lt;span class="s2"&gt;&amp;#34; | awk &amp;#39;{ print &lt;/span&gt;&lt;span class="nv"&gt;$3&lt;/span&gt;&lt;span class="s2"&gt; }&amp;#39;`&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>idle3 wrapper</title><link>https://christian.blog.pakiheim.de/posts/2014-07-27_idle3-wrapper/</link><pubDate>Sun, 27 Jul 2014 16:33:12 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5193</guid><description>&lt;p&gt;Another wrapper (like mdstat), that&amp;rsquo;ll look through my Western Digital disks and fix any disk not having the head parking timeout set to a configured value.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FIRMWARE_TIMEOUT_SH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;138&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; ! -x /usr/sbin/idle3ctl &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;idle3-tools is missing.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; disk in /dev/sd?&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# idle time should be set to: 138 (300s)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 138-128=10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 10x30=300 seconds&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;FIRMWARE_TIMEOUT_IS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; /usr/sbin/idle3ctl -g &lt;span class="nv"&gt;$disk&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $5 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$FIRMWARE_TIMEOUT_IS&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -ne &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$FIRMWARE_TIMEOUT_SH&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /usr/sbin/idle3ctl -s&lt;span class="nv"&gt;$FIRMWARE_TIMEOUT_SH&lt;/span&gt; &lt;span class="nv"&gt;$disk&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>mdstat</title><link>https://christian.blog.pakiheim.de/posts/2014-07-27_mdstat/</link><pubDate>Sun, 27 Jul 2014 16:31:26 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5191</guid><description>&lt;p&gt;Well, I needed a way to watch the mdstat progress (because a disk just failed &amp;hellip;).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;watch -n1 cat /proc/mdstat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>XBMC thumbnail generation</title><link>https://christian.blog.pakiheim.de/posts/2014-07-19_xbmc-thumbnail-generation/</link><pubDate>Sat, 19 Jul 2014 11:43:04 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5186</guid><description>&lt;p&gt;Well, I have a few movies and series that ain&amp;rsquo;t represented in TMDB/TVDB. So here&amp;rsquo;s a little script, that will parse over any video files, check if a thumb file is already present, and if not generate one using &lt;a href="https://code.google.com/p/ffmpegthumbnailer/wiki/FFMpegThumbnailer" title="FFMpegThumbnailer homepage"&gt;ffmpegthumbnailer&lt;/a&gt;&amp;hellip;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;find /srv/smb/tv/ -name &lt;span class="s2"&gt;&amp;#34;*.wmv&amp;#34;&lt;/span&gt; -o -name &lt;span class="s2"&gt;&amp;#34;*.avi&amp;#34;&lt;/span&gt; -o -name &lt;span class="s2"&gt;&amp;#34;*.mp4&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -o -name &lt;span class="s2"&gt;&amp;#34;*.mkv&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; file&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; ! -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;file&lt;/span&gt;&lt;span class="p"&gt;%.*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;-thumb.jpg&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fmpegthumbnailer -i &lt;span class="nv"&gt;$file&lt;/span&gt; -o &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;file&lt;/span&gt;&lt;span class="p"&gt;%.*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;-thumb.jpg&amp;#34;&lt;/span&gt; -s &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Linux NAS optimizations</title><link>https://christian.blog.pakiheim.de/posts/2014-07-09_linux-nas-optimizations/</link><pubDate>Wed, 09 Jul 2014 20:04:40 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5174</guid><description>&lt;p&gt;Well, I recently had to flatten my archive NAS (well only the OS part &amp;hellip; &lt;em&gt;wheeeh&lt;/em&gt;). Since I didn&amp;rsquo;t have the chance to backup the old settings I had to do everything from scratch &amp;hellip; And this time I decided, I wasn&amp;rsquo;t doing a script but rather the proper way.&lt;/p&gt;
&lt;p&gt;I spent a while reading through the Internetz about the various settings until I stumbled upon a &lt;a href="http://www.fhgfs.com/wiki/StorageServerTuning"&gt;Frauenhofer Wiki entry&lt;/a&gt;. From there I ended up writing those udev-rules and the sysctl configs&amp;hellip;&lt;/p&gt;</description></item><item><title>SFdisk - Partition table for 2TB RAID-Disks</title><link>https://christian.blog.pakiheim.de/posts/2014-07-09_sfdisk-partition-table-for-2tb-raid-disks/</link><pubDate>Wed, 09 Jul 2014 13:18:09 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5176</guid><description>&lt;p&gt;So, when I create (or add RAID disks) I have this handy sfdisk template (I created once when I first added the 2TB disks):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;root:(charon.ka.heimdaheim.de) PWD:~
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Wed Jul 09, 15:13:04 [0] &amp;gt; sfdisk -d /dev/sdj &amp;gt; ~/raid-disk-template.sf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;root:(charon.ka.heimdaheim.de) PWD:~
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Wed Jul 09, 15:13:04 [0] &amp;gt; cat ~/raid-disk-template.sf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# partition table of /dev/sdj
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;unit: sectors
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/sdj1 : start= 2048, size=3906793472, Id=da
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;So, if I wanted to add more disks, I&amp;rsquo;d just have to run the following:&lt;/p&gt;</description></item><item><title>Nexus 5000: Configure CEST</title><link>https://christian.blog.pakiheim.de/posts/2014-06-24_nexus-5000-configure-cest/</link><pubDate>Tue, 24 Jun 2014 21:07:52 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5170</guid><description>&lt;p&gt;Since I&amp;rsquo;m living and working in Germany, most of my hardware is using timezone configuration for CEST (or Europe/Berlin).&lt;/p&gt;
&lt;p&gt;This here is the simple configuration for our Nexus 5000&amp;rsquo;s:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;conf t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clock timezone CET 1 0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clock summer-time CEST 5 Sun Mar 02:00 5 Sun Oct 03:00 60
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;exit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;copy running-config startup-config
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>UCS 5108 power redundancy lost</title><link>https://christian.blog.pakiheim.de/posts/2014-06-22_ucs-5108-power-redundancy-lost/</link><pubDate>Sun, 22 Jun 2014 10:41:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4346</guid><description>&lt;p&gt;Well, another day - another UCS error. Out of the blue, one of our chassis started displaying that one PSU had failed, however the UCS was showing no PSU had failed &amp;#x1f937; &lt;a href="https://christian.blog.pakiheim.de/uploads/2012/09/F0408-PSU-state.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/09/F0408-PSU-state.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Well, as it turns out - this is &lt;a href="http://tools.cisco.com/Support/BugToolKit/search/getBugDetails.do?method=fetchBugDetails&amp;amp;bugId=CSCub84671" title="Cisco BugTool Kit link"&gt;yet another known bug in 2.0.2(r)&lt;/a&gt;. You&amp;rsquo;ll either have to unplug and plug all the power cables (that&amp;rsquo;s four) in a maintainance window - or simply change the Equipment Power Policy (found in the Root of your UCS, tab Policy) &lt;a href="https://christian.blog.pakiheim.de/uploads/2012/09/power-policy.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/09/power-policy.png"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>sa-learn, dovecot virtual users and virtual user configs</title><link>https://christian.blog.pakiheim.de/posts/2013-12-23_sa-learn-dovecot-virtual-users-and-virtual-user-configs/</link><pubDate>Mon, 23 Dec 2013 06:13:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4650</guid><description>&lt;p&gt;Well, I wanted independent SpamAssassin Bayes databases per user (different users, different preferences). For that, RoundCube already set up the Junk folder. However, I wanted the ability (for myself, as well for my other users) to individually mark messages as either Spam or Ham.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2013/06/roundcube-inbox-view.png"
alt=" RoundCube: Inbox view" width="228"/&gt; &lt;figcaption&gt;
&lt;p&gt;RoundCube: Inbox view&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Now, as I said before I wanted a trivial way to mark messages as Spam or Ham (without using the command line each time).&lt;/p&gt;</description></item><item><title>NetApp: Monitoring of SnapVault/SnapMirror/LUN/Snapshot information with Nagios</title><link>https://christian.blog.pakiheim.de/posts/2013-12-15_netapp-monitoring-of-snapvault-snapmirror-lun-snapshot-information-with-nagios/</link><pubDate>Sun, 15 Dec 2013 15:51:03 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4422</guid><description>&lt;p&gt;&lt;a href="http://christian.weblog.heimdaheim.de/2012/12/29/implementing-snapvault-backups-the-hard-way/" title="Implementing SnapVault backups – the hard way"&gt;As I wrote before&lt;/a&gt;, we have a bunch of filers (and a ton of volumes w/ luns on them), that I need to monitor. At first, I tried the existing NetApp Nagios-Plugin(s), but they all use SNMP and with that I can either watch all volumes or none. And that didn&amp;rsquo;t satisfy me.&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t get me wrong, the existing plugins are okay and I still use them for stuff (like GLOBALSTATUS or FAN/CPU/POWER) which isn&amp;rsquo;t present in the API or real hard to get at, however I wanted more. So I ended up looking at the NetApp API, and ended up writing a &amp;ldquo;short&amp;rdquo; plugin for Nagios using Perl.&lt;/p&gt;
&lt;p&gt;Maybe if I&amp;rsquo;m ever bored, I&amp;rsquo;ll rewrite it using C, but for now the Perl plugin has to suffice.&lt;/p&gt;
&lt;p&gt;So far the plugin supports the following things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Monitoring FlexVolumes (simply watching the free space)&lt;/li&gt;
&lt;li&gt;Monitoring LUN space (the allocated space inside a FlexVolume for iSCSI/FC LUNs)&lt;/li&gt;
&lt;li&gt;Monitoring Snapshot space (the allocated space inside a FlexVolume for Snapshots)&lt;/li&gt;
&lt;li&gt;Monitoring SnapVault relations (and their age)&lt;/li&gt;
&lt;li&gt;Monitoring SnapMirror relations (and their age)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The plugin will return performance data for most (if not all) of those classes. It needs a user on the filer you wish to monitor - which sadly needs to have the admin role.&lt;/p&gt;</description></item><item><title>NetScaler: Generate a simple usage statistic per Vserver</title><link>https://christian.blog.pakiheim.de/posts/2013-11-21_netscaler-generate-a-simple-usage-statistic-per-vserver/</link><pubDate>Thu, 21 Nov 2013 16:39:08 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5156</guid><description>&lt;p&gt;One of my co-workers recently approached me, that he needed a simple shell script which would generate a simple report about a Vserver&amp;rsquo;s current connections. After ironing out a few things with him (he had the intention of it being on a CIFS share on our file-server - which I changed to a simple HTML page) I went to work.&lt;/p&gt;
&lt;p&gt;Out came two scripts. One is the collection instance, and the other is the processing instance. First the collection script runs, finds the current HA master node and then collects the Vserver&amp;rsquo;s current connections. After that script has dumped the information (date, time, current connections) into a file, the processing script will go and create a simple HTML page that&amp;rsquo;ll show exactly those informations.&lt;/p&gt;</description></item><item><title>VMware templates: post-processing for SUSE Linux Enterprise Server and openSUSE</title><link>https://christian.blog.pakiheim.de/posts/2013-11-21_vmware-templates-post-processing-for-suse-linux-enterprise-server-and-opensuse/</link><pubDate>Thu, 21 Nov 2013 16:31:40 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5153</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been fiddling around with SLES and openSUSE VMware templates. I know it&amp;rsquo;s a stupid idea when you have a PXE server from which you could install this in a matter of minutes (seriously the SLES PXE installation takes about 5 minutes).&lt;/p&gt;
&lt;p&gt;However, when dealing with DMZ&amp;rsquo;s (yeah, they exist!) you usually don&amp;rsquo;t have any PXE servers there. So I decided to go with simple VMware templates (like we do with Windows already), but had to iron out a few kinks.&lt;/p&gt;</description></item><item><title>MDS9100 firmware updates - generating copy commands</title><link>https://christian.blog.pakiheim.de/posts/2013-10-20_mds9100-firmware-updates-generating-copy-commands/</link><pubDate>Sun, 20 Oct 2013 11:20:02 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5147</guid><description>&lt;p&gt;Well, I went to work today &amp;hellip; yeah, I know it&amp;rsquo;s Sunday right ? I ended up updating two MDS9148 switches and I didn&amp;rsquo;t want to figure out everything all over again. So I put the system image and kickstart onto one of our FTP servers and ran a short bash loop on it:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;root:(ftp.daheim.heimdaheim.de) PWD:~
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Sun Oct 20, 08:57:24 [0] &amp;gt; for file in `ls /srv/ftp/firmware/mds9148/*6.2.3*`; do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo &amp;#34;copy ftp://10.0.0.55/`echo $file | sed &amp;#39;s,/srv/ftp/,,&amp;#39;` bootflash:/`echo $file | sed &amp;#39;s,/srv/ftp/firmware/mds9148/,,&amp;#39;`&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now that&amp;rsquo;ll generate me two lines, which in turn I can use on the MDS&amp;rsquo;n:&lt;/p&gt;</description></item><item><title>XenServer 6-x: Update all hosts in pool</title><link>https://christian.blog.pakiheim.de/posts/2013-09-15_xenserver-6-x-update-all-hosts-in-pool/</link><pubDate>Sun, 15 Sep 2013 16:23:51 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5142</guid><description>&lt;p&gt;Well, what annoyed me in the past was that I had to patch each XenServer patch by patch (no bulk applying) and when used in combination with UCS blades (especially if those have &amp;gt;250GB RAM), it takes ages to keep a pool up-to-date. So I ended up writing yet another script (I know why I hate Citrix XenServer &amp;hellip; the XenCenter GUI is lacking sooooo much) which will download new patches from a directory on a HTTP server and then print the lines necessary to apply the patches to all hosts in a pool.&lt;/p&gt;</description></item><item><title>XenServer 6-x: Quick VM Protection Policy to VM name-label script</title><link>https://christian.blog.pakiheim.de/posts/2013-09-15_xenserver-6-x-quick-vm-protection-policy-to-vm-name-label-script/</link><pubDate>Sun, 15 Sep 2013 16:14:04 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5125</guid><description>&lt;p&gt;Well, today I ended up writing a short script that&amp;rsquo;ll give me a list of VMPPs with the VMs that are associated to it.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get a list of VMPPs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; vmpp in &lt;span class="sb"&gt;`&lt;/span&gt;xe vmpp-list &lt;span class="nv"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;uuid --minimal &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s2"&gt;&amp;#34;s/,/ /g&amp;#34;&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VMPP_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;xe vmpp-list &lt;span class="nv"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;name-label &lt;span class="nv"&gt;uuid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$vmpp&lt;/span&gt; --minimal&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; vm in &lt;span class="sb"&gt;`&lt;/span&gt;xe vmpp-list &lt;span class="nv"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;VMs --minimal &lt;span class="nv"&gt;uuid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$vmpp&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s/;//g&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s/,//g&amp;#34;&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;xe vm-list &lt;span class="nv"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;name-label &lt;span class="nv"&gt;uuid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$vm&lt;/span&gt; --minimal&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$VMPP_NAME&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="nv"&gt;$VM&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>vmware-config-tools-pl finished with Could not find Parent Node</title><link>https://christian.blog.pakiheim.de/posts/2013-09-09_vmware-config-tools-pl-finished-with-could-not-find-parent-node/</link><pubDate>Mon, 09 Sep 2013 19:15:53 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5128</guid><description>&lt;p&gt;Well, today I encountered a old problem (or so I thought). Basically a specific udevadm version causes the vmware-config-tools.pl script to error out like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;The&lt;/span&gt; &lt;span class="n"&gt;vmblock&lt;/span&gt; &lt;span class="n"&gt;enables&lt;/span&gt; &lt;span class="n"&gt;dragging&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;copying&lt;/span&gt; &lt;span class="n"&gt;files&lt;/span&gt; &lt;span class="n"&gt;between&lt;/span&gt; &lt;span class="n"&gt;host&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;guest&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Fusion&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;Workstation&lt;/span&gt; &lt;span class="n"&gt;virtual&lt;/span&gt; &lt;span class="n"&gt;environment&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="n"&gt;Do&lt;/span&gt; &lt;span class="n"&gt;you&lt;/span&gt; &lt;span class="n"&gt;wish&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;enable&lt;/span&gt; &lt;span class="n"&gt;this&lt;/span&gt; &lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;no&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;!!!&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;EXPERIMENTAL&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;!!!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;VMware&lt;/span&gt; &lt;span class="n"&gt;automatic&lt;/span&gt; &lt;span class="n"&gt;kernel&lt;/span&gt; &lt;span class="n"&gt;modules&lt;/span&gt; &lt;span class="n"&gt;enables&lt;/span&gt; &lt;span class="n"&gt;automatic&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;installation&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;VMware&lt;/span&gt; &lt;span class="n"&gt;kernel&lt;/span&gt; &lt;span class="n"&gt;modules&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;boot&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt; &lt;span class="n"&gt;are&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;already&lt;/span&gt; &lt;span class="n"&gt;present&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="n"&gt;By&lt;/span&gt; &lt;span class="n"&gt;selecting&lt;/span&gt; &lt;span class="n"&gt;yes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;you&lt;/span&gt; &lt;span class="n"&gt;will&lt;/span&gt; &lt;span class="n"&gt;be&lt;/span&gt; &lt;span class="n"&gt;enabling&lt;/span&gt; &lt;span class="n"&gt;this&lt;/span&gt; &lt;span class="n"&gt;experimental&lt;/span&gt; &lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="n"&gt;You&lt;/span&gt; &lt;span class="n"&gt;can&lt;/span&gt; &lt;span class="n"&gt;always&lt;/span&gt; &lt;span class="n"&gt;disable&lt;/span&gt; &lt;span class="n"&gt;this&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;feature&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;running&lt;/span&gt; &lt;span class="n"&gt;vmware&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pl&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Would&lt;/span&gt; &lt;span class="n"&gt;you&lt;/span&gt; &lt;span class="n"&gt;like&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;enable&lt;/span&gt; &lt;span class="n"&gt;VMware&lt;/span&gt; &lt;span class="n"&gt;automatic&lt;/span&gt; &lt;span class="n"&gt;kernel&lt;/span&gt; &lt;span class="n"&gt;modules&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;no&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;X&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Could&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;find&lt;/span&gt; &lt;span class="n"&gt;Parent&lt;/span&gt; &lt;span class="ne"&gt;Node&lt;/span&gt;&lt;span class="o"&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I&amp;rsquo;ve had encountered this before in the past, and before there was some explanation on the VMware forums, which I couldn&amp;rsquo;t locate. Lucky me, the VMware Tools updater keeps modified versions of vmware-tools-config.pl around. So I ended up creating this short diff, so that I may find it in the future - if I still need it:&lt;/p&gt;</description></item><item><title>DiskStation 213+: LAN throughput</title><link>https://christian.blog.pakiheim.de/posts/2013-08-25_diskstation-213-lan-throughput/</link><pubDate>Sun, 25 Aug 2013 14:51:49 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5122</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been moving stuff to my archive NAS, and in case anyone is wondering - the DS213+ actually nearly gets to the 1GE transmission limit&amp;hellip; It&amp;rsquo;s near the CPU limit then anyhow, but &amp;hellip; &amp;#x1f604;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/uploads/2013/08/diskstation-1ge.png"&gt;&lt;img alt="DiskStatin Resource Monitor" loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2013/08/diskstation-1ge.png"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>XenServer 6-0-2: Fixing Root-Disk-Multipathing with Boot-from-SAN</title><link>https://christian.blog.pakiheim.de/posts/2013-07-16_xenserver-6-0-2-fixing-root-disk-multipathing-with-boot-from-san/</link><pubDate>Tue, 16 Jul 2013 16:27:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4464</guid><description>&lt;p&gt;As the title pretty much tells, I’ve been working on fixing the Root-Disk-Multipathing feature of our XenServer installations. Our XenServer boot from a HA-enabled NetApp controller, however we recently noticed that during a controller fail-over some, if not all, paths would go offline and never come back. If you do a &lt;em&gt;cf takeover&lt;/em&gt; and &lt;em&gt;cf giveback&lt;/em&gt; in short succession, you’ll end up with a XenServer host that is unusable, as the Root-Disk would be pretty much non-responsive.&lt;/p&gt;</description></item><item><title>OpenWRT on DIR-615 H1 - Port mappings</title><link>https://christian.blog.pakiheim.de/posts/2013-06-22_openwrt-on-dir-615-h1-port-mappings/</link><pubDate>Sat, 22 Jun 2013 14:46:55 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5099</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been fiddling with OpenWRT to replace my crappy Vodafone Easybox 602. Up till now I had DD-WRT on the DIR-615&amp;rsquo;s (yes, two) however recently (I think due to the Synology DiskStation in combination with a WDS setup) I had to filter SSDP broadcasts storms (which in turn kill the Easybox), which isn&amp;rsquo;t quite so easy on DD-WRT, but rather easy on OpenWRT.&lt;/p&gt;
&lt;p&gt;Today I went thinking about VLAN-Tagging and stuff, and I had to figure out the physical to logical port mapping for the DIR-615. So let&amp;rsquo;s run &lt;em&gt;swconfig dev rt305x show&lt;/em&gt; on the DIR-615 after plugging in the RJ45 cable to a port.&lt;/p&gt;</description></item><item><title>Postfix, soft_bounce=yes and redelivering mails</title><link>https://christian.blog.pakiheim.de/posts/2013-06-19_postfix-soft-bounce-yes-and-redelivering-mails/</link><pubDate>Wed, 19 Jun 2013 16:07:18 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4644</guid><description>&lt;p&gt;Well, I&amp;rsquo;m setting up spam/virus filter at the moment. &lt;a href="http://workaround.org/ispmail/squeeze/content-scanning-amavis"&gt;Somewhere I found&lt;/a&gt;, that when doing so one should enable soft_bounce=yes in your /etc/postfix/main.cf. Now, once I finished setting up my mailing setup, I wanted to manually force the delivery.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Check for mails still in the mail-queue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;root:&lt;span class="o"&gt;(&lt;/span&gt;eris.heimdaheim.de/mailing&lt;span class="o"&gt;)&lt;/span&gt; PWD:~
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Wed Jun 19, 17:57:10 &lt;span class="o"&gt;[&lt;/span&gt;0&lt;span class="o"&gt;]&lt;/span&gt; &amp;gt; mailq
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;B404F1B42C &lt;span class="m"&gt;2751&lt;/span&gt; Wed Jun &lt;span class="m"&gt;19&lt;/span&gt; 17:58:01 christian.th.heim@gmail.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;(&lt;/span&gt;user unknown&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; christian@heimdaheim.de
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;C250F1B427 &lt;span class="m"&gt;2770&lt;/span&gt; Wed Jun &lt;span class="m"&gt;19&lt;/span&gt; 17:53:31 christian.th.heim@gmail.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;lost connection with 127.0.0.1&lt;span class="o"&gt;[&lt;/span&gt;127.0.0.1&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; receiving the initial server greeting&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; christian@heimdaheim.de
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-- &lt;span class="m"&gt;6&lt;/span&gt; Kbytes in &lt;span class="m"&gt;2&lt;/span&gt; Requests.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now, if you fixed the mail delivery, you just need to enter the following:&lt;/p&gt;</description></item><item><title>Hetzner KVM guest networking</title><link>https://christian.blog.pakiheim.de/posts/2013-06-17_hetzner-kvm-guest-networking/</link><pubDate>Mon, 17 Jun 2013 16:39:48 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4637</guid><description>&lt;p&gt;Now, since we&amp;rsquo;re using bridged routing, we need to adjust the guest.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;auto eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iface eth0 inet static
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; address 78.46.37.114
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; netmask 255.255.255.255
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; pointopoint 78.46.37.118
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gateway 78.46.37.118
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ping -c2 78.46.37.118 &amp;amp;&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iface eth0 inet6 static
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; address 2a01:4f8:110:3148::5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; netmask 64
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gateway 2a01:4f8:110:3148::2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ping6 -c2 2a01:4f8:110:3148::2 &amp;amp;&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This&amp;rsquo;ll take care of the bridged routing and the ICMPv6 announcement to the host. Without the ping/ping6, guest and host won&amp;rsquo;t be able to communicate (no clue why).&lt;/p&gt;</description></item><item><title>Hetzner KVM host bridge configuration</title><link>https://christian.blog.pakiheim.de/posts/2013-06-17_hetzner-kvm-host-bridge-configuration/</link><pubDate>Mon, 17 Jun 2013 16:37:41 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4635</guid><description>&lt;p&gt;Firstoff, adjust the /etc/network/interfaces file to look like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# device: eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;auto eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iface eth0 inet static
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; address 78.46.37.118
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; netmask 255.255.255.255
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gateway 78.46.37.97
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; pointopoint 78.46.37.97
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iface eth0 inet6 static
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; address 2a01:4f8:110:3148::2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; netmask 64
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gateway fe80::1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;auto vmbr0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iface vmbr0 inet static
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; address 78.46.37.118
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; netmask 255.255.255.255
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; bridge_ports none
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; bridge_stp off
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; bridge_fd 0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ip route add 78.46.37.108/32 dev vmbr0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ip route add 78.46.37.110/32 dev vmbr0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ip route add 78.46.37.114/32 dev vmbr0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iface vmbr0 inet6 static
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; address 2a01:4f8:110:3148::2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; netmask 64
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ip -6 neigh add proxy 2a01:4f8:110:3148::3 dev eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ip -6 neigh add proxy 2a01:4f8:110:3148::4 dev eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ip -6 neigh add proxy 2a01:4f8:110:3148::5 dev eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ip -6 neigh add proxy 2a01:4f8:110:3148::6 dev eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ip -6 neigh add proxy 2a01:4f8:110:3148::7 dev eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ip -6 neigh add proxy 2a01:4f8:110:3148::8 dev eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; post-up ip -6 neigh add proxy 2a01:4f8:110:3148::9 dev eth0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Secondly, adjust you KVM guest network config to look like this (similar, you might want to replace the MAC address of the guest):&lt;/p&gt;</description></item><item><title>Automating/Standardizing Hetzner server installs with installimage</title><link>https://christian.blog.pakiheim.de/posts/2013-06-16_automating-standardizing-hetzner-server-installs-with-installimage/</link><pubDate>Sun, 16 Jun 2013 15:52:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4632</guid><description>&lt;p&gt;Create a file /autosetup in the rescue system, that may (or may not) look like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;DRIVE1&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sda&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;DRIVE2&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sdb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SWRAID&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SWRAIDLEVEL&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;BOOTLOADER&lt;/span&gt; &lt;span class="n"&gt;grub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;HOSTNAME&lt;/span&gt; &lt;span class="n"&gt;nyx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;PART&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;boot&lt;/span&gt; &lt;span class="n"&gt;ext2&lt;/span&gt; &lt;span class="mi"&gt;512&lt;/span&gt;&lt;span class="n"&gt;M&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;PART&lt;/span&gt; &lt;span class="n"&gt;swap&lt;/span&gt; &lt;span class="n"&gt;swap&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="n"&gt;G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;PART&lt;/span&gt; &lt;span class="n"&gt;lvm&lt;/span&gt; &lt;span class="n"&gt;vg0&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;LV&lt;/span&gt; &lt;span class="n"&gt;vg0&lt;/span&gt; &lt;span class="n"&gt;root&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;ext3&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="n"&gt;G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;LV&lt;/span&gt; &lt;span class="n"&gt;vg0&lt;/span&gt; &lt;span class="n"&gt;home&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;home&lt;/span&gt; &lt;span class="n"&gt;ext3&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="n"&gt;G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;LV&lt;/span&gt; &lt;span class="n"&gt;vg0&lt;/span&gt; &lt;span class="n"&gt;usr&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt; &lt;span class="n"&gt;ext3&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="n"&gt;G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;LV&lt;/span&gt; &lt;span class="n"&gt;vg0&lt;/span&gt; &lt;span class="n"&gt;tmp&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tmp&lt;/span&gt; &lt;span class="n"&gt;ext3&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="n"&gt;G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;LV&lt;/span&gt; &lt;span class="n"&gt;vg0&lt;/span&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;ext3&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="n"&gt;G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;IMAGE&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="o"&gt;/.&lt;/span&gt;&lt;span class="n"&gt;oldroot&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;nfs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;install&lt;/span&gt;&lt;span class="o"&gt;/../&lt;/span&gt;&lt;span class="n"&gt;images&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;Debian&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;wheezy&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;64&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;minimal&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;tar&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gz&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>virt-viewer: qemu+ssh to a KVM host running SSH on a different port</title><link>https://christian.blog.pakiheim.de/posts/2013-06-12_virt-viewer-qemu-ssh-to-a-kvm-host-running-ssh-on-a-different-port/</link><pubDate>Wed, 12 Jun 2013 18:26:54 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4628</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been tinkering with KVM the last few days and I&amp;rsquo;ve been stuck accessing the KVM guests (as the guests are running on a host I don&amp;rsquo;t have my Xorg server running on). After a bit of searching, I actually found what I was &lt;a href="http://qemu-buch.de/d/Managementtools/_libvirt-Tools"&gt;looking&lt;/a&gt; &lt;a href="http://libvirt.org/guide/html/Application_Development_Guide-Architecture-Remote_URIs.html"&gt;for&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Piecing together from both sources, to connect to a KVM host, that has SSH running on a different port:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;virt-viewer --connect qemu+ssh://root@kvm.home.barfoo.org:222/system guest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Act of War: High Treason cheats</title><link>https://christian.blog.pakiheim.de/posts/2013-05-09_act-of-war-high-treason-cheats/</link><pubDate>Thu, 09 May 2013 07:49:41 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4623</guid><description>&lt;p&gt;**Code:****Result:**fortknoxAdd $1000 CashkeyholemasterReveal MapineedalltechnosAll TechyeepeekayeNuclear Strike at CursorbigbrotherUnlock Camera ModemotherrussiaSummon M80 TankcoolihaveanewcarSummon CIA Armored VancoolimthepresidentSummon U.S. PredisentswatatyourordersSummon SWATymcaSummon U.S. CopgreenjellySummon U.K. CopbringoutthedeadSummon AmbulanceduckhuntSummon a Flying DuckblackhawkdownSummon SA12 Anti-Aircraft Missile&lt;/p&gt;
&lt;p&gt;Cheats MOD:
**Code:****Result:**abramsSummon a M1A2 Abrams tankapcSummon a M1A1 Bradley APChindSummon a MI24 Hind gunshipburkeSummon a DDG-51 Arleigh Burke Missile DestroyertarawaSummon a Tarawa class Landing Helicopter DockoliverSummon a FFG-7 Oliver-Hazard-Perry class FrigateddxSummon a DDX Zumwalt class destroyersananSummon a San Antonio-class amphibious transport dockbulldSummon bulldozer constructor (US army builder)seastalSummon a CH-53 Sea StallionhipconSummon a Hip Constructor (consortium builder)hoshawkSummon a Medivac BlackhawkhawkSummon a BlackhawkvrepairSummon a V22 repairmarineSummon a U.S. marinesniperSummon a U.S. sniperblackhawkdownSummon a 9K22 TunguskafortknoxAdd $10.000 Cash&lt;/p&gt;</description></item><item><title>5 year flashback</title><link>https://christian.blog.pakiheim.de/posts/2013-05-08_5-year-flashback/</link><pubDate>Wed, 08 May 2013 06:00:17 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4619</guid><description>&lt;p&gt;Today I looked at my ADSL router and had a flashback about five years ago. Back then I was working for the university and used a dual line ISDN link for internet which had about the same bandwidth as my ADSL currently has &amp;hellip; &lt;a href="https://christian.blog.pakiheim.de/uploads/2013/05/dsl-speed.png"&gt;&lt;img alt="Synchronous DSL speed" loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2013/05/dsl-speed.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After that experience I know how people must feel in some areas where internet isn&amp;rsquo;t as advanced as my normal 2MBit ADSL line &amp;hellip; Loading YouTube or even a simple forum is a real waiting game (took me about two minutes to load up a hit out of Google), and I even attest myself a dependency on even normal ADSL (not one of that superfast 32MBit lines - just 2MBit).&lt;/p&gt;</description></item><item><title>UCS Manager 2-0-2r KVM bug</title><link>https://christian.blog.pakiheim.de/posts/2013-04-28_ucs-manager-2-0-2r-kvm-bug/</link><pubDate>Sun, 28 Apr 2013 19:02:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4610</guid><description>&lt;p&gt;Well, we&amp;rsquo;ve been battling with a KVM bug in our UCS installation, that&amp;rsquo;s been driving me (and apparently the Cisco L3 support and development) nuts. But lets back up a bit. If you&amp;rsquo;ve worked with UCS before, once you open up the KVM console you&amp;rsquo;ll see the KVM and a shortcut commands (Shutdown, Reset) and another tab that allows you to mount virtual media.&lt;/p&gt;
&lt;p&gt;Once you open it up, it should look like this:&lt;/p&gt;</description></item><item><title>VMware ESXi - Free memory limits corrected</title><link>https://christian.blog.pakiheim.de/posts/2013-04-28_vmware-esxi-free-memory-limits-corrected/</link><pubDate>Sun, 28 Apr 2013 18:33:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4604</guid><description>&lt;p&gt;Well, a coworker of mine asked me about this. Since I didn&amp;rsquo;t know (yeah, I don&amp;rsquo;t know everything) I went to my trusted friend - Google - and searched for it. There seems to be a lot of confusion about this, so I thought I&amp;rsquo;d clarify this.&lt;/p&gt;
&lt;p&gt;I ended up putting a license to one of my hosts in vCenter.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/uploads/2013/04/esxi-free-memory-limit1.png"&gt;&lt;img alt="VMware ESXi Free Edition Memory Limit" loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2013/04/esxi-free-memory-limit1.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yeah well, the host has a bit more memory than the allowed 32GB vRAM per Socket (the host has two sockets) - thus you&amp;rsquo;re allowed to have 64GB RAM if your host has two sockets.&lt;/p&gt;</description></item><item><title>Dealing with SnapVault replication issues</title><link>https://christian.blog.pakiheim.de/posts/2013-04-09_dealing-with-snapvault-replication-issues/</link><pubDate>Tue, 09 Apr 2013 16:05:30 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4596</guid><description>&lt;p&gt;Well, for the past two months I had a case open with NetApp to figure out this SnapVault replication issue we were seeing. The initial transfer of the SnapVault relation would complete with a hick up, manual snapshot transfers also work - just the scheduled, auto-created Snapshots won&amp;rsquo;t replicate.&lt;/p&gt;
&lt;p&gt;At first I (and the NetApp support) thought this was an issue with SnapVault itself, however after being away for the last four weeks I looked at the issue with fresh eyes. After a short peek into the logs, I found what I had found back when I first looked into this.&lt;/p&gt;</description></item><item><title>Office 2010 Professional</title><link>https://christian.blog.pakiheim.de/posts/2013-03-09_office-2010-professional/</link><pubDate>Sat, 09 Mar 2013 17:05:19 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4575</guid><description>&lt;p&gt;&lt;strong&gt;Download links&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Office 2010 Professional Plus (incl. SP1) &lt;a href="https://downloadoffice2010.microsoft.com/usa/registerkey.aspx?ref=backup"&gt;32bit&lt;/a&gt;/ &lt;a href="https://downloadoffice2010.microsoft.com/usa/registerkey.aspx?ref=backup"&gt;64bit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Business Contact Manager 2010 &lt;a href="https://downloadoffice2010.microsoft.com/usa/registerkey.aspx?ref=backup"&gt;32bit&lt;/a&gt;/ &lt;a href="https://downloadoffice2010.microsoft.com/usa/registerkey.aspx?ref=backup"&gt;64bit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Microsoft Lync 2010 &lt;a href="https://downloadoffice2010.microsoft.com/usa/registerkey.aspx?ref=backup"&gt;32bit&lt;/a&gt;/ &lt;a href="https://downloadoffice2010.microsoft.com/usa/registerkey.aspx?ref=backup"&gt;64bit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Product Key:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;C74VQ-8YRBX-YCF3V-C8XRH-4YCHF&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Windows 7 Keys</title><link>https://christian.blog.pakiheim.de/posts/2013-03-09_windows-7-keys/</link><pubDate>Sat, 09 Mar 2013 15:40:52 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4573</guid><description>&lt;p&gt;&lt;strong&gt;Windows 7 Installations-Keys&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;Windows 7 Professional:    YKHFT-KW986-GK4PY-FDWYH-7TP9F&lt;/p&gt;
&lt;p&gt;Windows 7 Ultimate:            7JQWQ-K6KWQ-BJD6C-K3YVH-DVQJG&lt;/p&gt;
&lt;p&gt;Windows 7 Ultimate:            D9RHV-JG8XC-C77H2-3YF6D-RYRJ9&lt;/p&gt;
&lt;p&gt;Windows 7 Ultimate:            482XP-6J9WR-4JXT3-VBPP6-FQF4M&lt;/p&gt;
&lt;p&gt;Windows 7 Ultimate:            RFFTV-J6K7W-MHBQJ-XYMMJ-Q8DCH&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows 7 Anytime Upgrade-Keys&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;Windows 7 Professional:          VTDC3-WM7HP-XMPMX-K4YQ2-WYGJ8&lt;/p&gt;
&lt;p&gt;Windows 7 Home Premium:   RHPQ2-RMFJH-74XYM-BH4JX-XM76F&lt;/p&gt;
&lt;p&gt;Windows 7 Ultimate:                 22TKD-F8XX6-YG69F-9M66D-PMJBM&lt;/p&gt;
&lt;p&gt;Installationsmedien:&lt;/p&gt;
&lt;p&gt;Windows 7 Professional:   &lt;a href="http://msft.digitalrivercontent.net/win/X17-59886.iso"&gt;32bit&lt;/a&gt;/ &lt;a href="http://msft.digitalrivercontent.net/win/X17-59885.iso"&gt;64bit&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SABnzbd: Start daemon in paused mode</title><link>https://christian.blog.pakiheim.de/posts/2013-02-23_sabnzbd-start-daemon-in-paused-mode/</link><pubDate>Sat, 23 Feb 2013 21:39:21 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4568</guid><description>&lt;p&gt;Well, I have a openvpn script on my DiskStation, and apparently the &amp;ldquo;normal&amp;rdquo; services (like the packages) start before optware (that&amp;rsquo;s where my openvpn client is located), it immidiatly starts downloading (which isn&amp;rsquo;t really that desired). So looking at the &lt;a href="http://wiki.sabnzbd.org/command-line-parameters"&gt;SABnzbd command line parameters&lt;/a&gt; there&amp;rsquo;s one option that looks like it&amp;rsquo;s what I want:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;-p&amp;ndash;pauseStart in paused mode&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Synology: pyLoad - Clickundamp;Load from a remote host</title><link>https://christian.blog.pakiheim.de/posts/2013-02-17_synology-pyload-click-amp-load-from-a-remote-host/</link><pubDate>Sun, 17 Feb 2013 07:31:20 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4565</guid><description>&lt;p&gt;First, you need to enable Click&amp;amp;Load link submittion from external hosts (Config-&amp;gt;Plugins-&amp;gt;ClickAndLoad-&amp;gt;Allow external link adding).&lt;/p&gt;
&lt;p&gt;After that, simply add the forwarding rule using an elevated command prompt:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-batch" data-lang="batch"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=9666 connectaddress=&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;nasip&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; connectport=9666
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Synology: New openvpn init script</title><link>https://christian.blog.pakiheim.de/posts/2013-02-06_synology-new-openvpn-init-script/</link><pubDate>Wed, 06 Feb 2013 15:04:33 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4556</guid><description>&lt;p&gt;My VPN provider isn&amp;rsquo;t being supported by the Synology VPN client (because they aren&amp;rsquo;t using the standard port 1194, instead 1195). After tinkering with the ovpn files the Synology VPN client uses to store the connection settings (and failing), I just installed openvpn with ipkg.&lt;/p&gt;
&lt;p&gt;However after tinkering around with the init-script provided by the openvpn ipkg from the NSLU2 feed, I got tired and just rewrote the damn thing:&lt;/p&gt;</description></item><item><title>Generate Nagios config for check_netapp-api-pl</title><link>https://christian.blog.pakiheim.de/posts/2013-02-05_generate-nagios-config-for-check-netapp-api-pl/</link><pubDate>Tue, 05 Feb 2013 19:46:24 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4435</guid><description>&lt;p&gt;As so often, I wanted a script, that&amp;rsquo;ll crawl my filers and regenerate the configuration if there are any new volumes/snapvaults/snapmirrors or if one of them has been removed.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt;58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt;59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt;60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt;61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt;62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt;63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-64"&gt;&lt;a class="lnlinks" href="#hl-0-64"&gt;64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-65"&gt;&lt;a class="lnlinks" href="#hl-0-65"&gt;65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-66"&gt;&lt;a class="lnlinks" href="#hl-0-66"&gt;66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-67"&gt;&lt;a class="lnlinks" href="#hl-0-67"&gt;67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-68"&gt;&lt;a class="lnlinks" href="#hl-0-68"&gt;68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-69"&gt;&lt;a class="lnlinks" href="#hl-0-69"&gt;69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-70"&gt;&lt;a class="lnlinks" href="#hl-0-70"&gt;70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-71"&gt;&lt;a class="lnlinks" href="#hl-0-71"&gt;71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-72"&gt;&lt;a class="lnlinks" href="#hl-0-72"&gt;72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-73"&gt;&lt;a class="lnlinks" href="#hl-0-73"&gt;73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-74"&gt;&lt;a class="lnlinks" href="#hl-0-74"&gt;74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-75"&gt;&lt;a class="lnlinks" href="#hl-0-75"&gt;75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-76"&gt;&lt;a class="lnlinks" href="#hl-0-76"&gt;76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-77"&gt;&lt;a class="lnlinks" href="#hl-0-77"&gt;77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-78"&gt;&lt;a class="lnlinks" href="#hl-0-78"&gt;78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-79"&gt;&lt;a class="lnlinks" href="#hl-0-79"&gt;79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-80"&gt;&lt;a class="lnlinks" href="#hl-0-80"&gt;80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-81"&gt;&lt;a class="lnlinks" href="#hl-0-81"&gt;81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-82"&gt;&lt;a class="lnlinks" href="#hl-0-82"&gt;82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-83"&gt;&lt;a class="lnlinks" href="#hl-0-83"&gt;83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-84"&gt;&lt;a class="lnlinks" href="#hl-0-84"&gt;84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-85"&gt;&lt;a class="lnlinks" href="#hl-0-85"&gt;85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-86"&gt;&lt;a class="lnlinks" href="#hl-0-86"&gt;86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-87"&gt;&lt;a class="lnlinks" href="#hl-0-87"&gt;87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-88"&gt;&lt;a class="lnlinks" href="#hl-0-88"&gt;88&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-89"&gt;&lt;a class="lnlinks" href="#hl-0-89"&gt;89&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-90"&gt;&lt;a class="lnlinks" href="#hl-0-90"&gt;90&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-91"&gt;&lt;a class="lnlinks" href="#hl-0-91"&gt;91&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-92"&gt;&lt;a class="lnlinks" href="#hl-0-92"&gt;92&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-93"&gt;&lt;a class="lnlinks" href="#hl-0-93"&gt;93&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-94"&gt;&lt;a class="lnlinks" href="#hl-0-94"&gt;94&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-95"&gt;&lt;a class="lnlinks" href="#hl-0-95"&gt;95&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-96"&gt;&lt;a class="lnlinks" href="#hl-0-96"&gt;96&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_HOSTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ls /etc/nagios/objects/hosts/san/fas*&lt;span class="o"&gt;{&lt;/span&gt;a,b&lt;span class="o"&gt;}&lt;/span&gt;.cfg &lt;span class="p"&gt;|&lt;/span&gt; cut -d/ -f7 &lt;span class="p"&gt;|&lt;/span&gt; cut -d. -f1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; host in &lt;span class="nv"&gt;$FAS_HOSTS&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OUTPUT_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/etc/nagios/objects/hosts/san/&lt;span class="nv"&gt;$host&lt;/span&gt;-vol.cfg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Clear the output file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="nv"&gt;$OUTPUT_FILE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Get the volume list&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; volume in &lt;span class="sb"&gt;`&lt;/span&gt;ssh &lt;span class="nv"&gt;$host&lt;/span&gt; vol status &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep ^vol &lt;span class="p"&gt;|&lt;/span&gt; sort -u &lt;span class="p"&gt;|&lt;/span&gt; grep -v vol0$&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;user&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;USER=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;pass&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;PASS=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34;define service {&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; use generic-service&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; check_command check_netapp-volfree!$user!$pass!${volume}!92!98&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; check_interval 5&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; host_name ${host}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; notifications_enabled 0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; notification_interval 720&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; service_description VOLSPACE ${volume}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34;}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;define service {&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; use generic-service-san-perfdata&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_command check_netapp-lunspace!&lt;/span&gt;&lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$pass&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_interval 5&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; host_name &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notifications_enabled 0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notification_interval 720&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; service_description LUNSPACE &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh &lt;span class="nv"&gt;$host&lt;/span&gt; snap reserve &lt;span class="nv"&gt;$volume&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f7 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$SR&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0%&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;define service {&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; use generic-service-san-perfdata&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_command check_netapp-snapreserve!&lt;/span&gt;&lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$pass&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_interval 10&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; host_name &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notifications_enabled 0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notification_interval 720&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; # SR: &lt;/span&gt;&lt;span class="nv"&gt;$SR&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; service_description SNAPRESERVE &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tee -a &lt;span class="nv"&gt;$OUTPUT_FILE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Check snapvault foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; sv in &lt;span class="sb"&gt;`&lt;/span&gt;ssh &lt;span class="nv"&gt;$host&lt;/span&gt; snapvault status -l 2&amp;gt;/dev/null &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep vol&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# only do the checks on sv_secondary&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$sv&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d: -f1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;vol&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$sv&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d/ -f3 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;user&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;USER=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;pass&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;PASS=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;define service {&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; use generic-service-san-perfdata&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_command check_netapp-snapvault!&lt;/span&gt;&lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$pass&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$vol&lt;/span&gt;&lt;span class="s2"&gt;!38!42!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_interval 60&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; host_name &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notifications_enabled 0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notification_interval 720&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; service_description SNAPVAULT &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;vol&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tee -a &lt;span class="nv"&gt;$OUTPUT_FILE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Check snapmirror foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; sm in &lt;span class="sb"&gt;`&lt;/span&gt;ssh &lt;span class="nv"&gt;$host&lt;/span&gt; snapmirror status 2&amp;gt;/dev/null &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep vol &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="nv"&gt;$host&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# only do the checks on sm_secondary&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$sm&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d: -f1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;vol&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$sm&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d/ -f3 &lt;span class="p"&gt;|&lt;/span&gt; cut -d: -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;user&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;USER=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;pass&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;PASS=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;define service {&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; use generic-service-san-perfdata&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_command check_netapp-snapmirror!&lt;/span&gt;&lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$pass&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$vol&lt;/span&gt;&lt;span class="s2"&gt;!38!42!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_interval 60&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; host_name &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notifications_enabled 0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notification_interval 720&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; service_description SNAPMIRROR &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;vol&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tee -a &lt;span class="nv"&gt;$OUTPUT_FILE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>XFS: Change FS label</title><link>https://christian.blog.pakiheim.de/posts/2013-01-31_xfs-change-fs-label/</link><pubDate>Thu, 31 Jan 2013 20:29:15 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4472</guid><description>&lt;p&gt;In order to change the XFS label, you need to complete the following steps:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;umount /mnt/xfs_vol &lt;span class="c1"&gt;# only if the volume is mounted by label&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;xfsadmin -L newlabel /dev/md/aggr2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount /dev/disk/by-label/newlabel /mnt/xfs_vol
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>mdadm: Prepare partitions for RAID</title><link>https://christian.blog.pakiheim.de/posts/2013-01-27_mdadm-prepare-partitions-for-raid/</link><pubDate>Sun, 27 Jan 2013 20:59:28 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4459</guid><description>&lt;p&gt;Well, as it turns out if have &amp;ldquo;special&amp;rdquo; hard disks &amp;hellip; the WD20* disks are susceptible to misalignment issues due to them having a logical sector size of 512 byte &amp;hellip;&lt;/p&gt;
&lt;p&gt;So here we go:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;parted --alignment optimal /dev/sdx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mklabel msdos
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;print
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# now figure out how big you want the disks. make sure you&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# don&amp;#39;t use the whole space, as a replacement disk&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# might have ~20 sectors less&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkpart primary &lt;span class="m"&gt;1&lt;/span&gt; -1800
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;quit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now, dump the partition layout to a file:&lt;/p&gt;</description></item><item><title>extfs: Change FS label</title><link>https://christian.blog.pakiheim.de/posts/2013-01-10_extfs-change-fs-label/</link><pubDate>Thu, 10 Jan 2013 23:11:54 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4455</guid><description>&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;e2label /dev/md/aggr0 vol1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>mdadm: Update md name</title><link>https://christian.blog.pakiheim.de/posts/2013-01-10_mdadm-update-md-name/</link><pubDate>Thu, 10 Jan 2013 23:06:52 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4452</guid><description>&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mdadm --stop /dev/md127
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mdadm --assemble /dev/md127 --name&lt;span class="o"&gt;=&lt;/span&gt;charon:aggr0 --update&lt;span class="o"&gt;=&lt;/span&gt;name
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sda1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Generate Nagios config for NetApp filers</title><link>https://christian.blog.pakiheim.de/posts/2013-01-01_generate-nagios-config-for-netapp-filers/</link><pubDate>Tue, 01 Jan 2013 09:46:39 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4432</guid><description>&lt;p&gt;At some point in the last few weeks, I repeatedly had to recreate my Nagios config for currently six filers. After doing that a few times, I ended up (like sooo often) writing a short Bash script, that&amp;rsquo;ll do this for me - without any fuss.&lt;/p&gt;
&lt;p&gt;The only thing the script needs, is that the filers and the filers are registered in DNS &amp;hellip; Here&amp;rsquo;s an example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fas3240a IN A 172.31.76.150
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fas3240a-sp IN A 172.31.74.150
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fas3240b IN A 172.31.76.151
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fas3240b-sp IN A 172.31.74.151
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;With that done, the script will create the necessary Nagios config for those filers.&lt;/p&gt;</description></item><item><title>NetApp: Establishing SnapMirror relationships</title><link>https://christian.blog.pakiheim.de/posts/2012-12-31_netapp-establishing-snapmirror-relationships/</link><pubDate>Mon, 31 Dec 2012 09:44:19 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4428</guid><description>&lt;p&gt;After &lt;a href="http://christian.weblog.heimdaheim.de/2012/12/30/netapp-establishing-snapvault-relations/" title="NetApp: Establishing SnapVault relations"&gt;figuring out the SnapVault stuff&lt;/a&gt;, I needed to implement a whole bunch of SnapMirror relations. As I am lazy (as in click-lazy), I ended up writing a somewhat short Bash script, that&amp;rsquo;ll either establish a bunch of SnapMirror relations (for a single host) or just for a single volume.&lt;/p&gt;
&lt;p&gt;The script expects, that &lt;a href="http://christian.weblog.heimdaheim.de/2012/03/07/netapp-fasdata-ontap-public-key-authentification-with-cifsnfs-license/" title="NetApp FAS/Data ONTAP public key authentification with CIFS/NFS license"&gt;SSH public key authentification&lt;/a&gt; has been set up, and that the source for the SnapMirror exists and is online/not-restricted.&lt;/p&gt;</description></item><item><title>NetApp: SnapVault snapshot retention for non-standard snapshot names</title><link>https://christian.blog.pakiheim.de/posts/2012-12-29_netapp-snapvault-snapshot-retention-for-non-standard-snapshot-names/</link><pubDate>Sat, 29 Dec 2012 09:37:48 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4425</guid><description>&lt;p&gt;Well, the name says it pretty much. Once you rename the snapshot on the SnapVault destination from daily.0 to something else, the whole builtin SnapVault snapshot retention isn&amp;rsquo;t gonna work anymore.&lt;/p&gt;
&lt;p&gt;Back when I started all the code-writing, I wasn&amp;rsquo;t aware of this. One of my co-worker complained to me about it on Wednesday that there are an assfull of snapshots on the SnapVault destination (one snapshot each day since the end of October, meaning more than 50 snapshots per volume, in a total of 12 or so FlexVolumes, making the total about 500 snapshots).&lt;/p&gt;
&lt;p&gt;So I took the time to write this little Bash script (yeah, I know I&amp;rsquo;m mixing a bunch of languages - I really like the &lt;a href="http://en.wikipedia.org/wiki/KISS_principle"&gt;KISS&lt;/a&gt; principle), which will get the necessary information from the filer (snapvault snap sched needs to be set) and then deletes the over-aged snapshots.&lt;/p&gt;</description></item><item><title>NetApp: Archive SnapManager SQL Snapinfo</title><link>https://christian.blog.pakiheim.de/posts/2012-12-29_netapp-archive-snapmanager-sql-snapinfo/</link><pubDate>Sat, 29 Dec 2012 09:16:45 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4416</guid><description>The MSSQL admins decided to dump the SMSQL Snapinfo stuff on a separate volume, that SMSQL also snapshots. &lt;a href="http://christian.weblog.heimdaheim.de/2012/12/29/netapp-archive-snapmanager-sql-snapshots/" title="NetApp: Archive SnapManager SQL snapshots"&gt;Same as before&lt;/a&gt;, I need a PowerShell script that&amp;rsquo;ll archive the snapshot and rename it.</description></item><item><title>NetApp: Archive SnapManager Oracle Snapshots</title><link>https://christian.blog.pakiheim.de/posts/2012-12-29_netapp-archive-snapmanager-oracle-snapshots/</link><pubDate>Sat, 29 Dec 2012 09:12:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4413</guid><description>And here&amp;rsquo;s the script for SMO. However, since different people administrate the Oracle Databases, they don&amp;rsquo;t want me to tinker with the database like the MSSQL admins. They give me a CSV-list of volumes, that should be backed up and I work with that.</description></item><item><title>Finding files bigger than 20MiB</title><link>https://christian.blog.pakiheim.de/posts/2012-12-15_finding-files-bigger-than-20mib/</link><pubDate>Sat, 15 Dec 2012 13:05:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4377</guid><description>&lt;p&gt;Well,&lt;/p&gt;
&lt;p&gt;up till now I&amp;rsquo;ve been using &lt;em&gt;du -sh * | grep G&lt;/em&gt;, however that didn&amp;rsquo;t quite do what I wanted. So I looked at the manpage of find a little bit today, and I found this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;find . -type f -size +20000k -exec ls {} ; | sort
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Recent downtime</title><link>https://christian.blog.pakiheim.de/posts/2012-11-28_recent-downtime/</link><pubDate>Wed, 28 Nov 2012 21:01:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4364</guid><description>&lt;p&gt;Well, you might have noticed that barfoo.org hasn&amp;rsquo;t been available for the last week or so &amp;hellip; I had to change the DNS provider (thanks at this point again to Bene from &lt;a href="http://bb.xnull.de/"&gt;xnull.de&lt;/a&gt; for putting me up as long as he did).&lt;/p&gt;
&lt;p&gt;Sadly my new provider, when purchasing the domain hosting, doesn&amp;rsquo;t allow sub-domains. So after opening a service ticket with them, they switched me into a webhosting contract which allows sub-domains (wtf&amp;hellip;).&lt;/p&gt;</description></item><item><title>MDS9000: Setting summer time for CET</title><link>https://christian.blog.pakiheim.de/posts/2012-10-17_mds9000-setting-summer-time-for-cet/</link><pubDate>Wed, 17 Oct 2012 20:37:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4358</guid><description>&lt;p&gt;After rebuilding two MDS9148, I wanted them to correctly switch the summer/winter time for my time zone. Currently I&amp;rsquo;m in CET (or CEST during the summer), so I googled for that. The search came up with &lt;a href="http://www.cisco-faq.com/128/configuring_time_zone_dst.html"&gt;Cisco-FAQ&lt;/a&gt;, however that needed a slight adjustment.&lt;/p&gt;
&lt;p&gt;Apparently the NXOS doesn&amp;rsquo;t support the feature &amp;ldquo;recurring&amp;rdquo; in the clock configuration. So I had to slightly adapt the configuration line:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clock timezone MET 2 0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clock summer-time MET 5 Sun Mar 02:00 5 Sun Oct 03:00 60
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>vCenter: Removing VSC custom attributes</title><link>https://christian.blog.pakiheim.de/posts/2012-10-17_vcenter-removing-vsc-custom-attributes/</link><pubDate>Wed, 17 Oct 2012 20:10:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4357</guid><description>&lt;p&gt;Well, yesterday I got pissed of those Virtual Storage Console custom attributes.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/uploads/2012/10/vcenter-custom-attributes.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/10/vcenter-custom-attributes.png"&gt;&lt;/a&gt; Currently we don&amp;rsquo;t use the Provisioning &amp;amp; Cloning feature of the VSC, thus we don&amp;rsquo;t need the custom attributes. After poking around, I decided to write a short PowerCLI script to do the task.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s really rather simple, so here goes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vcenter-remove-vsc-attributes: &amp;lt;vcenter-server&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vcenter-server&amp;gt; - DNS name of your vCenter server.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Remove&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;CustomAttribute&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;CustomAttribute&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PnC.CustSpec&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PnC.Deployed&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PnC.GroupID&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PnC.Source&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Disconnect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>NetApp: Changing DS4243 shelf ID</title><link>https://christian.blog.pakiheim.de/posts/2012-10-11_netapp-changing-ds4243-shelf-id/</link><pubDate>Thu, 11 Oct 2012 21:17:39 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4355</guid><description>&lt;p&gt;I&amp;rsquo;m working on a project right now, providing a SnapVault target for our &amp;ldquo;big&amp;rdquo; NetApp. So we moved our 3240 to it&amp;rsquo;s target location, I spent most of my time yesterday doing the cabling (SAS and ACP, as well as power).&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m still not finished, I still need to &amp;quot; &lt;em&gt;beautify&lt;/em&gt;&amp;quot; the power cables, need to fix the network cables (currently I don&amp;rsquo;t have none &amp;hellip;.) and some other minor stuff. But lemme skip back a bit.&lt;/p&gt;</description></item><item><title>NetApp: Migrating FCP luns with ndmpcopy to another controller</title><link>https://christian.blog.pakiheim.de/posts/2012-10-06_netapp-migrating-fcp-luns-with-ndmpcopy-to-another-controller/</link><pubDate>Sat, 06 Oct 2012 06:31:10 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4352</guid><description>&lt;p&gt;Well, I&amp;rsquo;m in a situation, where I need to move all volumes from one controller to two others. So I looked at the ways I had available:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Freshly implementing everything: No option at all!&lt;/li&gt;
&lt;li&gt;vol copy: Is rather slow, thus no option&lt;/li&gt;
&lt;li&gt;ndmpcopy: That&amp;rsquo;s exactly what I needed!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ndmpcopy is a great way to copy over a whole volume including it&amp;rsquo;s files (thus FCP luns) to another volume/controller.&lt;/p&gt;
&lt;p&gt;First I threw in a crossover cable, since at around 6 PM our backup system starts it&amp;rsquo;s daily run, and everything else running via IP in between 6 PM and 6 AM is seriously impaired by this. Configured the additional ports on all three controllers (picked a private, not-routed range just in case) and then kicked of a simple bash script that ran the following:&lt;/p&gt;</description></item><item><title>NetApp LUN creation/vol sizing</title><link>https://christian.blog.pakiheim.de/posts/2012-09-20_netapp-lun-creation-vol-sizing/</link><pubDate>Thu, 20 Sep 2012 04:49:43 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4345</guid><description>&lt;p&gt;Well, as you might know I&amp;rsquo;ve been tinkering with a NetApp FAS at work. The last few months, I&amp;rsquo;ve been trying to figure out a few things, which I actually did.&lt;/p&gt;
&lt;p&gt;One &amp;ldquo;error&amp;rdquo; I ran into with creating the lun&amp;rsquo;s and volumes by hand was that the volumes were running out of space. Even if the volume was a bit larger than the LUN. After that happened a few times, I decided to see how to fix that. As it turns out, the GUI &amp;ldquo;fixes&amp;rdquo; that already in a way I wouldn&amp;rsquo;t have expected.&lt;/p&gt;</description></item><item><title>UCS 5108: VIF down</title><link>https://christian.blog.pakiheim.de/posts/2012-09-17_ucs-5108-vif-down/</link><pubDate>Mon, 17 Sep 2012 18:20:26 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4335</guid><description>&lt;p&gt;Well, I have yet another weird UCS problem. I have a single blade, that has trouble with it&amp;rsquo;s primary fabric attachment.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-1.png" width="500"/&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-2.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;The problem get&amp;rsquo;s even more weird, if you look at the details.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-3.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;After looking at the IO modules, the error doesn&amp;rsquo;t become any clearer:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-4.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;So far, I have tried nearly everything. I&amp;rsquo;ve tried resetting the active and passive Connectivity of the vNIC, I tried resetting the DCE adapter for the vNIC, but nothing. I even tried resetting the vHBA that&amp;rsquo;s associated with this fabric, but that didn&amp;rsquo;t result to anything. Not even the usual flogi (fibre channel login) errors, that you get when either booting/resetting the blade.&lt;/p&gt;</description></item><item><title>UCS 5108: Power problem</title><link>https://christian.blog.pakiheim.de/posts/2012-09-04_ucs-5108-power-problem/</link><pubDate>Tue, 04 Sep 2012 17:09:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4342</guid><description>&lt;p&gt;Well, I recently had yet another UCS display/I2C communication problem. Somehow one of my chassis&amp;rsquo; started to think, that the power redundancy was lost.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-6.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;After looking at it a bit deeper, it seems only the GUI or the chassis did notice this power glitch:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-5.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;As you can see, all PSU&amp;rsquo;s still have power. Now, since I had a big maintainance window the last weekend anyhow (and I spent ~14 hours at work), I decided to restart the IO modules in that chassis. And guess what: The error is gone! Another weird I2C communication issue with the firmware release 2.0.2 &amp;hellip;&lt;/p&gt;</description></item><item><title>SMT mirroring troubles</title><link>https://christian.blog.pakiheim.de/posts/2012-08-30_smt-mirroring-troubles/</link><pubDate>Thu, 30 Aug 2012 17:46:27 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4320</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been having issues with our SMT. Basically after the release of SLES11 SP2 in &lt;a href="http://forums.suse.com/showthread.php?711-add-catalogs-to-SMT-for-%28not-yet-used%29-versions"&gt;February&lt;/a&gt;, I&amp;rsquo;ve been waiting for the &lt;a href="http://www.claudiokuenzler.com/blog/265/howto-add-sles-11-sp2-updates-novell-smt-mirror-repository-repoindex"&gt;repositories&lt;/a&gt; to turn &amp;ldquo;mirrorable&amp;rdquo;, which they haven&amp;rsquo;t yet. So I wrote a mail to the EMEA customer support.&lt;/p&gt;
&lt;p&gt;And yesterday I got a reply, stating that my mirror credentials had been regenerated. And guess what ? I can mirror stuff again. So if you ever have any issues like the ones I described (or any of the people in the forum threads experienced), write a mail to your Novell customer support. &amp;#x1f61b;&lt;/p&gt;</description></item><item><title>SnapManager for SQL Server: Service fails to respond in a timely fashin</title><link>https://christian.blog.pakiheim.de/posts/2012-08-30_snapmanager-for-sql-server-service-fails-to-respond-in-a-timely-fashin/</link><pubDate>Thu, 30 Aug 2012 17:34:58 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4325</guid><description>&lt;p&gt;Well, we recently upgraded the SnapManager version on our test box to 6.4.1. Now however, after restarting the box the SnapManager service failed to start &amp;hellip; The error was something like this:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/event-id-7000&amp;#43;7009-snapmanager.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;Now, first I stumbled upon this &lt;a href="https://communities.netapp.com/thread/17862"&gt;NetApp Community post&lt;/a&gt;, which only contained the &amp;ldquo;solution&amp;rdquo; to increase the global! wait time for services. That didn&amp;rsquo;t sit well with me.&lt;/p&gt;
&lt;p&gt;So after looking through NOW! for a bit, I actually found the correct way. The fix is described in &lt;a href="https://kb.netapp.com/support/index?page=content&amp;amp;id=2010835"&gt;KB2010835&lt;/a&gt;. Yet again, another certificate error. Why do vendors deploy SSL certificates, when they use untrusted ones, which defeats the purpose of SSL certs or at least &amp;ldquo;brings up&amp;rdquo; users to ignore any error message they get concerning SSL certificates ?&lt;/p&gt;</description></item><item><title>Total Commander: Generate the sum of all directories</title><link>https://christian.blog.pakiheim.de/posts/2012-08-07_total-commander-generate-the-sum-of-all-directories/</link><pubDate>Tue, 07 Aug 2012 07:39:58 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4329</guid><description>&lt;p&gt;In a Total Commander file list press Shift+Alt+Enter to calculate the directory size of all sub-directories.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/uploads/2012/08/total-commander-dir-list.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/total-commander-dir-list.png"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Installserver: Publish a VMware ESX ISO - register-vmware</title><link>https://christian.blog.pakiheim.de/posts/2012-07-24_installserver-publish-a-vmware-esx-iso-register-vmware/</link><pubDate>Tue, 24 Jul 2012 16:21:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4324</guid><description>&lt;p&gt;Here&amp;rsquo;s an old script, that also uses the magic &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_installserver-regenerate-pxe-base-menu" title="Installserver: Regenerate PXE base menu"&gt;provided by pxe-menu-generation&lt;/a&gt; (the script I posted before), but for VMware ESX/ESXi.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt; 10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt; 11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt; 12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt; 13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt; 14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt; 15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt; 16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt; 17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt; 18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt; 19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt; 20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt; 21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt; 22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt; 23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt; 24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt; 25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt; 26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt; 27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt; 28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt; 29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt; 30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt; 31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt; 32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt; 33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt; 34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt; 35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt; 36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt; 37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt; 38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt; 39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt; 40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt; 41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt; 42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt; 43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt; 44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt; 45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt; 46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt; 47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt; 48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt; 49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt; 50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt; 51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt; 52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt; 53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt; 54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt; 55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt; 56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt; 57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt; 58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt; 59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt; 60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt; 61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt; 62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt; 63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-64"&gt;&lt;a class="lnlinks" href="#hl-0-64"&gt; 64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-65"&gt;&lt;a class="lnlinks" href="#hl-0-65"&gt; 65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-66"&gt;&lt;a class="lnlinks" href="#hl-0-66"&gt; 66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-67"&gt;&lt;a class="lnlinks" href="#hl-0-67"&gt; 67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-68"&gt;&lt;a class="lnlinks" href="#hl-0-68"&gt; 68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-69"&gt;&lt;a class="lnlinks" href="#hl-0-69"&gt; 69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-70"&gt;&lt;a class="lnlinks" href="#hl-0-70"&gt; 70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-71"&gt;&lt;a class="lnlinks" href="#hl-0-71"&gt; 71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-72"&gt;&lt;a class="lnlinks" href="#hl-0-72"&gt; 72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-73"&gt;&lt;a class="lnlinks" href="#hl-0-73"&gt; 73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-74"&gt;&lt;a class="lnlinks" href="#hl-0-74"&gt; 74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-75"&gt;&lt;a class="lnlinks" href="#hl-0-75"&gt; 75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-76"&gt;&lt;a class="lnlinks" href="#hl-0-76"&gt; 76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-77"&gt;&lt;a class="lnlinks" href="#hl-0-77"&gt; 77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-78"&gt;&lt;a class="lnlinks" href="#hl-0-78"&gt; 78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-79"&gt;&lt;a class="lnlinks" href="#hl-0-79"&gt; 79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-80"&gt;&lt;a class="lnlinks" href="#hl-0-80"&gt; 80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-81"&gt;&lt;a class="lnlinks" href="#hl-0-81"&gt; 81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-82"&gt;&lt;a class="lnlinks" href="#hl-0-82"&gt; 82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-83"&gt;&lt;a class="lnlinks" href="#hl-0-83"&gt; 83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-84"&gt;&lt;a class="lnlinks" href="#hl-0-84"&gt; 84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-85"&gt;&lt;a class="lnlinks" href="#hl-0-85"&gt; 85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-86"&gt;&lt;a class="lnlinks" href="#hl-0-86"&gt; 86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-87"&gt;&lt;a class="lnlinks" href="#hl-0-87"&gt; 87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-88"&gt;&lt;a class="lnlinks" href="#hl-0-88"&gt; 88&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-89"&gt;&lt;a class="lnlinks" href="#hl-0-89"&gt; 89&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-90"&gt;&lt;a class="lnlinks" href="#hl-0-90"&gt; 90&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-91"&gt;&lt;a class="lnlinks" href="#hl-0-91"&gt; 91&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-92"&gt;&lt;a class="lnlinks" href="#hl-0-92"&gt; 92&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-93"&gt;&lt;a class="lnlinks" href="#hl-0-93"&gt; 93&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-94"&gt;&lt;a class="lnlinks" href="#hl-0-94"&gt; 94&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-95"&gt;&lt;a class="lnlinks" href="#hl-0-95"&gt; 95&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-96"&gt;&lt;a class="lnlinks" href="#hl-0-96"&gt; 96&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-97"&gt;&lt;a class="lnlinks" href="#hl-0-97"&gt; 97&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-98"&gt;&lt;a class="lnlinks" href="#hl-0-98"&gt; 98&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-99"&gt;&lt;a class="lnlinks" href="#hl-0-99"&gt; 99&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-100"&gt;&lt;a class="lnlinks" href="#hl-0-100"&gt;100&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-101"&gt;&lt;a class="lnlinks" href="#hl-0-101"&gt;101&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-102"&gt;&lt;a class="lnlinks" href="#hl-0-102"&gt;102&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-103"&gt;&lt;a class="lnlinks" href="#hl-0-103"&gt;103&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-104"&gt;&lt;a class="lnlinks" href="#hl-0-104"&gt;104&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-105"&gt;&lt;a class="lnlinks" href="#hl-0-105"&gt;105&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-106"&gt;&lt;a class="lnlinks" href="#hl-0-106"&gt;106&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-107"&gt;&lt;a class="lnlinks" href="#hl-0-107"&gt;107&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-108"&gt;&lt;a class="lnlinks" href="#hl-0-108"&gt;108&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-109"&gt;&lt;a class="lnlinks" href="#hl-0-109"&gt;109&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-110"&gt;&lt;a class="lnlinks" href="#hl-0-110"&gt;110&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-111"&gt;&lt;a class="lnlinks" href="#hl-0-111"&gt;111&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TFTP_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/srv/tftp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;INSTSRC_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/srv/instsrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="nv"&gt;$@&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Usage: register-vmware &amp;lt;path to iso-file&amp;gt; labelname&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set -x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ISO_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -o loop &lt;span class="nv"&gt;$ISO_FILE&lt;/span&gt; /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f /mnt/loop/packages.xml &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Determine ISO information&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;&amp;lt;name&amp;gt;&amp;#34;&lt;/span&gt; /mnt/loop/packages.xml &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;name&amp;gt;,,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;/name&amp;gt;,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;&amp;lt;ProductLineId&amp;gt;&amp;#34;&lt;/span&gt; /mnt/loop/packages.xml &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;ProductLineId&amp;gt;,,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;/ProductLineId&amp;gt;,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;&amp;lt;version&amp;gt;&amp;#34;&lt;/span&gt; /mnt/loop/packages.xml &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;version&amp;gt;,,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;/version&amp;gt;,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_BUILD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;&amp;lt;release&amp;gt;&amp;#34;&lt;/span&gt; /mnt/loop/packages.xml &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;release&amp;gt;,,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;/release&amp;gt;,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;shopt&lt;/span&gt; -s extglob
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="p"&gt;##*( )&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="p"&gt;##*( )&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="p"&gt;##*( )&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_BUILD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;OS_BUILD&lt;/span&gt;&lt;span class="p"&gt;##*( )&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f /mnt/loop/README.txt &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_BUILD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create directories&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/pxelinux.cfg/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set +x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Copy CD/DVD content&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rsync -av /mnt/loop/* &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Copy the PXE boot file (initrd/kernel)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;/isolinux/initrd.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;/initrd.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;/isolinux/vmlinuz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;/vmlinuz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create the PXE boot menu&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat &amp;gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/pxelinux.cfg/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;-&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;.menu &lt;span class="s"&gt;&amp;lt;&amp;lt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#LABEL $OS_LABEL $OS_RELEASE - build $OS_BUILD
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#OSNAME $OS_NAME
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#OSARCH x86_64
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU TITLE VMware Installservice
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU BACKGROUND addons/background-vmware.png
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR screen 37;40 #80ffffff #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR border 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR title 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR unsel 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR sel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR scrollbar 30;44 #40000000 #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR tabmsg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR cmdmark 0 #ff00ff00 #00000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR cmdline 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR timeout_msg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR timeout 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR disabled 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdheader 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdborder 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdentry 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR hotkey 0 #ff00ff00 #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR hotsel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL DESC
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU LABEL $OS_LABEL $OS_RELEASE
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU DISABLE
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU SEPARATOR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL kickstart
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU LABEL ^Kickstart Installation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;KERNEL boot/$OS_NAME/$OS_RELEASE-$OS_BUILD/vmlinuz
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;APPEND initrd=boot/$OS_NAME/$OS_RELEASE-$OS_BUILD/initrd.img vmkopts=debugLogToSerial:1 mem=512M ks=http://install.home.barfoo.org/kickstart/$OS_NAME-$OS_RELEASE-$OS_BUILD.cfg HOSTNAME=
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;IAPPEND 1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;TEXT HELP
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Es ist zu beachten, das mit TAB der Hostname angepasst werden muss!
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;ENDTEXT
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL netinst
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU LABEL ^Netzwerkbasierte Installation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;KERNEL boot/$OS_NAME/$OS_RELEASE-$OS_BUILD/vmlinuz
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;APPEND initrd=boot/$OS_NAME/$OS_RELEASE-$OS_BUILD/initrd.img vmkopts=debugLogToSerial:1 mem=512M url=http://install.home.barfoo.org/instsrc/$OS_NAME/$OS_RELEASE-$OS_BUILD
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;IAPPEND 1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU SEPARATOR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL back
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU LABEL &amp;lt;-- ^Vorherige Ansicht
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;KERNEL addons/vesamenu.c32
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;APPEND pxelinux.cfg/$OS_NAME.menu
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;umount /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rmdir /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Installserver: Publish a SLES/OpenSUSE ISO - register-suse</title><link>https://christian.blog.pakiheim.de/posts/2012-07-24_installserver-publish-a-sles-opensuse-iso-register-suse/</link><pubDate>Tue, 24 Jul 2012 13:20:34 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4323</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been tinkering with a way to &amp;ldquo;unify&amp;rdquo; the way we deploy new OpenSUSE/SLES ISOs onto our installation server, once they are released. So here, I&amp;rsquo;ll show you the script I came up with:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt; 10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt; 11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt; 12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt; 13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt; 14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt; 15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt; 16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt; 17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt; 18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt; 19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt; 20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt; 21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt; 22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt; 23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt; 24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt; 25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt; 26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt; 27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt; 28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt; 29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt; 30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt; 31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt; 32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt; 33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt; 34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt; 35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt; 36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt; 37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt; 38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt; 39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt; 40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt; 41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt; 42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt; 43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt; 44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt; 45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt; 46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt; 47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt; 48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt; 49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt; 50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt; 51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt; 52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt; 53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt; 54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt; 55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt; 56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt; 57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt; 58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt; 59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt; 60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt; 61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt; 62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt; 63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-64"&gt;&lt;a class="lnlinks" href="#hl-0-64"&gt; 64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-65"&gt;&lt;a class="lnlinks" href="#hl-0-65"&gt; 65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-66"&gt;&lt;a class="lnlinks" href="#hl-0-66"&gt; 66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-67"&gt;&lt;a class="lnlinks" href="#hl-0-67"&gt; 67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-68"&gt;&lt;a class="lnlinks" href="#hl-0-68"&gt; 68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-69"&gt;&lt;a class="lnlinks" href="#hl-0-69"&gt; 69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-70"&gt;&lt;a class="lnlinks" href="#hl-0-70"&gt; 70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-71"&gt;&lt;a class="lnlinks" href="#hl-0-71"&gt; 71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-72"&gt;&lt;a class="lnlinks" href="#hl-0-72"&gt; 72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-73"&gt;&lt;a class="lnlinks" href="#hl-0-73"&gt; 73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-74"&gt;&lt;a class="lnlinks" href="#hl-0-74"&gt; 74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-75"&gt;&lt;a class="lnlinks" href="#hl-0-75"&gt; 75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-76"&gt;&lt;a class="lnlinks" href="#hl-0-76"&gt; 76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-77"&gt;&lt;a class="lnlinks" href="#hl-0-77"&gt; 77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-78"&gt;&lt;a class="lnlinks" href="#hl-0-78"&gt; 78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-79"&gt;&lt;a class="lnlinks" href="#hl-0-79"&gt; 79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-80"&gt;&lt;a class="lnlinks" href="#hl-0-80"&gt; 80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-81"&gt;&lt;a class="lnlinks" href="#hl-0-81"&gt; 81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-82"&gt;&lt;a class="lnlinks" href="#hl-0-82"&gt; 82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-83"&gt;&lt;a class="lnlinks" href="#hl-0-83"&gt; 83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-84"&gt;&lt;a class="lnlinks" href="#hl-0-84"&gt; 84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-85"&gt;&lt;a class="lnlinks" href="#hl-0-85"&gt; 85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-86"&gt;&lt;a class="lnlinks" href="#hl-0-86"&gt; 86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-87"&gt;&lt;a class="lnlinks" href="#hl-0-87"&gt; 87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-88"&gt;&lt;a class="lnlinks" href="#hl-0-88"&gt; 88&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-89"&gt;&lt;a class="lnlinks" href="#hl-0-89"&gt; 89&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-90"&gt;&lt;a class="lnlinks" href="#hl-0-90"&gt; 90&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-91"&gt;&lt;a class="lnlinks" href="#hl-0-91"&gt; 91&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-92"&gt;&lt;a class="lnlinks" href="#hl-0-92"&gt; 92&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-93"&gt;&lt;a class="lnlinks" href="#hl-0-93"&gt; 93&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-94"&gt;&lt;a class="lnlinks" href="#hl-0-94"&gt; 94&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-95"&gt;&lt;a class="lnlinks" href="#hl-0-95"&gt; 95&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-96"&gt;&lt;a class="lnlinks" href="#hl-0-96"&gt; 96&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-97"&gt;&lt;a class="lnlinks" href="#hl-0-97"&gt; 97&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-98"&gt;&lt;a class="lnlinks" href="#hl-0-98"&gt; 98&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-99"&gt;&lt;a class="lnlinks" href="#hl-0-99"&gt; 99&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-100"&gt;&lt;a class="lnlinks" href="#hl-0-100"&gt;100&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-101"&gt;&lt;a class="lnlinks" href="#hl-0-101"&gt;101&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-102"&gt;&lt;a class="lnlinks" href="#hl-0-102"&gt;102&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-103"&gt;&lt;a class="lnlinks" href="#hl-0-103"&gt;103&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-104"&gt;&lt;a class="lnlinks" href="#hl-0-104"&gt;104&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-105"&gt;&lt;a class="lnlinks" href="#hl-0-105"&gt;105&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-106"&gt;&lt;a class="lnlinks" href="#hl-0-106"&gt;106&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-107"&gt;&lt;a class="lnlinks" href="#hl-0-107"&gt;107&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-108"&gt;&lt;a class="lnlinks" href="#hl-0-108"&gt;108&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-109"&gt;&lt;a class="lnlinks" href="#hl-0-109"&gt;109&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-110"&gt;&lt;a class="lnlinks" href="#hl-0-110"&gt;110&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-111"&gt;&lt;a class="lnlinks" href="#hl-0-111"&gt;111&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-112"&gt;&lt;a class="lnlinks" href="#hl-0-112"&gt;112&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-113"&gt;&lt;a class="lnlinks" href="#hl-0-113"&gt;113&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-114"&gt;&lt;a class="lnlinks" href="#hl-0-114"&gt;114&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-115"&gt;&lt;a class="lnlinks" href="#hl-0-115"&gt;115&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-116"&gt;&lt;a class="lnlinks" href="#hl-0-116"&gt;116&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-117"&gt;&lt;a class="lnlinks" href="#hl-0-117"&gt;117&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-118"&gt;&lt;a class="lnlinks" href="#hl-0-118"&gt;118&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-119"&gt;&lt;a class="lnlinks" href="#hl-0-119"&gt;119&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-120"&gt;&lt;a class="lnlinks" href="#hl-0-120"&gt;120&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-121"&gt;&lt;a class="lnlinks" href="#hl-0-121"&gt;121&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-122"&gt;&lt;a class="lnlinks" href="#hl-0-122"&gt;122&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-123"&gt;&lt;a class="lnlinks" href="#hl-0-123"&gt;123&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-124"&gt;&lt;a class="lnlinks" href="#hl-0-124"&gt;124&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-125"&gt;&lt;a class="lnlinks" href="#hl-0-125"&gt;125&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-126"&gt;&lt;a class="lnlinks" href="#hl-0-126"&gt;126&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-127"&gt;&lt;a class="lnlinks" href="#hl-0-127"&gt;127&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-128"&gt;&lt;a class="lnlinks" href="#hl-0-128"&gt;128&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TFTP_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/srv/tftpboot
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;INSTSRC_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/srv/instsrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="nv"&gt;$@&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Usage: register-suse &amp;lt;path to iso-file&amp;gt; labelname&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ISO_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -o loop &lt;span class="nv"&gt;$ISO_FILE&lt;/span&gt; /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Determine ISO information&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^LABEL&amp;#39;&lt;/span&gt; /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f10- &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_LABEL&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^LABEL&amp;#39;&lt;/span&gt; /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f2- &lt;span class="p"&gt;|&lt;/span&gt; head -n1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^DISTRIBUTION&amp;#39;&lt;/span&gt; /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f3- &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;[:upper:]&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;[:lower:]&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^PRODUCT&amp;#39;&lt;/span&gt; /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f2- &lt;span class="p"&gt;|&lt;/span&gt; cut -d_ -f1-2 &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;[:upper:]&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;[:lower:]&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; suse_sle&lt;span class="p"&gt;|&lt;/span&gt;suse_sles&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;sles&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^VERSION /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d- -f1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$OS_LABEL&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -i vmware &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;&lt;span class="s2"&gt;-vmware&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OS_ARCH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^BASEARCHS /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_ARCH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^DEFAULTBASE /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OS_SHORTLABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^SHORTLABEL /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;(&lt;/span&gt; -f1 &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,SLES-,SLES,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,-, ,g&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; i*86&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;OS_ARCH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;x86&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; x86_64&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;OS_ARCH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;x64&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create directories&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/pxelinux.cfg/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Copy CD/DVD content&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rsync -av /mnt/loop/* &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create the info file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat &amp;gt; &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/info &lt;span class="s"&gt;&amp;lt;&amp;lt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Language: en_US
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Keytable: de-lat1-nd
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Install: http://install.home.barfoo.org/{INSTSRC_DIR//srv/}/$OS_NAME/$OS_RELEASE/$OS_ARCH/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Autoyast: http://install.home.barfoo.org/autoyast/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Textmode: 1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Copy the PXE boot file (initrd/kernel)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/boot/*/loader/initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/boot/*/loader/linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create the PXE boot menu&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat &amp;gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/pxelinux.cfg/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;-&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;.menu &lt;span class="s"&gt;&amp;lt;&amp;lt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#LABEL $OS_SHORTLABEL
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#OSNAME $OS_NAME
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#OSARCH $OS_ARCH
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU TITLE Linux Installationservices
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU BACKGROUND addons/background-suse.png
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR screen 37;40 #80ffffff #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR border 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR title 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR unsel 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR sel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR scrollbar 30;44 #40000000 #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR tabmsg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR cmdmark 0 #ff00ff00 #00000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR cmdline 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR timeout_msg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR timeout 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR disabled 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdheader 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdborder 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdentry 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR hotkey 0 #ff00ff00 #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR hotsel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL DESC
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU LABEL $OS_LABEL ($OS_ARCH)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU DISABLE
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU SEPARATOR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL autoyast
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU LABEL ^Automatisierte Installation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; KERNEL boot/$OS_NAME/$OS_RELEASE/$OS_ARCH/linux
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; APPEND initrd=boot/$OS_NAME/$OS_RELEASE/$OS_ARCH/initrd info=http://install.home.barfoo.org/${INSTSRC_DIR//srv/}/$OS_NAME/$OS_RELEASE/$OS_ARCH/info splash=native ramdisk_size=65535 vga=791 barrier=off
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL netinst
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU LABEL ^Netzwerkbasierte Installation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; KERNEL boot/$OS_NAME/$OS_RELEASE/$OS_ARCH/linux
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; APPEND initrd=boot/$OS_NAME/$OS_RELEASE/$OS_ARCH/initrd install=http://install.home.barfoo.org/${INSTSRC_DIR//srv/}/$OS_NAME/$OS_RELEASE/$OS_ARCH/ splash=native ramdisk_size=65535 vga=791 barrier=off
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU SEPARATOR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL back
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU LABEL &amp;lt;-- ^Vorherige Ansicht
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; KERNEL addons/vesamenu.c32
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; APPEND pxelinux.cfg/$OS_NAME.menu
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;umount /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rmdir /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This also needs a second script, as this will only create a menu entry, not the menu itself. You&amp;rsquo;ll &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_installserver-regenerate-pxe-base-menu" title="Installserver: Regenerate PXE base menu"&gt;find the script in the next post&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>VMs in Alarm state after scheduled maintainance</title><link>https://christian.blog.pakiheim.de/posts/2012-07-22_vms-in-alarm-state-after-scheduled-maintainance/</link><pubDate>Sun, 22 Jul 2012 10:38:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4318</guid><description>&lt;p&gt;Well, I&amp;rsquo;m back at work after three weeks of vacation (some pictures to follow) and the provider hosting our disaster datacenter had their annual (or is it monthly now?) SAN maintainance, so we shut down everything over there by 9:00 am.&lt;/p&gt;
&lt;p&gt;After things were back up around 5pm, I booted the ESX hosts, however the VMs we&amp;rsquo;re all displaying the alert state - as if either the VMs had an HA event or we&amp;rsquo;re using to much CPU time. It didn&amp;rsquo;t matter whether or not the VM was running or not, the state persisted.&lt;/p&gt;</description></item><item><title>Vacation</title><link>https://christian.blog.pakiheim.de/posts/2012-06-25_vacation/</link><pubDate>Mon, 25 Jun 2012 14:28:51 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4312</guid><description>&lt;p&gt;As might have noticed, I haven&amp;rsquo;t posted anything in the last week. Well, as you might have figured, (oh I don&amp;rsquo;t know - maybe from the blog title) I&amp;rsquo;m enjoying a three week long vacation.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/06/IMG_0005.jpg" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;I&amp;rsquo;m staying with my parents, doing day trips and getting a tan (I&amp;rsquo;m working pretty hard on that!). I still have two weeks left (well, actually only 11 days - makes it one week and change), as I&amp;rsquo;m leaving for Stuttgart next Friday.&lt;/p&gt;</description></item><item><title>NetApp - Remove LUN mappings</title><link>https://christian.blog.pakiheim.de/posts/2012-06-15_netapp-remove-lun-mappings/</link><pubDate>Fri, 15 Jun 2012 14:30:58 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4309</guid><description>&lt;p&gt;As &lt;a href="https://christian.blog.pakiheim.de/posts/2012-06-15_netapp-remove-lun-mappings" title="NetApp – Copy LUN mappings"&gt;promised in the earlier post&lt;/a&gt;, for completeness sake, here&amp;rsquo;s the counterpart for removing the LUNs in the first place.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;#!/bin/bash&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KEY_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp.dsa&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SSH_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp-ssh_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$#&lt;/span&gt; -ne &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;fas-remove-lunmap: FAS_CONTROLLER TARGET_IGROUP&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Remove every mapped lun from the target igroup (for example reinstallation)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; Usage:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - FAS_CONTROLLER: Hostname/IP-adress of the DATA ONTAP controller&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - TARGET_IGROUP: igroup that is actually modified&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_CTRL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TARGET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh_fas&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# $@: commands for Data ONTAP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;COMMANDS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /usr/bin/ssh -i &lt;span class="nv"&gt;$KEY_FILE&lt;/span&gt; -l root -F &lt;span class="nv"&gt;$SSH_OPTS&lt;/span&gt; &lt;span class="nv"&gt;$COMMANDS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get the hostname of the controller, necessary for the reporting&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CTRL_HOSTNAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; rdfile /etc/rc &lt;span class="p"&gt;|&lt;/span&gt; grep ^hostname &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f2 &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;a-z&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;A-Z&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set -x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get the lun list.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; lun in &lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun show -g &lt;span class="nv"&gt;$SOURCE&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort -u &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# If the LUN id is 0, skip otherwise we would remove the boot LUN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$LUN_ID&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Actually remove the mapping to our host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Removing &lt;/span&gt;&lt;span class="nv"&gt;$lun&lt;/span&gt;&lt;span class="s2"&gt; from &lt;/span&gt;&lt;span class="nv"&gt;$TARGET&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun unmap &lt;span class="nv"&gt;$lun&lt;/span&gt; &lt;span class="nv"&gt;$TARGET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set +x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;With that, you can simply run it against a NetApp controller and remove every LUN map except the one with LUN ID 0 (which is pretty handy when installing/reinstalling ESX servers).&lt;/p&gt;</description></item><item><title>NetApp - Get a list of volumes containing too much LUNs</title><link>https://christian.blog.pakiheim.de/posts/2012-06-08_netapp-get-a-list-of-volumes-containing-too-much-luns/</link><pubDate>Fri, 08 Jun 2012 19:04:53 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4303</guid><description>&lt;p&gt;Well, after figuring things out (and realizing that if you create a LUN in the same size as the volume it&amp;rsquo;ll break), I decided to write yet another script to figure out which LUNs needed fixing.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt;58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt;59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt;60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt;61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt;62&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KEY_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp.dsa&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SSH_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp-ssh_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_CTRL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh_fas&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# $@: commands for Data ONTAP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;COMMANDS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /usr/bin/ssh -i &lt;span class="nv"&gt;$KEY_FILE&lt;/span&gt; -l root -F &lt;span class="nv"&gt;$SSH_OPTS&lt;/span&gt; &lt;span class="nv"&gt;$COMMANDS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; volume in &lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; vol status &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;vol.* online&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; vol size &lt;span class="nv"&gt;$volume&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $8 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s2"&gt;&amp;#34;s,.,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_UNIT_PARAM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;VOL_SIZE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; - 1&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_UNIT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;VOL_SIZE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;$VOL_UNIT_PARAM&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="nv"&gt;$VOL_UNIT&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; k&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;CONV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1024&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; m&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;CONV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1024 * 1024&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; g&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;CONV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1024 * 1024 * 1024&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=0; &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;VOL_SIZE&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$VOL_UNIT&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; * &lt;/span&gt;&lt;span class="nv"&gt;$CONV&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Subtract the snap reserve (if any)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SNAP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; snap reserve &lt;span class="nv"&gt;$volume&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f7 &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s2"&gt;&amp;#34;s,%,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$SNAP&lt;/span&gt; -gt &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SNAP_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; * &lt;/span&gt;&lt;span class="nv"&gt;$SNAP&lt;/span&gt;&lt;span class="s2"&gt; / 100&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REMAINING_VOL_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$SNAP_SIZE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SNAP_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REMAINING_VOL_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Get the luns created inside the volume&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; lunsize in &lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun show -l &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $3 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,(,,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,),,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="s2"&gt; + &lt;/span&gt;&lt;span class="nv"&gt;$lunsize&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REMAINING_VOL_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$REMAINING_VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$lunsize&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Get the estimated space necessary.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_RESERVE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; * 3 / 100&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; VOL_NAME: &lt;/span&gt;&lt;span class="nv"&gt;$volume&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; VOLUME_SIZE: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; &lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - SNAP_SIZE: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; &lt;/span&gt;&lt;span class="nv"&gt;$SNAP_SIZE&lt;/span&gt;&lt;span class="s2"&gt; / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; SUB_TOTAL: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; (&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$SNAP_SIZE&lt;/span&gt;&lt;span class="s2"&gt;) / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - TOTAL_LUN_SIZE: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; &lt;/span&gt;&lt;span class="nv"&gt;$LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="s2"&gt; / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; SUB_TOTAL: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; (&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$SNAP_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="s2"&gt;) / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; MISSING_SPACE:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;DIFFERENCE_VOL_LUN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; (&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$SNAP_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s2"&gt;&amp;#34;s,-,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; DIFFERENCE_VOL_LUN: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; &lt;/span&gt;&lt;span class="nv"&gt;$DIFFERENCE_VOL_LUN&lt;/span&gt;&lt;span class="s2"&gt; / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; + VOL_RESERVE: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; &lt;/span&gt;&lt;span class="nv"&gt;$VOL_RESERVE&lt;/span&gt;&lt;span class="s2"&gt; / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; SUB_TOTAL: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; (&lt;/span&gt;&lt;span class="nv"&gt;$DIFFERENCE_VOL_LUN&lt;/span&gt;&lt;span class="s2"&gt; + &lt;/span&gt;&lt;span class="nv"&gt;$VOL_RESERVE&lt;/span&gt;&lt;span class="s2"&gt;) / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And with that you have a list of volumes, with the amount of space they need to resized in order to accomodate the contained LUNs and the snapshots.&lt;/p&gt;</description></item><item><title>XenServer - Automation Metdata backups</title><link>https://christian.blog.pakiheim.de/posts/2012-06-05_xenserver-automation-metdata-backups/</link><pubDate>Tue, 05 Jun 2012 18:59:48 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4301</guid><description>&lt;p&gt;Well, we had some issues with XenServers &amp;ldquo;automated&amp;rdquo; metadata backup, so I decided - with the help of one of our consultants - to automate it on our own to an external target.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Crontab entry for each server:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 02 5 * * * root /usr/local/sbin/xen-pool-backup.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get the pool name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;POOL_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; xe pool-list &lt;span class="p"&gt;|&lt;/span&gt; grep name-label &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $4 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_UUID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; xe host-list &lt;span class="nv"&gt;hostname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;hostname&lt;span class="sb"&gt;`&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;uuid ( RO)&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $5 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DAILY_GENERATIONS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;7&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;WEEKLY_GENERATIONS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NFS_MOUNT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;nfs.home.barfoo.org:/srv/xenbackup&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/tmp/backup-mount/&lt;/span&gt;&lt;span class="nv"&gt;$POOL_NAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Figure out if we&amp;#39;re the pool master&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;POOL_MASTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; xe pool-list &lt;span class="p"&gt;|&lt;/span&gt; grep master &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $4 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$POOL_MASTER&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$HOST_UUID&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Only the pool master should backup the pool database, as this is the only&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# one who has a authoritive pool database&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Create the necessary directory and mount the NFS volume&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mkdir -p &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mount -t nfs &lt;span class="nv"&gt;$NFS_MOUNT&lt;/span&gt; &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mkdir -p &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$DAILY_GENERATIONS&lt;/span&gt;.gz &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; rm -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$DAILY_GENERATIONS&lt;/span&gt;.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OLD_DAILY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=0; &lt;/span&gt;&lt;span class="nv"&gt;$DAILY_GENERATIONS&lt;/span&gt;&lt;span class="s2"&gt; - 1&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; OLD in &lt;span class="k"&gt;$(&lt;/span&gt; seq &lt;span class="nv"&gt;$OLD_DAILY&lt;/span&gt; -1 &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$OLD&lt;/span&gt;.gz &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;NEW&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=0; &lt;/span&gt;&lt;span class="nv"&gt;$OLD&lt;/span&gt;&lt;span class="s2"&gt;+1&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Save the time stamp somewhere&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; touch &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp -r &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$OLD&lt;/span&gt;.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mv &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$OLD&lt;/span&gt;.gz &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$NEW&lt;/span&gt;.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Restore the date&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; touch &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$NEW&lt;/span&gt;.gz -r &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0.gz &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; mv &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.1.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; xe pool-dump-database file-name&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gzip -9 &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; rm &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; umount &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; rm -rf &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;With that, I have at least a daily backup - and in combination with our daily TSM backup, I have at least month long history of metadata backups.&lt;/p&gt;</description></item><item><title>XenServer - Metadata Backup</title><link>https://christian.blog.pakiheim.de/articles/xenserver-metadata-backup/</link><pubDate>Tue, 05 Jun 2012 17:13:21 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/articles/xenserver-metadata-backup/</guid><description>&lt;p&gt;Well, we had some issues with XenServer and its Metadata Backup in the past, thus I decided to write my own crontab-able script, which is installed/running on each XenServer.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Crontab entry for each server:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 02 5 * * * root /usr/local/sbin/xen-pool-backup.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get the pool name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;POOL_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; xe pool-list &lt;span class="p"&gt;|&lt;/span&gt; grep name-label &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $4 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_UUID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; xe host-list &lt;span class="nv"&gt;hostname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;hostname&lt;span class="sb"&gt;`&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;uuid ( RO)&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $5 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DAILY_GENERATIONS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;7&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;WEEKLY_GENERATIONS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NFS_MOUNT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;10.76.5.10:/srv/backup&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/tmp/backup-mount/&lt;/span&gt;&lt;span class="nv"&gt;$POOL_NAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Figure out if we&amp;#39;re the pool master&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;POOL_MASTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; xe pool-list &lt;span class="p"&gt;|&lt;/span&gt; grep master &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $4 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$POOL_MASTER&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$HOST_UUID&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Only the pool master should backup the pool database, as this is the only&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# one who has a authoritive pool database&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Create the necessary directory and mount the NFS volume&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; mkdir -p &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; mount -t nfs &lt;span class="nv"&gt;$NFS_MOUNT&lt;/span&gt; &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; mkdir -p &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$DAILY_GENERATIONS&lt;/span&gt;.gz &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; rm -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$DAILY_GENERATIONS&lt;/span&gt;.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OLD_DAILY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=0; &lt;/span&gt;&lt;span class="nv"&gt;$DAILY_GENERATIONS&lt;/span&gt;&lt;span class="s2"&gt; - 1&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; OLD in &lt;span class="k"&gt;$(&lt;/span&gt; seq &lt;span class="nv"&gt;$OLD_DAILY&lt;/span&gt; -1 &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$OLD&lt;/span&gt;.gz &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;NEW&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=0; &lt;/span&gt;&lt;span class="nv"&gt;$OLD&lt;/span&gt;&lt;span class="s2"&gt;+1&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Save the time stamp somewhere&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; touch &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp -r &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$OLD&lt;/span&gt;.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; mv &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$OLD&lt;/span&gt;.gz &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$NEW&lt;/span&gt;.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Restore the date&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; touch &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$NEW&lt;/span&gt;.gz -r &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0.gz &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; mv &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0.gz &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.1.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; xe pool-dump-database file-name&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; gzip -9 &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; rm &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; umount &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt; rm -rf &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>NetApp - Get a list of all volumes not being used</title><link>https://christian.blog.pakiheim.de/posts/2012-05-30_netapp-get-a-list-of-all-volumes-not-being-used/</link><pubDate>Wed, 30 May 2012 17:40:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4297</guid><description>&lt;p&gt;Well, I had another task for today &amp;hellip; I have an amount of FlexVolumes (sixty currently per controller), and I didn&amp;rsquo;t know if we had any, that didn&amp;rsquo;t have any LUNs on them. Now I thought there was a command for that since my co-worker mentioned something like that. However, once again &amp;hellip; there isn&amp;rsquo;t.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;MAILTO&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;san@barfoo.org&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KEY_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp.dsa&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SSH_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp-ssh_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_CTRL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TMPDIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; mktemp -d &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh_fas&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# $@: commands for Data ONTAP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;COMMANDS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /usr/bin/ssh -i &lt;span class="nv"&gt;$KEY_FILE&lt;/span&gt; -l root -F &lt;span class="nv"&gt;$SSH_OPTS&lt;/span&gt; &lt;span class="nv"&gt;$COMMANDS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get the hostname of the controller, necessary for the reporting&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CTRL_HOSTNAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; rdfile /etc/rc &lt;span class="p"&gt;|&lt;/span&gt; grep ^hostname &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cut -d -f2 &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;a-z&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;A-Z&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get a list of all volumes / luns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;VOL_LIST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; vol status &lt;span class="p"&gt;|&lt;/span&gt; grep ^vol &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; egrep -v &lt;span class="s1"&gt;&amp;#39;(nfs|cifs)&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;LUN_LIST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun show &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;/vol&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; lun in &lt;span class="nv"&gt;$LUN_LIST&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_EXTRACT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$lun&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d/ -f3 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_LIST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;VOL_LIST&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;VOL_EXTRACT&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; vol in &lt;span class="nv"&gt;$VOL_LIST&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Empty Flex Volume: &lt;/span&gt;&lt;span class="nv"&gt;$vol&lt;/span&gt;&lt;span class="s2"&gt;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt; &amp;gt; &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/mailcontent
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep Flex &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/mailcontent &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cat &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/mailcontent &lt;span class="p"&gt;|&lt;/span&gt; mailx -r &lt;span class="nv"&gt;$MAILTO&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -s &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CTRL_HOSTNAME&lt;/span&gt;&lt;span class="s2"&gt;: Empty volume check&amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;$MAILTO&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm -r &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Automating qual_devices updates</title><link>https://christian.blog.pakiheim.de/posts/2012-05-30_automating-qual-devices-updates/</link><pubDate>Wed, 30 May 2012 17:23:58 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4296</guid><description>&lt;p&gt;Well, once again I was presented with a nice AutoSupport warning once I logged into my NOW account. Since we don&amp;rsquo;t have CIFS and/or NFS licensed on our filers, I wrote a cute little script that does the whole work for me.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt;58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt;59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt;60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt;61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt;62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt;63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-64"&gt;&lt;a class="lnlinks" href="#hl-0-64"&gt;64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-65"&gt;&lt;a class="lnlinks" href="#hl-0-65"&gt;65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-66"&gt;&lt;a class="lnlinks" href="#hl-0-66"&gt;66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-67"&gt;&lt;a class="lnlinks" href="#hl-0-67"&gt;67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-68"&gt;&lt;a class="lnlinks" href="#hl-0-68"&gt;68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-69"&gt;&lt;a class="lnlinks" href="#hl-0-69"&gt;69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-70"&gt;&lt;a class="lnlinks" href="#hl-0-70"&gt;70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-71"&gt;&lt;a class="lnlinks" href="#hl-0-71"&gt;71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-72"&gt;&lt;a class="lnlinks" href="#hl-0-72"&gt;72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-73"&gt;&lt;a class="lnlinks" href="#hl-0-73"&gt;73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-74"&gt;&lt;a class="lnlinks" href="#hl-0-74"&gt;74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-75"&gt;&lt;a class="lnlinks" href="#hl-0-75"&gt;75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-76"&gt;&lt;a class="lnlinks" href="#hl-0-76"&gt;76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-77"&gt;&lt;a class="lnlinks" href="#hl-0-77"&gt;77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-78"&gt;&lt;a class="lnlinks" href="#hl-0-78"&gt;78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-79"&gt;&lt;a class="lnlinks" href="#hl-0-79"&gt;79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-80"&gt;&lt;a class="lnlinks" href="#hl-0-80"&gt;80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-81"&gt;&lt;a class="lnlinks" href="#hl-0-81"&gt;81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-82"&gt;&lt;a class="lnlinks" href="#hl-0-82"&gt;82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-83"&gt;&lt;a class="lnlinks" href="#hl-0-83"&gt;83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-84"&gt;&lt;a class="lnlinks" href="#hl-0-84"&gt;84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-85"&gt;&lt;a class="lnlinks" href="#hl-0-85"&gt;85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-86"&gt;&lt;a class="lnlinks" href="#hl-0-86"&gt;86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-87"&gt;&lt;a class="lnlinks" href="#hl-0-87"&gt;87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-88"&gt;&lt;a class="lnlinks" href="#hl-0-88"&gt;88&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TMPDIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; mktemp -d &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KEY_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp.dsa&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SSH_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp-ssh_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_CTRL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;QUALDEVICES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh_fas&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# $@: commands for Data ONTAP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;COMMANDS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /usr/bin/ssh -i &lt;span class="nv"&gt;$KEY_FILE&lt;/span&gt; -l root -F &lt;span class="nv"&gt;$SSH_OPTS&lt;/span&gt; &lt;span class="nv"&gt;$COMMANDS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set -x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Updating qual_devices on &lt;/span&gt;&lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Enable ftpd if it isn&amp;#39;t enabled already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;Checking FTP subsystem&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FTPD_INITIAL_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; options ftpd.enable &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$FTPD_INITIAL_STATE&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;off&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; options ftpd.enable on
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; .... ok&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; .... ok&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; -s -p &lt;span class="s2"&gt;&amp;#34;Please supply the root password for &lt;/span&gt;&lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt;&lt;span class="s2"&gt;: &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ROOT_PASSWD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$REPLY&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Checking qual_devices:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34; Running: &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/fas-version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Check the old version.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ftp -n &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; &amp;gt;/dev/null &lt;span class="s"&gt;&amp;lt;&amp;lt;END_SCRIPT
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;prompt
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;user root $ROOT_PASSWD
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;lcd $TMPDIR/fas-version
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;cd /etc
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;mget qual_devices*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;quit
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;END_SCRIPT&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_VERSION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep Datecode &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/fas-version/qual_devices_v3 &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; head -n1 &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f3 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$FAS_VERSION&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Unzip the qual_devices.zip file and compare it.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ORIGPWD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/new-version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/new-version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;unzip &lt;span class="nv"&gt;$QUALDEVICES&lt;/span&gt; &amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34; New: &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NEW_VERSION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep Datecode &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/new-version/qual_devices_v3 &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; head -n1 &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f3 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$NEW_VERSION&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Upload the supplied version if the new file doesn&amp;#39;t match the one running&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# on the controller&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$NEW_VERSION&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$FAS_VERSION&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Uploading qual_devices to &lt;/span&gt;&lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ftp -n &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; &amp;gt;/dev/null &lt;span class="s"&gt;&amp;lt;&amp;lt;END_SCRIPT
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;prompt
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;user root $ROOT_PASSWD
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;lcd $TMPDIR/new-version
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;cd /etc
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;mput qual_devices*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;quit
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;END_SCRIPT&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Send an asup message, that the issue is corrected&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Generating AutoSupport message&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; options autosupport.doit qual_devices_fixed_&lt;span class="nv"&gt;$NEW_VERSION&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set +x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Enable ftpd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$FTPD_INITIAL_STATE&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;off&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; options ftpd.enable off
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm -r &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The whole thing is surly based, that FTP is configured ( &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_netapp-fas-data-ontap-public-key-authentification-with-cifs-nfs-license" title="NetApp FAS/Data ONTAP public key authentification with CIFS/NFS license"&gt;as I described previously&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>Mass-fix language order of Matroska files</title><link>https://christian.blog.pakiheim.de/posts/2012-05-27_mass-fix-language-order-of-matroska-files/</link><pubDate>Sun, 27 May 2012 14:02:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4293</guid><description>&lt;p&gt;Well, I recently started backing up my not-copyrighted DVDs to hard drive; however the language is sometimes mixed up. In some English is the first, in others it&amp;rsquo;s German. So, I&amp;rsquo;ve come up with this little script which fixes it - and puts each file into order.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt; -x /usr/bin/bc &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt; -x /usr/bin/mkvmerge &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt; -x /usr/bin/mediainfo &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; file in &lt;span class="nv"&gt;$1&lt;/span&gt;/*.mkv&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# First, run mediainfo on the file.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TRACK_ORDER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; mediainfo &lt;span class="s1"&gt;&amp;#39;--Output=Audio;%ID/String% %Language%x&amp;#39;&lt;/span&gt; &lt;span class="nv"&gt;$file&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; grep -v &lt;span class="s1"&gt;&amp;#39;^$&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TRACK1_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$TRACK_ORDER&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -dx -f1 &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;nbsp&lt;span class="p"&gt;;&lt;/span&gt; -f1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TRACK1_LANG&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$TRACK_ORDER&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -dx -f1 &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;nbsp&lt;span class="p"&gt;;&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TRACK2_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$TRACK_ORDER&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -dx -f2 &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;nbsp&lt;span class="p"&gt;;&lt;/span&gt; -f1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TRACK2_LANG&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$TRACK_ORDER&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -dx -f2 &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;nbsp&lt;span class="p"&gt;;&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="nv"&gt;$TRACK1_LANG&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;de&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;NEEDS_FIX&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; *&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;NEEDS_FIX&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$NEEDS_FIX&lt;/span&gt; -eq &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTS_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;--language &lt;/span&gt;&lt;span class="nv"&gt;$TRACK1_ID&lt;/span&gt;&lt;span class="s2"&gt;:ger --track-name &lt;/span&gt;&lt;span class="nv"&gt;$TRACK1_ID&lt;/span&gt;&lt;span class="s2"&gt;:German&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTS_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;--default-track &lt;/span&gt;&lt;span class="nv"&gt;$TRACK1_ID&lt;/span&gt;&lt;span class="s2"&gt;:no --forced-track &lt;/span&gt;&lt;span class="nv"&gt;$TRACK1_ID&lt;/span&gt;&lt;span class="s2"&gt;:no&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTS_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;--language &lt;/span&gt;&lt;span class="nv"&gt;$TRACK2_ID&lt;/span&gt;&lt;span class="s2"&gt;:eng --track-name &lt;/span&gt;&lt;span class="nv"&gt;$TRACK2_ID&lt;/span&gt;&lt;span class="s2"&gt;:English&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTS_4&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;--default-track &lt;/span&gt;&lt;span class="nv"&gt;$TRACK2_ID&lt;/span&gt;&lt;span class="s2"&gt;:yes --forced-track &lt;/span&gt;&lt;span class="nv"&gt;$TRACK2_ID&lt;/span&gt;&lt;span class="s2"&gt;:no&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTS_5&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;--track-order 0:1,0:&lt;/span&gt;&lt;span class="nv"&gt;$TRACK2_ID&lt;/span&gt;&lt;span class="s2"&gt;,0:&lt;/span&gt;&lt;span class="nv"&gt;$TRACK1_ID&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OPTS_1&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$OPTS_2&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$OPTS_3&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$OPTS_4&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$OPTS_5&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTS_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;--language &lt;/span&gt;&lt;span class="nv"&gt;$TRACK2_ID&lt;/span&gt;&lt;span class="s2"&gt;:ger --track-name &lt;/span&gt;&lt;span class="nv"&gt;$TRACK2_ID&lt;/span&gt;&lt;span class="s2"&gt;:German&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTS_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;--default-track &lt;/span&gt;&lt;span class="nv"&gt;$TRACK2_ID&lt;/span&gt;&lt;span class="s2"&gt;:no --forced-track &lt;/span&gt;&lt;span class="nv"&gt;$TRACK2_ID&lt;/span&gt;&lt;span class="s2"&gt;:no&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTS_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;--language &lt;/span&gt;&lt;span class="nv"&gt;$TRACK1_ID&lt;/span&gt;&lt;span class="s2"&gt;:eng --track-name &lt;/span&gt;&lt;span class="nv"&gt;$TRACK1_ID&lt;/span&gt;&lt;span class="s2"&gt;:English&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTS_4&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;--default-track &lt;/span&gt;&lt;span class="nv"&gt;$TRACK1_ID&lt;/span&gt;&lt;span class="s2"&gt;:yes --forced-track &lt;/span&gt;&lt;span class="nv"&gt;$TRACK1_ID&lt;/span&gt;&lt;span class="s2"&gt;:no&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OPTS_1&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$OPTS_2&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$OPTS_3&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$OPTS_4&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mkvmerge -o &lt;span class="nv"&gt;$file&lt;/span&gt;.new --language &lt;span class="s2"&gt;&amp;#34;1:eng&amp;#34;&lt;/span&gt; --default-track &lt;span class="s2"&gt;&amp;#34;1:yes&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --forced-track &lt;span class="s2"&gt;&amp;#34;1:no&amp;#34;&lt;/span&gt; --audio-tracks &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$TRACK1_ID&lt;/span&gt;&lt;span class="s2"&gt;,&lt;/span&gt;&lt;span class="nv"&gt;$TRACK2_ID&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --video-tracks &lt;span class="s2"&gt;&amp;#34;1&amp;#34;&lt;/span&gt; --no-subtitles --no-track-tags
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --no-global-tags &lt;span class="nv"&gt;$OPTS&lt;/span&gt; &lt;span class="nv"&gt;$file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>TSM and NetApp - Another Quick Hint</title><link>https://christian.blog.pakiheim.de/posts/2012-05-27_tsm-and-netapp-another-quick-hint/</link><pubDate>Sun, 27 May 2012 13:45:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4290</guid><description>&lt;p&gt;Well, we&amp;rsquo;ve been trying to come up with a decent way to backup NetApp snapshots to tape (SnapMirror To Tape), so we evaluated all the available methods of using NDMP backups.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;There&amp;rsquo;s Image Backup in two different variants - FULL and DIFFerntial&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s SnapMirror To Tape&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So the Image Backup is one of the ways. However the DIFFerntial backup only works for CIFS and NFS shares (which we don&amp;rsquo;t use). We only have FC luns (or rather FCoE luns), so there&amp;rsquo;s only a single (or in case of the boot luns more than one) file in each volume. With that however, each run of the Image Backup with the DIFFerential option, it&amp;rsquo;s gonna backup the full size of the volume (plus the deduplicated amount).&lt;/p&gt;</description></item><item><title>vm-online-backup - Another day, another PowerCLI script</title><link>https://christian.blog.pakiheim.de/posts/2012-04-30_vm-online-backup-another-day-another-powercli-script/</link><pubDate>Mon, 30 Apr 2012 16:38:47 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4271</guid><description>&lt;p&gt;Well, on Friday I had a short chat with someone from one of our application departments, stating he wanted a backup copy of a VM (ain&amp;rsquo;t to hard), but a) they don&amp;rsquo;t want any downtime and b) it has to be identical to the original.&lt;/p&gt;
&lt;p&gt;So I sat down today, googled for a bit and actually found something that pretty much does what I want, though I had to fix it up a bit &amp;hellip; So find attached a script, which creates a hot-clone from a snapshot and then only if the latest clone was successful deletes the old one.&lt;/p&gt;</description></item><item><title>TSM and NetApp - Quick Hint</title><link>https://christian.blog.pakiheim.de/posts/2012-04-25_tsm-and-netapp-quick-hint/</link><pubDate>Wed, 25 Apr 2012 20:09:24 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4266</guid><description>&lt;p&gt;Well, to save everyone else the trouble (since it isn&amp;rsquo;t documented anywhere - and I just spent about an hour finding the cause for this), if you need to configure NDMP on your NetApp Filer, make sure you also configure an interface other than e0M.&lt;/p&gt;
&lt;p&gt;Apparently the necessary controlport for NDMP (10000) is being blocked on e0M, thus ndmp may be configured and running, however TSM is gonna complain that it is unable to connect to the specified data mover.&lt;/p&gt;</description></item><item><title>SLES11-1 and updated multipath-tools</title><link>https://christian.blog.pakiheim.de/posts/2012-04-07_sles11-1-and-updated-multipath-tools/</link><pubDate>Sat, 07 Apr 2012 10:15:21 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4256</guid><description>&lt;p&gt;Well, after I scripted the installation the other day, I tried installing SLES11.1-Updates to the freshly installed systems. Guess what ? The thing broke. Initially (it was late Friday afternoon - like 6 PM - before my one week vacation) I didn&amp;rsquo;t have much time to debug the issue, so I sat down last week and looked at the issue.&lt;/p&gt;
&lt;p&gt;During the installation, when first starting multipath via command line, the scsi-mpatha device appears, and each and every occurance of this is subsequentially being used (and other stuff replaced by this actually) during the whole installation phase.&lt;/p&gt;</description></item><item><title>VMware Update Manager issues</title><link>https://christian.blog.pakiheim.de/posts/2012-03-31_vmware-update-manager-issues/</link><pubDate>Sat, 31 Mar 2012 21:14:28 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4241</guid><description>&lt;p&gt;Well, I recently (last Wednesday) had a lot of trouble with Update Manager.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/uploads/2012/03/vcenter-update-manager-remediate-errors.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/03/vcenter-update-manager-remediate-errors.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;First I thought, upgrading vCenter and modules to 5.0U1 would solve my troubles, however it did not. Update Manager was still complaining about something. Since neither in the vCenter Update Manager nor the vCenter log itself were having any useful information I enabled SSHd and the ESXi Shell via the vCenter client:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/uploads/2012/03/vcenter-esx-service-properties.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/03/vcenter-esx-service-properties.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SSH&amp;rsquo;ed into the ESX host and looked at /var/log/esxupdate.log, and found this particular log:&lt;/p&gt;</description></item><item><title>hama_mce client for XBMC on Ubuntu</title><link>https://christian.blog.pakiheim.de/posts/2012-03-20_hama-mce-client-for-xbmc-on-ubuntu/</link><pubDate>Tue, 20 Mar 2012 18:42:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4233</guid><description>&lt;p&gt;Well, I finally switched back to the official builds of XBMC (well, &lt;a href="https://launchpad.net/~team-xbmc/+archive/unstable" title="XBMC Unstable: Repository for pre-release versions of XBMC."&gt;semi-official&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Now, since my previous and my current media center doesn&amp;rsquo;t come with a remote like, say a Boxee box, I built myself a custom one using a &lt;a href="http://www.amazon.de/Hama-00052451-MCE-Remote-Control/dp/B000X1EL4W/ref=sr_1_1?ie=UTF8&amp;amp;qid=1332263702&amp;amp;sr=8-1"&gt;Hama MCE Remote Control&lt;/a&gt; and a Logitech Harmony 300. After trying a bunch of things (it actually works like a standard mouse), I stumbled &lt;a href="http://trac.xbmc.org/ticket/8827" title="XBMC: Hama MCE"&gt;upon this Trac ticket&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Running XBMC/Ubuntu on Zotac HD-ID34</title><link>https://christian.blog.pakiheim.de/posts/2012-03-08_running-xbmc-ubuntu-on-zotac-hd-id34/</link><pubDate>Thu, 08 Mar 2012 17:50:45 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4215</guid><description>&lt;p&gt;I recently bought a replacement for my aging Acer Revo R1600. I decided to go with the HD-ID34, since I didn&amp;rsquo;t wanna fiddle with buying a bunch of components. Installed a copy of Windows 7 on it (just to try it out &amp;hellip;. &amp;#x1f61b;), and downloaded the Ubuntu 11.10 mini.iso. However the mini.iso apparently has issues (no clue which), basically it boots but gets stuck when bringing up the network connectivity (which is fucked up, since the mini.iso needs network connectivity to contiune the installation).&lt;/p&gt;</description></item><item><title>WDS and multi-architecture boot images</title><link>https://christian.blog.pakiheim.de/posts/2012-02-24_wds-and-multi-architecture-boot-images/</link><pubDate>Fri, 24 Feb 2012 17:31:26 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4185</guid><description>&lt;p&gt;Well, I recently stumbled upon another cute bug/feature with Windows Deployment Services. When you already have 32bit boot images (as we do) and then add an 64bit boot image (which we needed, since the drivers for UCS firmware v2.0 only support Windows Server 2008 R2) you still only see the 32bit images.&lt;/p&gt;
&lt;p&gt;Why ? Because apparently the client (in my case a UCS blade) isn&amp;rsquo;t reporting it&amp;rsquo;s architecture correctly in the PXE phase. Microsoft actually has a &lt;a href="http://support.microsoft.com/kb/932447/en-us"&gt;KB article&lt;/a&gt; for this. You only need to enable architecture discovery.&lt;/p&gt;</description></item><item><title>Convert a bunch of PDF documents to JPEG</title><link>https://christian.blog.pakiheim.de/posts/2012-02-15_convert-a-bunch-of-pdf-documents-to-jpeg/</link><pubDate>Wed, 15 Feb 2012 20:17:19 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4175</guid><description>&lt;p&gt;Well, I found a bunch of PDF documents on my disk today, which I wanted converted to JPEG. Now, Debian replaced ImageMagick in the past for GraphicsMagick, which is supposedly a bit faster and leaner than ImageMagick. So first you need to install graphicsmagick &amp;ndash; or rewrite the script to use /usr/bin/convert instead.&lt;/p&gt;
&lt;p&gt;The script basically takes every .PDF you have in your current working directory, creates a sub-directory, and then extracts each page of the PDF into a single JPEG image in that subdirectory.&lt;/p&gt;</description></item><item><title>Microsoft Cluster on VMware and Devices</title><link>https://christian.blog.pakiheim.de/posts/2012-02-11_microsoft-cluster-on-vmware-and-devices/</link><pubDate>Sat, 11 Feb 2012 08:40:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4170</guid><description>&lt;p&gt;Well, once again the Microsoft Cluster on VMware bit my ass &amp;hellip; As you might know, MSCS on VMware is a particular kind of pain, with each upgrade you end up with the same problem over and over again (SCSI reservations on the RDM-LUNs being one, and the passive node not booting being the other).&lt;/p&gt;
&lt;p&gt;So I opened up another support case with VMware, and the responded like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Please see this kb entry: &lt;a href="http://kb.vmware.com/kb/1016106"&gt;http://kb.vmware.com/kb/1016106&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Reconfiguring NTP settings vCenter-wide</title><link>https://christian.blog.pakiheim.de/posts/2012-02-04_reconfiguring-ntp-settings-vcenter-wide/</link><pubDate>Sat, 04 Feb 2012 19:55:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4162</guid><description>&lt;p&gt;I recently started reinstalling all my ESX hosts, so I wrote up a short script that is reconfiguring all hosts and sets the NTP configuration according to my wish:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver2&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vcenter-ntp-reconfigure: &amp;lt;vcenter-server&amp;gt; &amp;lt;ntpserver1&amp;gt; &amp;lt;ntpserver2&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;This script clears the NTP servers currently configured and&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Hsot&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;adds the ones supplied on the command line.&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vcenter-server&amp;gt; - DNS name of your vCenter server.&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;ntpserver1&amp;gt; - NTP server #1&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;ntpserver2&amp;gt; - NTP server #2&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;esxhost&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;esxhost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Remove&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHostNtpServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NtpServer&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;esxhost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHostNtpServer&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;esxhost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHostNtpServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NtpServer&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;esxhost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHostNtpServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NtpServer&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Disconnect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;As you can see, the script takes the vCenter hostname and two NTP servers and basically applies it to each host in your vCenter environment.&lt;/p&gt;</description></item><item><title>Using HPs vibdeposit with VMware Update Manager</title><link>https://christian.blog.pakiheim.de/posts/2012-02-04_using-hps-vibdeposit-with-vmware-update-manager/</link><pubDate>Sat, 04 Feb 2012 17:34:28 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4045</guid><description>&lt;p&gt;As we&amp;rsquo;re finally at the point, where I only need to bother with HP hardware (which in itself is troublesome enough), I wanted to use HPs vibdeposit with our Update Manager. The whole purpose of the repository is the integration of HPs custom vibs (download able on each hardware under VMware ESXi 5.0) into the VMware Update Manager. That makes it easy to integrate, say the nmi-sourcing driver, into the VMware built ESXi images.&lt;/p&gt;</description></item><item><title>Xoom: Install ClockWorkRecovery</title><link>https://christian.blog.pakiheim.de/howtos/xoom-install-clockworkrecovery/</link><pubDate>Fri, 03 Feb 2012 20:15:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?page_id=4119</guid><description>&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;adb&lt;/span&gt; &lt;span class="n"&gt;reboot&lt;/span&gt; &lt;span class="n"&gt;bootloader&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;fastboot&lt;/span&gt; &lt;span class="n"&gt;flash&lt;/span&gt; &lt;span class="n"&gt;recovery&lt;/span&gt; &lt;span class="n"&gt;recovery&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;solarnz&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;XXXXXX&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;XXXX&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;img&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;fastboot&lt;/span&gt; &lt;span class="n"&gt;reboot&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Xoom: Restore factory firmware</title><link>https://christian.blog.pakiheim.de/howtos/xoom-restore-factory-firmware/</link><pubDate>Fri, 03 Feb 2012 20:03:06 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?page_id=4115</guid><description>&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;adb reboot fastboot
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-3"&gt;&lt;a class="lnlinks" href="#hl-1-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-4"&gt;&lt;a class="lnlinks" href="#hl-1-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-5"&gt;&lt;a class="lnlinks" href="#hl-1-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-6"&gt;&lt;a class="lnlinks" href="#hl-1-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fastboot flash boot boot.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fastboot flash system system.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fastboot flash recovery recovery.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fastboot flash userdata userdata.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fastboot erase cache
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fastboot oem lock
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Xoom: Unlocking</title><link>https://christian.blog.pakiheim.de/howtos/xoom-unlocking/</link><pubDate>Fri, 03 Feb 2012 19:58:55 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?page_id=4110</guid><description>&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;adb&lt;/span&gt; &lt;span class="n"&gt;reboot&lt;/span&gt; &lt;span class="n"&gt;bootloader&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Your XOOM will reboot into the bootloader showing &amp;ldquo;Starting Fastboot Protocol Support.&amp;rdquo;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fastboot oem unlock
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Read the warning on your XOOM’s screen.&lt;/li&gt;
&lt;li&gt;You may have to tap Volume Down to switch it to &amp;ldquo;Accept.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Then press Volume Up to actually &amp;ldquo;Accept.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Once you accept, your XOOM will be unlocked and formatted.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Emptying a VMFS datastore with PowerCLI</title><link>https://christian.blog.pakiheim.de/posts/2012-01-26_emptying-a-vmfs-datastore-with-powercli/</link><pubDate>Thu, 26 Jan 2012 21:14:41 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4070</guid><description>&lt;p&gt;Well, once again I hacked at the Powershell/PowerCLI the other day. Since we don&amp;rsquo;t yet have a Enterprise Plus license at work (which would support Datastore Maintaince and Storage DRS), I needed a way to empty one datastore and move all the content into another one, while enabling Thin-Provisioning.&lt;/p&gt;
&lt;p&gt;So I googled for a bit, and actually &lt;a href="http://thephuck.com/virtualization/mass-storage-migrations-using-vsphere-storage-vmotion-and-powercli/"&gt;found a few hints&lt;/a&gt; &amp;hellip; So without further yada-yada, here&amp;rsquo;s the script I came up with:&lt;/p&gt;</description></item><item><title>Doing TSM's job on Windows Server 2008</title><link>https://christian.blog.pakiheim.de/posts/2012-01-26_doing-tsm-s-job-on-windows-server-2008/</link><pubDate>Thu, 26 Jan 2012 21:02:09 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4064</guid><description>&lt;p&gt;Ran into another weird problem the other day &amp;hellip; Had a few Windows boxens running out of space. Why ? Well, because TSM includes a System-State backup when creating the daily incremental. Now, apparently (as stated by the IBM support) it isn&amp;rsquo;t TSM&amp;rsquo;s job to keep track of the VSS snapshots but rather Windows&amp;rsquo;. Now by default, if you don&amp;rsquo;t click on the VSS properties of a Windows drive, there is no limit on the volume. Thus, VSS is slowly eating up all your space.&lt;/p&gt;</description></item><item><title>Empty Port SSL after ADAM installation</title><link>https://christian.blog.pakiheim.de/posts/2012-01-18_empty-port-ssl-after-adam-installation/</link><pubDate>Wed, 18 Jan 2012 20:43:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4055</guid><description>&lt;p&gt;I&amp;rsquo;ve been meaning to post this, but never actually got around to doing that. When installing vCenter 5.0, an instance of ADAM is installed, which stores all the configration data for Linked Mode.&lt;/p&gt;
&lt;p&gt;It basically boils down to running this script and rebooting the box:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-batch" data-lang="batch"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;reg DELETE &lt;span class="s2"&gt;&amp;#34;HKLMSYSTEMCurrentControlSetservicesADAM_VMwareVCMSDSParameters&amp;#34;&lt;/span&gt; /v &lt;span class="s2"&gt;&amp;#34;Port SSL&amp;#34;&lt;/span&gt; /f
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;reg ADD &lt;span class="s2"&gt;&amp;#34;HKLMSYSTEMCurrentControlSetservicesADAM_VMwareVCMSDSParameters&amp;#34;&lt;/span&gt; /v &lt;span class="s2"&gt;&amp;#34;Port SSL&amp;#34;&lt;/span&gt; /t REG_DWORD /d 0000027c /f
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This is no new invention of myself, just writing it down for myself from &lt;a href="http://www.virtualserverguy.com/blog/2010/9/21/vcenter-41-adam_vmwarevcmsds-error.html"&gt;here&lt;/a&gt; or &lt;a href="http://www.vmwareinfo.com/2011/02/pesky-vcenter-adam-error.html"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Rebooting a virtual machine via Task scheduler</title><link>https://christian.blog.pakiheim.de/posts/2012-01-16_rebooting-a-virtual-machine-via-task-scheduler/</link><pubDate>Mon, 16 Jan 2012 09:03:06 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4035</guid><description>&lt;p&gt;Since the Scheduled Tasks in vCenter ain&amp;rsquo;t exportable, I went ahead and wrote a rather simple script, which lets me do this in Windows own Task Scheduler. What this script does, is initiate a graceful shutdown and if the VM isn&amp;rsquo;t shutdown within 60 seconds (12 * 5 seconds) it simply powers the VM off and immediately after that powers it back on.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vm-reboot: &amp;lt;vcenter-server&amp;gt; &amp;lt;VMname&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vcenter-server&amp;gt; - DNS name of your vCenter server.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;VMname&amp;gt; - Display name of the VM in this vCenter server.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# First, try shutting down the virtual machine gracefully&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Stopping VM $( $VM )&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - Graceful shutdown&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Shutdown&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMGuest&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;While&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PowerState&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ne&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PoweredOff&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# If that doesn&amp;#39;t work, break out the hammer and just kill it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - Forced shutdown&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Stop&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Start&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Sleep&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Seconds&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PowerState&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PoweredOff&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Starting VM $( $VM )&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Start&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;$&lt;/span&gt;&lt;span class="n"&gt;NULL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Disconnect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Before this implementation in PowerCLI, I needed three tasks for each VM that was to be scheduled. And when migrating vCenters (and I usually do an empty install) vCenter&amp;rsquo;s scheduled tasks are not exportable, thus you need to re-create the tasks on the new vCenter by yourself again, which for more than four virtual machines is really a pain in the ass &amp;hellip;&lt;/p&gt;</description></item><item><title>Reoccurring memory limits in vCenter</title><link>https://christian.blog.pakiheim.de/posts/2012-01-13_reoccurring-memory-limits-in-vcenter/</link><pubDate>Fri, 13 Jan 2012 15:00:20 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4032</guid><description>&lt;p&gt;We recently had, after we migrated from vSphere 4 to vSphere 5, a memory limit in size of the configured memory on each and every VM. Since memory limits on VM level pretty much destroy performance, I went ahead an wrote this simple script to remove all memory limits on all VMs that don&amp;rsquo;t have &amp;ldquo;Unlimited&amp;rdquo; configured:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;cluster-remove-mem-limits: &amp;lt;vcenter-server&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vcenter-server&amp;gt; - DNS name of your vCenter server.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMResourceConfiguration&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Where&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ne"&gt;Object&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;memlimitmb&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ne&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-1&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Set&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMResourceConfiguration&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;memlimitmb&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Disconnect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This script is basically what the guy over at &lt;a href="http://get-admin.com/blog/how-to/vmware/powershell-removing-vmware-cpumemory-resource-limits/"&gt;get-admin.com&lt;/a&gt; did, just only for memory limits.&lt;/p&gt;</description></item><item><title>Been a while</title><link>https://christian.blog.pakiheim.de/posts/2012-01-09_been-a-while/</link><pubDate>Mon, 09 Jan 2012 20:35:33 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4023</guid><description>&lt;p&gt;Well, it&amp;rsquo;s been a while since I last blogged about anything. I&amp;rsquo;ve been real busy with work with the move from vSphere 4 to vSphere 5 (well planning takes a while &amp;hellip;), reorganizing our vSphere Clusters/Farms, a lot of PowerCLI voodoo (some of it, I&amp;rsquo;m gonna post), the usual Windows honky-donky (Windows group policy for certain stuff).&lt;/p&gt;
&lt;p&gt;Besides that, you know, I have some kind of personal life. That basically took all of my free time. So I&amp;rsquo;m gonna try to write some posts up in the next few weeks, with some PowerCLI scripts mostly, some Shell scripts for SVC-automation, as well as some NetApp foo, guess we&amp;rsquo;ll see.&lt;/p&gt;</description></item><item><title>Acer Revo/XBMC installation guide</title><link>https://christian.blog.pakiheim.de/howtos/acer-revoxbmc-installation-guide/</link><pubDate>Wed, 19 Oct 2011 08:05:00 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/howtos/acer-revoxbmc-installation-guide/</guid><description>&lt;p&gt;Today I decided to upgrade all my boxes at home to Maverick Meercat. First I started with my Netbook, then followed my NAS and now the XBMC box (Acer Revo 3600).&lt;/p&gt;
&lt;p&gt;As a base point, you&amp;rsquo;ll need a minimal installation of Maverick Meercat (simply put the &lt;a href="https://help.ubuntu.com/community/Installation/MinimalCD"&gt;mini.iso&lt;/a&gt; onto an usb pen drive and boot from it), &lt;a href="http://www.func.nl/community/knowledgebase/how-install-ubuntu-usb-stick"&gt;which luckily is rather easy&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# First we&amp;#39;ll need these tools on the box where we&amp;#39;re preparing the stick&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;aptitude&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;syslinux&lt;/span&gt; &lt;span class="n"&gt;mbr&lt;/span&gt; &lt;span class="n"&gt;mtools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create a FAT16 partition on your USB stick&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;fdisk&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sdb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Format the partition as VFAT&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;mkfs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;vfat&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sdb1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Need to install the bootloader (syslinux) before doing anything else!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;syslinux&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sdb1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Now mount the mini.iso file as loop, copy the content to the usb stick&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;mkdir&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usb&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;mkdir&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;cdrom0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;mount&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt; &lt;span class="n"&gt;loop&lt;/span&gt; &lt;span class="o"&gt;~/&lt;/span&gt;&lt;span class="n"&gt;mini&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;iso&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;cdrom0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;mount&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sdb1&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;cp&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;cdrom0&lt;/span&gt;&lt;span class="o"&gt;/*&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Rename the isolinux.cfg&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;mv&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usb&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;isolinux&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cfg&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usb&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;syslinux&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cfg&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;umount&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usb&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;cdrom0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create a MBR on the usb stick&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mbr&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sdb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After that is done, boot your box with the USB stick. Make the minimal command line installation. After that finishes, switch to the adjacent console (i.e. tty2) hit ENTER,
and install a few packages that we need for after the reboot:&lt;/p&gt;</description></item><item><title>Adobe CS3 on Windows 7</title><link>https://christian.blog.pakiheim.de/posts/2011-07-17_adobe-cs3-on-windows-7/</link><pubDate>Sun, 17 Jul 2011 10:41:47 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3794</guid><description>&lt;p&gt;Well it took me exactly two full Windows reinstallations till I figured that one out, thanks to Google. Basically the Creative Suite 3 installs an &lt;a href="http://kb2.adobe.com/cps/400/kb400982.html"&gt;mDNSresponder as system service&lt;/a&gt; (named &amp;quot; &lt;code&gt;##Id_String2.6844F930_1628_4223_B5CC_5BB94B879762##&amp;quot; -- don't ask me why the cryptic name)&lt;/code&gt;, which basically screws up your Windows! It lays another physical network on top of the current one and once you reboot the system you&amp;rsquo;re gonna sit there and try and figure out, why the fuck you ain&amp;rsquo;t getting a DHCP address on boot. And since a simple deactivate/activate of the nic fixes it &amp;#x1f937;&lt;/p&gt;</description></item><item><title>PowerCLI undamp; Windows jump list for recent items set to zero</title><link>https://christian.blog.pakiheim.de/posts/2011-07-05_powercli-amp-windows-jump-list-for-recent-items-set-to-zero/</link><pubDate>Tue, 05 Jul 2011 17:22:27 +0000</pubDate><guid isPermaLink="false">https://blog.barfoo.org/?p=3790</guid><description>&lt;p&gt;Today I had to install PowerCLI on my workstation. When I tried launching it for the first time, it simply opened and closed again instantly. After &lt;a href="http://communities.vmware.com/thread/282140"&gt;browsing the VMware community&lt;/a&gt; for this error and not finding a useful solution, I ended up googling the error. As it turns out, this only happens when you did set the &amp;quot; &lt;em&gt;Number of recent items to display in jump lists&lt;/em&gt;&amp;quot; to something less than 4.&lt;/p&gt;</description></item><item><title>Changing the vCenter hostname</title><link>https://christian.blog.pakiheim.de/posts/2011-06-01_changing-the-vcenter-hostname/</link><pubDate>Wed, 01 Jun 2011 17:56:10 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3769</guid><description>&lt;p&gt;I recently reinstalled the vCenter Server at work, and in my never ending wisdom &lt;em&gt;cough&lt;/em&gt;, I decided to do that on new hardware. That entitled using the same host name plus the appendix _NEW. Now, I know this isn&amp;rsquo;t conforming with DNS naming schemes (iirc underscore isn&amp;rsquo;t a valid DNS char), however it worked &amp;hellip;&lt;/p&gt;
&lt;p&gt;So once I had everything installed on the new hardware, I switched the ESX servers from the old vCenter to the freshly installed one. Once that was finished, I shut down the old vCenter server, changed IP address and host name of the new one and rebooted. That basically worked, even though suddenly every ESX in my inventory was disconnected. After reconnecting all ESX servers everything was back online.&lt;/p&gt;</description></item><item><title>Ember MM, XBMC and 0s Video Duration</title><link>https://christian.blog.pakiheim.de/posts/2011-02-22_ember-mm-xbmc-and-0s-video-duration/</link><pubDate>Tue, 22 Feb 2011 14:06:35 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3697</guid><description>&lt;p&gt;Some of you out there may know, I am using &lt;a href="http://sourceforge.net/projects/emm-r"&gt;Ember MM&lt;/a&gt; to scrape my movies and TV episodes. One thing about that is, that Ember MM is kinda stupid doing so.&lt;/p&gt;
&lt;p&gt;After the 9.10-release of XMBC, they apparently changed the XML format, introducting &lt;em&gt;durationinseconds&lt;/em&gt;, which is basically like &lt;em&gt;duration&lt;/em&gt;, just &amp;hellip; yeah you guessed right, in seconds.&lt;/p&gt;
&lt;p&gt;Now Ember MM doesn&amp;rsquo;t know that, and still writes the old &lt;em&gt;duration&lt;/em&gt;-tag. Now, everytime when something goes &lt;strong&gt;kaboom!&lt;/strong&gt; with my library, I do have to rescrape all my episodes and movies, which isn&amp;rsquo;t a big deal since the NFO&amp;rsquo;s are still on disk. However, since I didn&amp;rsquo;t watch them (as Ember doesn&amp;rsquo;t know about the &lt;em&gt;lastplayed&lt;/em&gt;-tag) XBMC is not showing any runtime in the GUI. Now this isn&amp;rsquo;t annoying per se, but it was just bugging me (and since I got lots of spare time, due to being chained to the sofa).&lt;/p&gt;</description></item><item><title>WDS and DL580 G7</title><link>https://christian.blog.pakiheim.de/posts/2011-01-15_wds-and-dl580-g7/</link><pubDate>Sat, 15 Jan 2011 17:14:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3684</guid><description>&lt;p&gt;We recently received a shipment of Hewlett Packards all-new DL580 G7. While I&amp;rsquo;m impressed with what they did with the iLO3, I&amp;rsquo;m quite disappointed with what they did to the PXE-ROM.&lt;/p&gt;
&lt;p&gt;Sure, gPXE may be the future and is offering more possibilites than &amp;ldquo;normal&amp;rdquo; PXE, however breaking customers deployment option(s) &amp;ndash; at least for Windows that is &amp;ndash; really wouldn&amp;rsquo;t be an option.&lt;/p&gt;
&lt;p&gt;Now for the long story, we needed to install a temporary Windows on this DL580 (one with testing purposes). That said, we tried for three days to actually make this work (trying different things with the boot image), but it kept ending with the same result.&lt;/p&gt;</description></item><item><title>SVC: Find WWPN</title><link>https://christian.blog.pakiheim.de/posts/2010-11-15_svc-find-wwpn/</link><pubDate>Mon, 15 Nov 2010 17:50:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3621</guid><description>&lt;p&gt;Today we had (once again) hardware troubles. We ended up replacing a lot of things, but in the end it was a) the HBA and b) apparently some memory DIMMs. Now, that isn&amp;rsquo;t SVC related. However, we built in another HBA (from our Standby hardware), which apparently already had been assigned to a host.&lt;/p&gt;
&lt;p&gt;Now, since you can&amp;rsquo;t search for a WWPN (at least not that I know of), I ended up writing a little script (yup, &lt;strong&gt;AGAIN&lt;/strong&gt;) in order to do that for me!&lt;/p&gt;</description></item><item><title>PowerShell brush for jQuery-Syntax</title><link>https://christian.blog.pakiheim.de/posts/2010-11-05_powershell-brush-for-jquery-syntax/</link><pubDate>Fri, 05 Nov 2010 13:56:03 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3589</guid><description>&lt;p&gt;As you might have noticed, I&amp;rsquo;m using &lt;a href="http://www.oriontransfer.co.nz/software/jquery-syntax/"&gt;jQuery.Syntax&lt;/a&gt; as my Syntax Highlighting engine. As I recently started writing PowerShell scripts, I wanted syntax hightlighting for it.&lt;/p&gt;
&lt;p&gt;Since I knew, someone already wrote syntax highlighting for &lt;a href="http://www.aarebrot.net/site/index.php/downloads/19-powershell-geshi-language-file"&gt;GeSHi for PowerShell&lt;/a&gt; (I am lazy after all!), I simply took the color scheme (shame on me), and made hacked ahead. After about three hours (yeah, I had some trouble with editing the wrong damn file), I came up with this:&lt;/p&gt;</description></item><item><title>TSM Client: Service Script for Solaris 10</title><link>https://christian.blog.pakiheim.de/posts/2010-10-27_tsm-client-service-script-for-solaris-10/</link><pubDate>Wed, 27 Oct 2010 15:31:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3613</guid><description>&lt;p&gt;Today I&amp;rsquo;ve been fighting with Solaris 10 and the SMF Manifest (others would call it init-script &amp;hellip;). Since I wanted to do it the proper way (I could have used a &amp;ldquo;old-style&amp;rdquo; init-script, but I didn&amp;rsquo;t wanna ..), I ended up combing the interweb for examples .. As it turns out, not even IBM has documented a way, on how to do this.&lt;/p&gt;
&lt;p&gt;In the end this is what I&amp;rsquo;ve come up with:&lt;/p&gt;</description></item><item><title>Install issues with Proliant BL460c G6 and Windows Deployment Services</title><link>https://christian.blog.pakiheim.de/posts/2010-10-22_install-issues-with-proliant-bl460c-g6-and-windows-deployment-services/</link><pubDate>Fri, 22 Oct 2010 17:56:53 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3554</guid><description>&lt;p&gt;We&amp;rsquo;ve been dealing with authentification issues on newly delivered HP Proliant BL460c G6 blade servers. Most threads on HPs customer forum, suggests changing the NIC driver, embedded within the WDS boot image.&lt;/p&gt;
&lt;p&gt;We tried that, but still were getting the following error:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="%28/uploads/2010/10/wds-installation-issues.png"
alt="WDS: installation issues"/&gt; &lt;figcaption&gt;
&lt;p&gt;WDS: installation issues&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;As it turns out, it ain&amp;rsquo;t really so damn hard .. we tried several times changing various things within the boot image, but it still didn&amp;rsquo;t change anything. Somehow it was rather easy.&lt;/p&gt;</description></item><item><title>Create an offline snapshot of a VM</title><link>https://christian.blog.pakiheim.de/posts/2010-10-22_create-an-offline-snapshot-of-a-vm/</link><pubDate>Fri, 22 Oct 2010 16:11:25 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3570</guid><description>&lt;p&gt;We&amp;rsquo;re currently thinking about automating Windows Updates and the involved disaster snapshot-copy to a degree, where we don&amp;rsquo;t need to intervene anymore.&lt;/p&gt;
&lt;p&gt;Right now, we already have a rudimentary scheduler in place, which does the reboots for some (200 ..) systems already. Now, we&amp;rsquo;d like to extend it to also cover the bi-weekly Windows Update spree.&lt;/p&gt;
&lt;p&gt;Since PowerShell (and PowerCLI) work quite well with vSphere automation, I cooked up the below script to first shutdown a virtual machine (for snapshot consistency reasons), then take a snapshot and power on the virtual machine again afterwards.&lt;/p&gt;</description></item><item><title>Locking down Firefox</title><link>https://christian.blog.pakiheim.de/posts/2010-10-12_locking-down-firefox/</link><pubDate>Tue, 12 Oct 2010 17:52:37 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3581</guid><description>&lt;p&gt;Once again, I had the task of locking down Firefox, so users couldn&amp;rsquo;t use it to do any harm on a terminal server. Thankfully there&amp;rsquo;s the guide over at the &lt;a href="http://www.engineering.uwaterloo.ca/twiki/bin/view/Linux/FirefoxLockdown"&gt;Faculty of Engineering of the University of Waterloo&lt;/a&gt; (by David Collie), who shows which parts to modify.&lt;/p&gt;
&lt;p&gt;However, finding the particular part in the Javascript is rather hindersome, so here a short Unix-Diff (for thos who&amp;rsquo;re able to read unified diffs) as well as the whole file.&lt;/p&gt;</description></item><item><title>Modified SnapReminder</title><link>https://christian.blog.pakiheim.de/posts/2010-10-08_modified-snapreminder/</link><pubDate>Fri, 08 Oct 2010 16:06:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3552</guid><description>&lt;p&gt;Well, PowerCLI makes my life a little bit easier. Believe it or not, each of us vCenter infrastructure admins has one of these: a Windows admin, thinking a snapshot is also a backup. Thankfully, Alan Renouf over at &lt;a href="http://www.virtu-al.net/"&gt;virtu-al.net&lt;/a&gt; wrote the &lt;a href="http://www.virtu-al.net/2009/06/22/powercli-snapreminder/"&gt;SnapReminder&lt;/a&gt;, which already helped me a lot! However, occasionally the script isn&amp;rsquo;t finding the snapshot author (for whatever reason).&lt;/p&gt;
&lt;p&gt;Since I want a notification in that case, I modified the script a little bit to suit my needs.&lt;/p&gt;</description></item><item><title>Fix Path Selection Policy for a whole vCenter Cluster</title><link>https://christian.blog.pakiheim.de/posts/2010-10-07_fix-path-selection-policy-for-a-whole-vcenter-cluster/</link><pubDate>Thu, 07 Oct 2010 18:38:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3544</guid><description>&lt;p&gt;These last few weeks, I&amp;rsquo;ve been toying with PowerCLI (and PowerShell for that matter). One thing I do have to say, is that Microsoft finally did it right! It&amp;rsquo;s a useable, program-able command line interface for Windows after all! Thanks to &lt;a href="http://www.ivobeerens.nl/"&gt;Ivo Beerens&lt;/a&gt; and his post &amp;quot; &lt;a href="http://www.ivobeerens.nl/?p=465"&gt;Best practices for HP EVA, vSphere 4 and Round Robin multi-pathing&lt;/a&gt;&amp;quot;, I was able to come up with the below:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# LICENSE: GNU General Public License v2. (see LICENSE.txt)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# COPYRIGHT: Copyright 2010 Christian Heim &amp;lt;christian.heim@barfoo.org&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;length&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;fix_multipathing: &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - Display-Name of the vCenter cluster, we should check all LUNs&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; on all available Hosts, and set the Path Selection Policy&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; to the selected one.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - Path Selection Policy&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; Possible:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - RoundRobin (VMW_PSP_RR, Round Robin)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - Fixed (VMW_PSP_FIXED, Fixed)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - MostRecentlyUsed (VMW_PSP_MRU , Most Recently Used)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcserver&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vcenter.home.barfoo.org&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Since I do have only SVC-Disks connected to my hosts, I limit the search to those&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;canonical_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;naa.6005076801808021*&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Target vCenter Cluster: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Target PSP: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;switch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;RoundRobin&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;display_policy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMW_PSP_RR&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;MostRecentlyUsed&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;display_policy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMW_PSP_MRU&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Fixed&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;display_policy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMW_PSP_FIXED&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;default&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Warning&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Unknown PSP selected! Please consult the help and try again.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcserver&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Found &amp;#34;&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ScsiLun&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;CanonicalName&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;canonical_name&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;LunType&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;disk&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;where&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;MultipathPolicy&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ne&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; LUNs in &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; not using Path Selection Policy &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;display_policy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ScsiLun&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;CanonicalName&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;canonical_name&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;LunType&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;disk&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;where&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;MultipathPolicy&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ne&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Set&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ScsiLun&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;MultipathPolicy&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This works great, however you could make it work on the whole vCenter inventory, which I don&amp;rsquo;t want. We usually add LUNs to a single cluster at one time. Only thing you might need to change, is the canonical name. Mine simply says &amp;ldquo;find all SVC LUNs&amp;rdquo; and you might need to change it, if you&amp;rsquo;re using a different storage.&lt;/p&gt;</description></item><item><title>Blog is back!</title><link>https://christian.blog.pakiheim.de/posts/2010-09-30_blog-is-back/</link><pubDate>Thu, 30 Sep 2010 16:39:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3537</guid><description>&lt;p&gt;As you can see, the blog is finally back! I haven&amp;rsquo;t been visiting the blog on a daily basis (actually, I haven&amp;rsquo;t been here for some time), so it apparently took me ten days to figure that the wp_posts table of my wordpress installation was marked as crashed.&lt;/p&gt;
&lt;p&gt;To repair that, I had to take down the MySQL instance and use myisamchk on the .MYI file. Once again, it&amp;rsquo;s back now, only one draft has disappeared into thin air (well, that ain&amp;rsquo;t so bad), but that&amp;rsquo;s a minor loss.&lt;/p&gt;</description></item><item><title>SAN reporting</title><link>https://christian.blog.pakiheim.de/posts/2010-08-20_san-reporting/</link><pubDate>Fri, 20 Aug 2010 14:34:52 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3115</guid><description>&lt;p&gt;We do have some customers, who get charged on a monthly basis for their SAN usage. We already had &amp;ldquo;reporting&amp;rdquo; in place, but that wasn&amp;rsquo;t very flexible. So I went ahead and rewrote the current reporting script from scratch, and this is what I&amp;rsquo;ve come up with:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# LICENSE: GNU General Public License v2. (see LICENSE.txt)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# COPYRIGHT: Copyright 2010 Christian Heim &amp;lt;christian.heim@barfoo.org&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svc_sshkey=&amp;#34;~/.ssh/svc-id_dsa&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svc_addr=&amp;#34;10.144.0.150&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svc_user=&amp;#34;admin&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;if [ -z $1 ] ; then
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;Please rerun this script with some kind of filter value&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;(for example &amp;#39;$0 NAS&amp;#39;)&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; exit 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;else
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; filter=$1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;IFS=&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DISK=&amp;#34;$( ssh -i $svc_sshkey -l $svc_user $svc_addr svcinfo lsvdisk -nohdr -bytes -delim :
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; | egrep -i &amp;#34;V.*$filter&amp;#34; | cut -d: -f2,8 | sort )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Get a unique list of systems
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SYSTEMS=&amp;#34;$( echo $DISK | sed &amp;#34;s, ,n,g&amp;#34; | cut -d -f1 | sed &amp;#39;s,^V,,&amp;#39; | cut -d_ -f1 | sort -u )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;for system in $SYSTEMS ; do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; VDISKS=&amp;#34;$( echo $DISK | sed &amp;#34;s, ,n,g&amp;#34; | grep $system | sed &amp;#34;s,:,: ,&amp;#34; )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SYSTEM_TOTAL=&amp;#34;$( echo $DISK | sed &amp;#34;s, ,n,g&amp;#34; | grep $system | cut -d: -f2 | awk &amp;#39;{SUM += $1} END { printf &amp;#34;%.2f&amp;#34;, SUM }&amp;#39; )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; for vdisk in $VDISKS ; do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; NAME=&amp;#34;$( echo $vdisk | cut -d: -f1 )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SIZE=&amp;#34;$( echo $vdisk | cut -d: -f2 | sed &amp;#34;s,^ ,,&amp;#34; )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; GB_SIZE=&amp;#34;$( echo &amp;#34;$SIZE / 1024 / 1024 / 1024&amp;#34; | bc )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; if [ $GB_SIZE -eq 0 ] ; then
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; GB_SIZE=&amp;#34;$( echo &amp;#34;scale=2; $SIZE / 1024 / 1024 / 1024&amp;#34; | bc )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; GB_SIZE=&amp;#34;${GB_SIZE/./0.}&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;$NAME: ${GB_SIZE/./,} GB&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; done
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SUB_TOTAL_SYSTEM=&amp;#34;$( echo &amp;#34;scale=2; $SYSTEM_TOTAL / 1024 / 1024 / 1024&amp;#34; | bc )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;SUB TOTAL: ${SUB_TOTAL_SYSTEM/./,} GB&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;TOTAL=&amp;#34;$( echo $DISK | sed &amp;#34;s, ,n,g&amp;#34; | cut -d: -f2 | awk &amp;#39;{SUM += $1} END { printf &amp;#34;%.2f&amp;#34;, SUM }&amp;#39; )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;TOTAL=&amp;#34;$( echo &amp;#34;scale=2; $TOTAL / 1024 / 1024 / 1024&amp;#34; | bc ) GB&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo &amp;#34;------------------------------------------------&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo $TOTAL
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;exit 0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I gotta say, once again I learned a lot &amp;hellip; two &lt;a href="http://www.sunsite.ualberta.ca/Documentation/Gnu/gawk-3.1.0/html_chapter/gawk_14.html#SEC192"&gt;new&lt;/a&gt; &lt;a href="http://www.commandlinefu.com/commands/view/1497/using-awk-to-sumcount-a-column-of-numbers."&gt;things&lt;/a&gt; about awk!&lt;/p&gt;</description></item><item><title>me + flying = chaos!</title><link>https://christian.blog.pakiheim.de/posts/2010-07-26_me-flying-chaos/</link><pubDate>Mon, 26 Jul 2010 08:40:19 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3127</guid><description>&lt;p&gt;It&amp;rsquo;s been one of these days (yeah, I know &amp;hellip; &lt;strong&gt;AGAIN&lt;/strong&gt;). I was scheduled to depart from Stuttgart (STR) to Rostock - Laage (RLG) on 16:45 on Sunday. Well, if you know me, I did actually miss that flight the check-in for that flight by 15 minutes. 15 &lt;strong&gt;FUCKING&lt;/strong&gt; minutes! Immediately called my Taxi (that is my parents) and told them to turn around, since they already had left to collect me from the airport ..&lt;/p&gt;</description></item><item><title>Displaying Windows Architecture with bginfo</title><link>https://christian.blog.pakiheim.de/posts/2010-06-18_displaying-windows-architecture-with-bginfo/</link><pubDate>Fri, 18 Jun 2010 15:22:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3111</guid><description>&lt;p&gt;On all our servers in the basement, we do have &lt;a href="http://technet.microsoft.com/de-de/sysinternals/bb897557.aspx"&gt;bginfo&lt;/a&gt; installed, in order to quickly get certain information. Now as I was struggling with a big Service Pack roll out, I looked into making bginfo also display the OS architecture. But apparently it isn&amp;rsquo;t that easy &amp;hellip; At least bginfo doesn&amp;rsquo;t provide it by default.&lt;/p&gt;
&lt;p&gt;After (yet another hour in front of Google), I finally found what I was &lt;a href="http://stackoverflow.com/questions/1413409/how-to-determine-os-platform-with-wmi"&gt;looking for&lt;/a&gt;. At first I didn&amp;rsquo;t limit the query on a specific CPU, but that turned out to be shitty (x32 being displayed twice, once for each CPU). But after limiting it to DeviceID=&amp;lsquo;CPU0&amp;rsquo; it works like a charm &amp;#x1f609;&lt;/p&gt;</description></item><item><title>Vuvuzela's should be banned!</title><link>https://christian.blog.pakiheim.de/posts/2010-06-13_vuvuzela-s-should-be-banned/</link><pubDate>Sun, 13 Jun 2010 20:32:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3108</guid><description>&lt;p&gt;It&amp;rsquo;s just past the first game of our national team, and the vuvuzela&amp;rsquo;s are actually getting on my nerves. It&amp;rsquo;s not really the vuvuzela&amp;rsquo;s per se, it&amp;rsquo;s just this one kid running around with it all day long. At first I was like &amp;ldquo;wtf kind of animal is this ?&amp;rdquo; Until I saw him running around with this weird instrument &amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Vuvuzela" loading="lazy" src="http://upload.wikimedia.org/wikipedia/commons/3/37/Vuvuzela_red.jpg"&gt;&lt;/p&gt;</description></item><item><title>AutoYAST and custom swap partitioning</title><link>https://christian.blog.pakiheim.de/posts/2010-06-03_autoyast-and-custom-swap-partitioning/</link><pubDate>Thu, 03 Jun 2010 18:34:24 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3061</guid><description>Well, we&amp;rsquo;ve been discussing our swap partitioning the last few days at work, and I finally got around to implementing it. Again, it proved to be kinda hard, basically because AutoYAST decides to do things differently.</description></item><item><title>SLES10 not installing boot loader in MBR</title><link>https://christian.blog.pakiheim.de/posts/2010-06-03_sles10-not-installing-boot-loader-in-mbr/</link><pubDate>Thu, 03 Jun 2010 18:15:23 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3055</guid><description>&lt;p&gt;Well, &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_reset-master-boot-record-mbr" title="Reset Master Boot Record (MBR)"&gt;as I mentioned in my earlier post&lt;/a&gt;, I had some trouble during the week. I was having issues with SLES10 installations not finishing during the bootloader installation phase. After trying out different flavors (as in 10SP2 x64/x86, &amp;hellip;), and not having any luck with this, I went searching on Google as a last effort try. Guess what, yet again Google &lt;a href="http://www.issociate.de/board/post/489385/Configuring_grub.html"&gt;helped me out&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;It was pretty simple. Putting /dev/cciss/c0d0 into /boot/grub/device.map as (hd0) made the grub-installer finish. Now, figuring out how to transfer those information during the installation proved difficult. I was just about to give up, while reading through the &lt;a href="http://www.suse.com/~ug/autoyast_doc/index.html"&gt;AutoYAST documentation&lt;/a&gt;, &lt;a href="http://users.suse.com/~ug/autoyast_doc/configuration.html#id306587"&gt;when it struck me&lt;/a&gt;. There is even an extra chapter for this stuff, so simply putting the following into my profile solved my issues:&lt;/p&gt;</description></item><item><title>distributions-barfoo-org going away</title><link>https://christian.blog.pakiheim.de/posts/2010-06-03_distributions-barfoo-org-going-away/</link><pubDate>Thu, 03 Jun 2010 17:50:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3046</guid><description>&lt;p&gt;Since I didn&amp;rsquo;t have any time to actually maintain my own repository of RPMs, as well as I don&amp;rsquo;t have any need for the RPMs contained within (simply I don&amp;rsquo;t use them at work anymore), the whole shebang is going away!&lt;/p&gt;
&lt;p&gt;I know a few people actually still use it, so I&amp;rsquo;m gonna put in a disclaimer and let some time pass before completely removing it. Just be warned, it&amp;rsquo;s going away! Again:&lt;/p&gt;</description></item><item><title>VMware Consolidated Backup and TRANSPORT_MODE=hotadd</title><link>https://christian.blog.pakiheim.de/posts/2010-03-18_vmware-consolidated-backup-and-transport-mode-hotadd/</link><pubDate>Thu, 18 Mar 2010 17:03:38 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3015</guid><description>&lt;p&gt;As the title says, I&amp;rsquo;ve been playing with vCB (inside a VM) and the TSM integration with newer (&amp;gt;6.0) clients for work. Result of all this work should be a feasibility study. We&amp;rsquo;re currently thinking about replacing our VMware server(s) with ESXi. But as most of you know, if you install ESXi, you simply can&amp;rsquo;t install anything (well, you can .. on ~100KB of disk space, which is compared to a TSM client weighing roughly 120MB nothing!). As we would like the possibility to backup VMs on image-level, I went looking at solutions.&lt;/p&gt;</description></item><item><title>Windows Server 2003: taskmgr giving Logon failure</title><link>https://christian.blog.pakiheim.de/posts/2010-02-25_windows-server-2003-taskmgr-giving-logon-failure/</link><pubDate>Thu, 25 Feb 2010 17:58:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3005</guid><description>&lt;p&gt;I had myself a lot of fun today. I ended up patching a Windows Server 2003 x64 SP1, where the Task Manager wouldn&amp;rsquo;t start anymore. It simply failed (or in case of right clicking on the task bar wouldn&amp;rsquo;t even appear), so I went downstairs and pulled a hard disk out of the RAID1 array, just to be sure.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="%28/uploads/2010/02/weird-windows-error.png"
alt="Really weird Windows error"/&gt; &lt;figcaption&gt;
&lt;p&gt;Really weird Windows error&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I went ahead, installed SP2 (as you can see on the above picture) while having the jitters. Also installed the VirusScan I was scheduled to install, and the system came back online. Phewww.&lt;/p&gt;</description></item><item><title>XBMC installation Guide</title><link>https://christian.blog.pakiheim.de/howtos/xbmc-installation-guide/</link><pubDate>Wed, 24 Feb 2010 16:35:39 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/howtos/xbmc-installation-guide/</guid><description>&lt;p&gt;Yesterday out of a sudden, the sound on my Acer Revo stopped working. Don&amp;rsquo;t ask me why, I didn&amp;rsquo;t update anything in between New Years eve and today. Just no sound. Tried removing my .asoundrc, tried rebooting, tried powering off; but nothing worked.&lt;/p&gt;
&lt;p&gt;Since the Revo was running Jaunty Jackalope, I decided to reinstall the box (yeah, yet again) &amp;ndash; but this time with Karmic Koala. Took this &lt;a href="http://xbmc.org/forum/showthread.php?t=53812"&gt;forums post&lt;/a&gt; and this &lt;a href="http://www.springydevelopment.co.uk/2009/11/08/minimal-install-of-xbmc-on-ubuntu-karmic-koala/"&gt;blog entry&lt;/a&gt; as pointer (ie what needed to be installed), and started from there. And guess what &amp;hellip; after finishing all that, changing the settings in XBMC &amp;ndash; tada sound works. After finishing, I turned the box off and then back on, booted to the &amp;ldquo;old&amp;rdquo; installation &amp;ndash; guess what .. Sound is working again. I really don&amp;rsquo;t have a single clue as to why the heck the sound stopped working and the started working without any doing, but I&amp;rsquo;m glad :-P&lt;/p&gt;</description></item><item><title>VMware vSphere: Safely remove network controller</title><link>https://christian.blog.pakiheim.de/posts/2010-02-23_vmware-vsphere-safely-remove-network-controller/</link><pubDate>Tue, 23 Feb 2010 18:24:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2996</guid><description>&lt;p&gt;Well, it&amp;rsquo;s another day another fight. As we started migrating our VM&amp;rsquo;s from the old VMware ESX farms to the new environment, and upgraded the hardware suddenly the network devices were hot-plug-able, thus they did turn up in the &amp;ldquo;Safely Remove&amp;rdquo; dialog.&lt;/p&gt;
&lt;p&gt;I myself don&amp;rsquo;t have any trouble with that. The trouble I do have is the people working with those VM&amp;rsquo;s and their possibly hazardous &amp;ldquo;uuuh, what&amp;rsquo;s this ? I don&amp;rsquo;t need this! &amp;lt;click-click, network-device unplugged&amp;gt;&amp;rdquo;&lt;/p&gt;</description></item><item><title>VBscript: Query remote OS and SP info (continued)</title><link>https://christian.blog.pakiheim.de/posts/2010-02-15_vbscript-query-remote-os-and-sp-info-continued/</link><pubDate>Mon, 15 Feb 2010 20:34:34 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2975</guid><description>&lt;p&gt;After some more crunching on &lt;a href="https://christian.blog.pakiheim.de/posts/2010-02-15_vbscript-query-remote-os-and-sp-info-continued" title="VBscript: Query remote OS and SP info"&gt;my VBscript&lt;/a&gt;, I think I finally have a working script that runs through a csv-list I point it to and walk onto each system (by ip-address only sadly) and query the os and the Service Pack that is installed. The CSV may look like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Hostname;IP;Model;Description;OS;Service-Pack;BL;Priority
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;epimetheus;10.0.0.2;VMware guest;File-Server
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hades;10.0.0.1;VMware guest;Core-Router
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After saving that one, and running a cscript //NoLogo win_sp_level.vbs you should find a completed list like this:&lt;/p&gt;</description></item><item><title>Converting TIVSM RPMs to deb</title><link>https://christian.blog.pakiheim.de/posts/2010-02-15_converting-tivsm-rpms-to-deb/</link><pubDate>Mon, 15 Feb 2010 09:59:31 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2944</guid><description>&lt;p&gt;We received a preinstalled customer server the other day, for which we had declared &amp;ldquo;as-is&amp;rdquo; support only, since it is running Lucid Lynx. Now today, I started getting the TSM client to work. Was kinda weird, since at first dsmc was reporting something like this:&lt;/p&gt;
&lt;p&gt;# ./dsmc: no such file or directory&lt;/p&gt;
&lt;p&gt;After fiddling with it a bit more, here are the control files, as well as the prerm and postinst-scripts for TIVSM-API, TIVSM-API64 and TIVSM-BA:&lt;/p&gt;</description></item><item><title>Flying home with GermanWings</title><link>https://christian.blog.pakiheim.de/posts/2010-02-14_flying-home-with-germanwings/</link><pubDate>Sun, 14 Feb 2010 17:32:48 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2955</guid><description>&lt;p&gt;Last month I had this epiphany to fly home for a visit on my mother&amp;rsquo;s birthday. Well, the idea was great but the implementation kinda sucks.&lt;/p&gt;
&lt;p&gt;I started my trip around 12:00 AM from work to Stuttgart. Initially I had much more fear of the trip down to Stuttgart, since I have to drive on the A8 (which is kinda infamous for huge traffic jams), but as it turned out; those fears were without reason. It took me an hour to get to Stuttgart, which is fairly normal.&lt;/p&gt;</description></item><item><title>Samsung NC10 Anynet (HAT2DE), Ubuntu Karmic Koala and UMTS</title><link>https://christian.blog.pakiheim.de/posts/2010-01-07_samsung-nc10-anynet-hat2de-ubuntu-karmic-koala-and-umts/</link><pubDate>Thu, 07 Jan 2010 11:55:25 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2926</guid><description>&lt;p&gt;My little brother bought himself this fancy netbook (it&amp;rsquo;s okay I guess, only the keyboard takes getting used to). A few days after he bought it, he told me he wanted something different on it than the shipped Windows XP.&lt;/p&gt;
&lt;p&gt;At first, I favored a normal Ubuntu 9.10 Desktop. While thats okay, it simply isn&amp;rsquo;t the right thing for a netbook. Why ? For example, if the programs bar is larger than the vertical desktop resolution, it gets kinda tiring to work with this thing.&lt;/p&gt;</description></item><item><title>VMware Data Recovery</title><link>https://christian.blog.pakiheim.de/posts/2010-01-05_vmware-data-recovery/</link><pubDate>Tue, 05 Jan 2010 17:11:35 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2919</guid><description>&lt;p&gt;I&amp;rsquo;ve been tinkering with VMware&amp;rsquo;s Data Recovery for the last two weeks (as in configured it some time before Christmas) and had it running all that time. I have to say the integration into the vCenter Client GUI is amazing, I&amp;rsquo;d love to see that for VCB also. The &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1020128"&gt;Changed Block Tracking&lt;/a&gt; is a neat way to minimize the amount backup data as well as your backup window (which is nearly zero anyhow due to vDR using snapshots).&lt;/p&gt;</description></item><item><title>HOWTO: Installing XBMC on a Acer Revo R3600 with Ubuntu Jaunty/Karmic</title><link>https://christian.blog.pakiheim.de/posts/2010-01-02_howto-installing-xbmc-on-a-acer-revo-r3600-with-ubuntu-jaunty-karmic/</link><pubDate>Sat, 02 Jan 2010 18:38:25 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2882</guid><description>&lt;p&gt;Yesterday out of a sudden, the sound on my Acer Revo stopped working. Don&amp;rsquo;t ask me why, I didn&amp;rsquo;t update anything in between New Years eve and today. Just no sound. Tried removing my .asoundrc, tried rebooting, tried powering off; but nothing worked.&lt;/p&gt;
&lt;p&gt;Since the Revo was running Jaunty Jackalope, I decided to reinstall the box (yeah, yet again) &amp;ndash; but this time with Karmic Koala. Took this &lt;a href="http://xbmc.org/forum/showthread.php?t=53812"&gt;forums post&lt;/a&gt; and this &lt;a href="http://www.springydevelopment.co.uk/2009/11/08/minimal-install-of-xbmc-on-ubuntu-karmic-koala/"&gt;blog entry&lt;/a&gt; as pointer (ie what needed to be installed), and started from there. And guess what &amp;hellip; after finishing all that, changing the settings in XBMC &amp;ndash; tada sound works. After finishing, I turned the box off and then back on, booted to the &amp;ldquo;old&amp;rdquo; installation &amp;ndash; guess what .. Sound is working again. I really don&amp;rsquo;t have a single clue as to why the heck the sound stopped working and the started working without any doing, but I&amp;rsquo;m glad :-P&lt;/p&gt;</description></item><item><title>VCP410 exam</title><link>https://christian.blog.pakiheim.de/posts/2009-12-24_vcp410-exam/</link><pubDate>Thu, 24 Dec 2009 20:25:55 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2873</guid><description>&lt;p&gt;I&amp;rsquo;ve been learning for my VCP-410 exam the last week or so, and what can I say ? It helped &amp;hellip; 463 points of a total of 500 points ain&amp;rsquo;t that bad at all (considering I spend twenty minutes doing it).&lt;/p&gt;
&lt;p&gt;Sure, I could have spent more time, and do better than &lt;strong&gt;92,6%&lt;/strong&gt;, but then again: why should I ?&lt;/p&gt;
&lt;p&gt;The achieved points (nor the percentage) don&amp;rsquo;t appear on the certificate (or at least it didn&amp;rsquo;t on the old one), so why bother. Anyway, that was my christmas present to myself, it that light; happy christmas ya&amp;rsquo;ll.&lt;/p&gt;</description></item><item><title>PXEBoot the VMware ESXi installer</title><link>https://christian.blog.pakiheim.de/posts/2009-11-20_pxeboot-the-vmware-esxi-installer/</link><pubDate>Fri, 20 Nov 2009 20:19:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2845</guid><description>&lt;p&gt;Some of you may know, that VMware released vSphere 4.0 Update 1 yesterday. I took this as a reason, to finally wrap my head around booting the VMware ESXi installer from my PXE/TFTP box. Since VMware was kind enough &lt;a href="http://www.vmware.com/pdf/vsp_4_pxe_boot_esxi.pdf"&gt;to provide&lt;/a&gt; (a somewhat worthless) document, that explains how to extract the necessary files on Windows. But that quite doesn&amp;rsquo;t work with Linux &amp;ndash; and VMware just states that you should be using mount and it&amp;rsquo;s option offset.&lt;/p&gt;</description></item><item><title>Custom Keymap-xml with XBMC</title><link>https://christian.blog.pakiheim.de/posts/2009-11-15_custom-keymap-xml-with-xbmc/</link><pubDate>Sun, 15 Nov 2009 22:06:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2795</guid><description>&lt;p&gt;If you intend to use a &lt;a href="https://christian.blog.pakiheim.de/uploads/2009/06/Keymap.xml"&gt;custom Keymap.xml&lt;/a&gt; with XBMC you might need to be aware of a change that recently happened. Up till now the Keymap.xml was placed in ~/.xbmc/keymaps. Recently (not exactly sure, which svn revision it changed) although it changed.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Since r21442 (that&amp;rsquo;s after the current 9.04.1 release), the default keymapping files are stored in the system/keymaps/ subfolder of your installation. To alter the default keymapping simply add one or more xml-files in the Userdata/keymaps/ folder with the changes you wish to make. If the keymaps folder doesn&amp;rsquo;t exist, create it. For backwards compatibily, Userdata/Keymap.xml is still read.&lt;/p&gt;</description></item><item><title>Linksys WUSB600N on Ubuntu</title><link>https://christian.blog.pakiheim.de/posts/2009-11-15_linksys-wusb600n-on-ubuntu/</link><pubDate>Sun, 15 Nov 2009 12:17:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2786</guid><description>&lt;p&gt;Since I recently moved, I also needed to make a few changes to my home setup. Up till now, I always had a wall or a border where I could hide the CAT5/CAT6 cable for my boxen. But my new flat has doors everywhere. So I decided to buy two Linksys WUSB600N for my XBMC-box as well as for the NAS-box.&lt;/p&gt;
&lt;p&gt;The setup was pretty straight forward, I didn&amp;rsquo;t have to fiddle with it too long. The only thing I had to do, was setup wpa_supplicant in /etc/network/interfaces, as the router supplied by my provider comes with WPA2 enabled (which is a good thing).&lt;/p&gt;</description></item><item><title>Configuring nagios-plugins-zypper</title><link>https://christian.blog.pakiheim.de/posts/2009-11-12_configuring-nagios-plugins-zypper/</link><pubDate>Thu, 12 Nov 2009 17:45:43 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2801</guid><description>&lt;p&gt;Since I&amp;rsquo;m running check_zypper via nrpe (which in turn runs as nobody), I need to set up sudo. In order for the plugin to work, we need to add the following line to /etc/sudoers (by means of visudo):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nobody ALL = NOPASSWD: /usr/bin/zypper sl, /usr/bin/zypper --non-interactive --no-gpg-checks --terse list-updates
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;(Keep in mind this needs to be a single line &amp;hellip;)&lt;/p&gt;</description></item><item><title>Linux: Convert Gigabyte into Blocks</title><link>https://christian.blog.pakiheim.de/posts/2009-11-02_linux-convert-gigabyte-into-blocks/</link><pubDate>Mon, 02 Nov 2009 16:55:32 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2772</guid><description>&lt;p&gt;I just googled again for a &lt;a href="http://www.unitconversion.org/data-storage/gigabits-to-blocks-conversion.html"&gt;Gigabyte to Blocks&lt;/a&gt; converter when I stumbled upon &lt;a href="http://www.unix.com/aix/120651-converting-blocks-megabytes-gigabytes.html#post302359376"&gt;this&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo &amp;#34;(15*1024*1024*1024)/512&amp;#34; | bc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Easy to use and yet handy.&lt;/p&gt;</description></item><item><title>SVC: Migrate VDisks off a MDisk Group onto another</title><link>https://christian.blog.pakiheim.de/posts/2009-10-29_svc-migrate-vdisks-off-a-mdisk-group-onto-another/</link><pubDate>Thu, 29 Oct 2009 18:09:17 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2739</guid><description>&lt;p&gt;Out of necessity, another SVC shell script was just born. If you ever need to migrate a whole MDisk group onto another, you quickly discover the limited application of the SVC GUI. Now, you could query the VDisks using your original MDisk Group and then copy and paste the VDisk&amp;rsquo;s name (or the VDisk ID) into a command line and simply reuse that svctask migratevdisk command over and over.&lt;/p&gt;
&lt;p&gt;Luckily IBM blessed the SVC with an SSH interface. So again, we can write a (kinda) simple shell script which may look like this:&lt;/p&gt;</description></item><item><title>ESX: Query CDP information from the command line</title><link>https://christian.blog.pakiheim.de/posts/2009-10-29_esx-query-cdp-information-from-the-command-line/</link><pubDate>Thu, 29 Oct 2009 17:20:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2725</guid><description>&lt;p&gt;I&amp;rsquo;m just tracing some troubles I&amp;rsquo;m having with a backup server and two (independent) network adapter ports (as in two ports on two different dual-port nics). If I enable the port and set it to auto configuration, it&amp;rsquo;ll get 100MBit/Half-Duplex, but the Portgroup becomes unavailable.&lt;/p&gt;
&lt;p&gt;In order to get the connection back, I need to logon on the console (thank god even the backup server got an iLO2), and manually (as in esxcfg-nics -s 1000 -d full vmnic1) configure the adapter to 1GBit/s and full-duplex.&lt;/p&gt;</description></item><item><title>RPM: Query a specific rpm-file for information</title><link>https://christian.blog.pakiheim.de/posts/2009-10-28_rpm-query-a-specific-rpm-file-for-information/</link><pubDate>Wed, 28 Oct 2009 18:12:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2717</guid><description>&lt;p&gt;Since I end up googling it each time I need this, it&amp;rsquo;s about time I write it down &amp;hellip; If you want to query a specific RPM for information (Requires/Information/&amp;hellip;) you&amp;rsquo;ll need to use the &amp;ndash;package/-p option.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h3 id="-p---query-a-specific-rpm-package-file"&gt;&lt;strong&gt;-p &lt;code&gt;&amp;lt;file&amp;gt;&lt;/code&gt;&lt;/strong&gt; — Query a Specific RPM Package File&lt;/h3&gt;
&lt;p&gt;Up to now, every means of specifying a package to an RPM query focused on packages that had already been installed. While it&amp;rsquo;s certainly very useful to be able to dredge up information about packages that are already on your system, what about packages that haven&amp;rsquo;t yet been installed? The &lt;strong&gt;-p&lt;/strong&gt; option can do that for you.&lt;/p&gt;</description></item><item><title>KMP: Define a new subpkg template</title><link>https://christian.blog.pakiheim.de/posts/2009-10-24_kmp-define-a-new-subpkg-template/</link><pubDate>Sat, 24 Oct 2009 16:43:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2700</guid><description>&lt;p&gt;There might be reasons, you&amp;rsquo;d wish you could make the kernel module package do other things. Two already pop into my head: 1) The mpp-Image upgrades for the ibm-rdac kernel module packages and 2) the &amp;quot; &lt;em&gt;adjustments&lt;/em&gt;&amp;quot; which need to be done post install for the VMware kernel module package in /etc/vmware-tools/locations.&lt;/p&gt;
&lt;p&gt;What you basically do is this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Add the new subpkg template to your sources list&lt;/li&gt;
&lt;li&gt;Call the %suse_kernel_module_package macro with the option -s and then add your source number&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For me this looks like this:&lt;/p&gt;</description></item><item><title>SMT: Disable unmirrorable catalogs</title><link>https://christian.blog.pakiheim.de/posts/2009-10-24_smt-disable-unmirrorable-catalogs/</link><pubDate>Sat, 24 Oct 2009 16:22:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2694</guid><description>&lt;p&gt;Today I got this report from my SMT:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;WARNING&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;The&lt;/span&gt; &lt;span class="n"&gt;following&lt;/span&gt; &lt;span class="n"&gt;repositories&lt;/span&gt; &lt;span class="n"&gt;cannot&lt;/span&gt; &lt;span class="n"&gt;be&lt;/span&gt; &lt;span class="n"&gt;mirrored&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Maybe&lt;/span&gt; &lt;span class="n"&gt;you&lt;/span&gt; &lt;span class="n"&gt;have&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;enough&lt;/span&gt; &lt;span class="n"&gt;permissions&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;download&lt;/span&gt; &lt;span class="n"&gt;these&lt;/span&gt; &lt;span class="n"&gt;repositories&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;SLES10&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;SP2&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Pool&lt;/span&gt; &lt;span class="n"&gt;sles&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;x86_64&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;SLES10&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;SP2&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Pool&lt;/span&gt; &lt;span class="n"&gt;sles&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;i586&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;However, if you try and disable that repository with smt-catalogs -d, SMT is gonna quit your action with &amp;quot; &lt;em&gt;0 repositories disabled&lt;/em&gt;&amp;quot;. Since I didn&amp;rsquo;t want the error to show up again, here&amp;rsquo;s a quick way on how to disable it.&lt;/p&gt;
&lt;p&gt;Open up a mysql shell (mysql -u root -p preferably) and enter those queries:&lt;/p&gt;</description></item><item><title>Creating a custom RPM repository for SMT</title><link>https://christian.blog.pakiheim.de/posts/2009-10-22_creating-a-custom-rpm-repository-for-smt/</link><pubDate>Thu, 22 Oct 2009 17:59:45 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2665</guid><description>&lt;p&gt;I spent some time yesterday figuring out ways on how to assign custom (as in self-built) RPMs to a installation using SMT. First you obviously need a &amp;quot; &lt;em&gt;external&lt;/em&gt;&amp;quot; repository, that can be integrated into the SMT.&lt;/p&gt;
&lt;p&gt;So we need to create repository someplace, where the SMT can go and grab it. I ain&amp;rsquo;t gonna cover the sharing part, since that is your job! I&amp;rsquo;m just gonna cover the steps on how to create the custom repository and how to integrate it into the SMT.&lt;/p&gt;</description></item><item><title>Active Directory authentification for Samba on SLES11</title><link>https://christian.blog.pakiheim.de/posts/2009-10-21_active-directory-authentification-for-samba-on-sles11/</link><pubDate>Wed, 21 Oct 2009 18:46:25 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2663</guid><description>&lt;p&gt;I recently &amp;ldquo;redesigned&amp;rdquo; the PXE-installation server, which comes with a Samba service to easily move files on/off the box. The old one had the restriction, you need to create local user accounts. Since I also did an distribution upgrade, I wanted to try the integration of SLES11 into Active Directory.&lt;/p&gt;
&lt;p&gt;And as it turns out, it really is simple. Just follow the steps &lt;a href="http://www.suse.com/documentation/sles11/book_sle_admin/data/sec_samba_adnet.html"&gt;outlined in the handbook&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the Windows Domain Membership module, yast samba-client (or yast, then Network Services -&amp;gt; Windows Domain Membership) and enter your Domain information&lt;/li&gt;
&lt;li&gt;Open the Samba Server Module, yast samba-server (or yast, then Network Services -&amp;gt; Samba Server) and also enter your Domain information&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Just make sure, you also check the box labeled &lt;em&gt;&lt;strong&gt;Also Use SMB Information for Linux Authentication&lt;/strong&gt;&lt;/em&gt;, otherwise it won&amp;rsquo;t work &amp;ndash; don&amp;rsquo;t ask me why &amp;hellip;&lt;/p&gt;</description></item><item><title>3ware 9550SXU-8LP trouble</title><link>https://christian.blog.pakiheim.de/posts/2009-10-21_3ware-9550sxu-8lp-trouble/</link><pubDate>Wed, 21 Oct 2009 17:45:52 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2658</guid><description>&lt;p&gt;My home NAS, powered by a (used) 3ware 9550SXU-8LP, started behaving weird during the weekend. The box would boot one time, but if you&amp;rsquo;d reboot it again it wouldn&amp;rsquo;t come back up. Now, since I don&amp;rsquo;t have a monitor attached to it (I didn&amp;rsquo;t take the monitor with me when I moved), I needed to borrow one from work &amp;ndash; I&amp;rsquo;m gonna buy a DVI-D to HDMI-adapter soon, since the 42&amp;quot; LCD-TV is right besides the NAS.&lt;/p&gt;</description></item><item><title>Using the integrated kickstart generator</title><link>https://christian.blog.pakiheim.de/posts/2009-10-14_using-the-integrated-kickstart-generator/</link><pubDate>Wed, 14 Oct 2009 16:36:00 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2642</guid><description>&lt;p&gt;VMware built an kickstart generator into ESX 3.5. &lt;a href="http://pubs.vmware.com/vi35u2/install/wwhelp/wwhimpl/common/html/wwhelp.htm?context=install&amp;amp;file=install_remote_scripted.11.3.html#957177"&gt;You just need to enable it&lt;/a&gt;, simply by editing an XML configuration and restarting the webAccess service. Simply edit /usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.26/webapps/ui/WEB-INF/struts-config.xml and look for the line saying:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;action path=&amp;#34;/scriptedInstall&amp;#34; type=&amp;#34;org.apache.struts.actions.ForwardAction&amp;#34; parameter=&amp;#34;/WEB-INF/jsp/scriptedInstall/disabled.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This line needs to be commented out (&amp;lt;&amp;ndash; and &amp;ndash;&amp;gt;) and the lines following, having those comment marks around them needs to be removed.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-3"&gt;&lt;a class="lnlinks" href="#hl-1-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-4"&gt;&lt;a class="lnlinks" href="#hl-1-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-5"&gt;&lt;a class="lnlinks" href="#hl-1-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-6"&gt;&lt;a class="lnlinks" href="#hl-1-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-7"&gt;&lt;a class="lnlinks" href="#hl-1-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-8"&gt;&lt;a class="lnlinks" href="#hl-1-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-9"&gt;&lt;a class="lnlinks" href="#hl-1-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-10"&gt;&lt;a class="lnlinks" href="#hl-1-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-11"&gt;&lt;a class="lnlinks" href="#hl-1-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;!--
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;action path=&amp;#34;/scriptedInstall&amp;#34; type=&amp;#34;com.vmware.webcenter.scripted.ProcessAction&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form1&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form1.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form2&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form2.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form3&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form3.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form4&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form4.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form5&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form5.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form6&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form6.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form7&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form7.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/action&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After doing that, you should be able to restart the webAccess service, and after that access your ESX host.&lt;/p&gt;</description></item><item><title>Autoinstalling VMware-Tools</title><link>https://christian.blog.pakiheim.de/posts/2009-10-13_autoinstalling-vmware-tools/</link><pubDate>Tue, 13 Oct 2009 16:30:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2635</guid><description>&lt;p&gt;As I &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_sles11-and-autoyast" title="SLES11 and AutoYaST"&gt;wrote before&lt;/a&gt;, I have been working on our AutoYaST setup. That entitles determining whether or not we&amp;rsquo;re currently inside a VMware environment. AutoYaST rules wise, that&amp;rsquo;s pretty easy (even though the MAC-tag is empty &amp;#x1f633;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;!-- Addons: Install VMware Tools / KMP --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;rule&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;custom1&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;script&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;if ip a | grep &amp;#34;link/ether 00:50:56&amp;#34; &amp;gt;/dev/null ; then
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo -n vmware
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fi;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/script&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;match&amp;gt;*&amp;lt;/match&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;match_type&amp;gt;exact&amp;lt;/match_type&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/custom1&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;result&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;profile&amp;gt;addons/@custom1@.xml&amp;lt;/profile&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/result&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/rule&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The hard part is figuring out ways, to make the VMware Tools installation as pain free as possible. One thing I can&amp;rsquo;t do, is running vmware-config-tools.pl &amp;hellip;&lt;/p&gt;</description></item><item><title>New IBM RDAC version (or not)</title><link>https://christian.blog.pakiheim.de/posts/2009-09-09_new-ibm-rdac-version-or-not/</link><pubDate>Wed, 09 Sep 2009 20:03:30 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2577</guid><description>&lt;p&gt;A week ago (September 02nd), I received a mail detailing the release of IBM&amp;rsquo;s new multipathing device driver for the DS4x00 series, which finally works with SLES11 (the available software up till now doesn&amp;rsquo;t &amp;ndash; as in fails with kernels &amp;gt; 2.6.26 iirc).&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/09/ibm-rdac-new-version.png"
alt="ESC&amp;#43; notification detailing the release" width="450"/&gt; &lt;figcaption&gt;
&lt;p&gt;ESC+ notification detailing the release&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;There wouldn&amp;rsquo;t be any trouble, if IBM (or rather the vendor providing the driver &amp;ndash; LSI) would actually release the driver &amp;hellip; up till today, I have yet to see the new version appear on the &lt;a href="http://www.lsi.com/rdac/ds4000.html"&gt;download page&lt;/a&gt;. I already tried to notify IBM about the trouble, but as usual there is lack of ways to actually get this to the right person.&lt;/p&gt;</description></item><item><title>Tivoli Storage Manager Server 5-5-3</title><link>https://christian.blog.pakiheim.de/posts/2009-08-28_tivoli-storage-manager-server-5-5-3/</link><pubDate>Fri, 28 Aug 2009 14:19:14 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2558</guid><description>&lt;p&gt;I spent yesterday afternoon upgrading our TS7530, and in my fad I also upgraded TSM to 5.5.3. Now, once I started TSM it quickly started complaining about the paths to the drives.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt;9&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8873E The path from source TSM1 to destination VTL1_DR03
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(/dev/lin_tape/IBMtape03) is taken offline.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8873E The path from source TSM1 to destination VTL1_DR03
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(/dev/lin_tape/IBMtape03) is taken offline.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;HBA_LoadLibrary: previously unfreed libraries exist, call HBA_FreeLibrary().
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8873E The path from source TSM1 to destination VTL1_DR07
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(/dev/lin_tape/IBMtape07) is taken offline.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8873E The path from source TSM1 to destination VTL1_DR07
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(/dev/lin_tape/IBMtape-07) is taken offline.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I thought maybe this is a mere device problem (we have had them before), so I rebooted the boxes. But still no luck and I went home after about an hour of trying without any luck. In the morning, my co-worker called our trustworthy IBM service partner, and the TSM consultant said he had the &lt;a href="http://www.ibm.com/developerworks/forums/thread.jspa?threadID=270799&amp;amp;tstart=0"&gt;exact&lt;/a&gt;, &lt;a href="http://www.adsm.org/forum/showthread.php?p=74331"&gt;same&lt;/a&gt; problem yesterday. We would have two options:&lt;/p&gt;</description></item><item><title>IBM RSA II adapter and Java RE (fini)</title><link>https://christian.blog.pakiheim.de/posts/2009-08-19_ibm-rsa-ii-adapter-and-java-re-fini/</link><pubDate>Wed, 19 Aug 2009 04:32:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2539</guid><description>&lt;p&gt;If you remember back to July, &lt;a href="https://christian.blog.pakiheim.de/posts/2009-08-19_ibm-rsa-ii-adapter-and-java-re-fini" title="IBM RSA II adapter and Java RE"&gt;I looked into some troubles&lt;/a&gt; I had with the IBM RSA II adapter&amp;rsquo;s Java interface and the latest JRE updates. I just noticed, that IBM released a &lt;a href="http://www-947.ibm.com/support/entry/portal/docdisplay?brand=5000008&amp;amp;lndocid=MIGR-5081602"&gt;new firmware&lt;/a&gt; yesterday for the RSA. The ChangeLog states this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Version 1.13, GFEP35A&lt;/strong&gt;
Problem(s) Fixed:&lt;/p&gt;
&lt;p&gt;* Suggested
o Fix for Remote Control General Exception in JRE 1.6 update 12 and above.
o Corrected a problem that DHCP renew/release may fail after a long time.
o Corrected a problem that remote control preference link disapears after creating new key buttons.
o Corrected a problem that cause event number shows only from 0 to 255 when views RSA log via telnet session.&lt;/p&gt;</description></item><item><title>rpc-statd starting before portmap</title><link>https://christian.blog.pakiheim.de/posts/2009-08-04_rpc-statd-starting-before-portmap/</link><pubDate>Tue, 04 Aug 2009 14:51:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2519</guid><description>&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_portmap-hanging-on-shutdown" title="portmap hanging on shutdown"&gt;One problem gone&lt;/a&gt;, another one turns up. When rpc.statd (nfs-common) tries to start before portmap, it&amp;rsquo;s gonna result in failure. Now, the logfile (/var/log/daemon.log) is gonna print a rather cryptic error message:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Aug  4 15:54:25 xen2 rpc.statd[3419]: Version 1.1.2 Starting
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Aug  4 15:54:25 xen2 rpc.statd[3419]: unable to register (statd, 1, udp).
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After fixing the start order (I really hate &lt;em&gt;SUSE&lt;/em&gt;/Debian* for not having init-script dependencies &amp;ndash; like Gentoo&amp;rsquo;s baselayout/Roy&amp;rsquo;s &lt;a href="http://roy.marples.name/projects/openrc"&gt;openrc&lt;/a&gt; does have), everything is like it should be and I&amp;rsquo;m able to put the /srv/xen mount into the fstab &amp;hellip;&lt;/p&gt;</description></item><item><title>OFED packages for Debian</title><link>https://christian.blog.pakiheim.de/posts/2009-08-04_ofed-packages-for-debian/</link><pubDate>Tue, 04 Aug 2009 12:25:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2504</guid><description>&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_xen-dom0-failing-with-kernel-panic" title="Xen dom0 failing with kernel panic"&gt;As I mentioned yesterday&lt;/a&gt;, I&amp;rsquo;m currently doing some project work. Said project includes InfiniBand technology.&lt;/p&gt;
&lt;p&gt;Apparently we bought a &amp;ldquo;cheap&amp;rdquo; InfiniBand switch, which comes without a subnet manager. So, in order to communicate between the nodes, you need to install the subnet manager (&lt;a href="http://pkg-ofed.alioth.debian.org/"&gt;opensm&lt;/a&gt; in my case) on each node.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo &amp;#39;deb http://pkg-ofed.alioth.debian.org/apt/ofed ./&amp;#39; &amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /etc/apt/sources.list.d/openfabrics.list;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; aptitude update;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; aptitude install opensm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In order to utilize the InfiniBand interface you need to do a few things first though:&lt;/p&gt;</description></item><item><title>TS7530 authentification failure</title><link>https://christian.blog.pakiheim.de/posts/2009-08-01_ts7530-authentification-failure/</link><pubDate>Sat, 01 Aug 2009 05:20:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2415</guid><description>&lt;p&gt;Today, I had a rather troublesome morning. Once I got to work, Nagios was already complaining about the lin_taped on one of our TSM servers, which apparently failed due to too &lt;a href="https://christian.blog.pakiheim.de/uploads/2009/07/messages"&gt;many SCSI resets&lt;/a&gt;. Additionally, I can&amp;rsquo;t login using the VE console (I can login however using SSH) so I ended up opening up a IBM Electronic Service Call (ESC+).&lt;/p&gt;
&lt;p&gt;Using SSH, I can get some information on the VE&amp;rsquo;s status:&lt;/p&gt;</description></item><item><title>VMware vSphere and templates</title><link>https://christian.blog.pakiheim.de/posts/2009-07-31_vmware-vsphere-and-templates/</link><pubDate>Fri, 31 Jul 2009 13:51:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2486</guid><description>&lt;p&gt;I just converted one of my (old) templates, as I wanted to refresh the updates and the virus scanner. After converting, I was asked about the UUID (no clue why), and expected to be done with it. But after looking at the console, I got the following, completely cryptic message:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/07/win-xp_template-error.png"
alt="Unable to connect to MKS" width="400"/&gt; &lt;figcaption&gt;
&lt;p&gt;Unable to connect to MKS&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;After digging a bit deeper (that is looking at the vmware.log of the virtual machine, since the message of the GUI is &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; cryptic), I&amp;rsquo;m a bit wiser:&lt;/p&gt;</description></item><item><title>IBM TS7530 and the Virtualization Engine for Tape Console</title><link>https://christian.blog.pakiheim.de/posts/2009-07-31_ibm-ts7530-and-the-virtualization-engine-for-tape-console/</link><pubDate>Fri, 31 Jul 2009 12:44:16 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2480</guid><description>&lt;p&gt;I just had yet another support call with &lt;a href="http://www.ibm.com/us/en/"&gt;IBM&lt;/a&gt;, concerning the Tape Console (or VE console, courtesy of &lt;a href="http://www.falconstor.com"&gt;Falconstor&lt;/a&gt;). My basic problem was/is, that I, as a german person, do have a german Windows Server 2003 installation. Now, if you do have german decimal number format selected in the regional settings, the display is gonna be kinda impaired and you&amp;rsquo;re gonna see something like this:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/07/ve_console-german.png"
alt="VE console with german decimal number format" width="400"/&gt; &lt;figcaption&gt;
&lt;p&gt;VE console with german decimal number format&lt;/p&gt;</description></item><item><title>Praxisbuch Nagios by Tobias Scherbaum</title><link>https://christian.blog.pakiheim.de/posts/2009-07-25_praxisbuch-nagios-by-tobias-scherbaum/</link><pubDate>Sat, 25 Jul 2009 11:58:20 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2454</guid><description>&lt;p&gt;Tobi recently finished writing yet another book, which he also talked about &lt;a href="http://blog.scherbaum.info/2009/06/22/endlich-fertig/"&gt;in a blog post&lt;/a&gt;. Shortly after, I &lt;a href="http://blog.scherbaum.info/2009/06/22/endlich-fertig/#129719"&gt;asked him&lt;/a&gt; a rather curious question. What exactly is the plant or animal on the cover of the book ? He was kind enough to send a voucher copy of the book my way.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/07/datgutepraxisbuchnagiosundvonvorne.png"
alt="Praxisbuch Nagios" width="441"/&gt; &lt;figcaption&gt;
&lt;p&gt;Praxisbuch Nagios&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;He actually mentions it in the credits at the beginning of the book. Turns out it is an animal, a sea pen or sea feather (I&amp;rsquo;m guessing at &lt;a href="http://en.wikipedia.org/wiki/Sea_pen"&gt;Pennatula aculeata&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>Exclude a directory from tar</title><link>https://christian.blog.pakiheim.de/posts/2009-07-24_exclude-a-directory-from-tar/</link><pubDate>Fri, 24 Jul 2009 13:40:18 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2425</guid><description>&lt;p&gt;Damn tar is kinda weird .. usually, you specifiy excludes in the manner of &amp;ndash;exclude=&amp;quot;/path/to/exclude&amp;quot;. But tar needs to do things differently.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tar -cvpf /xen-dom0.tar --exclude &amp;#34;/proc/*&amp;#34; --exclude &amp;#34;/sys/*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --exclude &amp;#34;/dev/*&amp;#34; --exclude &amp;#34;/xen-dom0.tar&amp;#34; /
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Custom certificates in VMware vSphere</title><link>https://christian.blog.pakiheim.de/posts/2009-07-24_custom-certificates-in-vmware-vsphere/</link><pubDate>Fri, 24 Jul 2009 13:34:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2431</guid><description>&lt;p&gt;Finally, &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_vmware-new-virtualcenter-2-5-update-4" title="VMware: New VirtualCenter 2.5 Update 4"&gt;after about 6 months&lt;/a&gt; (I last talked about that on February 25th, when Virtual Center 2.5U4 was released) our troubles with our &amp;quot; &lt;em&gt;custom&lt;/em&gt;&amp;quot; certificates seems to be resolved! As it turns out, it really was our fault and not VMware&amp;rsquo;s.&lt;/p&gt;
&lt;p&gt;When generating the pfx from the signed certificate and the key-file, you need to supply a password, otherwise the vCenter service is unable to utilize the private key of the pfx, since it&amp;rsquo;s unable to access the PFX with the default password ( &lt;strong&gt;testpassword&lt;/strong&gt; is the default for Virtual Center as well as vSphere).&lt;/p&gt;</description></item><item><title>Windows XP(e) refusing to connect to a terminal server</title><link>https://christian.blog.pakiheim.de/posts/2009-07-23_windows-xp-e-refusing-to-connect-to-a-terminal-server/</link><pubDate>Thu, 23 Jul 2009 14:48:52 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2411</guid><description>&lt;p&gt;Today a error message reappeared I thought I wouldn&amp;rsquo;t see again. We use Wyse Thin Clients and 2X running on two terminal servers, to provide the thin clients with applications. Now, once a while one of the thin clients (not all at once, just a single one) refuse to connect to the terminal server jabbing about this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;The remote computer disconnected the session because of an error in the licensing protocol.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The error message you get from the 2X client ain&amp;rsquo;t the slightest bit more helpful.&lt;/p&gt;</description></item><item><title>Burning CD/DVDs as unprivileged user</title><link>https://christian.blog.pakiheim.de/posts/2009-07-21_burning-cd-dvds-as-unprivileged-user/</link><pubDate>Tue, 21 Jul 2009 15:26:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2399</guid><description>&lt;p&gt;After the last reinstallation of Windows (both at home and at work), I decided that from this day forth, I&amp;rsquo;d be working as unprivileged user (ie not as local administrator). Now, working as unprivileged user is some kind of relief (since not every program is able to wreak havoc within your computer), but also somewhat of a burden.&lt;/p&gt;
&lt;p&gt;Up until now, I had serious troubles burning CDs and/or DVDs as unprivileged user. Basically InfraRecorder refused to work at all. Only way that I had left, was copying the ISO to my local disk and then use runas in conjunction with InfraRecorder, to execute as Administrator.&lt;/p&gt;</description></item><item><title>Setting up a OpenVPN server with DD-WRT</title><link>https://christian.blog.pakiheim.de/posts/2009-07-18_setting-up-a-openvpn-server-with-dd-wrt/</link><pubDate>Sat, 18 Jul 2009 18:18:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2394</guid><description>&lt;p&gt;In the past I had toyed with the thought of setting up a VPN-Server at home, so that I could do stuff from elsewhere. Now, I finally got around doing so. First obstacle ? How exactly would I be doing that ?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Get the DD-WRT VPN flavor of course!&lt;/li&gt;
&lt;li&gt;Configure the VPN server&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now, the second part seems to be a bit harder. There is a &lt;a href="http://www.dd-wrt.com/wiki/index.php/OpenVPN"&gt;wiki article on how to configure OpenVPN&lt;/a&gt; in the DD-WRT wiki, but not for v24 SP1. Lucky me, someone already made himself the work of writing &lt;a href="http://www.dd-wrt.com/phpBB2/viewtopic.php?t=35689"&gt;somewhat of a guide&lt;/a&gt; down. But, guess according to Murphy&amp;rsquo;s law, things ain&amp;rsquo;t ever gonna be easy. As I&amp;rsquo;m running Ubuntu Karmic on my workbook, the commands ain&amp;rsquo;t matching the current openvpn package being delivered with Karmic. So here is, intended only as a guide, the list of steps one has to do in order to get the certs &amp;hellip;&lt;/p&gt;</description></item><item><title>My neverending lighttpd troubles</title><link>https://christian.blog.pakiheim.de/posts/2009-07-16_my-neverending-lighttpd-troubles/</link><pubDate>Thu, 16 Jul 2009 10:31:13 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2364</guid><description>&lt;p&gt;Well, after a day or so my lighttpd &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_lighttpd-issues" title="Lighttpd issues"&gt;troubles&lt;/a&gt; reappeared. But this time, the lighttpd process would simply put out this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mod_fastcgi&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2913&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;backend&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;overloaded&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;ll disable it for 2 seconds and send the request to another backend instead: reconnects: 0 load: 131&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mod_fastcgi&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2668&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;fcgi&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lighttpd&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lighttpd&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;fastcgi&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;php&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;17242.&lt;/span&gt;&lt;span class="n"&gt;socket&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mod_fastcgi&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2913&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;backend&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;overloaded&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;ll disable it for 2 seconds and send the request to another backend instead: reconnects: 0 load: 131&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mod_fastcgi&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2668&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;fcgi&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lighttpd&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lighttpd&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;fastcgi&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;php&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;17242.&lt;/span&gt;&lt;span class="n"&gt;socket&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And as the message says, PHP (or rather mod_fastcgi?) would simply stop to process requests. In the end, I tuned some of the lighttpd/mod_fastcgi parameters.&lt;/p&gt;</description></item><item><title>Hammock</title><link>https://christian.blog.pakiheim.de/posts/2009-07-10_hammock/</link><pubDate>Fri, 10 Jul 2009 07:41:03 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2347</guid><description>&lt;p&gt;Well, out of boredom I stated on Friday that I&amp;rsquo;d gonna go look for a hammock, since the beach chair quite isn&amp;rsquo;t enough. I went through every DIY superstore in Stralsund, but none of them had anything like I wanted (basically I wanted a wooden hammock, which would be able to carry me). Thanks to the Internet though, I was quite fast at a point where I found something (Amazon rules!)&lt;/p&gt;</description></item><item><title>Updating a Linux VM from Virtual Infrastructure to vSphere</title><link>https://christian.blog.pakiheim.de/posts/2009-07-08_updating-a-linux-vm-from-virtual-infrastructure-to-vsphere/</link><pubDate>Wed, 08 Jul 2009 13:51:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2314</guid><description>&lt;p&gt;Well, if you&amp;rsquo;re gonna update a SLES10 (or even a SLES11) VM, you created with Virtual Infrastructure, you&amp;rsquo;re gonna run into a snag (like I do). Grub (or rather the kernel itself) is gonna barf.&lt;/p&gt;
&lt;p&gt;Now, I searched for a while and didn&amp;rsquo;t find anything specific on the net, so I&amp;rsquo;m gonna write it down. Up till 3.5U4 the maximal resolution you&amp;rsquo;d be able to enter within a virtual machine was vga=0x32d (at least for my 19&amp;quot; TFT&amp;rsquo;s at work). But now, after the upgrade to vSphere that isn&amp;rsquo;t working anymore.&lt;/p&gt;</description></item><item><title>GermanWings travels</title><link>https://christian.blog.pakiheim.de/posts/2009-07-02_germanwings-travels/</link><pubDate>Thu, 02 Jul 2009 06:27:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2301</guid><description>&lt;p&gt;Well, I had the pleasure of flying with Germanwings on Friday and Sunday. As it turns out, if you fly with Germanwings you should plan some more time. On Friday, we were scheduled for departure at 17:00 (that&amp;rsquo;s 5 P.M.). Around 6 P.M. the flight assistant(s) guarding the gate announced that the flight is being delayed for a unspecified amount of time due to maintenance. At 7 P.M. they announced that again.&lt;/p&gt;</description></item><item><title>Intel X25-M powering Ubuntu Karmic</title><link>https://christian.blog.pakiheim.de/posts/2009-06-11_intel-x25-m-powering-ubuntu-karmic/</link><pubDate>Thu, 11 Jun 2009 12:58:29 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2290</guid><description>&lt;p&gt;I recently ordered a Intel X25-M Solid State Disk as a replacement for the oldish SATA 2,5&amp;quot; disk powering my Fujitsu Celisus M250 (called workbook). I figured it&amp;rsquo;d be a bit faster as compared to running from the old hard disk, but I didn&amp;rsquo;t figure it be &lt;strong&gt;that&lt;/strong&gt; fast!&lt;/p&gt;
&lt;p&gt;Since it is blazing fast, my trainee figured he&amp;rsquo;d install bootchart and see how the disk/the whole notebook performed.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/06/workbook-karmic-20090611-1.png"
alt="bootchart map of the X25-M" width="400"/&gt; &lt;figcaption&gt;
&lt;p&gt;bootchart map of the X25-M&lt;/p&gt;</description></item><item><title>XBMC Keymap</title><link>https://christian.blog.pakiheim.de/posts/2009-06-11_xbmc-keymap/</link><pubDate>Thu, 11 Jun 2009 05:15:24 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2283</guid><description>&lt;p&gt;After &lt;a href="https://christian.blog.pakiheim.de/posts/2010-01-02_howto-installing-xbmc-on-a-acer-revo-r3600-with-ubuntu-jaunty-karmic" title="XBMC on the Acer Revo"&gt;I had the initial stuff done&lt;/a&gt;, I spent some time yesterday (roughly one hour) figuring out, why Play/Pause/Stop aren&amp;rsquo;t working any longer (they worked at some point).&lt;/p&gt;
&lt;p&gt;After looking at the XBMC debug log for some time, I went back and looked at my Lircmap.xml. As it turns out, you can&amp;rsquo;t map one Lirckey to two functions (in my case, I mapped &lt;em&gt;KEY_7&lt;/em&gt; to &lt;em&gt;&lt;!-- raw HTML omitted --&gt;&lt;/em&gt; as well as &lt;em&gt;&lt;!-- raw HTML omitted --&gt;&lt;/em&gt;). XBMC doesn&amp;rsquo;t like that, and in return quits functioning for those keys.&lt;/p&gt;</description></item><item><title>New vmware-tools-kmp</title><link>https://christian.blog.pakiheim.de/posts/2009-06-10_new-vmware-tools-kmp/</link><pubDate>Wed, 10 Jun 2009 11:31:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2273</guid><description>&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; I don&amp;rsquo;t take &lt;em&gt;any responsibility&lt;/em&gt; for faults within the software, I just provide the RPM&amp;rsquo;s! Feel free to ask me about stuff concerning these RPM&amp;rsquo;s, but I ain&amp;rsquo;t accountable if your stuff goes &lt;strong&gt;kaboom&lt;/strong&gt;! Oh, and those RPM&amp;rsquo;s aren&amp;rsquo;t &lt;strong&gt;recommended&lt;/strong&gt; or &lt;strong&gt;supported&lt;/strong&gt; by VMware!&lt;/p&gt;
&lt;p&gt;Since we recently upgraded our VMware Infrastructure to VMware vSphere, I finally had a chance to refresh the RPM&amp;rsquo;s for the KMP for &lt;em&gt;2.6.16.60-0.39.3-0.1&lt;/em&gt; and &lt;em&gt;2.6.27.21-0.1&lt;/em&gt;. You can find the source RPM &lt;a href="http://distributions.barfoo.org/SLES10/src/vmware-tools-4.0.0_164009-0.1.src.rpm"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>OCF agent for Tivoli Storage Manager: redux</title><link>https://christian.blog.pakiheim.de/posts/2009-06-05_ocf-agent-for-tivoli-storage-manager-redux/</link><pubDate>Fri, 05 Jun 2009 09:35:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2238</guid><description>&lt;p&gt;Well, after I finished my &lt;a href="http://christian.weblog.heimdaheim.de/2008/10/05/linux-ha-and-tivoli-storage-manager-finito/" title="Linux-HA and Tivoli Storage Manager (Finito!)"&gt;first OCF agent back in October 2008&lt;/a&gt;, we have it running in production now for about ten months. During that time, we found quite a few points in which we&amp;rsquo;d like to improve the behaviour with that Linux-HA should handle TSM.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Shutdown TSM nicely if possible (Cancel client sessions, cancel running processes and dismount mounted volumes)&lt;/li&gt;
&lt;li&gt;Better error handling&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, after another week of writing and testing with a small instance, I present the new OCF agent for Tivoli Storage Manager. It still has one or two weak points, but they are negligible. I still need to write the documentation for it, but the script should just work &amp;hellip;&lt;/p&gt;</description></item><item><title>Weird TS3500 problem: redux</title><link>https://christian.blog.pakiheim.de/posts/2009-06-03_weird-ts3500-problem-redux/</link><pubDate>Wed, 03 Jun 2009 12:49:35 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2224</guid><description>&lt;p&gt;Well, after &lt;a href="https://christian.blog.pakiheim.de/posts/2009-06-03_weird-ts3500-problem-redux" title="Weird TS3500 problem"&gt;yesterday&amp;rsquo;s episode with our tape library&lt;/a&gt; today continued to be a taxing day. After restarting a few exports that were hanging yesterday due to our library problems, something similar returned. TSM was unable to locate a few (two to be exact) tapes in the library.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt;9&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8300E I/O error on library LIB3584 (OP=00006C03, CC=314, KEY=05, ASC=3B,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ASCQ=0E, SENSE=70.00.05.00.00.00.00.0A.00.00.00.00.3B.0E.00.C0.00-.04.,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Description=The source slot or drive was empty in an attempt to move a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;volume). Refer to Appendix C in the &amp;#39;Messages&amp;#39; manual for recommended action.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8312E Volume 000400 could not be located in library LIB3584.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8358E Audit operation is required for library LIB3584.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8381E LTO volume 000400 could not be mounted in drive DR6 (/dev/rmt0).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR1402W Mount request denied for volume 000400 - volume unavailable.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR1410W Access mode for volume 000400 now set to &amp;#34;unavailable&amp;#34;.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Yet the library reported the tapes were still inventoried. &amp;#x1f937; Here we are again, looking completely baffled. After a short while trying to figure out what to do, we went through the Data Cartridge inventory again. As it turns out, through putting the library in &amp;ldquo;Pause&amp;rdquo;-Mode and restarting TSM multiple times, TSM apparently completely forgot that it had these tapes put into drives.&lt;/p&gt;</description></item><item><title>Reviewing Mobile Admin by Rove</title><link>https://christian.blog.pakiheim.de/posts/2009-06-01_reviewing-mobile-admin-by-rove/</link><pubDate>Mon, 01 Jun 2009 19:16:52 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2154</guid><description>&lt;p&gt;Well, Laura Kedziora (Marketing Manager) from Rove contacted me about two months ago, whether or not I&amp;rsquo;d be willing to write up a review about their upcoming release of Mobile Admin supporting Nagios!&lt;/p&gt;
&lt;p&gt;At first, I didn&amp;rsquo;t even know what &amp;quot; &lt;em&gt;Mobile Admin&lt;/em&gt;&amp;quot; was .. though I heard some good things about &lt;a href="http://www.roveit.com/"&gt;Rove&lt;/a&gt;. After playing with it in a VM, I do have to admit that it&amp;rsquo;s a real neat piece of software.&lt;/p&gt;
&lt;p&gt;You can cover the whole (well, pretty much everything) shebang dealing with Nagios with the cell phone. But not just that. I could also manage our VMware Infrastructure (or vCenter) with it, as well as a SCCM environment (if we had any that is). Since I only have a shitty-old Nokia (not the required Nokia 6xxx), I ended up borrowing my brothers BlackBerry to take some photos.&lt;/p&gt;</description></item><item><title>DawiControl SIL3114</title><link>https://christian.blog.pakiheim.de/posts/2009-05-10_dawicontrol-sil3114/</link><pubDate>Sun, 10 May 2009 13:42:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2130</guid><description>&lt;p&gt;Well, if you remember back to last December, I had some severe troubles with this &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_sil-3114-barfing" title="SIL 3114 barfing"&gt;fake ass&lt;/a&gt; &lt;a href="https://christian.blog.pakiheim.de/posts/2008-12-29_md-multiple-devices-weirdness" title="MD (Multiple Devices) weirdness"&gt;RAID controller&lt;/a&gt;. At the time I posted my last problem (or rather, my conclusion) I already bought a 3WARE Escalade 9550SXU-8LP on EBay (used, since I didn&amp;rsquo;t want to spend ~400 EUR). Now after the controller arrived in mid-January, I ended up buying a new main-board, processor, memory, &amp;hellip; in order to put the 3WARE card to use; initially I thought the 3WARE card would fit into my A7N8X-X, but apparently that only had a 16bit PCI-slot.&lt;/p&gt;</description></item><item><title>Novell KMP: vmware-tools-kmp and ibm-lin_tape-kmp</title><link>https://christian.blog.pakiheim.de/posts/2009-05-10_novell-kmp-vmware-tools-kmp-and-ibm-lin-tape-kmp/</link><pubDate>Sun, 10 May 2009 11:27:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2118</guid><description>&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; I don&amp;rsquo;t take &lt;em&gt;any responsibility&lt;/em&gt; for faults within the software, I just provide the RPM&amp;rsquo;s! Feel free to ask me about stuff concerning these RPM&amp;rsquo;s, but I ain&amp;rsquo;t accountable if your stuff goes &lt;strong&gt;kaboom&lt;/strong&gt; &amp;hellip; Oh, and those RPM&amp;rsquo;s aren&amp;rsquo;t &lt;strong&gt;recommended&lt;/strong&gt; or &lt;strong&gt;supported&lt;/strong&gt; by Novell or IBM!&lt;/p&gt;
&lt;p&gt;After &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_novell-kmp-useable-version-of-ibm-rdac-ds4000" title="Novell KMP: Useable version of ibm-rdac-ds4000"&gt;working with the novell-kmp solution&lt;/a&gt;, I think it&amp;rsquo;s actually rather easy to create a &amp;quot; &lt;em&gt;Kernel Module Package&lt;/em&gt;&amp;quot;. In the end, I created two additional KMP&amp;rsquo;s, one for the tools component of the VMware-Tools shipped with VMware ESX, and another for the lin_tape SCSI driver, used by our IBM TS3400 as well as the IBM TS7530.&lt;/p&gt;</description></item><item><title>Winter on Spiekeroog</title><link>https://christian.blog.pakiheim.de/posts/2009-05-04_winter-on-spiekeroog/</link><pubDate>Mon, 04 May 2009 17:05:43 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2021</guid><description>&lt;p&gt;Well, as I &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_short-vacation" title="Short vacation"&gt;wrote last year&lt;/a&gt;, I spent some time with my brother on Spiekeroog (that&amp;rsquo;s where he&amp;rsquo;s currently living and working). As I left on December 4th, it started snowing like crazy ..&lt;/p&gt;
&lt;p&gt;If you read the old article, you might remember that I mentioned Spiekeroog is 100% free of fossil fueled vehicles. That being said, let&amp;rsquo;s continue with the story I&amp;rsquo;m about to tell.&lt;/p&gt;
&lt;p&gt;Anyway, my brother was walking me back to the hotel boat and we waited a bit in the harbour since we were a bit early. Now, every item is delivered by ship to the island, since there&amp;rsquo;s no other way (besides by air, which is kinda expensive ..). Anyway, them dockworkers ain&amp;rsquo;t stupid. They needed some snow-free space, and they started clearing the snow. But how ?&lt;/p&gt;</description></item><item><title>Firefox: Hosting Xmarks (formerly Foxmarks) on lighttpd</title><link>https://christian.blog.pakiheim.de/posts/2009-05-03_firefox-hosting-xmarks-formerly-foxmarks-on-lighttpd/</link><pubDate>Sun, 03 May 2009 14:30:58 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2010</guid><description>&lt;p&gt;Well, I am an enthusiastic user of Xmarks (or Foxmarks) and played with this again and again. So this weekend, I finally decided to do it properly. I sat down, recreated the whole WebDAV stuff (even if I cheated of this &lt;a href="http://www.howtoforge.com/setting-up-webdav-with-lighttpd-debian-etch"&gt;HowtoForge article&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Always redirect traffic to HTTPS, since transmitting username and passwords via HTTP ain&amp;rsquo;t that secure (MITM)&lt;/p&gt;
&lt;p&gt;Okay, so here are the shortended setup instructions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Enable mod_access, mod_auth, mod_redirect and mod_webdav in /etc/lighttpd/lighttpd.conf&lt;/li&gt;
&lt;li&gt;Create the necessary directories&lt;/li&gt;
&lt;li&gt;Create the htpasswd-file&lt;/li&gt;
&lt;li&gt;Configure the redirections&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;mkdir&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;www&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dav&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;web&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;sql&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;chown&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;R&lt;/span&gt; &lt;span class="n"&gt;lighttpd&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;lighttpd&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;www&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dav&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;web&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;sql&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;htpasswd&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;www&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dav&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;auth&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;htpasswd&lt;/span&gt; &lt;span class="n"&gt;chrischie&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Since we just created the necessary directories, as well as a htpasswd-file containing a user we should be able to change the configuration now:&lt;/p&gt;</description></item><item><title>TSM: Restoring the database/recovery log to a point-in-time</title><link>https://christian.blog.pakiheim.de/posts/2009-04-24_tsm-restoring-the-database-recovery-log-to-a-point-in-time/</link><pubDate>Fri, 24 Apr 2009 12:38:34 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1998</guid><description>&lt;p&gt;Well, my co-worker just called on my cell (it&amp;rsquo;s Friday, 16:00), and asked me which start-up script he needed to change in order to restore the database. My first response was, &amp;ldquo;ummm, that&amp;rsquo;s gonna be hard, we&amp;rsquo;re using heartbeat&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Okay, so after a bit of asking I got out of him what he wanted to achieve by changing the start-up script. Apparently he did something to crash Tivoli Storage Manager (or rather repeatedly crash it) and wanted to restore the database. He talked to one of the systems partner we do have (and I&amp;rsquo;m happy we have them most of the time), who in return told him how to do it, but forgot a minute after he hung up the phone.&lt;/p&gt;</description></item><item><title>SLES10: zypper-log</title><link>https://christian.blog.pakiheim.de/posts/2009-04-03_sles10-zypper-log/</link><pubDate>Fri, 03 Apr 2009 04:34:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1979</guid><description>&lt;p&gt;Well, I just stumbled upon something .. My Nagios at work wasn&amp;rsquo;t working anymore, and I went looking.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;nagios3&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;tail&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;nagios&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;nagios&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658394&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658403&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658413&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658423&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;SERVICE&lt;/span&gt; &lt;span class="n"&gt;ALERT&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;tsm1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;POWER&lt;/span&gt; &lt;span class="n"&gt;WARN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;OK&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;SOFT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;u&lt;/span&gt; &lt;span class="n"&gt;OK&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658423&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658433&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;SERVICE&lt;/span&gt; &lt;span class="n"&gt;ALERT&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;tsm2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;LOAD&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;WARNING&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;SOFT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;WARNING&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nb"&gt;load&lt;/span&gt; &lt;span class="n"&gt;average&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;6.25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;5.72&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;5.36&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658433&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658443&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658453&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658463&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After that, zip - nada. Next thing, check whether or not the device is really full &amp;hellip; Okay, df ..&lt;/p&gt;</description></item><item><title>Nagios: SNMP OID's for IBM's RSA II adapter</title><link>https://christian.blog.pakiheim.de/posts/2009-04-01_nagios-snmp-oid-s-for-ibm-s-rsa-ii-adapter/</link><pubDate>Wed, 01 Apr 2009 10:10:15 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1924</guid><description>&lt;p&gt;Well, after some poking around I finally found some OID&amp;rsquo;s for the RSA&amp;rsquo;s (only through these two links: &lt;a href="http://www.monitoringexchange.org/inventory/Check-Plugins/Hardware/Server-%2528Manufacturer%2529/IBM/RSA---RSA-II-FAN-SPEED"&gt;check_rsa_fan&lt;/a&gt; and &lt;a href="http://www.monitoringexchange.org/inventory/Check-Plugins/Hardware/Server-%2528Manufacturer%2529/IBM/RSA---RSA-II-TEMPERATURE"&gt;check_rsa_temp&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;For Nagios, I dismissed the fans, since the fan speed is only passed on in percent values. So I only added this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define hostgroup{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name rsa-snmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; alias Remote Supervisor Adapter (allowing SNMP connections)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define service{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; use generic-perfdata
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; check_command check_rsa_snmpv1_public!.1.3.6.1.4.1.2.3.51.1.2.1.2.1.1!45!60!°C!Temperature CPU0!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name rsa-snmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; service_description TEMP CPU0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define service{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; use generic-perfdata
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; check_command check_rsa_snmpv1_public!.1.3.6.1.4.1.2.3.51.1.2.1.2.2.1!45!60!°C!Temperature CPU1!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name rsa-snmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; service_description TEMP CPU1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define service{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; use generic-perfdata
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; check_command check_rsa_snmpv1_public!.1.3.6.1.4.1.2.3.51.1.2.1.5.1.0!29!35!°C!Temperature Ambient!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name rsa-snmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; service_description TEMP AMBIENT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Oh, and if anyone else is curious like me, here&amp;rsquo;s the list with the OID&amp;rsquo;s, courtesy of Gerhard Gschlad and Leonardo Calamai.&lt;/p&gt;</description></item><item><title>RPM spec: Installing a custom init-script</title><link>https://christian.blog.pakiheim.de/posts/2009-03-26_rpm-spec-installing-a-custom-init-script/</link><pubDate>Thu, 26 Mar 2009 15:14:51 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1961</guid><description>&lt;p&gt;Well, I&amp;rsquo;m sitting again here grinding my head on how to fix up a certain package. Now, I had to look it up again, so this time I&amp;rsquo;m writing it down!&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Source1: ${name}.initd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;install -o root -g root -m 755 %{S:1} $RPM_BUILD_ROOT/etc/init.d/ndo2db
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Windows: Running msconfig as non privileged user</title><link>https://christian.blog.pakiheim.de/posts/2009-03-25_windows-running-msconfig-as-non-privileged-user/</link><pubDate>Wed, 25 Mar 2009 10:38:38 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1958</guid><description>&lt;p&gt;Well, the title is kinda misleading since you need administrator privileges to run msconfig in it&amp;rsquo;s full scope. But this is just a hint to myself on how to execute msconfig without logging out and then logging in as administrator.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;runas /user:Administrator C:WINDOWSpchealthhelpctrbinariesmsconfig.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Nagios: Watching Clustered environments (the other way)</title><link>https://christian.blog.pakiheim.de/posts/2009-03-19_nagios-watching-clustered-environments-the-other-way/</link><pubDate>Thu, 19 Mar 2009 08:36:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1931</guid><description>&lt;p&gt;Well, recently I stepped up to watch our cluster environments &amp;hellip; Michael has a good howto on how to watch Windows Cluster environments in the &lt;a href="http://nsclient.com/nscp/wiki/TipsAndTrick"&gt;NSclient++ wiki&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now, this has it&amp;rsquo;s own perks &amp;hellip; Which I stumbled upon when trying to write a Linux-HA OCF resource agent for the Nagios NRPE server. Combining that Linux-HA with SLES10 is a good thing generally, but using startproc in that resource agent is not such a good idea.&lt;/p&gt;
&lt;p&gt;Apparently Novell (or SuSE GmbH) thought it might be wise to include some additional logic into the wrapper. startproc, checkproc and killproc do check for the name of the executable. So if you try to start an additional process with the same name, you need to dig a bit deeper.&lt;/p&gt;
&lt;p&gt;For this to work, you need two additional things (quotations directly from &lt;strong&gt;man 8 startproc&lt;/strong&gt;):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;-p&lt;/strong&gt; pid_file
(Former option &lt;strong&gt;-f&lt;/strong&gt; changed due to the LSB specification.) Use an alternate pid file instead of the default (/var/run/ &lt;strong&gt;&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt;.pid). The pid read from this file is being matched against the pid of running processes that have an executable with specified path of the program. In order to avoid confusion with stale pid files, a not up-to-date pid will be ignored.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now, then apparently this isn&amp;rsquo;t enough. startproc is still refusing to start a second process.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;-i&lt;/strong&gt; ignore_file
The pid found in this file is used as session id of the same binary program which should be ignored by &lt;strong&gt;startproc&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Linux-HA: Creating a random authkey</title><link>https://christian.blog.pakiheim.de/posts/2009-03-18_linux-ha-creating-a-random-authkey/</link><pubDate>Wed, 18 Mar 2009 13:00:47 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1926</guid><description>&lt;p&gt;I just looked over the slides of a presentation &lt;a href="https://blog.devnu11.net/"&gt;one of my trainees&lt;/a&gt; bought back from Chemnitz, and there was this nifty one-line command, with which you can generate a random sha1sum for your authkeys file.&lt;/p&gt;
&lt;p&gt;Now, since I&amp;rsquo;m a bit lazy here&amp;rsquo;s the full command line to fill &lt;strong&gt;&lt;em&gt;/etc/ha.d/authkeys&lt;/em&gt;&lt;/strong&gt; for you:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node2 ~ [0] &amp;gt; echo &amp;#34;auth 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1 sha1 $( dd if=/dev/urandom count=4 2&amp;gt; /dev/null | openssl dgst -sha1 )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>TSM client: Backing up files with umlauts on SLES</title><link>https://christian.blog.pakiheim.de/posts/2009-03-02_tsm-client-backing-up-files-with-umlauts-on-sles/</link><pubDate>Mon, 02 Mar 2009 13:21:10 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1907</guid><description>&lt;p&gt;In the past, I always had problems with SLES and our Tivoli Storage Manager client&amp;rsquo;s when backing up files with german umlauts. Well, today I looked a bit harder, and quite quickly found a solution.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sles9 root [0] &amp;gt; env | grep ^LC
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;LC_CTYPE=de_DE.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;As you can see from the above, SLES9/10 ain&amp;rsquo;t setting &lt;em&gt;LANG&lt;/em&gt; or &lt;em&gt;LC_ALL&lt;/em&gt; (which I searched for first), but is setting &lt;em&gt;LC_CTYPE&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;So, simply changing the &lt;em&gt;LC_CTYPE&lt;/em&gt; in the init-script and/or prepending the dsmc command line with a new &lt;em&gt;LC_CTYPE&lt;/em&gt; fixes my umlauts problems!&lt;/p&gt;</description></item><item><title>Nagios: check_snmp again</title><link>https://christian.blog.pakiheim.de/posts/2009-02-27_nagios-check-snmp-again/</link><pubDate>Fri, 27 Feb 2009 10:59:25 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1897</guid><description>&lt;p&gt;Well, today I had to grind my head again, regarding the way check_snmp handles WARNING and CRITICAL events. From my point of view, check_snmp is really just retarded sometimes.&lt;/p&gt;
&lt;p&gt;As you know, all the other plugins accept WARNING and CRITICAL-thresholds based on the calculation, if the return integer is above this threshold it reached WARNING/CRITICAL state. But check_snmp doesn&amp;rsquo;t play that way.&lt;/p&gt;
&lt;p&gt;It expects only ranges, which are &lt;strong&gt;NOT&lt;/strong&gt; gonna result in warning or critical events. Which is kinda stupid, since you gotta rethink twice about the thresholds &amp;#x1f61b;&lt;/p&gt;</description></item><item><title>Nagios: NSclient++ in a clustered Environment</title><link>https://christian.blog.pakiheim.de/posts/2009-02-26_nagios-nsclient-in-a-clustered-environment/</link><pubDate>Thu, 26 Feb 2009 10:50:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1880</guid><description>&lt;p&gt;Well, most of you already know that I&amp;rsquo;m a Nagios fanatic. I like to watch as many aspects as I possibly can. So, yesterday I started figuring out ways to watch our different cluster groups (housing a bunch &amp;ndash; try above 20.000 &amp;ndash; of file shares).&lt;/p&gt;
&lt;p&gt;Now, my first tries failed horribly. I brought down a complete cluster group, resulting in a major annoyance. Now, today I went at it a bit smarter &amp;#x1f61b; I cloned myself two VM&amp;rsquo;s off my &lt;em&gt;Windows Server 2003 Enterprise R2 template&lt;/em&gt;, created a new cluster.&lt;/p&gt;</description></item><item><title>MySQL: Beware of sync_binlog on EXT3</title><link>https://christian.blog.pakiheim.de/posts/2009-02-23_mysql-beware-of-sync-binlog-on-ext3/</link><pubDate>Mon, 23 Feb 2009 21:35:38 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1870</guid><description>&lt;p&gt;Well, I just glazed again over my my.cnf for our web-cluster because I just moved a database from one cluster to another and getting quite different performance from it. So, as I expected, there is a slight difference between both configuration files:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@@&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;55&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;58&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt; &lt;span class="err"&gt;@@&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;innodb_log_group_home_dir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;db&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;innodb_log_file_size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;512&lt;/span&gt;&lt;span class="n"&gt;M&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;innodb_thread_concurrency&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;sync_binlog&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And apparently, &lt;a href="http://www.mysqlperformanceblog.com/2009/01/21/beware-ext3-and-sync-binlog-do-not-play-well-together/"&gt;according to the MySQL Performance Blog&lt;/a&gt; that&amp;rsquo;s really, really bad (as well, we&amp;rsquo;re currently running without write caching, as the battery module of the storage is dead).&lt;/p&gt;</description></item><item><title>Tivoli Storage Manager Client and Microsoft Cluster Services (continued)</title><link>https://christian.blog.pakiheim.de/posts/2009-02-16_tivoli-storage-manager-client-and-microsoft-cluster-services-continued/</link><pubDate>Mon, 16 Feb 2009 15:19:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1859</guid><description>&lt;p&gt;As you might recall &lt;a href="https://christian.blog.pakiheim.de/posts/2009-02-16_tivoli-storage-manager-client-and-microsoft-cluster-services-continued" title="Tivoli Storage Manager Client and Microsoft Cluster Services"&gt;from my first article about this topic&lt;/a&gt;, I had some troubles with the Microsoft Cluster Services and the registration replication. Now, today as we tried switching the TSM-Server for some resources, we ran into this again.&lt;/p&gt;
&lt;p&gt;We were using the service install tool (dsmcutil install scheduler) to set the new password as well as the GUI. Now, as we brought the resource online with the local service manager, everything was honky dory. But as soon as we brought it online using the Cluster Manager, it failed horribly. Why ?&lt;/p&gt;</description></item><item><title>MySQL: Replication and hostname wild cards</title><link>https://christian.blog.pakiheim.de/posts/2009-02-15_mysql-replication-and-hostname-wild-cards/</link><pubDate>Sun, 15 Feb 2009 19:06:13 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/posts/2009-02-15_mysql-replication-and-hostname-wild-cards/</guid><description>&lt;p&gt;Yeah, yeah .. I know, it&amp;rsquo;s weekend. But I usually can think much better when no one is rattling my cage. So I had another look at my replication problems.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Don&amp;rsquo;t you &lt;strong&gt;never &lt;em&gt;ever&lt;/em&gt;&lt;/strong&gt; change InnoDB settings when migrating between hardware,
because InnoDB is rather sensitive regarding those parameters.&lt;/li&gt;
&lt;li&gt;When you&amp;rsquo;re setting up the replication (don&amp;rsquo;t ask me why) and copying over the database to the second replication partner, be aware if you&amp;rsquo;re using wild cards you&amp;rsquo;re gonna get seriously bitten in the back.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now, let&amp;rsquo;s look at the constellation.&lt;/p&gt;</description></item><item><title>Linux: Getting information about an EXT3 filesystem</title><link>https://christian.blog.pakiheim.de/posts/2009-02-13_linux-getting-information-about-an-ext3-filesystem/</link><pubDate>Fri, 13 Feb 2009 11:52:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1765</guid><description>&lt;p&gt;You know, I&amp;rsquo;m not getting any younger. It&amp;rsquo;s getting harder remembering every damn command &amp;hellip; so here is how you get information out of your EXT3 filesystem:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sles10sp2 ~ [0] &amp;gt; tune2fs -l /dev/sda2 | grep &amp;#34;^Filesystem&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem volume name: &amp;lt;none&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem UUID: 8eec8235-4d9e-4b58-acf9-3c68c977d5ea
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem magic number: 0xEF53
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem revision #: 1 (dynamic)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem features: has_journal resize_inode filetype
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; needs_recovery sparse_super large_file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem state: clean
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem OS type: Linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem created: Tue May 27 10:48:56 2008
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Restarting the NSclient++ service without the management applet</title><link>https://christian.blog.pakiheim.de/posts/2009-02-11_restarting-the-nsclient-service-without-the-management-applet/</link><pubDate>Wed, 11 Feb 2009 14:21:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1760</guid><description>&lt;p&gt;For people, who are as click and point-lazy as me, here is how you restart the service without using the service management applet.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;net stop &amp;#34;NSClientpp (Nagios) 0.3.5.2 2008-09-24 w32&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;net start &amp;#34;NSClientpp (Nagios) 0.3.5.2 2008-09-24 w32&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>MySQL: Setting up an InnoDB raw device</title><link>https://christian.blog.pakiheim.de/posts/2009-02-11_mysql-setting-up-an-innodb-raw-device/</link><pubDate>Wed, 11 Feb 2009 13:34:45 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1751</guid><description>&lt;p&gt;Well, since I had to brood about this (again I might add), I&amp;rsquo;m gonna write it down this time &amp;hellip;&lt;/p&gt;
&lt;p&gt;Setting up the InnoDB raw device isn&amp;rsquo;t that hard, just make sure the device has proper permissions (either add &lt;em&gt;mysql&lt;/em&gt; to the &lt;em&gt;disk&lt;/em&gt; group or create a udev rule).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;KERNEL=&amp;#34;sdb2&amp;#34;, OWNER=&amp;#34;mysql&amp;#34;, GROUP=&amp;#34;mysql&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now after that (and a reboot/udevcontrol reload_rules later), you should be able to initialize the InnoDB device. Yes, the &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/innodb-raw-devices.html"&gt;InnoDB device needs initializing&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Monitoring the IBM BladeCenter chassis with Nagios</title><link>https://christian.blog.pakiheim.de/posts/2009-02-10_monitoring-the-ibm-bladecenter-chassis-with-nagios/</link><pubDate>Tue, 10 Feb 2009 11:40:00 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1729</guid><description>&lt;p&gt;Today I ended up working out the details on what we want to monitor regarding our BladeCenter. The most interesting details (for us that is) are these:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fan speeds for Chassis Cooling/Power Module Cooling Bay(s)&lt;/li&gt;
&lt;li&gt;Temperature&lt;/li&gt;
&lt;li&gt;Power Domain utilization&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It wasn&amp;rsquo;t * &lt;strong&gt;that&lt;/strong&gt;* hard to implement. Only trouble(s) I ran into, were ( &lt;strong&gt;1&lt;/strong&gt;) IBM did a real shitty job with the &lt;a href="http://www-947.ibm.com/systems/support/supportsite.wss/docdisplay?lndocid=MIGR-5078305&amp;amp;brandind=5000020"&gt;MIB&amp;rsquo;s&lt;/a&gt;. If you look closely into the mmblade.mib, you&amp;rsquo;re gonna notice, that not a single OID is specified for the events. ( &lt;strong&gt;2&lt;/strong&gt;) As the MIB&amp;rsquo;s weren&amp;rsquo;t documented anywhere, I had to look them up via &lt;em&gt;snmpwalk&lt;/em&gt; (which I had never used before). So as a reminder (to myself), here&amp;rsquo;s how it is done:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;snmpwalk -v1 -c public -O n 10.0.0.35 .1.3.6.1.4.1.2.3.51.2.2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This will get you a list, with a lot of output (5154 lines to be exact). Lucky me, the web interface of the management module/ssh interface is rather verbose, so all you need to do is compare those values with what you are looking for.&lt;/p&gt;
&lt;p&gt;So for myself (and anyone interested) read ahead for the list of checks we are currently running on the management module.&lt;/p&gt;</description></item><item><title>Installing SLES10 via network with no DHCP available</title><link>https://christian.blog.pakiheim.de/posts/2009-01-30_installing-sles10-via-network-with-no-dhcp-available/</link><pubDate>Fri, 30 Jan 2009 11:24:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1683</guid><description>&lt;p&gt;In our current fight against the BladeCenter switches, we&amp;rsquo;re currently facing the problem that the blades ain&amp;rsquo;t able to send/receive DHCP-traffic.&lt;/p&gt;
&lt;p&gt;So in order to move forward, we had to use static IP addresses. And since SLES10 ain&amp;rsquo;t straight forward on that, I had to &lt;a href="https://christian.blog.pakiheim.de/uploads/2009/01/linuxrc.html"&gt;look it up&lt;/a&gt;. Now, here&amp;rsquo;s for me (and everyone else tired of searching) how to do it:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt;9&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;install=http://ftp.barfoo.org/install/SLES10-x64/CD1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; netdevice=eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostip=10.0.1.240
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; netmask=255.255.255.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gateway=10.0.1.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; nameserver=10.0.1.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; domain=home.barfoo.org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; insmod=bnx2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; splash=verbose
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Setting up the BladeCenter H</title><link>https://christian.blog.pakiheim.de/posts/2009-01-30_setting-up-the-bladecenter-h/</link><pubDate>Fri, 30 Jan 2009 10:50:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1677</guid><description>&lt;p&gt;Well, we finally had our maintenance window today, in which we planned the hardware exchange for our current Dell Blade Chassis (don&amp;rsquo;t ask!). The exchange went fine, but as we started exploring the components (like the IBM BladeCenter SAN switches &amp;ndash; which are in fact Cisco MDS 9100) we hit a few road blocks.&lt;/p&gt;
&lt;p&gt;First, the default user name/password combo for the Cisco MDS 9100 for the BladeCenter is USERID/PASSW0RD (just as the rest of the password combinations).&lt;/p&gt;</description></item><item><title>Updating path information for TSM</title><link>https://christian.blog.pakiheim.de/posts/2009-01-28_updating-path-information-for-tsm/</link><pubDate>Wed, 28 Jan 2009 15:11:31 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1670</guid><description>&lt;p&gt;As I did some switching today (between the new lin_tape version by IBM and our own lin_tape version), I ended up writing those lines a dozen times. Here is (just for me, if you don&amp;rsquo;t care .. skip ahead) on how to generate a list of commands:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;for i in $( seq -w 1 32 ); do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; token=&amp;#34;${i/0/}&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; path_prefix=&amp;#34;/dev/lt/IBMtape12245775&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;DELETE PATH TSM1 VTL1_DR$i SRCTYPE=SERVER DESTTYPE=DRIVE LIBRARY=VTL1&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;DEFINE PATH TSM1 VTL1_DR$i SRCTYPE=SERVER DESTTYPE=DRIVE LIBRARY=VTL1 DEVICE=$path_prefix$((token+11))A1&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;which should get you a list like this:&lt;/p&gt;</description></item><item><title>Sidenote: Amount of Slots per Virtual Tape Library</title><link>https://christian.blog.pakiheim.de/posts/2009-01-27_sidenote-amount-of-slots-per-virtual-tape-library/</link><pubDate>Tue, 27 Jan 2009 20:32:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1661</guid><description>&lt;p&gt;Well, I just stumbled about this again (and I don&amp;rsquo;t know right now whether or not this is documented inside a RedBook or not) today, so I thought maybe I&amp;rsquo;m gonna write it down.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/01/ve-console-decreasing-slots.png"
alt="Slot-Amount Property of a Virtual Tape Library" width="312"/&gt; &lt;figcaption&gt;
&lt;p&gt;Slot-Amount Property of a Virtual Tape Library&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Please keep in mind, when creating the virtual library to think hard about the amount of slots you might need. It ain&amp;rsquo;t that bad, you just can&amp;rsquo;t decrease the amount anymore.  So if you think about creating 50 different virtual tape libraries with 500 slots each on your TS7530, think again. The current software level only supports 25.000 slots on a global level.&lt;/p&gt;</description></item><item><title>Working with IBM's Virtualization Engine Console</title><link>https://christian.blog.pakiheim.de/posts/2009-01-27_working-with-ibm-s-virtualization-engine-console/</link><pubDate>Tue, 27 Jan 2009 17:27:31 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1652</guid><description>&lt;p&gt;Recently, we got the recommendation from our system partner to use static allocated tape cartridges instead of dynamic allocated ones. Apparently using dynamic allocating cartridges comes with a performance penalty if more than a few nodes are backing up a large amount of data at once.&lt;/p&gt;
&lt;p&gt;And yet again, I noticed that the IBM Virtualization Engine Console (aka Falconstor Software) is really error prone.&lt;/p&gt;
&lt;p&gt;In order to change the allocation type, we had to shred the old cartridges first (500 x ~100M up till now), chance the allocation type at the virtual tape library level, and then recreate the 500 cartridges with a fixed size (500x 102400MB). Now, as I was kinda optimistic, I decided to create all 500 cartridges at once.&lt;/p&gt;</description></item><item><title>Sunday afternoon playtime</title><link>https://christian.blog.pakiheim.de/posts/2009-01-25_sunday-afternoon-playtime/</link><pubDate>Sun, 25 Jan 2009 15:29:09 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1630</guid><description>&lt;p&gt;Well, it&amp;rsquo;s yet again Sunday afternoon. And I had (again I might add) the urge to play around with all the stuff I have at home.&lt;/p&gt;
&lt;p&gt;So at first, I &amp;ldquo;fixed&amp;rdquo; the ground wire off my NAS box.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/01/IMG_1643.JPG"
alt="Ground wire for the CPU fan" width="430"/&gt; &lt;figcaption&gt;
&lt;p&gt;Ground wire for the CPU fan&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Afterwards, I went back upstairs. Hooked my Philips up to my notebook and figured I &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; need a wireless keyboard. Because typing with the Windows on-screen keyboard is a huge pain in the ass (as well as a pain for the mouse-hand)!&lt;/p&gt;</description></item><item><title>Gentoo packages are gone now!</title><link>https://christian.blog.pakiheim.de/posts/2009-01-25_gentoo-packages-are-gone-now/</link><pubDate>Sun, 25 Jan 2009 14:08:30 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1626</guid><description>&lt;p&gt;Just like &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_packages-barfoo-org-is-going-away" title="packages.barfoo.org is going away"&gt;I announced last week&lt;/a&gt;, my binary packages repository is now history. I&amp;rsquo;m gonna remove the redirections from lighttpd and DNS in a few.&lt;/p&gt;</description></item><item><title>Opsview installation reviewed</title><link>https://christian.blog.pakiheim.de/posts/2009-01-24_opsview-installation-reviewed/</link><pubDate>Sat, 24 Jan 2009 11:33:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1599</guid><description>&lt;p&gt;Well, I recently (well, yesterday) built the &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_building-opsview-for-suse-linux-enterprise-10" title="Building opsview for SUSE Linux Enterprise 10"&gt;opsview RPM&amp;rsquo;s for SLES10&lt;/a&gt;, and started fiddeling about with it today. Alex &amp;quot; &lt;em&gt;recommended&lt;/em&gt;&amp;quot; I should rather look at Opsview instead of Centreon, but boy was there a surprise waiting for me &amp;hellip;&lt;/p&gt;
&lt;p&gt;Opsview has the advantage that it at least lets you use the package manager. But, it also needs &lt;em&gt;&lt;strong&gt;a lot&lt;/strong&gt;&lt;/em&gt; of handy work (just like Centreon, which I really dislike since it&amp;rsquo;s real error prone).&lt;/p&gt;</description></item><item><title>Automatic updates on SUSE Linux Enterprise 10</title><link>https://christian.blog.pakiheim.de/posts/2009-01-23_automatic-updates-on-suse-linux-enterprise-10/</link><pubDate>Fri, 23 Jan 2009 11:30:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1611</guid><description>&lt;p&gt;I had the problem, that the automatic update function of YaST doesn&amp;rsquo;t work like I want it to. I just wanted it to install only those updates, that ain&amp;rsquo;t interactive, don&amp;rsquo;t need a service restart and don&amp;rsquo;t need a reboot.&lt;/p&gt;
&lt;p&gt;YaST does only feature an online update that skips &amp;ldquo;interactive&amp;rdquo; updates (I&amp;rsquo;ve never even encountered an interactive update up till now). So I went ahead and wrote a (hackish) script, that achieves what I need.&lt;/p&gt;</description></item><item><title>Trusted vendors in SUSE Linux Enteprise 10</title><link>https://christian.blog.pakiheim.de/posts/2009-01-19_trusted-vendors-in-suse-linux-enteprise-10/</link><pubDate>Mon, 19 Jan 2009 20:31:19 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1576</guid><description>&lt;p&gt;The other day I had a closer look at the zypper logs (well, I was digging for a time-history of installed packages). First &amp;hellip; damn does zypper produce a &lt;em&gt;&lt;strong&gt;lot&lt;/strong&gt;&lt;/em&gt; of logs on a &amp;quot; &lt;em&gt;productive&lt;/em&gt;&amp;quot; (or rather on a &lt;em&gt;maintained&lt;/em&gt; - as in up-to-date) system.&lt;/p&gt;
&lt;p&gt;But glazing over the logs, I found out something new about zypper. It actually has an internal list, which only purpose is to identify a trusted vendor &amp;hellip;&lt;/p&gt;</description></item><item><title>Cleaning up /tmp</title><link>https://christian.blog.pakiheim.de/posts/2009-01-18_cleaning-up-tmp/</link><pubDate>Sun, 18 Jan 2009 13:26:59 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1553</guid><description>&lt;p&gt;Well, I just looked into &lt;em&gt;/tmp&lt;/em&gt; on one of our boxes and noticed that SSHd left behind some (try &lt;strong&gt;400&lt;/strong&gt;) directories .. Now, I could use a simple &lt;em&gt;rm -rf /tmp/ssh-*&lt;/em&gt;, but I didn&amp;rsquo;t want to kill my current agent forward file.&lt;/p&gt;
&lt;p&gt;After looking at the man-page of find, I stumbled about &lt;em&gt;&lt;strong&gt;-mtime&lt;/strong&gt;&lt;/em&gt;. And that seems to work out quite well.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;find /tmp -name &amp;#34;ssh-*&amp;#34; -mtime +5 | xargs rm -rf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Automating zypper updates</title><link>https://christian.blog.pakiheim.de/posts/2009-01-17_automating-zypper-updates/</link><pubDate>Sat, 17 Jan 2009 18:16:27 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1540</guid><description>&lt;p&gt;Well, I just looked into using ` &lt;em&gt;zypper up&lt;/em&gt; ` to update some of our boxen (I do have a script, which holds the boxen it needs to process in a variable and simply goes through them one by one) &amp;ndash; yes, I could activate auto-update, I just don&amp;rsquo;t want that at this point &amp;#x1f609;&lt;/p&gt;
&lt;p&gt;So at first I tried just using &lt;em&gt;zypper&lt;/em&gt; to automatically update that given list, but even if you pass &lt;strong&gt;&lt;em&gt;&amp;ndash;no-confirm&lt;/em&gt;&lt;/strong&gt;, &lt;em&gt;zypper&lt;/em&gt; would still ask for your confirmation (which seems kinda stupid). After a short while thinking about it, a lesson from &lt;a href="mailto:solar@gentoo.org"&gt;solar@gentoo.org&lt;/a&gt; came to mind. When working in a chroot, he simply used this:&lt;/p&gt;</description></item><item><title>VI Client: Changing the language from the system default</title><link>https://christian.blog.pakiheim.de/posts/2009-01-14_vi-client-changing-the-language-from-the-system-default/</link><pubDate>Wed, 14 Jan 2009 08:12:45 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1531</guid><description>&lt;p&gt;Well, as I am in fact running a german Windows XP, the VI Client started displaying all menus and operations in German when I updated to 2.5u2. Normally, I wouldn&amp;rsquo;t have much of a problem with that, but recently it started to annoy me, since the translation is a bit off from the real meaning of much of the operations.&lt;/p&gt;
&lt;p&gt;So today, in the morning I started looking for ways to revert the VI Client back to displaying everything in English. And guess what. There&amp;rsquo;s no way to switch the language from the VI Client itself. There&amp;rsquo;s just a &lt;a href="http://communities.vmware.com/thread/159090"&gt;workaround&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Distribution running on IBM TS7530 Virtualization Engine</title><link>https://christian.blog.pakiheim.de/posts/2009-01-09_distribution-running-on-ibm-ts7530-virtualization-engine/</link><pubDate>Fri, 09 Jan 2009 14:18:35 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1507</guid><description>&lt;p&gt;Well, I was just a bit curious earlier what distribution might be running on our IBM TS7530 Virtualization engines .. well, I just had a look-see ..&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vetapeservice@VTL-B:~&amp;gt; cat /etc/SuSE-release
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SUSE Linux Enterprise Server 10 (x86_64)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;VERSION = 10
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;PATCHLEVEL=1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vetapeservice@VTL-B:~&amp;gt; uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Linux VTL 2.6.16.46-229-smp #1 Sun Apr 13 05:21:49 UTC 2008 x86_64 GNU/Linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vetapeservice@VTL-B:~&amp;gt; free -m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; total used free shared buffers cached
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Mem: 4022 1378 2643 0 342 552
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-/+ buffers/cache: 484 3537
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Swap: 3815 0 3815
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vetapeservice@VTL-B:~&amp;gt; cat /proc/cpuinfo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;processor : 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vendor_id : AuthenticAMD
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cpu family : 15
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;model : 65
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;model name : Dual-Core AMD Opteron(tm) Processor 8218
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;stepping : 3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cpu MHz : 2600.186
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cache size : 1024 KB
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;physical id : 0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;siblings : 2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;core id : 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cpu cores : 2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Main difference to a &amp;quot; &lt;em&gt;normal&lt;/em&gt;&amp;quot; SUSE Linux Enterprise Server 10 installation (there&amp;rsquo;s about zip normal with that kind of installation, thus the quotes) thus far are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;the build for the VE uses busybox as init&lt;/li&gt;
&lt;li&gt;IBM stripped man/info&lt;/li&gt;
&lt;li&gt;they are running Xorg/Fluxbox on it&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Just don&amp;rsquo;t ask me why there&amp;rsquo;s a DE ( &lt;strong&gt;d&lt;/strong&gt; esktop &lt;strong&gt;e&lt;/strong&gt; nvironment) running, it ain&amp;rsquo;t even hooked up to a monitor. Only reason would be for the RSA&amp;rsquo; remote monitor stuff &amp;hellip; &lt;em&gt;&lt;strong&gt;lala&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>VMware</title><link>https://christian.blog.pakiheim.de/certifications/vmware/</link><pubDate>Mon, 05 Jan 2009 17:52:23 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?page_id=1435</guid><description>&lt;p&gt;Here’s where I’m at currently with my progress to getting my VMware certifications.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;VMware Certified Professional on Virtual Infrastructure 3.5 - passed in &lt;strong&gt;12/2008&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;VMware Certified Professional on vSphere 4 - passed in &lt;strong&gt;12/2009&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/12/VCP.png"
alt="VMware Certified Professional certificate"/&gt; &lt;figcaption&gt;
&lt;p&gt;VMware Certified Professional certificate&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;</description></item><item><title>Microsoft</title><link>https://christian.blog.pakiheim.de/certifications/microsoft/</link><pubDate>Mon, 05 Jan 2009 17:49:51 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/certifications/microsoft/</guid><description>&lt;p&gt;Here&amp;rsquo;s where I&amp;rsquo;m at currently with my progress to getting the &lt;a href="http://www.microsoft.com/learning/en/us/certification/mcse.aspx"&gt;MCSE - Messaging certification&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Core exams on networking systems (0/4)
&lt;ul&gt;
&lt;li&gt;Managing and Maintaining a Server 2003 Environment (&lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-290&amp;amp;locale=en-us"&gt;70-290&lt;/a&gt;) - &lt;strong&gt;04/2009&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Implementing and Managing a Server 2003 Network Infrastructure (&lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-291&amp;amp;locale=en-us"&gt;70-291&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Planning and Maintaining a Server 2003 Network Infrastructure (&lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-293&amp;amp;locale=en-us"&gt;70-293&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Planning and Maintaining a Server 2003 AD Infrastructure (&lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-294&amp;amp;locale=en-us"&gt;70-294&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Core exams on client operating systems (1/1)
&lt;ul&gt;
&lt;li&gt;Installing, Configuring, and Administering 2000 Professional (&lt;a href="http://www.microsoft.com/learning/en/us/exams/70-210.mspx"&gt;70-210&lt;/a&gt;) - &lt;strong&gt;09/2003&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Design exams (0/1)
&lt;ul&gt;
&lt;li&gt;Designing Security for a Server 2003 Network (&lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-298&amp;amp;locale=en-us"&gt;70-298&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Messaging exams (0/2)
&lt;ul&gt;
&lt;li&gt;Implementing and Managing Exchange Server 2003 (&lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-284&amp;amp;locale=en-us"&gt;70-284&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Designing a Exchange Server 2003 Organization (&lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-285&amp;amp;locale=en-us"&gt;70-285&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>New Theme</title><link>https://christian.blog.pakiheim.de/posts/2009-01-04_new-theme/</link><pubDate>Sun, 04 Jan 2009 17:47:48 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1350</guid><description>&lt;p&gt;Well, since it&amp;rsquo;s yet another new year (oh, Happy new year! by the way ..), I decided to drop the old crybook and switch over to iNove, which I think looks quite good with a few additions.&lt;/p&gt;
&lt;p&gt;If anyone finds something that ain&amp;rsquo;t working or looks just wrong, tell me please.&lt;/p&gt;</description></item><item><title>More MD weirdness</title><link>https://christian.blog.pakiheim.de/posts/2008-12-29_more-md-weirdness/</link><pubDate>Mon, 29 Dec 2008 17:55:17 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1337</guid><description>&lt;p&gt;Well, at last I&amp;rsquo;m getting somewhere with my troubles. This only seems to be happening when creating an RAID5 multiple device with four disks, this doesn&amp;rsquo;t happen with three.&lt;/p&gt;
&lt;p&gt;Now, the next thing I tried was to create a three disk array, and then adding the fourth disk as spare and then extending the array with that fourth disk. After that, all these errors seem to appear again &lt;em&gt;&lt;strong&gt;yuck&lt;/strong&gt;&lt;/em&gt; So I either possess rather faulty disks, or something else is fishy, since I&amp;rsquo;m having another four disk RAID5 array with the old disks &amp;hellip;&lt;/p&gt;</description></item><item><title>MD (Multiple Devices) weirdness</title><link>https://christian.blog.pakiheim.de/posts/2008-12-29_md-multiple-devices-weirdness/</link><pubDate>Mon, 29 Dec 2008 17:15:20 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1324</guid><description>&lt;p&gt;Well, I don&amp;rsquo;t think &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_sil-3114-barfing" title="SIL 3114 barfing"&gt;my problem&lt;/a&gt; has anything to do with the DawiControl card anymore. I did a little experiment today. I created a 1TiB EXT3 file system on a single drive (one of the new 1TiB drives obviously) and started syncing data over to it (roughly 800MiB).&lt;/p&gt;
&lt;p&gt;Now, then I unmounted the drive(s), ran fsck -C -f /dev/sd${deviceletter}1 and it went through without any trouble. Then I removed the partition and created a 1GiB partition on each drive, which I then used to build a new device mapper RAID5 array (with EXT3 on top &amp;hellip;).&lt;/p&gt;</description></item><item><title>VBscript undamp; Active Directory and printers (continued)</title><link>https://christian.blog.pakiheim.de/posts/2008-12-05_vbscript-amp-active-directory-and-printers-continued/</link><pubDate>Fri, 05 Dec 2008 21:54:09 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/index.php/2007/10/25/vbscript-active-directory-and-printers-continued/</guid><description>&lt;p&gt;As I &lt;a href="https://christian.blog.pakiheim.de/posts/2008-12-05_vbscript-amp-active-directory-and-printers-continued" title="VBscript &amp;amp; Active Directory and printers ?"&gt;posted earlier&lt;/a&gt;, I tried working around some limitations in Microsoft&amp;rsquo;s Active Directory by teaching the script some intelligence.&lt;/p&gt;
&lt;p&gt;But, since we recently started using Thin Clients, all the stuff I did with the fancy vbs was just a waste-of-time. Turns out, Windows XP Embedded doesn&amp;rsquo;t work quite the same as a &amp;quot; &lt;em&gt;normal&lt;/em&gt;&amp;quot; Windows XP (that&amp;rsquo;s where I tested the script on), and it simply dies when running the WMI Query. Bollocks.&lt;/p&gt;</description></item><item><title>IBM TS7530 and DNS</title><link>https://christian.blog.pakiheim.de/posts/2008-11-22_ibm-ts7530-and-dns/</link><pubDate>Sat, 22 Nov 2008 17:31:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1263</guid><description>&lt;p&gt;Well, we had our TS7530 delivered in late September, the day after the IBM service guys came by to prep the VTL for our needs (IBM sells the thing as black box). Now, since that day; they fought with the Call Home functionality. The trouble was simply, that the Call Home Service running on the Virtualization Engines just didn&amp;rsquo;t start.&lt;/p&gt;
&lt;p&gt;After about 6 weeks of trial and error (and the IBM service guys popping in every second week), they finally found the cause of the Call Home Service not being able to start. Domain Name Resolution. Neither the IP addresses of the VE&amp;rsquo;s nor the VE console were registered in our DNS/or local host files.&lt;/p&gt;</description></item><item><title>Nagios and check_ram yet again</title><link>https://christian.blog.pakiheim.de/posts/2008-11-14_nagios-and-check-ram-yet-again/</link><pubDate>Fri, 14 Nov 2008 18:08:30 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1247</guid><description>&lt;p&gt;As some people know, I previously &amp;quot; &lt;em&gt;created&lt;/em&gt;&amp;quot; (mostly modified the check_swap plug-in to print RAM usage) check_ram in C. Now one of my problems for the past few months was putting the C plug-in as well as &amp;quot; &lt;em&gt;supported&lt;/em&gt;&amp;quot; environment under the same hat. Today I had another look at the amount of available plug-ins in &lt;a href="http://www.monitoringexchange.org/search?query=check_ram"&gt;NagiosExchange&lt;/a&gt;. There are quite a few plug-ins available, but as I do have some experience with Python, I used the one &lt;a href="http://www.monitoringexchange.org/inventory/Check-Plugins/Operating-Systems/Linux/Check_Ram-on-Linux-32-bit-and-64-bit-systems"&gt;written in Python&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It was rather easy hacking in support for performance data into it, as the below shows. Someone else already posted a non-unified diff for performance data support, but that ain&amp;rsquo;t quite right according to the &lt;a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN203"&gt;Nagios plug-in development guidelines&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>IBM TS7530 engine failover and HBA mode</title><link>https://christian.blog.pakiheim.de/posts/2008-10-28_ibm-ts7530-engine-failover-and-hba-mode/</link><pubDate>Tue, 28 Oct 2008 15:21:06 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1265</guid><description>&lt;p&gt;Well, when they delivered the VTL about four weeks ago, nobody figured this thing would be such a mess. Apparently IBM hasn&amp;rsquo;t set up that much VTL&amp;rsquo;s with engine failover.&lt;/p&gt;
&lt;p&gt;Point being, the VE&amp;rsquo;s have eight HBA ports (four inside, four outside the black box). Now, as they configured the VTL, the ports were all in initiator mode. And we needed the fourth port in target mode as well, as it&amp;rsquo;s better to have 4 independent paths to the VTL. The only problem was, the VE console didn&amp;rsquo;t think so.&lt;/p&gt;</description></item><item><title>IBM TS7530 zoning</title><link>https://christian.blog.pakiheim.de/posts/2008-10-27_ibm-ts7530-zoning/</link><pubDate>Mon, 27 Oct 2008 15:41:59 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1267</guid><description>&lt;p&gt;At first, as we prepped the zoning for the VTL, we did it WWN-based. Now the trouble with the HBA&amp;rsquo;s of the VTL is simply that it has different WWPN&amp;rsquo;s on the same WWN. And WWN-based zoning simply doesn&amp;rsquo;t allow access to that.&lt;/p&gt;
&lt;p&gt;So off we went and switched to Switchport-based zoning, and see. It just works &amp;#x1f937;&lt;/p&gt;</description></item><item><title>Defragmenting all fragmented MyISAM tables</title><link>https://christian.blog.pakiheim.de/posts/2008-10-16_defragmenting-all-fragmented-myisam-tables/</link><pubDate>Thu, 16 Oct 2008 20:18:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=973</guid><description>&lt;p&gt;I just had another look at what I wrote the week before last (you know, being home-sick/on vacation has it&amp;rsquo;s advantages) and additionally read up on &amp;quot; &lt;em&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.0/en/optimize-table.html"&gt;OPTIMIZE TABLE&lt;/a&gt;&lt;/em&gt;&amp;quot; again. The comments in the manual mention &amp;quot; &lt;em&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.0/en/show-table-status.html"&gt;SHOW TABLE STATUS&lt;/a&gt;&lt;/em&gt;&amp;quot;, which gives you a complete list, but it doesn&amp;rsquo;t allow you to filter certain kinds of things out (like I only wanted to see MyISAM tables in the list, I only wanted database and table).&lt;/p&gt;</description></item><item><title>Adapter bonding on Linux</title><link>https://christian.blog.pakiheim.de/posts/2008-10-16_adapter-bonding-on-linux/</link><pubDate>Thu, 16 Oct 2008 16:47:23 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1185</guid><description>&lt;p&gt;Well, today I had a rather weird error. I was testing the adapter bonding on one of the boxen designated as Tivoli Storage Manager Server, when I noticed that the bonding wasn&amp;rsquo;t working as expected when simulating an error (that is unplugging one of the TP cables for the bond).&lt;/p&gt;
&lt;p&gt;Now, the bond had &amp;ldquo;mode=6 miimon=100&amp;rdquo; as options. After running &amp;ldquo;linux bond debug&amp;rdquo; through Google (which turned up nothing useful, besides one document on the Oracle Wiki about IOS/Linux adapter teaming), I figured &amp;ldquo;Hey, just lets test switching the arguments.&amp;rdquo; And guess what ?&lt;/p&gt;</description></item><item><title>Windows Server 2003 Terminal services</title><link>https://christian.blog.pakiheim.de/posts/2008-10-15_windows-server-2003-terminal-services/</link><pubDate>Wed, 15 Oct 2008 12:11:18 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1176</guid><description>&lt;p&gt;Well, once you thought you don&amp;rsquo;t have any more problems, another one just pops up. I&amp;rsquo;m currently bashing my head against the wall, why the hell the forwarded (or is it redirected ?) drives are not shown in the in the &amp;ldquo;My Computer&amp;rdquo; explorer view. I pretty sure have an idea why (basically, &lt;code&gt;HKEY_CURRENT_USERS\Software\Classes&lt;/code&gt; isn&amp;rsquo;t writeable, but that&amp;rsquo;s where Windows, or rather the Terminal Services &amp;ndash; or whatever is creating the associations), just don&amp;rsquo;t know a clever way around/by it.&lt;/p&gt;</description></item><item><title>Setting up Linux-HA</title><link>https://christian.blog.pakiheim.de/posts/2008-10-01_setting-up-linux-ha/</link><pubDate>Wed, 01 Oct 2008 08:17:09 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1004</guid><description>&lt;p&gt;Well, initially I thought writing the &lt;a href="http://christian.weblog.heimdaheim.de/2008/09/26/linux-ha-and-tivoli-storage-manager/" title="Linux-HA and Tivoli Storage Manager"&gt;OCF resource agent for Tivoli Storage Manager&lt;/a&gt; was the hard part. But as it turns out, it really ain&amp;rsquo;t. The hard part, is getting the resources into the heartbeat agent (or whatever you wanna call it). The worst part about it, is that the hb_gui is completely worthless if you want to do a configuration without quorum.&lt;/p&gt;
&lt;p&gt;First of all, we need to setup the main Linux-HA configuration file ( &lt;em&gt;/etc/ha.d/ha.cf&lt;/em&gt;). Configuring that, is rather simple. For me, as I do have two network devices, over which both nodes see each other (one is an adapter bond of comprising of two simple, plain, old 1G copper ports; the other is the 1G fibre cluster port), the configuration looks like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;udpport 694
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;autojoin none
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;crm true
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;use_logd on
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;debug false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;coredumps false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;auto_failback on
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ucast bond0 10.0.0.10
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ucast bond0 10.0.0.20
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ucast eth2 10.0.0.29
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ucast eth2 10.0.0.30
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node tsm1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node tsm2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;respawn root /usr/lib64/heartbeat/pingd -m 100 -d 5s
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ping 10.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;respawn root /sbin/evmsd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;apiauth evms uid=hacluster,root
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After configuring the service itself is done, one just needs to start the heartbeat daemon on both nodes. Afterwards, we should be able to configure the cluster resources.&lt;/p&gt;
&lt;p&gt;I find it particularly easier to just update the corresponding sections with &lt;em&gt;cibadmin&lt;/em&gt; (the man-page really has some good examples). So here are my configuration files for two resource groups ( &lt;em&gt;crm_mon&lt;/em&gt; doesn&amp;rsquo;t difference between resources and grouped resources, it&amp;rsquo;ll just show you that you configured two resources).&lt;/p&gt;</description></item><item><title>Subversion via HTTP(s) and mod_rewrite</title><link>https://christian.blog.pakiheim.de/posts/2008-09-28_subversion-via-http-s-and-mod-rewrite/</link><pubDate>Sun, 28 Sep 2008 19:17:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=991</guid><description>&lt;p&gt;Well, I just finished my wild-goose chase with Apache and subversion regarding a rather weird error. I recently reinstalled our subversion box, and ever since then I was unable to commit anything new to any of the repositories.
Subversion told me this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svn-client admin-scripts [1] &amp;gt; svn ci -m &amp;#34;Directories for Tivoli Storage Manager Scripts.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svn: Commit failed (details follow):
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svn: MKACTIVITY of &amp;#39;/svn/admin-scripts/!svn/act/someid&amp;#39;: 302 Found
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Apache didn&amp;rsquo;t say much about it either, besides this particular line:&lt;/p&gt;</description></item><item><title>High Definition Multimedia Interface</title><link>https://christian.blog.pakiheim.de/posts/2008-09-18_high-definition-multimedia-interface/</link><pubDate>Thu, 18 Sep 2008 06:25:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=950</guid><description>&lt;p&gt;Well, I bought myself a new TV last week (and it was finally delivered on Monday), which came with a HDM Interface. I also bought me a DVD player some time between New years eve and now (I don&amp;rsquo;t really remember when, I guess I could look at the invoice, but I&amp;rsquo;m lazy) with an HDM Interface.&lt;/p&gt;
&lt;p&gt;Up till now, I had a SCART cable to interface the DVD player with my TV (the old one was really old, didn&amp;rsquo;t have no other interface). So when my brother said he was gonna go shopping, I told him he should bring me a HDMI cable. And he did that without any whining or complaining. He only said, I owe him 40 EUR &amp;hellip;&lt;/p&gt;</description></item><item><title>What's up, dude</title><link>https://christian.blog.pakiheim.de/posts/2008-09-16_what-s-up-dude/</link><pubDate>Tue, 16 Sep 2008 08:49:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=942</guid><description>&lt;p&gt;Some people might ask, &amp;quot; &lt;strong&gt;Gosh, what&amp;rsquo;s up with you ?&lt;/strong&gt;&amp;quot; .. Well I&amp;rsquo;ve been incredibly busy with work the last month (sheeesh, another month already passed by). We finally finished the public tender; gonna get some of the components next week (that is the library extension, the LTO4 drives and cartridges, two brand new Cisco MDS9134 and some Fibre channel hard disks for the existing DS4700). After work, I made my usual visits in the gym and well, after I was home some relaxing, kicking up my feet and doing nothing (as in zip).&lt;/p&gt;</description></item><item><title>zypper-update-report (was: patch2mail for SLES10)</title><link>https://christian.blog.pakiheim.de/posts/2008-09-09_zypper-update-report-was-patch2mail-for-sles10/</link><pubDate>Tue, 09 Sep 2008 23:11:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=907</guid><description>&lt;p&gt;Well, &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_patch2mail-for-sles10" title="patch2mail for SLES10"&gt;after some more refining&lt;/a&gt; I think I finally have a script I ain&amp;rsquo;t never gonna touch again (unless something breaks, which can happen quick as we all know).&lt;/p&gt;
&lt;p&gt;The script now uses a sysconfig file for the common settings (like sender, receipents, categories to scan for), so it may be deployed en mass.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;/etc/sysconfig/zypper-update-report&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Type: string
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Default: root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Config: &amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Sender address for the update report
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM=&amp;#34;Yourupdatemonkey &amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Type: string
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Default: root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Config: &amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Receiver address for the update report
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#RECEIPENTS=&amp;#34;tehsysadmin@barfoo.org&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Type: string
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Default: &amp;#34;securty recommended optional&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Config: &amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# List of groups, to include in the report
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;CLASSES=&amp;#34;security recommended optional&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;/usr/local/sbin/zypper-update-report&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Custom macros in host definitions</title><link>https://christian.blog.pakiheim.de/posts/2008-08-16_custom-macros-in-host-definitions/</link><pubDate>Sat, 16 Aug 2008 19:10:37 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=920</guid><description>&lt;p&gt;Well, I was &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-19_nagios-hostgroup-inheritance-continued" title="Nagios Hostgroup Inheritance"&gt;playing with the hostgroup inheritance&lt;/a&gt; earlier. One problem with that is, if you define a duplicate service Nagios is really unpredictable or rather inconsistent. Now, as Thomas Guyot-Sionnest told me, I should try &lt;a href="http://nagios.sourceforge.net/docs/3_0/macros.html"&gt;custom macros&lt;/a&gt; for the check definition. So what I did was the following:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;templates/host-windows.cfg&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define host {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; name         generic-windows
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; register 0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; _RDPPORT 3389
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;hostgroups/windows.cfg&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Debugging rug</title><link>https://christian.blog.pakiheim.de/posts/2008-08-15_debugging-rug/</link><pubDate>Fri, 15 Aug 2008 19:19:06 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=902</guid><description>&lt;p&gt;Well, it&amp;rsquo;s 7pm. I&amp;rsquo;m sitting at home and thinking about why in gods name rug isn&amp;rsquo;t adding my update repository. I can add the service using yast inst_source, but when yast then syncs with ZenWorks, it tells me something like:&lt;/p&gt;
&lt;p&gt;Failed to get repomd/repodata.xml; Reason: 530 - Access denied&lt;/p&gt;
&lt;p&gt;So my fellow co-worker turned on the debug-logging and we quickly found out why: rug isn&amp;rsquo;t using the command line credentials I was passing.&lt;/p&gt;</description></item><item><title>Suspected NRPE weirdness</title><link>https://christian.blog.pakiheim.de/posts/2008-08-10_suspected-nrpe-weirdness/</link><pubDate>Sun, 10 Aug 2008 07:55:28 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=874</guid><description>&lt;p&gt;Well, I just noticed a really weird thing, when you have command line arguments enabled.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a snippet from my &lt;em&gt;nrpe.cfg&lt;/em&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dont_blame_nrpe=1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;command[check_disk]=/usr/lib/nagios/plugins/check_disk -E -w $ARG1$ -c $ARG2$ -p $ARG3$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now, if you&amp;rsquo;d check the free space for the root, it ain&amp;rsquo;t gonna show any inode percentage (that one isn&amp;rsquo;t what I&amp;rsquo;m talking about). But if you have to use bind mounts like I do (Tivoli needs a separate &amp;quot; &lt;em&gt;domain&lt;/em&gt;&amp;quot; -- that is a separate mount point for each domain), you might wanna check the free space on the &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; device, rather than the free space on the bind mount (which is gonna show you the free space of the parent file system - in my case the root fs).&lt;/p&gt;</description></item><item><title>Nagios 3 and hostgroup inheritance</title><link>https://christian.blog.pakiheim.de/posts/2008-08-08_nagios-3-and-hostgroup-inheritance/</link><pubDate>Fri, 08 Aug 2008 12:24:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=850</guid><description>&lt;p&gt;As I wrote some &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-19_nagios-hostgroup-inheritance-continued" title="Nagios Hostgroup Inheritance"&gt;time&lt;/a&gt; &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-19_nagios-hostgroup-inheritance-continued" title="Nagios Hostgroup Inheritance (continued)"&gt;ago&lt;/a&gt;, I was trying to utilize Nagios 3.x&amp;rsquo;s neat feature of &amp;quot; &lt;em&gt;nested&lt;/em&gt;&amp;quot; hostgroups. Well, as it turned out I thought it worked differently; basically like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define hostgroup {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name a-parent-hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; alias Our toplevel parent hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define service {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; use generic-service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; check_command check_dummy!0!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; service_description SSH
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name a-parent-hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define hostgroup {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name a-child-hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_members a-parent-hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; alias Our child hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define service {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; use generic-service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; check_command check_dummy!0!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; service_description LOAD
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name a-child-hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;As you can cleary see on line 14, I thought you define the relation between two hostgroups in the child hostgroup. The problem with it was basically (as I said in the earlier posts), that all the services defined for the child hostgroups are handed on upwards to the parent hostgroup(s).&lt;/p&gt;</description></item><item><title>Nagios 3-x and check_pcmeasure-pl</title><link>https://christian.blog.pakiheim.de/posts/2008-08-07_nagios-3-x-and-check-pcmeasure-pl/</link><pubDate>Thu, 07 Aug 2008 18:23:18 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=845</guid><description>&lt;p&gt;Recently we purchased a MessPC station for our server room, and my co-worker and myself had the wish it to be integrated within Nagios. Well, so far so good. The first I did was put both keywords into Google.&lt;/p&gt;
&lt;p&gt;That pretty fast brought up the &lt;a href="http://www.messpc.de/nagios.php"&gt;manufacturer&amp;rsquo;s page&lt;/a&gt; (sorry it&amp;rsquo;s German only) about the device supporting Nagios by means of either SNMP or a specific plugin called &lt;a href="http://linux.swobspace.net/projects/nagios-en/pcmeasure.html"&gt;pcmeasure&lt;/a&gt;. So I went ahead and tried both ways.&lt;/p&gt;</description></item><item><title>More VirtualCenter troubles (fini)</title><link>https://christian.blog.pakiheim.de/posts/2008-08-07_more-virtualcenter-troubles-fini/</link><pubDate>Thu, 07 Aug 2008 18:03:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=838</guid><description>&lt;p&gt;Well, today the &lt;a href="https://christian.blog.pakiheim.de/posts/2008-08-07_more-virtualcenter-troubles-fini" title="More VirtualCenter troubles"&gt;support request&lt;/a&gt; came back. Seems &lt;a href="http://communities.vmware.com/thread/54721"&gt;one&lt;/a&gt; of the originally linked VMTN dicussions really is the only way:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Export the customization specification&lt;/li&gt;
&lt;li&gt;Edit the XML file&lt;/li&gt;
&lt;li&gt;Import it again&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The related part inside the customization specification should then look like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;type&amp;gt;vim.vm.customization.Password&amp;lt;/type&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;plainText&amp;gt;true&amp;lt;/plainText&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;value&amp;gt;Password01&amp;lt;/value&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/password&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;So if you ever think about switching the default VirtualCenter certificate (for whatever reason), make sure you use the above workaround. Otherwise VirtualCenter is gonna fail miserably during the customization phase of the cloning process.&lt;/p&gt;</description></item><item><title>SUSE Linux Enterprise Server 10 on VMware ESX (finished)</title><link>https://christian.blog.pakiheim.de/posts/2008-07-30_suse-linux-enterprise-server-10-on-vmware-esx-finished/</link><pubDate>Wed, 30 Jul 2008 18:08:59 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=747</guid><description>&lt;p&gt;As I pointed out in my &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_suse-linux-enterprise-server-10-on-vmware-esx-continued" title="SUSE Linux Enterprise Server 10 on VMware ESX (continued)"&gt;past&lt;/a&gt; &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-30_suse-linux-enterprise-server-10-on-vmware-esx-finished" title="SUSE Linux Enterprise Server 10 on VMware ESX"&gt;posts&lt;/a&gt;, I was having some weird errors with SLES10 regarding mounting CD images inside the guest (as well, as it turned out, on the physical hardware).&lt;/p&gt;
&lt;p&gt;Now, finally, after about a week or so Novell finally released an updated kernel package today. So the error per se is fixed, I can use my CD drives again, as well as update my virtual machines by means of virtual center, without the trickery of copying the &lt;em&gt;linux.iso&lt;/em&gt; from &lt;em&gt;/vmimages/tools&lt;/em&gt; to the guest and mount it by means of &lt;em&gt;mount -o loop&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Yet another VMware error</title><link>https://christian.blog.pakiheim.de/posts/2008-07-30_yet-another-vmware-error/</link><pubDate>Wed, 30 Jul 2008 18:00:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=740</guid><description>&lt;p&gt;Today I was moving a pretty standard SLES10 virtual machine to another host, when the migration dialog showed me this:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/07/faultmemorysizenotrecommended.png"
alt="fault.MemorySizeNotRecommended" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;fault.MemorySizeNotRecommended&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;And if you now think, the virtual machine is something special take a look at those settings:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/07/vm-configuration.png"
alt="Virtual machine configuration" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Virtual machine configuration&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I don&amp;rsquo;t know what to think about that error message. Googling for it doesn&amp;rsquo;t reveal that much about it. If anyone out there got an idea, I&amp;rsquo;m open for suggestions.&lt;/p&gt;</description></item><item><title>Fixing vmkernel symlinks</title><link>https://christian.blog.pakiheim.de/posts/2008-07-30_fixing-vmkernel-symlinks/</link><pubDate>Wed, 30 Jul 2008 07:19:32 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=725</guid><description>&lt;p&gt;Since I do happen to be in the situation pretty often where the kernel inside a VM is newer than what VMware currently has in their tools (as in the SUSE kernel is newer than the binary modules built by VMware), here&amp;rsquo;s a quick reminder for myself on how to to fix the .ko symlinks.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;for file in /lib/modules/$( uname -r )/misc/*.ko ;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; rm $file &amp;amp;&amp;amp;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ln -s /lib/modules/$( uname -r )/misc/${file/.ko/.o} $file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Relaxing weekend</title><link>https://christian.blog.pakiheim.de/posts/2008-07-28_relaxing-weekend/</link><pubDate>Mon, 28 Jul 2008 17:18:10 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=718</guid><description>&lt;p&gt;There I was, enjoying our new patio and trying to get a tan outside (we had plenty great weather during the weekend).&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/img_1504.jpg"
alt="The new patio" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;The new patio&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Now, all of the sudden there was this &lt;em&gt;&lt;strong&gt;weird&lt;/strong&gt;&lt;/em&gt; noise I couldn&amp;rsquo;t classify (which I heard while listening to my iPod completely cranked up &amp;hellip;), so I stood up.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/img_1496.jpg"
alt="Combine harvester mowing down rape" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Combine harvester mowing down rape&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;They were finally mowing the rape field behind our house &amp;hellip; hah!&lt;/p&gt;</description></item><item><title>Microsoft Cluster Services powered by IBM</title><link>https://christian.blog.pakiheim.de/posts/2008-07-26_microsoft-cluster-services-powered-by-ibm/</link><pubDate>Sat, 26 Jul 2008 18:47:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=691</guid><description>&lt;p&gt;If you think back, I talked about &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_windows-cluster-service-continued" title="Windows Cluster Service (continued)"&gt;my problems&lt;/a&gt; with &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_ibm-rdac-and-windows-cluster-service" title="IBM RDAC and Windows Cluster Service"&gt;MSCS while utilizing the IBM RDAC Multipath&lt;/a&gt; driver for Windows.&lt;/p&gt;
&lt;p&gt;Everyone I talked to about this, including our IBM business partner and it&amp;rsquo;s systems engineers; as well as some IBM systems engineer (who in fact was an freelance guy hired by IBM), told me it had to do with how we did the zoning (stuffing every controller into a single zone), and that would be the reason why the x3650 was seeing that many drives.&lt;/p&gt;</description></item><item><title>Connecting to a remote console with MSTSC 6-0-6001</title><link>https://christian.blog.pakiheim.de/posts/2008-07-23_connecting-to-a-remote-console-with-mstsc-6-0-6001/</link><pubDate>Wed, 23 Jul 2008 13:02:00 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=572</guid><description>&lt;p&gt;Well, as one can read in about every damn post you can find for that topic, the &lt;em&gt;/console&lt;/em&gt; switch is now silently ignored, as well as the rdp file option &amp;quot; &lt;em&gt;connect to console:i:1&lt;/em&gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;Now, what you don&amp;rsquo;t find anywhere (only in some &lt;a href="http://theregime.wordpress.com/2007/12/27/changes-to-rdp-for-61/"&gt;scenario explanation&lt;/a&gt;), that it &lt;strong&gt;is&lt;/strong&gt; allowed to specify the mode (ie &lt;em&gt;/console&lt;/em&gt; previously and now &lt;em&gt;/admin&lt;/em&gt;) within the full address parameter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt; In the RDC client UI, you specify &lt;strong&gt;&lt;em&gt;Computer_name&lt;/em&gt; /console&lt;/strong&gt; in the &lt;strong&gt;Computer&lt;/strong&gt; box (where &lt;em&gt;Computer_name&lt;/em&gt; represents the name of the remote computer to which you want to connect), and then click &lt;strong&gt;Connect&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Nagios Hostgroup Inheritance (continued)</title><link>https://christian.blog.pakiheim.de/posts/2008-07-19_nagios-hostgroup-inheritance-continued/</link><pubDate>Sat, 19 Jul 2008 09:41:21 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=561</guid><description>&lt;p&gt;Well, it turns out that &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-19_nagios-hostgroup-inheritance-continued" title="Nagios Hostgroup Inheritance"&gt;my thought&lt;/a&gt; was ultimativly flawed. When defining the &lt;em&gt;&lt;a href="http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html#hostgroup"&gt;hostgroup_members&lt;/a&gt;&lt;/em&gt; in the lower tiers, nagios is association the checks from the lower tier with the upper tiers. Thus propagandating all checks upwards, and me ending up with ~250 checks instead of ~150.&lt;/p&gt;
&lt;p&gt;Gonna have to try to define the dependency backwards, maybe that&amp;rsquo;ll help. But that&amp;rsquo;s a topic for Monday. Guess I&amp;rsquo;ll finish viewing Ghost in the Shell - Stand Alone Complex first.&lt;/p&gt;</description></item><item><title>Extending VMotion compatiblity (continued)</title><link>https://christian.blog.pakiheim.de/posts/2008-07-14_extending-vmotion-compatiblity-continued/</link><pubDate>Mon, 14 Jul 2008 17:41:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=500</guid><description>&lt;p&gt;Remember my &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-14_extending-vmotion-compatiblity-continued" title="Extending vMotion compatiblity"&gt;last post about cpu masking&lt;/a&gt; ? Well, turns out that you can do it to a &amp;ldquo;template&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The only point you don&amp;rsquo;t need to do, is to mark the &lt;strong&gt;VM&lt;/strong&gt; as a &amp;quot; &lt;em&gt;template&lt;/em&gt;&amp;quot;. You still can clone it and move it around and all that other stuff, but the good part is, that the cloned VM keeps the cpu mask set to the &amp;quot; &lt;em&gt;template&lt;/em&gt;&amp;quot; &amp;#x1f937;&lt;/p&gt;</description></item><item><title>Nagios3 with Active Directory authorization on SLES10</title><link>https://christian.blog.pakiheim.de/posts/2008-07-14_nagios3-with-active-directory-authorization-on-sles10/</link><pubDate>Mon, 14 Jul 2008 17:32:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=494</guid><description>&lt;p&gt;Well, it seems to be getting a &amp;ldquo;trend&amp;rdquo; for me, to integrate stuff into our Active Directory. Now that I know why, and how easy that is, I expect to add more stuff. The good thing about the integration is, that you only need to maintain a single source for authorization.&lt;/p&gt;
&lt;p&gt;The bad thing about that is, that stuff becomes dependent on the Active Directory (we do have four domain controllers, so that should be fine).&lt;/p&gt;</description></item><item><title>Managing unixODBC connections on SLES10</title><link>https://christian.blog.pakiheim.de/posts/2008-07-03_managing-unixodbc-connections-on-sles10/</link><pubDate>Thu, 03 Jul 2008 06:42:27 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=454</guid><description>&lt;p&gt;Recently I got the task, to implement unixODBC/freetds on one (well, it&amp;rsquo;s really three) of our web servers, as someone wanted to use Microsoft SQL Server 2005 with PHP (without using the &lt;a href="http://de3.php.net/manual/en/ref.mssql.php"&gt;MSSQL functions&lt;/a&gt;, which PHP provides soo nicely; don&amp;rsquo;t ask me why).&lt;/p&gt;
&lt;p&gt;With that I also got a set of &amp;quot; &lt;em&gt;instructions&lt;/em&gt;&amp;quot; on how to install freetds from source (remember, I was a Gentoo dev, so I know my way around, when it comes to building from source), as well as a small set of instructions on how to create the connection.&lt;/p&gt;</description></item><item><title>subversion on WebDAV with Active Directory authorization on SLES10</title><link>https://christian.blog.pakiheim.de/posts/2008-06-29_subversion-on-webdav-with-active-directory-authorization-on-sles10/</link><pubDate>Sun, 29 Jun 2008 17:49:29 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=425</guid><description>&lt;p&gt;Okay, so I ended up toying with subversion via WebDAV on SLES today (I know, I know .. it&amp;rsquo;s bloody Sunday). It wasn&amp;rsquo;t much of a hassle though, after reading this. Sure, I made a few errors at first (simply confused the logic behind &amp;quot; &lt;em&gt;&lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#location"&gt;Location&lt;/a&gt;&lt;/em&gt;&amp;quot; and &amp;quot; &lt;em&gt;&lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#directory"&gt;Directory&lt;/a&gt;&lt;/em&gt;&amp;quot;), but after that plain subversion commits via WebDAV (thus utilizing Apache) worked fine.&lt;/p&gt;
&lt;p&gt;For POC or as a hint to myself, here&amp;rsquo;s where and what I needed to add/change:&lt;/p&gt;</description></item><item><title>The clue to build ppc64 RPM's</title><link>https://christian.blog.pakiheim.de/posts/2008-06-26_the-clue-to-build-ppc64-rpm-s/</link><pubDate>Thu, 26 Jun 2008 15:52:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=400</guid><description>&lt;p&gt;Remember, I &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_building-rpms-on-sles10sp2-ppc64" title="Building RPMs on SLES10SP2-ppc64"&gt;talked&lt;/a&gt; about building RPM&amp;rsquo;s on SLES10SP2 on ppc64 ? Well, turns out I was rather stupid .. and it was rather simple (don&amp;rsquo;t ask me why I didn&amp;rsquo;t think of that). I tried asking solar, I used Google (apparently with the wrong search parameters), nothing though. Not a clue.&lt;/p&gt;
&lt;p&gt;Today it bugged me again, so I used Google again. This time with &amp;quot; &lt;em&gt;&lt;a href="http://www.google.de/search?q=ppc64+suse+rpmbuild&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:de:official&amp;amp;client=firefox-a"&gt;ppc64 suse rpmbuild&lt;/a&gt;&lt;/em&gt;&amp;quot;, and guess what I saw within the preview of the second hit ..&lt;/p&gt;</description></item><item><title>Removing newlines (n) with sed</title><link>https://christian.blog.pakiheim.de/posts/2008-06-24_removing-newlines-n-with-sed/</link><pubDate>Tue, 24 Jun 2008 17:35:42 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=386</guid><description>&lt;p&gt;Today I had to search again on how to remove newline special characters with sed. Thanks to &lt;a href="http://kamil.dsplabs.com.au/resume/"&gt;Kamil&lt;/a&gt; over at &lt;a href="http://linux.dsplabs.com.au/"&gt;linux.dsplabs.com.au&lt;/a&gt;, I found &lt;a href="http://linux.dsplabs.com.au/rmnl-remove-new-line-characters-tr-awk-perl-sed-c-cpp-bash-python-xargs-ghc-ghci-haskell-sam-ssam-p65/"&gt;it&lt;/a&gt; again rather quickly.&lt;/p&gt;
&lt;p&gt;Now, this is just for my own safekeeping, so I don&amp;rsquo;t end up googling for it again &amp;hellip; &amp;#x1f937;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo -e &amp;#34;Line containing nnewlines!&amp;#34; | sed &amp;#39;:a;N;$!ba;s/n//g&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Looong time</title><link>https://christian.blog.pakiheim.de/posts/2008-06-20_looong-time/</link><pubDate>Fri, 20 Jun 2008 00:23:38 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=196</guid><description>&lt;p&gt;Well, it&amp;rsquo;s been a loong time since I first thought about retiring (yes, I know that #-dev&amp;rsquo;s topic states &amp;quot; &lt;em&gt;developer blogs&lt;/em&gt;&amp;quot; ain&amp;rsquo;t for announcing important things, but my blog has to do for this; if not, I don&amp;rsquo;t care anymore :!: ).&lt;/p&gt;
&lt;p&gt;But I think it&amp;rsquo;s about time for me to leave. I haven&amp;rsquo;t done much lately, I&amp;rsquo;ve been soo damn busy with work these last months like I would never have imagined. I gave it some more thought, and I finally got to the point ( &lt;strong&gt;again&lt;/strong&gt; I might add) where all just annoys and/or frustrates me.&lt;/p&gt;
&lt;p&gt;All the damn bickering, the childish behaviour Josh talked about (&amp;quot; &lt;em&gt;noooo, that&amp;rsquo;s my TOY!&lt;/em&gt;&amp;quot;), the constant abuse of power (hey #-chat, #-kde ops). I thought most of us would at least try and behave like the elderish people we are (well besides the few of us, who really are children by law&amp;rsquo;s definition - hey there welp, omp, keytoaster ;-) ). But I guess that&amp;rsquo;s just been an imaginary thought I had .. * &lt;strong&gt;shrug&lt;/strong&gt;*&lt;/p&gt;</description></item><item><title>Updated `check_ram' plugin</title><link>https://christian.blog.pakiheim.de/posts/2008-06-17_updated-check-ram-plugin/</link><pubDate>Tue, 17 Jun 2008 09:25:21 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=358</guid><description>&lt;p&gt;As I was building the updated RPMs for SLES10, though needed to &lt;a href="https://christian.blog.pakiheim.de/uploads/2008/06/nagios-plugins-1412-check_ram.patch"&gt;refresh&lt;/a&gt; my old patch. Also, I was getting strange messages from autotools and fixed these &lt;a href="https://christian.blog.pakiheim.de/uploads/2008/06/nagios-plugins-1412-autoconf-quirks.patch"&gt;quirks&lt;/a&gt;, Now, I prepped a patch for it, and finished building new RPMs for i586 and x86_64.&lt;/p&gt;</description></item><item><title>GPO (behind the scenes)</title><link>https://christian.blog.pakiheim.de/posts/2008-06-05_gpo-behind-the-scenes/</link><pubDate>Thu, 05 Jun 2008 06:46:20 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=340</guid><description>&lt;p&gt;Well, to begin with we had this really weird problem that the &lt;a href="https://christian.blog.pakiheim.de/posts/2008-06-04_windows-xp-embedded-windows-server-2003-and-gpo-settings-the-solution" title="Windows XP Embedded and GPO settings"&gt;thin clients&lt;/a&gt; as well as the terminal server would only load user based group policy if you are a &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_windows-xp-embedded-and-gpo-settings-continued" title="Windows XP Embedded and GPO settings (continued)"&gt;member of the group of local administrators&lt;/a&gt;. While that&amp;rsquo;s ok for the thin clients (users can&amp;rsquo;t actually change something unless they log in as &amp;ldquo;Administrator&amp;rdquo; - don&amp;rsquo;t ask me why), it&amp;rsquo;s a real no-no on the terminal server.&lt;/p&gt;</description></item><item><title>Windows XP Embedded, Windows Server 2003 and GPO settings (the solution)</title><link>https://christian.blog.pakiheim.de/posts/2008-06-04_windows-xp-embedded-windows-server-2003-and-gpo-settings-the-solution/</link><pubDate>Wed, 04 Jun 2008 19:35:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=338</guid><description>&lt;p&gt;OK, so about an hour (yeah, yeah; I know .. I shouldn&amp;rsquo;t be working at that time, but it really gave me sleepless nights) ago, I finally figured out why the hell both my Windows XP Embedded thin clients as well as my Windows Server 2003 systems where showing this &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_windows-xp-embedded-and-gpo-settings-continued" title="Windows XP Embedded and GPO settings (continued)"&gt;real &lt;em&gt;&lt;strong&gt;weird&lt;/strong&gt;&lt;/em&gt; behaviour&lt;/a&gt; when applying group policies, or more precise the user based configuration of a group policy.&lt;/p&gt;</description></item><item><title>Can't find sheep^Hsleep</title><link>https://christian.blog.pakiheim.de/posts/2008-06-01_can-t-find-sheep-hsleep/</link><pubDate>Sun, 01 Jun 2008 13:37:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2008/01/08/cant-find-sheephsleep</guid><description>&lt;p&gt;Ok, so I ended up lying in bed for two hours, so I stood back up and searched for some stuff that floated my mind. The end result seems to be the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;VIA EPIA SN10000EG (199,30€)&lt;/li&gt;
&lt;li&gt;2x Kingston ValueRAM SO-DIMM 2GB PC2-5300U CL5 (DDR2-667) (each 31,31€)&lt;/li&gt;
&lt;li&gt;Club 3D GeForce 7300 GT, 256MB DDR2, 2x DVI, TV-out, PCIe (CGNX-HG736) (55,00€) &amp;ndash; still need to find a riser card&lt;/li&gt;
&lt;li&gt;Transcend SSD/IDE 8GB (169,00€)&lt;/li&gt;
&lt;li&gt;2x Samsung SyncMaster 204B, 20.1&amp;quot;, 1600x1200, VGA, DVI (LS20BRDBSQ) (each 309,00€)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I still need to find a fitting power supply, but I&amp;rsquo;ll leave that for tomorrow. The above leads me with about 520,00€ for the &amp;ldquo;PC&amp;rdquo; and 680€ for the TFT&amp;rsquo;s (as I don&amp;rsquo;t have any). And that&amp;rsquo;ll give me a full silent (as in not a single moving part), quiet workstation for my desk.&lt;/p&gt;</description></item><item><title>Retiring people</title><link>https://christian.blog.pakiheim.de/posts/2008-05-28_retiring-people/</link><pubDate>Wed, 28 May 2008 12:55:34 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=329</guid><description>&lt;p&gt;I&amp;rsquo;m not sure whether or not I blogged about this before, but here it is just for me to actually remember what, in which order I need to do. If you got the list in form of a csv file, simply do the following:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -q http://tinyurl.com/4atkz7 -O - | grep &amp;#34;(&amp;#34; | cut -d&amp;#39;(&amp;#39; -f2 | cut -d&amp;#39;)&amp;#39; -f1 | awk &amp;#39;{ print tolower($1) }&amp;#39; &amp;gt; retirements
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;for developer in $( &amp;lt; retirements ); do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; retire.py --metadata $developer /cvs/gentoo-x86/ | diffstat &amp;gt; ~/metadata.$developer
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That&amp;rsquo;ll give you a detailed list of which metadata.xml need to be changed.&lt;/p&gt;</description></item><item><title>Rescuing a rebooting machine that's hanging</title><link>https://christian.blog.pakiheim.de/posts/2008-05-24_rescuing-a-rebooting-machine-that-s-hanging/</link><pubDate>Sat, 24 May 2008 17:14:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=311</guid><description>&lt;p&gt;One of my co-worker approached me today with a weird problem. Yesterday he had a disk in a 900GiB array failing which he replaced. After that, he run a rebuild/verification, fsck&amp;rsquo;ed the file system and tried to mount the volume again.&lt;/p&gt;
&lt;p&gt;Apparently the mount produced a kernel oops (guess what, the 900GiB is running reiserfs), thus leaving the kernel tainted (or what do they call it ?). So he tried to reboot the box but it didn&amp;rsquo;t reboot. It started rebooting but then hung (as in not continuing the reboot). He tried to ssh back to the box, and it worked just fine.&lt;/p&gt;</description></item><item><title>IBM (Tivoli) Integrated Solutions Console</title><link>https://christian.blog.pakiheim.de/posts/2008-05-23_ibm-tivoli-integrated-solutions-console/</link><pubDate>Fri, 23 May 2008 17:28:03 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=295</guid><description>&lt;p&gt;Here I am, preparing our environment for the first (of hopefully many) tester for our upcoming VTL project. So I ended up installing the ISC and Administration Center for Tivoli Storage Manager on a 64bit guest (that is SLES10 for AMD64), just because I forgot to include support for later versions with our current running one. Guess what, &lt;em&gt;na&lt;/em&gt;- &lt;em&gt;na&lt;/em&gt; &lt;em&gt;na&lt;/em&gt; &lt;em&gt;na&lt;/em&gt; &lt;em&gt;na&lt;/em&gt;. Exactly, didn&amp;rsquo;t work, the same errors I got while trying it before in a virtual environment. &amp;ldquo;Portlet is not available.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Getting a FC HBA to rescan it's attached devices</title><link>https://christian.blog.pakiheim.de/posts/2008-05-19_getting-a-fc-hba-to-rescan-it-s-attached-devices/</link><pubDate>Mon, 19 May 2008 11:50:48 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=253</guid><description>&lt;p&gt;If you&amp;rsquo;re using a 2.6 based distribution, the FC HBA (or more correctly the corresponding driver) should create entries in &lt;em&gt;/sys/class/scsi_host&lt;/em&gt;. Now you only need to get the host-number (basically the # of the host bus adapter) and you can get started ..&lt;/p&gt;
&lt;p&gt;Simply doing this, is going to tell the FC HBA &amp;ldquo;rescan&amp;rdquo; and discover new devices ..&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo &amp;#34;1&amp;#34; &amp;gt; /sys/class/fc_host/host/issue_lip
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That should do the trick, and you should be able to get udev to recognize the new devices attached via FibreChannel without the need to reboot the whole box (which might be a bit tricky).&lt;/p&gt;</description></item><item><title>April 19th</title><link>https://christian.blog.pakiheim.de/posts/2008-04-20_april-19th/</link><pubDate>Sun, 20 Apr 2008 18:51:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=186</guid><description>&lt;p&gt;Well, as some people already figured out; yesterday was my birthday. Chrissy noted it on my blog, as well as about every channel we&amp;rsquo;re together in (so did Chris); so thanks a lot for that &amp;#x1f609;&lt;/p&gt;
&lt;p&gt;Anyway, Saturday morning as I was forced to head downstairs due to my aunt calling (that was at 9am), my brother managed to take a shot at the presents as well as something else:&lt;/p&gt;</description></item><item><title>open-vm-tools for Debian Etch</title><link>https://christian.blog.pakiheim.de/posts/2008-04-20_open-vm-tools-for-debian-etch/</link><pubDate>Sun, 20 Apr 2008 12:16:29 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=253</guid><description>&lt;p&gt;Well, after a loooong time of trying to get the modules and all the other stuff (read: init-script for the guest daemon and modules) working, I think I&amp;rsquo;m about there.&lt;/p&gt;
&lt;p&gt;I finally fixed a long-standing issue, with the postinst/prerm scripts, and the tools should be about ready. Gonna try and send it Daniel Baumann&amp;rsquo;s way (that is the Debian Maintainer), for proper inclusion into Lenny.&lt;/p&gt;
&lt;p&gt;I (successfully) tried splitting the Xorg parts from the &amp;quot; &lt;em&gt;normal&lt;/em&gt;&amp;quot; open-vm-tools, as I usually don&amp;rsquo;t want Xorg installed on &lt;em&gt;&lt;strong&gt;any&lt;/strong&gt;&lt;/em&gt; of my virtual machines. Thus leaving me with open-vm-tools, open-vm-modules and open-vm-toolbox (and open-vm-source) as a list of packages one could install.&lt;/p&gt;</description></item><item><title>That's why ---</title><link>https://christian.blog.pakiheim.de/posts/2008-04-19_that-s-why/</link><pubDate>Sat, 19 Apr 2008 08:06:51 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=182</guid><description>&lt;p&gt;&amp;hellip; I&amp;rsquo;d break a butterfly on a wheel &amp;hellip; I was coming out of the office, and found my car this way:&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/img_0902.jpg"
alt="Up close" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Up close&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/img_0903.jpg"
alt="Birdie view" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Birdie view&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
Well happy me, I had some sort of cleanup detail for 20:00 local time (as in get all that birdie poooo of my damn roof!), and surprisingly once I was finished cleaning all the shit up, it started raining. Now, I&amp;rsquo;m never, * &lt;strong&gt;ever&lt;/strong&gt;* gonna park below that dove/whateverdamndevilbirdyouare housing tree no more!&lt;/p&gt;</description></item><item><title>Software support and key account managers</title><link>https://christian.blog.pakiheim.de/posts/2008-04-14_software-support-and-key-account-managers/</link><pubDate>Mon, 14 Apr 2008 12:24:59 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=174</guid><description>&lt;p&gt;As Mike wrote about his &lt;a href="http://blogs.gentoo.org/kingtaco/2008/03/18/a_tale_of_two_vendors"&gt;experiences with hardware vendors&lt;/a&gt;, I&amp;rsquo;m gonna devote this here post to my favorite software company in the world. We recently bought two copies of a software called &amp;quot; &lt;em&gt;2X Application Server Enterprise Edition&lt;/em&gt;&amp;quot;. As one would think from reading the &lt;a href="http://www.2x.com/applicationserver/"&gt;spe&lt;/a&gt; &lt;a href="http://www.2x.com/loadbalancer/"&gt;cs&lt;/a&gt; of the software, it&amp;rsquo;s near a Citrix solution (which it is, at least for a small part); but in return it&amp;rsquo;s faaaar away concerning the price. Just so you get an idea, about what I&amp;rsquo;m meaning with &amp;quot; &lt;em&gt;faaar&lt;/em&gt;&amp;quot;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Windows Server 2003:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Standard Edition: 2 * 91,00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;CAL: 50 * 6,00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Terminal Server CAL: 50 * 17,00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ___________
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 1.332,00
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The above are fixed costs, you need them anyway as both Citrix as well as the 2X solution is only working * &lt;strong&gt;on top&lt;/strong&gt;* of Windows Server 2003 Terminal Services.&lt;/p&gt;
&lt;p&gt;Now, here&amp;rsquo;s the real comparison between &lt;em&gt;2X Application Server &amp;amp; Loadbalancer&lt;/em&gt; and &lt;em&gt;Citrix XenApp Platinum Edition&lt;/em&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2X 2 * 1510,00 = 3.020,00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Citrix 50 * 393,00 = 19.650,00
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;While 2X is licensed per terminal server, &lt;a href="http://shop.mensys.nl/cgi-bin/db2www/mns_art2.d2w/report?catname=CitrixXenAppPlatinumEdition_LP&amp;amp;username=&amp;amp;i1=&amp;amp;o=&amp;amp;x=16:56:52&amp;amp;Search=XEN%20APP&amp;amp;C=250"&gt;XenApp&lt;/a&gt; is licensed per user. As you can see from the above prices, the 2X solution is roughly 1/6 of the Citrix XenApp solution.&lt;/p&gt;</description></item><item><title>TYPO3 hogging</title><link>https://christian.blog.pakiheim.de/posts/2008-04-08_typo3-hogging/</link><pubDate>Tue, 08 Apr 2008 21:28:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=267</guid><description>&lt;p&gt;Well, we do appear to be having some strange load problems with our main TYPO3 box hosting several home pages of the local universities, as you can see below.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/t3node1_load_05-19_07_04_2008.png"
alt="LOAD on t3node1 between 05:00-19:00 on 2008/04/07" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;LOAD on t3node1 between 05:00-19:00 on 2008/04/07&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;We repeatedly tried to figure out which of them was the one responsible, but neither I nor the other Unix sysadmin knew a better way to figure out the load each TYPO3 installation was causing (since there ain&amp;rsquo;t no phptop or something similar). But since today the new semester started, we figured it might be good to finally figure which one it was. And a few minutes (as in one or two) wouldn&amp;rsquo;t be much of a problem compared to the advantage we&amp;rsquo;re getting out of it.&lt;/p&gt;</description></item><item><title>April weather</title><link>https://christian.blog.pakiheim.de/posts/2008-04-08_april-weather/</link><pubDate>Tue, 08 Apr 2008 07:22:29 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=171</guid><description>&lt;p&gt;Well, it&amp;rsquo;s April. And usually when it&amp;rsquo;s April, there&amp;rsquo;s April&amp;rsquo;s weather. In the morning I was rather surprised by the weather.&lt;/p&gt;
&lt;p&gt;And after I picked up Michel, we some when arrived at work (that is one hour later), we had our own adventure park in front of the work place:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/dsc00302.jpg"
alt="Collapsed trees" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Collapsed trees&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Apparently, the trees in at the entrance collapsed (thanks to &lt;a href="http://blog.devnu11.net"&gt;Michel&lt;/a&gt; for the pictures), so we had to make our way through somehow &amp;hellip; was rather funny way to start the day &amp;hellip; &amp;#x1f937;&lt;/p&gt;</description></item><item><title>Creating multi-distribution RPM/XML repositories</title><link>https://christian.blog.pakiheim.de/posts/2008-04-02_creating-multi-distribution-rpm-xml-repositories/</link><pubDate>Wed, 02 Apr 2008 14:36:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=261</guid><description>&lt;p&gt;Well, as we do have quite a few custom built RPM&amp;rsquo;s, I was searching for a new solution to manage the repo(s). Currently I do have a single repository per distribution.&lt;/p&gt;
&lt;p&gt;One thing one needs to know about createrepo (from &lt;a href="http://linux.duke.edu/projects/metadata/"&gt;createrepo&lt;/a&gt;), it doesn&amp;rsquo;t support this type of thing in the first place. So I had to come up with another way of doing it. First, I created a proper layout (much like the Debian Official Repository layout):&lt;/p&gt;</description></item><item><title>metadata-xml (the second)</title><link>https://christian.blog.pakiheim.de/posts/2008-03-15_metadata-xml-the-second/</link><pubDate>Sat, 15 Mar 2008 00:04:27 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=235</guid><description>&lt;p&gt;As I was kinda bored after work today, I had a closer look at what I saw during my fuckup in the morning. Well, &lt;a href="http://wonkabar.org"&gt;Steve&lt;/a&gt; &lt;a href="https://christian.blog.pakiheim.de/posts/2008-03-14_metadata-xml-the-third" title="metadata.xml"&gt;said&lt;/a&gt;, that when he looked at &lt;em&gt;metadata.xml&lt;/em&gt; it&amp;rsquo;d be &amp;quot; &lt;strong&gt;really common&lt;/strong&gt;&amp;quot; .. still that isn&amp;rsquo;t making it right ..&lt;/p&gt;
&lt;p&gt;There is a reason we do have a &lt;em&gt;herds.xml&lt;/em&gt; (exactly for the reason to associate people with packages, and that&amp;rsquo;s what the &lt;!-- raw HTML omitted --&gt; tag is for in metadata.xml) file. So after a preliminary look through the repository, here are the winners:&lt;/p&gt;</description></item><item><title>metadata-xml (the third)</title><link>https://christian.blog.pakiheim.de/posts/2008-03-14_metadata-xml-the-third/</link><pubDate>Fri, 14 Mar 2008 20:14:28 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=237</guid><description>&lt;p&gt;So Petteri came up with a nifty python script ( &lt;a href="http://chrischie.users.barfoo.org/gentoo/QA/redundant-metadata/dP9gSU44.txt"&gt;local&lt;/a&gt;), which in return spit out this. Which generated a rather complete list ( &lt;a href="http://chrischie.users.barfoo.org/gentoo/QA/redundant-metadata/dxzdrF36.txt"&gt;local&lt;/a&gt;), that looks like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;700&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;perl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;569&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;maintainer&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;needed&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;128&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;video&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;126&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;xemacs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;47&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;sound&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;32&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;ha&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;32&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;crypto&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;desktop&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;misc&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;netmon&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;forensics&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;web&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;apps&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;pam&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;bugs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;vserver&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;devs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;mips&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;embedded&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;backup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;apache&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;bugs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;alsa&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;bugs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;net&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;im&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;kde&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;tcltk&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;tv&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;embedded&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;voip&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;theology&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;samba&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;net&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;p2p&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;freedesktop&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;bugs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;sparc&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;java&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;graphics&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;net&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mail&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;ldap&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;bugs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;kernel&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;fonts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;cpp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;x11&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;wxwidgets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;www&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;servers&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;tex&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;shell&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;sgml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;sci&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;qmail&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;bugs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;proaudio&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;optical&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;kerberos&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;hp&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;amd64&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>To be or not to be ---</title><link>https://christian.blog.pakiheim.de/posts/2008-03-10_to-be-or-not-to-be/</link><pubDate>Mon, 10 Mar 2008 12:25:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=232</guid><description>&lt;p&gt;&amp;hellip; that&amp;rsquo;s the question. I&amp;rsquo;ve been thinking lots and lots about my involvement with our &amp;quot; &lt;em&gt;beloved&lt;/em&gt;&amp;quot; distribution.&lt;/p&gt;
&lt;p&gt;I talked to some of the users (that is Gordon), some fellow developers (hello Christina, Łukasz, solar, Jorge, Anders) about whether or not I&amp;rsquo;m actually still wanted and/or needed. Turns out, the collective opinion is, that I am fun to have around ( &amp;#x1f937; don&amp;rsquo;t ask me why, I don&amp;rsquo;t find myself particularly funny/amusing) and that&amp;rsquo;d I&amp;rsquo;d be the person to have around.&lt;/p&gt;</description></item><item><title>Integrating Windows XPe into Active Directory</title><link>https://christian.blog.pakiheim.de/posts/2008-03-07_integrating-windows-xpe-into-active-directory/</link><pubDate>Fri, 07 Mar 2008 22:12:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=231</guid><description>&lt;p&gt;As the guys over at &lt;a href="http://www.freewysemonkeys.com"&gt;FreeWyseMonkeys&lt;/a&gt; demonstrated with JoinDomain.zip, it ain&amp;rsquo;t hard to integrate a Windows XP Embedded system into Active Directory.&lt;/p&gt;
&lt;p&gt;You basically need this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A system powered by Windows XP Embedded&lt;/li&gt;
&lt;li&gt;netdom.exe (from any Windows XP - SP2 in your MUI language)&lt;/li&gt;
&lt;li&gt;some know-how, on how to use netdom to integrate it into your AD&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Everything else is already present on the Windows XP Embedded systems I&amp;rsquo;ve seen. Then let&amp;rsquo;s get it on !&lt;/p&gt;</description></item><item><title>Backup solutions</title><link>https://christian.blog.pakiheim.de/posts/2008-03-07_backup-solutions/</link><pubDate>Fri, 07 Mar 2008 21:38:52 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=230</guid><description>&lt;p&gt;Well some people apparently completely &lt;em&gt;&lt;strong&gt;don&amp;rsquo;t&lt;/strong&gt;&lt;/em&gt; understand the use of a backup client like dsmc, additionally they don&amp;rsquo;t seem to have the slightest clue on how to draw up a &amp;ldquo;clever&amp;rdquo; backup solution.&lt;/p&gt;
&lt;p&gt;Lemme describe the situation for you. We do have two Solaris systems at work, housing our mailing system(s). Now apparently, people are unable to install the Tivoli Storage Manager Client on Solaris (or get it working properly - which people are blaming on the software not &lt;strong&gt;working&lt;/strong&gt;).&lt;/p&gt;</description></item><item><title>OCFS2 follow-up</title><link>https://christian.blog.pakiheim.de/posts/2008-03-07_ocfs2-follow-up/</link><pubDate>Fri, 07 Mar 2008 07:29:26 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=229</guid><description>&lt;p&gt;OK, it turned out that said colleague wasn&amp;rsquo;t responsible at all. Turns out, the &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; trigger was me creating a new volume on our SAN, on the same array that houses the OCFS2 volume.&lt;/p&gt;
&lt;p&gt;Apparently, during creation of an additional SAN volume, all other SAN volumes in this array are either read-only or delayed during that time, as you can see from the following log:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: (13,3):o2hb_write_timeout:242 ERROR: Heartbeat write timeout to device sdd1 after 12000 milliseconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Heartbeat thread (13) printing last 24 blocking operations (cur = 4):
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Heartbeat thread stuck at waiting for read completion, stuffing current time into that blocker (index 4)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 5: took 0 ms to do submit_bio for read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 6: took 0 ms to do waiting for read completion
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 7: took 0 ms to do bio alloc write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 8: took 0 ms to do bio add page write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 9: took 0 ms to do submit_bio for write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 10: took 0 ms to do checking slots
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 11: took 0 ms to do waiting for write completion
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 12: took 2002 ms to do msleep
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 13: took 0 ms to do allocating bios for read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 14: took 0 ms to do bio alloc read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 15: took 0 ms to do bio add page read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 16: took 0 ms to do submit_bio for read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 17: took 0 ms to do waiting for read completion
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 18: took 0 ms to do bio alloc write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 19: took 0 ms to do bio add page write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 20: took 0 ms to do submit_bio for write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 21: took 0 ms to do checking slots
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 22: took 0 ms to do waiting for write completion
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 23: took 2004 ms to do msleep
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 0: took 0 ms to do allocating bios for read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 1: took 0 ms to do bio alloc read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 2: took 0 ms to do bio add page read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 3: took 0 ms to do submit_bio for read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 4: took 9995 ms to do waiting for read completion
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: (13,3):o2hb_stop_all_regions:1682 ERROR: stopping heartbeat on all active regions.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Kernel panic - not syncing: *** ocfs2 is very sorry to be fencing this system by panicing ***
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>OCFS2 fun</title><link>https://christian.blog.pakiheim.de/posts/2008-03-06_ocfs2-fun/</link><pubDate>Thu, 06 Mar 2008 10:31:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=228</guid><description>&lt;p&gt;Turns out, that &lt;a href="https://christian.blog.pakiheim.de/posts/2008-03-06_ocfs2-fun" title="OCFS2 fun yet again"&gt;said colleague&lt;/a&gt; has been playing with NFS on one off the web nodes, thus apparently rendering the remaining nodes offline (or semi-offline).&lt;/p&gt;
&lt;p&gt;Now after all web nodes hung themselves, we had to hard reset them, now everything is tingly again .. &lt;em&gt;&lt;strong&gt;yay&lt;/strong&gt;&lt;/em&gt; for a great first day &amp;hellip;&lt;/p&gt;</description></item><item><title>EPIA fun</title><link>https://christian.blog.pakiheim.de/posts/2008-03-04_epia-fun/</link><pubDate>Tue, 04 Mar 2008 19:39:07 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=181</guid><description>&lt;p&gt;Well, as for replacing my current fileserver (which I seriously need to consider replacing), I&amp;rsquo;ll just pick up these things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;3WARE 9550SXU-8LP (that&amp;rsquo;s 399,00€) plus riser card&lt;/li&gt;
&lt;li&gt;VIA EPIA EK 8000EG (that&amp;rsquo;s 201,69€)&lt;/li&gt;
&lt;li&gt;Kingston ValueRAM DIMM 1 GB DDR-400 (that&amp;rsquo;s 57,00€)&lt;/li&gt;
&lt;li&gt;4x Seagate ST31000340NS (that&amp;rsquo;s 279,00€ each - making a subtotal of 1.116,00€)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So after browsing some more for a replacement for my current fileserver, I&amp;rsquo;d like to share the latest &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_stages"&gt;stages&lt;/a&gt; with you people. Thanks to Mike (who mentioned that binutils-2.18* already does the &lt;strong&gt;&lt;em&gt;LDFLAGS=&amp;quot;-Wl,-z,relro&amp;quot;&lt;/em&gt;&lt;/strong&gt; part) I replaced it with &lt;strong&gt;&lt;em&gt;&amp;quot;-Wl,-O1&amp;quot;&lt;/em&gt;&lt;/strong&gt;. Same old place, there&amp;rsquo;s fresh stages &amp;hellip; (and thanks again to Mike, with working &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=203711"&gt;util-linux-2.13-r2&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>Getting the 2X service up and running</title><link>https://christian.blog.pakiheim.de/posts/2008-02-21_getting-the-2x-service-up-and-running/</link><pubDate>Thu, 21 Feb 2008 19:31:18 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=226</guid><description>As I &lt;a href="http://christian.weblog.heimdaheim.de/2007/01/25/research-project/" title="Research project"&gt;mentioned before&lt;/a&gt;, we decided against the Citrix Presentation Server solution in favour of the 2X LoadBalancer and ApplicationServer combination. You&amp;rsquo;re gonna say, but Citrix does the same and it&amp;rsquo;s only one &amp;quot; &lt;em&gt;application frame&lt;/em&gt;&amp;quot;. 2X is exactly the same.</description></item><item><title>Zend Optimizer again</title><link>https://christian.blog.pakiheim.de/posts/2008-02-19_zend-optimizer-again/</link><pubDate>Tue, 19 Feb 2008 19:15:54 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=225</guid><description>&lt;p&gt;Well, I happen to be back at my favorite application. Today I stumbled upon a &amp;quot; &lt;em&gt;nice&lt;/em&gt;&amp;quot; thing. If you turn on the Zend Optimizer (doesn&amp;rsquo;t matter whether it is 2.6.2 or 3.3.0), one of the TYPO3 back ends ain&amp;rsquo;t showing &lt;em&gt;&lt;strong&gt;any&lt;/strong&gt;&lt;/em&gt; content in the preview pane. Once you turn the Zend Optimizer stuff off, it works without a problem.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/o_rly001.jpg"
alt="O RLY ?" width="438"/&gt; &lt;figcaption&gt;
&lt;p&gt;O RLY ?&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;And as Zend stated on their &amp;quot; &lt;em&gt;Support Forum&lt;/em&gt;&amp;quot;, they don&amp;rsquo;t really support the Zend Optimizer stuff in the first place. Which is nice, what for do you need the Zend Guard shit in the first place ??&lt;/p&gt;</description></item><item><title>Been a while</title><link>https://christian.blog.pakiheim.de/posts/2008-02-17_been-a-while/</link><pubDate>Sun, 17 Feb 2008 08:53:16 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=185</guid><description>&lt;p&gt;Well, it&amp;rsquo;s been quite a while since most of the people last heard a word from me. The last few months I&amp;rsquo;ve been extremely busy with work-related tasks (and as a side-effect of that, didn&amp;rsquo;t want to spend much time in front of the computer after 9 hours of work). I also started spending more and more time in the gym, like nearly two hours every Tuesday and Thursday.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I finally &lt;strong&gt;fixed&lt;/strong&gt; our replication issues, we do now have a &lt;strong&gt;working&lt;/strong&gt;! MySQL Multi-Master ( &lt;a href="https://christian.blog.pakiheim.de/uploads/2008/02/mycnf-node11.txt"&gt;1. Node&lt;/a&gt;, &lt;a href="https://christian.blog.pakiheim.de/uploads/2008/02/mycnf-node21.txt"&gt;2. Node&lt;/a&gt; -- bear in mind, this boxes are &lt;em&gt;&lt;strong&gt;only&lt;/strong&gt;&lt;/em&gt; serving MySQL and nothing else, so don&amp;rsquo;t use these configurations on mixed setups) Replication Setup as database back end for our TYPO3-vHosts.&lt;/li&gt;
&lt;li&gt;all the web nodes are now serving the content from a clustered, shared SAN volume (is that a good thing ? &amp;#x1f61b; - don&amp;rsquo;t know yet &amp;hellip;)&lt;/li&gt;
&lt;li&gt;our VI environment is getting more and more acceptance (even if you hear some complaints now and then, like &lt;em&gt;&amp;ldquo;awww, damn that crap my 4GiB RAM, 2x3.0GHz Windows 2008 is running soooo choppy&amp;rdquo;&lt;/em&gt; - simple answer, don&amp;rsquo;t use Windows Server 2008 and/or Windows Vista!)&lt;/li&gt;
&lt;li&gt;I finished prepping our VM templates (at least the Windows ones)&lt;/li&gt;
&lt;li&gt;we&amp;rsquo;re still putting together the plans on whether or not invest into a VDI solution.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The next few weeks are gonna be as frantic as the weeks before, I still have to migrate a lot of TYPO3 installations to our new cluster (which sadly needs time, as we need to wait for DNS changes to propagate). Honestly, I might be ending up extending the SAN volume for the MySQL data storage, as even with only three somewhat busy sites, the binary log of the last 5 days is about 2GiB in size. And we still have ~ &lt;strong&gt;20&lt;/strong&gt; other busy sites on a separate box.&lt;/p&gt;</description></item><item><title>Scaring people</title><link>https://christian.blog.pakiheim.de/posts/2008-02-17_scaring-people/</link><pubDate>Sun, 17 Feb 2008 08:49:24 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=223</guid><description>&lt;p&gt;I just found a rather oldish picture of myself. The date says it&amp;rsquo;s from last year ( &lt;em&gt;Fri Feb 9 22:33:06 2007&lt;/em&gt; to be exact) &amp;hellip;&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/dsc00076.jpg"
alt="Me with beard! (Or with other words: WHO THE HELL IS THIS ?)" width="375"/&gt; &lt;figcaption&gt;
&lt;p&gt;Me with beard! (Or: WHO THE HELL IS THIS ?)&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;One year later, I can&amp;rsquo;t imagine having such a beard ever again &amp;hellip;&lt;/p&gt;</description></item><item><title>Windows Server 2008</title><link>https://christian.blog.pakiheim.de/posts/2008-02-16_windows-server-2008/</link><pubDate>Sat, 16 Feb 2008 17:41:11 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=193</guid><description>&lt;p&gt;Well, as it is Saturday and I&amp;rsquo;m having lots of time (whereas I&amp;rsquo;d usually spend it working), I thought I&amp;rsquo;d give Windows Server 2008 a try. What interested me most, is the Windows Server 2008 &lt;em&gt;&amp;quot; &lt;a href="http://www.microsoft.com/windowsserver2008/en/us/r2-compare-core-installation.aspx"&gt;Server Core Installations&lt;/a&gt;&amp;quot;&lt;/em&gt;, as it&amp;rsquo;s supposed to lower the security risk (as there is &lt;em&gt;&lt;strong&gt;no&lt;/strong&gt;&lt;/em&gt; Internet Explorer, no Explorer nothing running by default, only a simply &lt;em&gt;cmd.exe&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;As one of my co-workers requested me to upload the Standard/Enterprise/Datacenter DVD (which he got through our Microsoft Select 6.0(?) agreement) to our ISO&amp;rsquo; VMFS, I had the DVD already at hand. As for that, I &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; love the feature set of VMware.&lt;/p&gt;</description></item><item><title>Other people's property</title><link>https://christian.blog.pakiheim.de/posts/2008-02-16_other-people-s-property/</link><pubDate>Sat, 16 Feb 2008 17:34:03 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=188</guid><description>&lt;p&gt;Well, apparently some people don&amp;rsquo;t have any value for other people&amp;rsquo;s property. It&amp;rsquo;s that way in big cities, but apparently it&amp;rsquo;s the same is this shitty, lil&amp;rsquo; village.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/img_0168.jpg"
alt="Scratch, top view" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Scratch, top view&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/img_0170.jpg"
alt="Scratch, side view" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Scratch, side view&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Whoever did that had serious fun with a key or something else. Tough, if I ever gonna get that person, I&amp;rsquo;m gonna rip his arse apart. The painters tell me, I do have to expect to pay ~300 EUR, as to the scratch being up to the primer below the upper color layer. So they&amp;rsquo;ll either have to paint half the door, or the whole door which &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; pisses me off!&lt;/p&gt;</description></item><item><title>Flushing the disk cache</title><link>https://christian.blog.pakiheim.de/posts/2008-02-05_flushing-the-disk-cache/</link><pubDate>Tue, 05 Feb 2008 02:46:21 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=184</guid><description>&lt;p&gt;I&amp;rsquo;ve been looking for this over and over and over, until I had some &lt;a href="http://www.webpronews.com/expertarticles/2007/01/10/invalidating-the-linux-buffer-cache"&gt;inspiration&lt;/a&gt; today (thanks to Andew and Chris) .. this has one and only one sole purpose: safekeeping, so I don&amp;rsquo;t end up searching for it all over again &amp;hellip;&lt;/p&gt;
&lt;p&gt;To free pagecache:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# sync; echo 1 &amp;gt; /proc/sys/vm/drop_caches
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;To free dentries and inodes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# sync; echo 2 &amp;gt; /proc/sys/vm/drop_caches
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;To free pagecache, dentries and inodes:&lt;/p&gt;</description></item><item><title>PacketPro 1-7-0</title><link>https://christian.blog.pakiheim.de/posts/2008-01-15_packetpro-1-7-0/</link><pubDate>Tue, 15 Jan 2008 08:37:41 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=183</guid><description>&lt;p&gt;After &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions-continued"&gt;blogging&lt;/a&gt; &lt;a href="https://christian.blog.pakiheim.de/posts/2007-08-05_packetpro-450-and-ssh-checks"&gt;the last time&lt;/a&gt; about the PacketPro 450 LoadBalancer appliance, the guys over at &lt;a href="http://www.teamix.net/"&gt;teamix&lt;/a&gt; seem to have taken that to heart and implemented a rather nifty thing for their new release.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s called &amp;quot; &lt;em&gt;Port forwarding&lt;/em&gt;&amp;quot;, which is basically what you&amp;rsquo;d figure from the name. It bounces ports around the load balancer, but saves you from creating a separate virtual server (and adding the physical servers to that one), but also saves you from &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions-continued"&gt;modifying&lt;/a&gt; the &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions-continued"&gt;syslog-ng configuration&lt;/a&gt; on the balanced servers.&lt;/p&gt;</description></item><item><title>Deploying VM templates</title><link>https://christian.blog.pakiheim.de/posts/2008-01-08_deploying-vm-templates/</link><pubDate>Tue, 08 Jan 2008 09:38:03 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2008/01/08/deploying-vm-templates</guid><description>&lt;p&gt;Ok, so after my first day yesterday after a rather long vacation I today wanted to look at the problem that the Administrator password isn&amp;rsquo;t changed when using VirtulCenter&amp;rsquo;s clone customization functionality (which relies at least for Windows on sysprep).&lt;/p&gt;
&lt;p&gt;After a short googling, I stumbled upon &lt;a href="http://www.rtfm-ed.co.uk/2006/01/20/sysprep-does-not-reset-administrator-password/"&gt;this&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Simple problem short &amp;hellip; Don&amp;rsquo;t specify an Administrator password for the template. Then you should be able to change the Administrator password when cloning the template. It&amp;rsquo;s &amp;quot; &lt;em&gt;should&lt;/em&gt;&amp;quot;, as the VM&amp;rsquo;s are still updating.&lt;/p&gt;</description></item><item><title>Looking back (yet again)</title><link>https://christian.blog.pakiheim.de/posts/2007-12-31_looking-back-yet-again/</link><pubDate>Mon, 31 Dec 2007 16:10:53 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/12/31/looking-back-yet-again/</guid><description>&lt;p&gt;Well, it&amp;rsquo;s yet again New Year&amp;rsquo;s Eve. Yet again a whole year passed by blazing fast, I didn&amp;rsquo;t manage to get everything done like I wanted.&lt;/p&gt;
&lt;p&gt;That includes the following things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;getting a better job (and probably better paid too!)&lt;/li&gt;
&lt;li&gt;getting a better life (well, it&amp;rsquo;s as it sounds like - my current life is rather unhealthy, and thanks to a friend I got the grip onto myself and started changing a few things - like doing a small workout every day, a bit more movement all over the day and so forth)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Which also means I do have some resolutions for the next year &amp;hellip;&lt;/p&gt;</description></item><item><title>Nothing to see here - wget stdout</title><link>https://christian.blog.pakiheim.de/posts/2007-12-10_nothing-to-see-here-wget-stdout/</link><pubDate>Mon, 10 Dec 2007 18:22:41 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/12/08/nothing-to-see-here-wget-stdout/</guid><description>&lt;p&gt;Actually there&amp;rsquo;s nothing to see here. It&amp;rsquo;s just to get it somewhere more obvious then my irc logs &amp;hellip;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ wget -q http://www.kernel.org/pub/linux/kernel/v2.6/incr/patch-2.6.23.8-9.gz -O - |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gunzip | patch -p1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Life as God it wrote</title><link>https://christian.blog.pakiheim.de/posts/2007-12-05_life-as-god-it-wrote/</link><pubDate>Wed, 05 Dec 2007 20:21:43 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/12/05/life-as-god-it-wrote/</guid><description>&lt;p&gt;Well, some of you know I&amp;rsquo;m a bit clumsy. Ok, I went buying some stuff for Saint Nicholas for the ones I love, which came to me about ten minutes before the shops are closing. Navigated my butt into the car, drove the ~6km to the nearest store (which still had open, that was around 20:00).&lt;/p&gt;
&lt;p&gt;Got all I wanted, went back to my car (you know, this one)&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2007/05/IMG_0316.JPG"
alt="new car"/&gt; &lt;figcaption&gt;
this
&lt;/figcaption&gt;
&lt;/figure&gt;
and put the stuff into the trunk. When closing the trunk, I felt some opposition, so I closed it a bit harder.
&amp;ldquo;&lt;em&gt;Closed&lt;/em&gt;&amp;rdquo; I thought to myself and went back into my car. When turning on the ignition the onbord computer suddenly complained &amp;ldquo;&lt;strong&gt;trunk open&lt;/strong&gt;&amp;rdquo;, so I went back out, trying to open the trunk. &lt;em&gt;&lt;strong&gt;WTF&lt;/strong&gt;&lt;/em&gt; .. I couldn&amp;rsquo;t get it open. So I tried again, still nothing.&lt;/p&gt;</description></item><item><title>Device CAL's ain't no Device CAL's</title><link>https://christian.blog.pakiheim.de/posts/2007-12-04_device-cal-s-ain-t-no-device-cal-s/</link><pubDate>Tue, 04 Dec 2007 08:21:13 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/12/04/device-cals-aint-no-device-cal/</guid><description>&lt;p&gt;I stumbled upon a &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; weird problem. Apparently the terminal server licenses called &amp;quot; &lt;em&gt;per Device&lt;/em&gt;&amp;quot; ain&amp;rsquo;t a real per device. From reading on it &lt;a href="http://www.microsoft.com/windowsserver2008/en/us/licensing-R2.aspx"&gt;Microsoft&lt;/a&gt; states it like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Device-based versus User-based Terminal Server CALs&lt;/p&gt;
&lt;p&gt;Two types of Terminal Server Client Access Licenses are available: TS Device CAL or TS User CAL.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A TS Device CAL permits one device (used by any user) to conduct Windows Sessions on any of your servers.&lt;/li&gt;
&lt;li&gt;A TS User CAL permits one user (using any device) to conduct Windows Sessions on any of your servers.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You may choose to use a combination of TS Device CALs and TS User CALs simultaneously with the server software.&lt;/p&gt;</description></item><item><title>Frantic work, private life, friends</title><link>https://christian.blog.pakiheim.de/posts/2007-12-01_frantic-work-private-life-friends/</link><pubDate>Sat, 01 Dec 2007 21:19:59 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/12/01/frantic-work-private-life-friends/</guid><description>&lt;p&gt;Well, it&amp;rsquo;s been a full month since I last wrote something. Back then I had some problems with 2X, Windows Terminal Server and printing (I still have problems, but not those anymore - I resolved them).&lt;/p&gt;
&lt;p&gt;Work has been unusual frantic the last month, as well as I don&amp;rsquo;t pay much interest to all the things in Gentoo anymore (that was an advice from my shrink), as it just keeps putting on my anger/urge to do something nobody wants me to do even more. So I invested my time into doing other things (like baking or reading one of the many books that I buyed of Amazon and didn&amp;rsquo;t ever get a chance to read) I enjoy more.&lt;/p&gt;</description></item><item><title>Windows terminal services undamp; network printers</title><link>https://christian.blog.pakiheim.de/posts/2007-11-04_windows-terminal-services-amp-network-printers/</link><pubDate>Sun, 04 Nov 2007 14:08:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/30/windows-terminal-services-network-printers/</guid><description>&lt;p&gt;Yes, yes. I do list a lot of crappy products (go on, laugh; I don&amp;rsquo;t really care). Yesterday I had quite a struggle with Microsoft Windows Server 2003 and Terminal services (or more precisely with their way on how to deal with network printers).&lt;/p&gt;
&lt;p&gt;As most of you know, there a two (possibly three) different ways on how to do network printers.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;would be, to simply share a local connected printer by simply creating a share for the printer&lt;/li&gt;
&lt;li&gt;buy a smart printer with integrated print server&lt;/li&gt;
&lt;li&gt;a combination of 1. and 2.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We luckily enough do have printers with integrated print servers, so that wouldn&amp;rsquo;t be a problem. &lt;em&gt;&lt;strong&gt;But&lt;/strong&gt;&lt;/em&gt; you get a problem if you&amp;rsquo;re trying to monitor the printer queue if you simply create a new TCP/IP connection from another target. You simply can&amp;rsquo;t tell who&amp;rsquo;s printing what.&lt;/p&gt;</description></item><item><title>screen and UTF-8 (continued)</title><link>https://christian.blog.pakiheim.de/posts/2007-10-26_screen-and-utf-8-continued/</link><pubDate>Fri, 26 Oct 2007 03:47:24 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/index.php/2007/10/25/screen-and-utf-8-continued/</guid><description>&lt;p&gt;OK, since I last posted about my &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_screen-and-utf-8" title="screen and UTF-8"&gt;problems with screen and irssi&lt;/a&gt; being unable to handle unicode chars, I got a lot of feedback (here or on IRC), and actually it was Alexander who pointed me into the right direction. &lt;em&gt;LANG=C&lt;/em&gt; doesn&amp;rsquo;t seem to support UTF-8 characters. So after adding&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="n"&gt;LC_ALL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;en_US.UTF8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="n"&gt;LANG&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;en_US.UTF8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;to my environment &lt;em&gt;&lt;strong&gt;everything&lt;/strong&gt;&lt;/em&gt; is just fine &amp;hellip; &amp;#x1f633;&lt;/p&gt;</description></item><item><title>Customizing Thin Clients</title><link>https://christian.blog.pakiheim.de/posts/2007-10-12_customizing-thin-clients/</link><pubDate>Fri, 12 Oct 2007 22:14:53 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/06/thin-clients-active-directory/</guid><description>&lt;p&gt;As some of you know, the company I&amp;rsquo;m currently working for, recently acquired some thin clients to replace our old computers for the students to work on. Those PC&amp;rsquo;s are like P3 800 MHz with 512MB RAM and sadly don&amp;rsquo;t run Office 2007 anymore, so we replaced them with thin clients and are streaming those applications from a Windows Terminal Server cluster (created by and with 2X Application LoadBalancer).&lt;/p&gt;
&lt;p&gt;So far so good, getting them to display the applications ain&amp;rsquo;t hard, the real hard part starts when you want additional things from this Windows XPe (Embedded), like lets say getting them to display a German language.&lt;/p&gt;</description></item><item><title>Nagios undamp; plugins</title><link>https://christian.blog.pakiheim.de/posts/2007-10-06_nagios-amp-plugins/</link><pubDate>Sat, 06 Oct 2007 15:12:43 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/06/nagios-plugins/</guid><description>&lt;p&gt;Since we started utilizing &lt;a href="http://www.nagios.org/"&gt;Nagios&lt;/a&gt;&amp;rsquo;s power two months ago, I finally came up with a C-based ram-plugin for nagios. The biggest problem I had with the python and perl based plugins, that some distributions (yes, SLES and Debian) don&amp;rsquo;t install either Python or Perl.&lt;/p&gt;
&lt;p&gt;Since I wanted a manageable setup (as in unified code base across all distributions), I wanted it to work without installing too much. So I took the &lt;a href="http://nagiosplug.svn.sourceforge.net/viewvc/nagiosplug/nagiosplug/trunk/plugins/check_swap.c?view=markup"&gt;swap plugin&lt;/a&gt; and basically removed what wasn&amp;rsquo;t necessary and &lt;a href="https://christian.blog.pakiheim.de/uploads/2007/10/check_ram.patch"&gt;voila&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>Thin clients</title><link>https://christian.blog.pakiheim.de/posts/2007-10-06_thin-clients/</link><pubDate>Sat, 06 Oct 2007 14:13:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/06/thin-clients/</guid><description>&lt;p&gt;As some of you people know, we (as in the University) recently purchased some Thin Clients in order to replace some oldish&amp;rsquo; computers and solve the software management at the same time.&lt;/p&gt;
&lt;p&gt;The Thin Clients ain&amp;rsquo;t bad, they are &lt;a href="http://www.wyse.com/products/hardware/thinclients/V90L/index.asp"&gt;Wyse V90L&lt;/a&gt;&amp;rsquo;s and they (as in Wyse) use their own management software to manage and deploy those thin clients and software. The bad thing about that, is it&amp;rsquo;s using it&amp;rsquo;s own &amp;ldquo;Scripting Language&amp;rdquo; (if you can call it that way - it&amp;rsquo;s more pseudo scripting since you can&amp;rsquo;t do much with it besides some basic actions).&lt;/p&gt;</description></item><item><title>Drivers license</title><link>https://christian.blog.pakiheim.de/posts/2007-09-09_drivers-license/</link><pubDate>Sun, 09 Sep 2007 13:18:47 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/09/09/drivers-license/</guid><description>&lt;p&gt;Somehow, there still seem to exist honest people on this world &amp;hellip; I just found my drivers license in the mail, somehow the office responsible for the district I lost it in (it seems I lost it somewhere in Greifswald, since I got mail from the office in Landhagen) found it in their postbox and immediately mailed it to my address. YAY!&lt;/p&gt;</description></item><item><title>TYPO3 and MySQL replication</title><link>https://christian.blog.pakiheim.de/posts/2007-09-08_typo3-and-mysql-replication/</link><pubDate>Sat, 08 Sep 2007 20:33:13 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/09/08/typo3-and-mysql-replication/</guid><description>&lt;p&gt;Apparently the TYPO3 version we are using, doesn&amp;rsquo;t play too nice with the MySQL MasterMaster replication.&lt;/p&gt;
&lt;p&gt;Sometimes, something like this is going to happen:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;070826 0:44:32 [ERROR] Slave: Error &amp;#39;Duplicate entry &amp;#39;75-222419149&amp;#39; for key 1&amp;#39; on query. Default database: &amp;#39;t3nb&amp;#39;. Query: &amp;#39;INSERT INTO cache_pagesection
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;070826 0:44:32 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with &amp;#34;SLAVE START&amp;#34;. We stopped at log &amp;#39;dbc-mysql1.000192&amp;#39; position 611861372
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Well, as you can see from the last line in the log, the Slave-SQL thread found a duplicate entry and thought it is smart to just turn off the thread instead of disregarding the just made entry. So from now on, both databases drift since there ain&amp;rsquo;t no replication anymore until someone kick starts the replication again (someone being me).&lt;/p&gt;</description></item><item><title>Being oblivious</title><link>https://christian.blog.pakiheim.de/posts/2007-09-08_being-oblivious/</link><pubDate>Sat, 08 Sep 2007 20:25:31 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/09/08/being-oblivious/</guid><description>&lt;p&gt;Well, the title nearly says everything .. I managed to loose my second pair of car keys, today I somehow found out that I was driving without a drivers license, so I have to go to the registration office and apply for a new one, hopefully should be done in about &lt;strong&gt;4-6 weeks&lt;/strong&gt;. Oh hell, and I have to spend about &lt;strong&gt;40 €&lt;/strong&gt; on it ..&lt;/p&gt;
&lt;p&gt;Well, live kinda sucks if you&amp;rsquo;re oblivious. Anyway, work is giving me a ass-load of fun right now, so I&amp;rsquo;m kinda happy, though it&amp;rsquo;s Saturday evening, I&amp;rsquo;m sitting back home, just lost all my custom build Debian packages (yes, I happen to use that at work, right after SLES) and listening to Hed PE.&lt;/p&gt;</description></item><item><title>git-lkml for stupid people (like me)</title><link>https://christian.blog.pakiheim.de/posts/2007-08-16_git-lkml-for-stupid-people-like-me/</link><pubDate>Thu, 16 Aug 2007 14:06:43 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/08/16/git-lkml-for-stupid-people-like-me/</guid><description>&lt;p&gt;OK, as &lt;a href="http://www.steev.net/"&gt;Stephen&lt;/a&gt; recently asked why there is a double inclusion of in &lt;a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/sysctl.c;hb=HEAD"&gt;kernel/sysctl.c&lt;/a&gt; (and I asked Greg and Randy); I finally decided to write a patch to the LKML for possible inclusion.&lt;/p&gt;
&lt;p&gt;But, git ain&amp;rsquo;t easy for people like me (who are used to the easiness of say - subversion or even cvs). So here&amp;rsquo;s what I did (thanks to &lt;a href="http://blogs.gentoo.org/ferdy"&gt;Fernando&lt;/a&gt; for the help earlier today):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt;9&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ vim kernel/sysctl.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;// change something
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git checkout -b sysctl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;// create a new branch from your changes, based upon the master repository
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git commit -a -s
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;// commit the changes to your newly created branch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git format-patch master..sysctl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;// Enter a subject and then a separate description
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;// and you should have a new file in the current working directory starting like 0001-*.patch
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now you should have a mailable patch, ready to be sent upstream that looks like this:&lt;/p&gt;</description></item><item><title>Praise teh sed</title><link>https://christian.blog.pakiheim.de/posts/2007-08-06_praise-teh-sed/</link><pubDate>Mon, 06 Aug 2007 22:56:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/08/05/praise-teh-sed/</guid><description>&lt;p&gt;Since my talk with &lt;a href="http://robbat2.livejournal.com/"&gt;Robin&lt;/a&gt; on Thursday regarding the &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=129355"&gt;autogenerated &lt;em&gt;userinfo.xml&lt;/em&gt;&lt;/a&gt;, I finally found some time today to get all the info&amp;rsquo;s I need out of &lt;em&gt;userinfo.xml&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Since I don&amp;rsquo;t really want to manually enter all those mail addresses from &lt;em&gt;userinfo&lt;/em&gt; into LDAP manually, I figured sed might be my best friend. &lt;em&gt;&lt;strong&gt;BUT&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;sed&lt;/em&gt; ain&amp;rsquo;t easy .. But thanks to Fabian and Gilles, I learned something new about &lt;em&gt;sed&lt;/em&gt; today ..&lt;/p&gt;
&lt;p&gt;Basically I searched for a way to transform &lt;em&gt;userinfo.xml&lt;/em&gt; into a datafile for &lt;em&gt;ldapedit&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>PacketPro 450 and SSH checks</title><link>https://christian.blog.pakiheim.de/posts/2007-08-05_packetpro-450-and-ssh-checks/</link><pubDate>Sun, 05 Aug 2007 14:51:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/08/05/packetpro-450-and-ssh-checks/</guid><description>&lt;p&gt;As apparently the guys at Teamix read my recent blog post about their cluster solution, someone of their technical support called me on friday at work &amp;#x1f633;&lt;/p&gt;
&lt;p&gt;And pointed out&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;That I&amp;rsquo;m free to express my thoughts about their product (which I recently did)&lt;/li&gt;
&lt;li&gt;That there is a better way to workaround this issue&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;He also said, its something which they had asked multiple times. It&amp;rsquo;s as simple as editing the &lt;strong&gt;Virtual Server&lt;/strong&gt; and changing the &lt;strong&gt;service inspection&lt;/strong&gt; from &lt;em&gt;&amp;ldquo;Connection&amp;rdquo;&lt;/em&gt; to &lt;em&gt;&amp;ldquo;None&amp;rdquo;&lt;/em&gt; .. &lt;em&gt;&lt;strong&gt;duh&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Fujitsu Siemens, onboard NIC's, Quality assurance and vendors</title><link>https://christian.blog.pakiheim.de/posts/2007-07-12_fujitsu-siemens-onboard-nic-s-quality-assurance-and-vendors/</link><pubDate>Thu, 12 Jul 2007 19:15:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/12/fujitsu-siemens-onboard-nics-quality-assurance-and-vendors/</guid><description>&lt;p&gt;So we bought some Fujitsu Siemens P5916 Intel vPro back in January/February for the Boss and his secretary.&lt;/p&gt;
&lt;p&gt;These boxes are quite nice, come with a Core 2 Duo (which is waaay to overrated for simple business applications like Word, Excel, Access and Outlook), but he insisted on having Windows Vista Ultimate ready PC&amp;rsquo;s.&lt;/p&gt;
&lt;p&gt;We got them, as expected completely &lt;em&gt;&lt;strong&gt;blank&lt;/strong&gt;&lt;/em&gt;. Wasn&amp;rsquo;t so much of a problem though, since we have a Select 5.0 6.0 contract with &lt;em&gt;M$&lt;/em&gt;. Only problem was, they refused to install Vista (as in freezing after preping the HDD). So I called our local vendor, who told me &amp;quot; &lt;em&gt;Go, grab the latest BIOS from the support page and perform a BIOS update!&lt;/em&gt;&amp;quot; - Which I wasn&amp;rsquo;t so happy about to hear and to do &amp;hellip; That didn&amp;rsquo;t work, the box would freeze on boot now &amp;hellip;&lt;/p&gt;</description></item><item><title>SLES, ZendOptimizer and IBM PowerPC(4)+</title><link>https://christian.blog.pakiheim.de/posts/2007-07-11_sles-zendoptimizer-and-ibm-powerpc-4/</link><pubDate>Wed, 11 Jul 2007 08:40:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/10/sles-zendoptimizer-and-ibm-powerpc4/</guid><description>&lt;p&gt;What would you figure from the above ? Hopefully the rather obvious, that it&amp;rsquo;s a &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; shitty combination.&lt;/p&gt;
&lt;p&gt;So we figured it would be a nice thing to test our new setup before going into pre-production testing or production, but we don&amp;rsquo;t have an extra spare box. So we took one of the power4 boxes we have mounted in the rack basically consuming energy all day (that&amp;rsquo;s about 38kWh a day) and installed &lt;em&gt;SLES10&lt;/em&gt; onto it. Which wasn&amp;rsquo;t all that bad (at first the box repeatedly started back to AIX, from CD and after convincing the SMS - that&amp;rsquo;s basically the bios on the power*-boxes also known as System Management Services with a hammer to boot from the first hard disk).&lt;/p&gt;</description></item><item><title>Handling files/directories with spaces in `for'-loops</title><link>https://christian.blog.pakiheim.de/posts/2007-07-08_handling-files-directories-with-spaces-in-for-loops/</link><pubDate>Sun, 08 Jul 2007 18:58:54 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/07/handling-filesdirectories-with-spaces-in-for-loops/</guid><description>&lt;p&gt;So I have one or the other file, that needs to be extracted to a directory. And why not name it as the archive itself .. Only problem with it is the handling of variables with bash &amp;hellip;&lt;/p&gt;
&lt;p&gt;Try it yourself, stuff some directories with a space in inside a variables, and use something like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;epimetheus tmp [0] $ mkdir files
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;epimetheus tmp [0] $ touch files/&amp;#34;I hate directories.archive&amp;#34; files/&amp;#34;Me luuv you looong time.archive&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;epimetheus tmp [0] $ for i in $( /bin/ls --color=none files/ ); do mkdir &amp;#34;${i/.archive/}&amp;#34;; done
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And now take a look at the output of that ..&lt;/p&gt;</description></item><item><title>Dell PowerEdge 1855, DRAC/MC, firmware updates, telnet and csr's</title><link>https://christian.blog.pakiheim.de/posts/2007-07-06_dell-poweredge-1855-drac-mc-firmware-updates-telnet-and-csr-s/</link><pubDate>Fri, 06 Jul 2007 09:39:38 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/06/dell-poweredge-1855-dracmc-firmware-updates-telnet-and-csrs/</guid><description>&lt;p&gt;Today I played a bit with our PE Chassis, or more specifically the DRAC/MC (remote management console). One of the things I&amp;rsquo;ve been experiencing was that the DRAC/MC was rather slow when browsing on the web interface (as in waiting a minute for the jnlp for the KVM to download). So I went ahead, fired up &lt;em&gt;net-misc/atftp&lt;/em&gt; on my notebook, put the firmware update provided by Dell in the &lt;strong&gt;TFTPROOT&lt;/strong&gt; and executed this in my telnet session on the DRAC/MC:&lt;/p&gt;</description></item><item><title>miimon, arp_interval and the code</title><link>https://christian.blog.pakiheim.de/posts/2007-07-04_miimon-arp-interval-and-the-code/</link><pubDate>Wed, 04 Jul 2007 19:50:14 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/04/miimon-arp_interval-and-the-code/</guid><description>&lt;p&gt;After &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_adapter-teaming-on-sles10" title="Adapter teaming on SLES10"&gt;today&amp;rsquo;s adventure&lt;/a&gt; with the kernel bonding, I just took a look at the &lt;a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/net/bonding/bond_main.c;hb=HEAD"&gt;code&lt;/a&gt; &amp;hellip;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; if (miimon) {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; printk(KERN_INFO DRV_NAME
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;: MII link monitoring set to %d msn&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; miimon);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; } else if (arp_interval) {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; int i;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; printk(KERN_INFO DRV_NAME
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;: ARP monitoring set to %d ms, validate %s, with %d target(s):&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; arp_interval,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; arp_validate_tbl[arp_validate_value].modename,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; arp_ip_count);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; for (i = 0; i &amp;lt; arp_ip_count; i++)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; printk (&amp;#34; %s&amp;#34;, arp_ip_target[i]);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; printk(&amp;#34;n&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; } else {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /* miimon and arp_interval not set, we need one so things
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; * work as expected, see bonding.txt for details
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; */
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; printk(KERN_WARNING DRV_NAME
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;: Warning: either miimon or arp_interval and &amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;arp_ip_target module parameters must be specified, &amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;otherwise bonding will not detect link failures! see &amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;bonding.txt for details.n&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If I read it right, you only get the &lt;strong&gt;KERN_WARNING&lt;/strong&gt; for &amp;ldquo;either miimon or arp_interval&amp;rdquo; only if miimon or arp_interval isn&amp;rsquo;t set &amp;hellip; but at least my config says it is .. &amp;#x1f937; .. bed time for me :rolling_eyes:&lt;/p&gt;</description></item><item><title>SLES10 on pSeries</title><link>https://christian.blog.pakiheim.de/posts/2007-07-04_sles10-on-pseries/</link><pubDate>Wed, 04 Jul 2007 15:58:39 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/04/sles10-on-pseries/</guid><description>&lt;p&gt;Okay, yet another day passed by blazing fast. I had a good day at work, spent nearly the whole day trying to get my bloody systems hooked up to our SAN (which was interrupted by a non-working SAN-switch, disappearing WWN&amp;rsquo;s, lunch and my trainees), messing around with our internal network, hacking our Blade Chassis switches to get me what I want and some random paperwork.&lt;/p&gt;
&lt;p&gt;But first things first .. We installed SLES10 on a pSeries box the other day (I think on Monday), and now I&amp;rsquo;m trying to get the &lt;strong&gt;&lt;em&gt;WWN&lt;/em&gt;&lt;/strong&gt; of it&amp;rsquo;s &lt;strong&gt;Emulex HBA&lt;/strong&gt;, out of either sysfs or procfs. But whatcha&amp;rsquo; thinking ?&lt;/p&gt;</description></item><item><title>Being back home</title><link>https://christian.blog.pakiheim.de/posts/2007-06-29_being-back-home/</link><pubDate>Fri, 29 Jun 2007 13:31:06 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/06/29/being-back-home/</guid><description>&lt;p&gt;Yessir, I&amp;rsquo;m back home. Bought a new bed (god, I forgot how good sleeping can feel) and spent the first two days at work already (yes, it&amp;rsquo;s Friday afternoon already).&lt;/p&gt;
&lt;p&gt;I &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; thought catching up after having a 2 week vacation would take more time, but it just took yesterday morning (till ~9am). I&amp;rsquo;m surprised by the taste of black tea with milk and sugar
(yes, I was like &lt;strong&gt;&lt;em&gt;&lt;em&gt;yikes&lt;/em&gt;&lt;/em&gt;&lt;/strong&gt; initially, but I like it pretty much now &amp;#x1f600; ) and by the ability to rise at 7am in the morning &amp;#x1f61b;&lt;/p&gt;</description></item><item><title>Stuttgart</title><link>https://christian.blog.pakiheim.de/posts/2007-06-29_stuttgart/</link><pubDate>Fri, 29 Jun 2007 13:24:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/06/29/stuttgart/</guid><description>&lt;p&gt;On Monday I finally got to do an &lt;em&gt;expanded&lt;/em&gt; test drive with my shiny, new car (that is driving it up from Stralsund down to Stuttgart). I really can&amp;rsquo;t complain, the fuel consumption is like I expected (~6.6l/100km while driving between 160 and 180km/h), the noise while driving that fast is quite low (as in you hear the engine but you don&amp;rsquo;t really consider it noise) and the acceleration is nearly like the one of a F1-car &amp;#x1f61b; (at least I&amp;rsquo;d wish &amp;#x1f609; ). Spent the evening relaxing from the near 950km nonstop trip (yes, only had one stop to put some fuel back into the car), had nice curry (my cousin&amp;rsquo;s husband made yummy potato curry!!!).&lt;/p&gt;</description></item><item><title>Vacation</title><link>https://christian.blog.pakiheim.de/posts/2007-06-17_vacation/</link><pubDate>Sun, 17 Jun 2007 17:12:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/06/17/vacation/</guid><description>&lt;p&gt;Here&amp;rsquo;s just a note for you people out there, how&amp;rsquo;re crazy enough and want something from me in the next week (that&amp;rsquo;s 18th till 26th June):&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I&amp;rsquo;m on vacation&lt;/strong&gt; &amp;hellip;&lt;/p&gt;
&lt;p&gt;Means I won&amp;rsquo;t be around to fix anything (as I&amp;rsquo;m gonna try and relax a bit), so if you encounter something that you want to fix; consult with the herd (that&amp;rsquo;s apache/hardened/kernel &amp;hellip;) and/or fix it &lt;strong&gt;YOURSELF&lt;/strong&gt;. Just make sure you don&amp;rsquo;t break it more :rolling_eyes:&lt;/p&gt;</description></item><item><title>Continuing on SLES10</title><link>https://christian.blog.pakiheim.de/posts/2007-06-16_continuing-on-sles10/</link><pubDate>Sat, 16 Jun 2007 16:14:15 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/06/16/continuing-on-sles10/</guid><description>&lt;p&gt;OK, it turns out that I was rather stupid when configuring the &lt;em&gt;my.cnf&lt;/em&gt;. As it turned out, the effect I was seeing was due to the presence of two log-bin lines, which looked like the following:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;mysqld&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;port&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3306&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;datadir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbase&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;log&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;logs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mysql1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;logs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mysql1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;err&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;socket&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sock&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;bind&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;172.16&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;234.31&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# custom paths for binary logs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;binlogs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mysql1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;binlogs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mysql1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;idx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;relay&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nb"&gt;log&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;binlogs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mysql1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;relay&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And some lines down there was this:&lt;/p&gt;</description></item><item><title>Back at SLES10</title><link>https://christian.blog.pakiheim.de/posts/2007-06-12_back-at-sles10/</link><pubDate>Tue, 12 Jun 2007 19:42:22 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/06/12/back-at-sles10/</guid><description>&lt;p&gt;Here I am, sitting at my desk on a Thuesday evening thinking about what happened the last few days.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I finally got to play around with our &lt;a href="http://www.packetpro.de/content/view/63/112/" title="PacketPro 450 Cluster"&gt;PacketPro 450 Cluster&lt;/a&gt;(nifty LoadBalancing appliance)&lt;/li&gt;
&lt;li&gt;We reworked the network the way &lt;em&gt;&lt;strong&gt;we&lt;/strong&gt;&lt;/em&gt; want it (and not that tool of a wannabe sysadmin)&lt;/li&gt;
&lt;li&gt;We mostly figured out how to do the LoadBalancing right, we just need to find some bugs in the LoadBalancer software (like the thing is failing over to its slave from time to time, but keeping the IP address for himself) or let the guys at &lt;a href="http://www.teamix.net/"&gt;teamix&lt;/a&gt; do their work and hopefully get a working release within the next week or so&lt;/li&gt;
&lt;li&gt;I figured out how to setup interface bonding with SLES10 (it was quite straight forward, thanks to the excellent in-kernel documentation), and we&amp;rsquo;re using an active-backup mode for now&lt;/li&gt;
&lt;li&gt;I still need to figure out how to do the MySQL Master&amp;lt;-&amp;gt;Master replication right .. I&amp;rsquo;m currently building fresh RPM&amp;rsquo;s on one of those Dell blades (yes, they ROCK!) which will hopefully be finished till I&amp;rsquo;m at the office tomorrow.&lt;/li&gt;
&lt;li&gt;Pt. 5 also includes figuring out how to pass MySQL a custom location for the binary-log, at least that&amp;rsquo;s what the &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/binary-log.html" title="MySQL handbook, Chapter 5.11.3. The Binary Log"&gt;handbook&lt;/a&gt; says in Chapter &amp;ldquo;5.11.3. The Binary Log&amp;rdquo; &amp;hellip;&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;When started with the &amp;ndash;log-bin[=base_name] option, mysqld writes a log file containing all SQL commands that update data. If no base_name value is given, the default name is the name of the host machine followed by -bin. If the basename is given, but not as an absolute pathname, the server writes the file in the data directory. It is recommended that you specify a basename; see Section B.1.8.1, “Open Issues in MySQL”, for the reason.&lt;/p&gt;</description></item><item><title>Progress with apache-2-2</title><link>https://christian.blog.pakiheim.de/posts/2007-05-28_progress-with-apache-2-2/</link><pubDate>Mon, 28 May 2007 16:04:10 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/05/28/progress-with-apache-22/</guid><description>&lt;p&gt;We&amp;rsquo;re finally making some progress with apache-2.2. It left the package.mask on the 8th of May (that&amp;rsquo;s like 3 weeks from tomorrow), we split some helper scripts into a separate package (app-admin/apache-tools).&lt;/p&gt;
&lt;p&gt;I already fixed a few screwup I did myself (like apxs missing from either apache and apache-tools, or the compatibility symlinks being missing), so we &amp;ldquo;just&amp;rdquo; need to fix all the modules in the tree before apache-2.2 is going to get the new stable version (and of course anything else depending on. What also remains to do, is committing the new-style virtuals for bug 11007.&lt;/p&gt;</description></item><item><title>Personal progress</title><link>https://christian.blog.pakiheim.de/posts/2007-05-28_personal-progress/</link><pubDate>Mon, 28 May 2007 15:03:44 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/05/28/personal-progress/</guid><description>&lt;p&gt;Well, I haven&amp;rsquo;t blogged in ages (like about a month).&lt;/p&gt;
&lt;p&gt;To answer some of the questions I got either via mail or on IRC &amp;hellip;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;yes, I&amp;rsquo;m still alive; you ain&amp;rsquo;t gonna get away that easy &amp;#x1f61b;&lt;/li&gt;
&lt;li&gt;yes, I finally managed to buy my shiny new car &lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/12/VCP.png"
alt="new car" width="512"/&gt; &lt;figcaption&gt;
new car
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;m still working on apache, virtualization, mobile, kernel, hardened &amp;hellip;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Though I may haven&amp;rsquo;t been that active recently (I don&amp;rsquo;t look at CIA or do I count my own commits), I think I managed to close some apache bugs and some of my own. I&amp;rsquo;m still looking for someone interested in working on the ipw3945 related packages, as I&amp;rsquo;m kinda sick of that buggish thing.&lt;/p&gt;</description></item><item><title>Bla-bla-bla, yada-yada-yada</title><link>https://christian.blog.pakiheim.de/posts/2007-05-04_bla-bla-bla-yada-yada-yada/</link><pubDate>Fri, 04 May 2007 06:48:36 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/05/04/bla-bla-bla-yada-yada-yada/</guid><description>&lt;p&gt;Interesting title &amp;hellip; &amp;#x1f937; I&amp;rsquo;m sitting back home, in my bed, while I&amp;rsquo;m supposed to be at work. I&amp;rsquo;m now a certified sicko due to a common cold.&lt;/p&gt;
&lt;p&gt;Watching the toaster series once again (that&amp;rsquo;s &lt;em&gt;Battlestar Galactica&lt;/em&gt;) and trying to think about some things. Heh, well thinking isn&amp;rsquo;t the right term; it&amp;rsquo;s more like meditate over stuff happening in the last few months.&lt;/p&gt;
&lt;p&gt;Guess this stupid cold is dictating my weekend &amp;#x1f620; and hopefully I&amp;rsquo;m gonna be better on Monday. Have fun.&lt;/p&gt;</description></item><item><title>AIX 5-3 Linux Toolkit</title><link>https://christian.blog.pakiheim.de/posts/2007-04-20_aix-5-3-linux-toolkit/</link><pubDate>Fri, 20 Apr 2007 13:07:04 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/07/aix-53-linux-toolkit/</guid><description>&lt;p&gt;OK, so I skipped rebuilding a newer RPM version (for now) and I&amp;rsquo;m currently rebuilding anything that fit&amp;rsquo;s into &lt;em&gt;app-dev&lt;/em&gt; according to IBM &amp;hellip;&lt;/p&gt;
&lt;p&gt;The list reads like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt; &lt;span class="n"&gt;ls&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;al&lt;/span&gt; &lt;span class="o"&gt;~/&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;autoconf&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.59&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;noarch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;automake&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.8&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;noarch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;binutils&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.14&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;bison&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.875&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;coreutils&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;5.2&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;cpio&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.5&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;diffutils&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.8&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;3.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;6.&lt;/span&gt;&lt;span class="n"&gt;aix4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;3.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;gawk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;gcc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;gcc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;cplusplus&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;gdb&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;6.0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;libgcc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;libstdcplusplus&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;libstdcplusplus&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;devel&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;libtool&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;m4&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;make&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.80&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;OK, I&amp;rsquo;m not exactly rebuilding these old versions, I&amp;rsquo;m actually using their old specs to compile newer versions of these. I&amp;rsquo;m currently at &lt;strong&gt;coreutils-6.7&lt;/strong&gt;, which really takes ages. But will see about the rest.&lt;/p&gt;</description></item><item><title>Learning french</title><link>https://christian.blog.pakiheim.de/posts/2007-04-19_learning-french/</link><pubDate>Thu, 19 Apr 2007 21:31:22 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/28/learning-french/</guid><description>&lt;p&gt;The last few days in Brussels really made me think about learing some french again. There were times, I/we was/were completely lost, and I really hate being lost &amp;hellip; So I&amp;rsquo;m going to look into learning french again. Will see if the local academy has something scheduled in their upcoming program. I really hope so, as I think french is something I could use.&lt;/p&gt;
&lt;p&gt;Also I&amp;rsquo;m thinking about taking dance-lessons (yeah, yeah I know - I suck &amp;#x1f61b; ), as I&amp;rsquo;d really like to dance &amp;hellip; &lt;em&gt;&lt;strong&gt;mmmmmh&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Saying thank you</title><link>https://christian.blog.pakiheim.de/posts/2007-04-19_saying-thank-you/</link><pubDate>Thu, 19 Apr 2007 21:28:14 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/04/08/saying-thank-you/</guid><description>&lt;p&gt;As I&amp;rsquo;m way better writing stuff than saying it with my own words, here a short &lt;em&gt;&amp;quot;&lt;/em&gt; &lt;strong&gt;Thank you!&lt;/strong&gt; &lt;em&gt;&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Christel, you have been a gracious and honest person, thanks for all the advice and help in the last year&lt;/li&gt;
&lt;li&gt;Chrissy, thanks for the inspiring words, you really made/make me feel better&lt;/li&gt;
&lt;li&gt;Alec (antarus), you&amp;rsquo;ve been a real friend and to say it with your own words &lt;em&gt;&amp;ldquo;It sucks to be you&amp;rdquo;&lt;/em&gt;; to phrase it differently, I&amp;rsquo;m really going to miss you&lt;/li&gt;
&lt;li&gt;Bryan, thanks for all the help, thanks for all the fun at FOSDEM (and after FOSDEM, hah)&lt;/li&gt;
&lt;li&gt;Ned, Alexander (pappy); you&amp;rsquo;ve both been an inspiration, thanks for letting me work on hardened foo; it has been real fun&lt;/li&gt;
&lt;li&gt;Mike (vapier), thanks for being a smart ass and inspiration at the same time&lt;/li&gt;
&lt;li&gt;Chris, thanks for the inspiration and for being a sarcastic person &amp;#x1f609;&lt;/li&gt;
&lt;li&gt;Andrew, thanks for trying to make a fun out of me &amp;#x1f61b; and thanks for warning me of Chris&amp;rsquo;s sarcasm&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>grub via serial console</title><link>https://christian.blog.pakiheim.de/posts/2007-04-10_grub-via-serial-console/</link><pubDate>Tue, 10 Apr 2007 15:09:17 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/04/10/grub-via-serial-console/</guid><description>&lt;p&gt;As I have quite some trouble every time I need grub via serial console, here&amp;rsquo;s just my personal reminder on how to do it right:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# cat /boot/grub/grub.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;serial --unit=0 --speed=38400
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;terminal --timeout=15 console serial
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;title hardened-sources-2.6.20-r1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;root (hd0,0)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel (hd0,0)/boot/vmlinuz-2.6.20-hardened-r1 root=/dev/hda1 console=ttyS0,38400 console=tty0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Additionally the agetty entry for ttyS0 in &lt;em&gt;/etc/inittab&lt;/em&gt; needs to be uncommented and changed accordingly to the serial speed&lt;/p&gt;</description></item><item><title>The Letting Go (why does it hurt so much )</title><link>https://christian.blog.pakiheim.de/posts/2007-04-08_the-letting-go-why-does-it-hurt-so-much/</link><pubDate>Sun, 08 Apr 2007 10:44:13 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/04/08/the-letting-go-why-does-it-hurt-so-much/</guid><description>&lt;p&gt;As some of you know, I had some company the last few weeks by two amiable girls from Belgium. We did some hanging out, went out a couple of times and basically had a great time.&lt;/p&gt;
&lt;p&gt;One thing I didn&amp;rsquo;t thought was possible, is them getting close to me (as in &amp;ldquo;I&amp;rsquo;d really like them to stay some time&amp;rdquo;) and as I gave them a ride to the train station yesterday, I really had my problems. Out of the sudden I had a feeling not to let them go, or is it the feeling to let friends (and I&amp;rsquo;m talking about real friends) slip by, without even knowing them for more than 3 weeks.&lt;/p&gt;</description></item><item><title>Post FOSDEM 2007 thoughts (do I know you )</title><link>https://christian.blog.pakiheim.de/posts/2007-03-26_post-fosdem-2007-thoughts-do-i-know-you/</link><pubDate>Mon, 26 Mar 2007 19:19:09 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/03/26/post-fosdem-2007-thoughts-do-i-know-you/</guid><description>&lt;p&gt;Some of us attended this years FOSDEM in Brussels (thanks to Dimitry it was &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; great).&lt;/p&gt;
&lt;p&gt;We (at least the ones attending) got to know each other a bit better (I even got to know some pre Gentoo devs .. yeah, you), and some time after FOSDEM (I think it was ~3 days afterwards), Petteri (betelgeuse) asked me why people all of the sudden start to call him with his first name on IRC.&lt;/p&gt;</description></item><item><title>Cisco sucks</title><link>https://christian.blog.pakiheim.de/posts/2007-03-14_cisco-sucks/</link><pubDate>Wed, 14 Mar 2007 16:10:38 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/03/14/cisco-sucks/</guid><description>&lt;p&gt;OK, today we had somewhat of an emergency. The core-router for our entire network at work had some kind of hardware defect and repeatedly rebooted every three minutes caused the whole network to go &lt;em&gt;&lt;strong&gt;cabooom&lt;/strong&gt;&lt;/em&gt;. Usually (you would think), stuff in the same subnet (or VLAN) would still see each other (again, you would think) .. but apparently the VLAN/subnet database is stored on the core router and took &lt;em&gt;&lt;strong&gt;all&lt;/strong&gt;&lt;/em&gt; subnets with it.&lt;/p&gt;</description></item><item><title>SLES-9 (once again)</title><link>https://christian.blog.pakiheim.de/posts/2007-03-08_sles-9-once-again/</link><pubDate>Thu, 08 Mar 2007 22:55:36 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/03/08/sles-9-once-again/</guid><description>&lt;p&gt;OK, so today was the highlight of the week &amp;hellip; We updated apache2 on Tuesday (yeah, that&amp;rsquo;s still 2.0.49, so if you have some exploits - try them &amp;#x1f61b; ) and now out of the sudden we have major performance issues. We looked nearly the whole forenoon for a reason, &lt;em&gt;&lt;strong&gt;why&lt;/strong&gt;&lt;/em&gt; the frackin&amp;rsquo; apache was using 236% of the CPU&amp;rsquo;s.&lt;/p&gt;
&lt;p&gt;In the afternoon, when my co-worker decided to go home (that was ~1500), I decided to revert back to the old patch level. But that isn&amp;rsquo;t as easy as you think (at least on SLES). The only thing I wanted to do, was something like this:&lt;/p&gt;</description></item><item><title>Waiting</title><link>https://christian.blog.pakiheim.de/posts/2007-02-28_waiting/</link><pubDate>Wed, 28 Feb 2007 14:58:05 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/03/06/waiting/</guid><description>&lt;p&gt;We are still waiting for the money promised by the state and the country for our HBFG (again, it&amp;rsquo;s &amp;ldquo;Hochschulbauförderungsgesetz&amp;rdquo;), that hopefully is reducing or eliminating our storage/SAN problem we have currently. Right now we have to Cisco MDS9216 (that&amp;rsquo;s a 16-port 2GBps SAN-switch, two for redundancy), which means we only have 16 SAN-ports. That isn&amp;rsquo;t much, but still is to less, as we have like 30 machines or so, that &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; need access to the SAN, so we either end up unplugging some of them from the SAN or merge them onto some big machines (like our x366).&lt;/p&gt;</description></item><item><title>Shibboleth (WTF is that)</title><link>https://christian.blog.pakiheim.de/posts/2007-02-28_shibboleth-wtf-is-that/</link><pubDate>Wed, 28 Feb 2007 08:51:05 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/28/shibboleth-wtf-is-that/</guid><description>&lt;p&gt;OK, I&amp;rsquo;m sitting now again in train (hrm, I get the feeling I&amp;rsquo;ve done that already in the last few days - oh wait, I was doing that just on Monday) this time to Berlin.&lt;/p&gt;
&lt;p&gt;My boss ordered me to attend a workshop covering the implementation of Shibboleth (for those of you, who can&amp;rsquo;t associate anything with that term - it&amp;rsquo;s an implementation for single sign-on, also covering distributed authorization and authentication) somewhere in Berlin Spandau (Evangelisches Johannesstift Berlin).&lt;/p&gt;</description></item><item><title>Gentoo/hardened and the new toolchain</title><link>https://christian.blog.pakiheim.de/posts/2007-02-26_gentoo-hardened-and-the-new-toolchain/</link><pubDate>Mon, 26 Feb 2007 09:28:44 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/26/gentoohardened-and-the-new-toolchain/</guid><description>&lt;p&gt;OK, as some of you have noticed; I prepared my box for the new toolchain, recompiled the stuff Kevin mentioned in the exact same order wrote down in his README, and it looks like it actually works with all my stuff I have on my box; except &lt;em&gt;sys-libs/grub&lt;/em&gt;! &lt;em&gt;&lt;strong&gt;sigh&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Apparently, grub segfaults at boot and/or while running it from the chroot in the exact same spot, the new QA warnings complain about ..&lt;/p&gt;</description></item><item><title>FOSDEM 2007 4 (abstract)</title><link>https://christian.blog.pakiheim.de/posts/2007-02-26_fosdem-2007-4-abstract/</link><pubDate>Mon, 26 Feb 2007 09:14:34 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/26/fosdem-2007-4-abstract/</guid><description>&lt;p&gt;The last three days have been quite amazing, I&amp;rsquo;m still stunned by all these impressions (basically meeting all those people you usually know though IRC), how nice people can be if they want (yeah dad, I&amp;rsquo;m talking about you &amp;#x1f61b;)&lt;/p&gt;
&lt;p&gt;Although I was pretty sad about leaving so early (I think, if I&amp;rsquo;m going to attend next year, I&amp;rsquo;m going by train and starting on Monday morning so I got one night more in Brussels), I&amp;rsquo;m also quite happy to be home again, as I was pretty phreaked (haha, self-pun intended) by all those people.&lt;/p&gt;</description></item><item><title>FOSDEM 2007 3 (WHUT)</title><link>https://christian.blog.pakiheim.de/posts/2007-02-26_fosdem-2007-3-whut/</link><pubDate>Mon, 26 Feb 2007 05:20:14 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/26/fosdem-2007-3-whut/</guid><description>&lt;p&gt;Today, I got up again at 0630 &lt;em&gt;&lt;strong&gt;ugh&lt;/strong&gt;&lt;/em&gt; went to bath, woke up Torsten, afterwards the mystery guy and went downstairs to get some breakfast. I ate some cornflakes and some bread along with a glass of chilled orange juice, then went back up to get all our stuff and prepare the room the way we found it.&lt;/p&gt;
&lt;p&gt;After we finished that, we went downstairs and met Alex along the way went to the cars and Torsten led us to the university. I went to the booth and noticed that Torsten and me where the only ones that early at the booth. So we sat down for a moment, cleaned up the booth space a bit and finally sat again preparing the notebooks.&lt;/p&gt;</description></item><item><title>FOSDEM 2007 2 (more friends, Bryan and superman)</title><link>https://christian.blog.pakiheim.de/posts/2007-02-24_fosdem-2007-2-more-friends-bryan-and-superman/</link><pubDate>Sat, 24 Feb 2007 23:57:05 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/25/fosdem-2007-2-more-friends-bryan-and-even-more-gay-horseporn/</guid><description>&lt;p&gt;So, as I earlier mentioned, we finally found the U.L.B. and also found the booth and staffed it for nearly the whole day (I haven&amp;rsquo;t managed to view any of the speeches, neither one of the Gentoo ones nor any of the others), I talked to some interested people asking about Gentoo itself, but also asking about the EFIKA&amp;rsquo;s (the Genesi PPC&amp;rsquo;s), one by Camille and Julien providing video forwarding (from one EFIKA to another via cross-over cable), and the other one by Chris playing Descent 2 and Quake 2 at the end. Peter (I think the PR guy from Genesi Europe, will have to ask Chris / Mike again).&lt;/p&gt;</description></item><item><title>FOSDEM 2007 1 (long time friends and gay horseporn)</title><link>https://christian.blog.pakiheim.de/posts/2007-02-24_fosdem-2007-1-long-time-friends-and-gay-horseporn/</link><pubDate>Sat, 24 Feb 2007 22:54:16 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/25/fosdem-2007-1-long-time-friends-and-gay-horseporn/</guid><description>&lt;p&gt;We arrived in Brussels on Friday around 2230, since we kept searching the centre of Brussels, we really tried hard since we didn&amp;rsquo;t have a map, we tried navigating by bus cards (which was quite fun). So after we finally found the city centre (which is quite bad signposted), we went to the pub supposedly having the free beer, but they told us the FOSDEM area was closed due to christel drinking all beer (just kidding), but we did find Pylon and kugelfang I think.&lt;/p&gt;</description></item><item><title>AIX-5-3 undamp; rpm-4-4-7</title><link>https://christian.blog.pakiheim.de/posts/2007-02-05_aix-5-3-amp-rpm-4-4-7/</link><pubDate>Mon, 05 Feb 2007 14:24:50 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/05/aix-53-rpm-447/</guid><description>&lt;p&gt;OK, so I tried to install the &lt;a href="ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/"&gt;AIX Toolkit&lt;/a&gt; today, to build some newer rpm&amp;rsquo;s (yaaaaah, I &lt;em&gt;&lt;strong&gt;hate&lt;/strong&gt;&lt;/em&gt; RPMS myself, still it&amp;rsquo;s way better than distributing plain tar.gz archives) but looks like either AIX or rpm-4.4.7 doesn&amp;rsquo;t like me.&lt;/p&gt;
&lt;p&gt;Now I&amp;rsquo;ve to figure out how to get &lt;em&gt;libm&lt;/em&gt; (that&amp;rsquo;s &lt;em&gt;/lib/libm.so&lt;/em&gt;) installed on AIX. Will see about that later and/or tomorrow.&lt;/p&gt;</description></item><item><title>Beach</title><link>https://christian.blog.pakiheim.de/posts/2007-01-30_beach/</link><pubDate>Tue, 30 Jan 2007 23:05:07 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/01/30/beach/</guid><description>&lt;p&gt;Remember ? Back in November I had this &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_seemant-never-ending-wisdom-and-work-confession" title="Seemant, never ending wisdom and work (confession)"&gt;discussion with uncle Seemant about getting some time off&lt;/a&gt;, which resulted in &lt;a href="https://christian.blog.pakiheim.de/posts/2006-11-18_weekend" title="Weekend"&gt;driving to the beach&lt;/a&gt; for a whole day.&lt;/p&gt;
&lt;p&gt;I finally found some time to get the pictures off the digital camera, and here they are (some of them) &amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/img_0193.jpg"
alt="View at the beach (looking at Goehren)" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;View at the beach (looking at Goehren)&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
I consider that a really fine day, it wasn&amp;rsquo;t too windy, the sun was shining (for a few moments &amp;#x1f61b; ) and I enjoyed nature&amp;rsquo;s weirdness &amp;hellip;&lt;/p&gt;</description></item><item><title>media-video/codeine</title><link>https://christian.blog.pakiheim.de/posts/2007-01-26_media-video-codeine/</link><pubDate>Fri, 26 Jan 2007 19:36:15 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/01/26/media-videocodeine/</guid><description>&lt;p&gt;OK, as Diego &lt;a href="http://blog.flameeyes.eu/2007/01/19/const-antine"&gt;posted earlier last week&lt;/a&gt;, to switch to something else than xine-ui ( &lt;a href="http://bugs.gentoo.org/161913"&gt;#161913&lt;/a&gt; is really annoying), I decided to use codeine. It looks nice so far, supports what I need, so everything is fine now.&lt;/p&gt;
&lt;p&gt;Thanks to Diego for the heads-up.&lt;/p&gt;</description></item><item><title>Qualcomm Eudora vs- Microsoft Outlook</title><link>https://christian.blog.pakiheim.de/posts/2007-01-25_qualcomm-eudora-vs-microsoft-outlook/</link><pubDate>Thu, 25 Jan 2007 20:44:52 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/01/25/qualcomm-eudora-vs-microsoft-outlook/</guid><description>&lt;p&gt;OK, so I&amp;rsquo;ve spent the last day working on my bosses $MAILPROGRAM. In detail, I&amp;rsquo;ve been trying to get his mails from Eudora (which really is complete &lt;em&gt;&lt;strong&gt;crap&lt;/strong&gt;&lt;/em&gt;) to Outlook (yeah, yeah I KNOW but he really needs a decent calendar with his E-Mail program, which neither KMail, nor Thunderbird nor Mozilla Suite - aka SeaMonkey can provide).&lt;/p&gt;
&lt;p&gt;Problem with all that is Eudora&amp;rsquo;s crappy way of saving mails (and their attachments). Eudora is saving the mails in regular MBX format, but is putting the attachments into a separate folder. I&amp;rsquo;ve looked all over the web, and only found one application capable of importing his mails into Outlook including the attachments from the Attach folder.&lt;/p&gt;</description></item><item><title>The Gentoo’ish look back</title><link>https://christian.blog.pakiheim.de/posts/2006-12-31_the-gentoo-ish-look-back/</link><pubDate>Sun, 31 Dec 2006 16:37:41 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=101</guid><description>&lt;p&gt;I had a very moving year with Gentoo. At first I only focussed on the stuff I already had (being vServer / openVZ related stuff), but later on also on suspend2-sources and other stuff I took over back when Hendrik retired.&lt;/p&gt;
&lt;p&gt;Sometime this year (I think it was somewhere in the early summer) I joined up with the kernel herd, helped out Daniel while he was moving from London(?) to Boston, took over hardened-sources from John (who&amp;rsquo;s pretty much away). I had a rough break (you remember, the break that turned out to be my most active time) in October till late November, while fighting with my private life and work.&lt;/p&gt;</description></item><item><title>My private look back</title><link>https://christian.blog.pakiheim.de/posts/2006-12-31_my-private-look-back/</link><pubDate>Sun, 31 Dec 2006 16:07:41 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=100</guid><description>&lt;p&gt;The year has left its marks in my head. I had a biiig rock bottom this year, which froze some of the best relationships (friend-wise) I had in my whole life (which I really regret), but I got to know a few people (most within Gentoo) better and even become friends with some of them (you know, whom I mean).&lt;/p&gt;
&lt;p&gt;With focus at my physical and mental health the year has also left some marks. Mentally I&amp;rsquo;m looking forward to get some counselling in the next year, after I focussed my attention at the physical illnesses I currently suffer from.&lt;/p&gt;</description></item><item><title>Happy new Year!</title><link>https://christian.blog.pakiheim.de/posts/2006-12-31_happy-new-year/</link><pubDate>Sun, 31 Dec 2006 15:52:34 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=99</guid><description>&lt;p&gt;I just watched CNN Live three hours ago, showing the New Year&amp;rsquo;s in Sydney Harbour, AU.&lt;/p&gt;
&lt;p&gt;Looked really great, and as a matter of fact, I wish everyone a happy new year. I know, Diego kept saying its bad luck to wish that in advance, but what the hell ..&lt;/p&gt;
&lt;p&gt;I wish every fellow Gentoo Developer and even those Gentoo Users reading &lt;a href="http://planet.gentoo.org"&gt;the Universe&lt;/a&gt; from the bottom of my heart a happy new year and may be Gentoo with you.&lt;/p&gt;</description></item><item><title>Again Deutsche Bahn</title><link>https://christian.blog.pakiheim.de/posts/2006-12-28_again-deutsche-bahn/</link><pubDate>Thu, 28 Dec 2006 22:05:18 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=98</guid><description>&lt;p&gt;So, as some of you know, I decided to spend New Year&amp;rsquo;s Eve with my cousin and my aunt. And how did I get from the warmish north to the coldish south ?&lt;/p&gt;
&lt;p&gt;By train as usual, that means Deutsche Bahn &amp;hellip; I already had my gooood experiences with German Rails back &lt;a href="https://christian.blog.pakiheim.de/posts/2006-05-08_db-adventure-travels-part-1"&gt;in May&lt;/a&gt; when I headed to LinuxTag 2006.&lt;/p&gt;
&lt;p&gt;This time it was a bit different. At first the train from Stralsund to Hamburg was a replacement train, which had no reservations and only first class wagons. One pro and one con. The contra being that my reservation was nullified (meaning I had ordered one but didn&amp;rsquo;t get one).&lt;/p&gt;</description></item><item><title>Merry frackin Christmas</title><link>https://christian.blog.pakiheim.de/posts/2006-12-25_merry-frackin-christmas/</link><pubDate>Mon, 25 Dec 2006 19:54:18 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=97</guid><description>&lt;p&gt;Wow, it has been quite a year, this year. Christmas Eve was over pretty fast, we had a nice (smallish) lunch and in the evening we had meat fondue (which was really tasty).
Today is Christmas Day, we had lunch earlier (a nice duck with Spätzle of course - to get my weekly dose) and I&amp;rsquo;m sitting now upstairs in front of my Notebook, listening to some tunes (to keep myself calm).&lt;/p&gt;</description></item><item><title>Weekend</title><link>https://christian.blog.pakiheim.de/posts/2006-11-18_weekend/</link><pubDate>Sat, 18 Nov 2006 21:44:50 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=96</guid><description>&lt;p&gt;OK, you probably remember &lt;a href="http://blogs.gentoo.org/seemant/2006/11/15/bloggo_war"&gt;Seemant telling me I should take the weekend off&lt;/a&gt;. I had a nice day so far, didn&amp;rsquo;t do anything work or Gentoo related (which is a bit of a shame), had a small battle with my younger brother about him arguing with my father while having lunch, but afterwards I headed into town ( &lt;a href="http://maps.google.com/?ie=UTF8&amp;amp;z=11&amp;amp;ll=54.290882,13.095703&amp;amp;spn=0.280543,0.656433&amp;amp;om=1"&gt;Stralsund&lt;/a&gt; that is), did a bit of window shopping; spotted a nice watch (which is for sale for only ~ &lt;strong&gt;300&lt;/strong&gt; €), even tried to get into a movie, but it seems &lt;a href="http://www.cinestar.de/"&gt;CineStar&lt;/a&gt; (that&amp;rsquo;s a local chain of cinema&amp;rsquo;s) is trying to boycott me.&lt;/p&gt;</description></item><item><title>Bloggo-battle/-war, time-out, holiday</title><link>https://christian.blog.pakiheim.de/posts/2006-11-14_bloggo-battle-war-time-out-holiday-and-all-other-that-is-completly-unnecessary/</link><pubDate>Tue, 14 Nov 2006 19:23:59 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=94</guid><description>&lt;p&gt;OK, Seemant just started our little &lt;a href="http://kulleen.org/seemant/blog/2006/nov/14/blogfight/"&gt;Bloggo-war&lt;/a&gt; he promised me yesterday (don&amp;rsquo;t even think about it, I just applied for protection of trademarks), I guess I need to address his questions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;#1: Holiday vs. Time-out&lt;/strong&gt;
Holiday ain&amp;rsquo;t exactly what I refer to as time-out. Holiday is something for old and lazy people or those that got taken into holiday with their parents (hah, always wanted to say that &amp;#x1f61b; haven&amp;rsquo;t had real holidays since, err, I was 10 or so). Time-out is something that I refer to when I need some time off my irssi/mail. Usually I hang out with the irssi session attached, watching my mails. Probably that&amp;rsquo;s also the reason, why I can&amp;rsquo;t take a real break along with my brain that seems to think about random stuff that happened in the last few months all day long.&lt;/p&gt;</description></item><item><title>The Illusion of holiday</title><link>https://christian.blog.pakiheim.de/posts/2006-11-13_the-illusion-holiday/</link><pubDate>Mon, 13 Nov 2006 18:02:12 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=93</guid><description>&lt;p&gt;Hrm, Seemant &amp;hellip; were did I mention something about &lt;a href="http://kulleen.org/seemant/blog/2006/nov/13/the-phreaks-are-out-tonight/"&gt;holidays / vacation&lt;/a&gt; ? &amp;#x1f937; I remember that I told you (and also in my &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_time-out"&gt;previous blog post&lt;/a&gt;); its even in my .away file feeding the &lt;a href="http://www.gentoo.org/proj/en/devrel/roll-call/devaway.xml?select=phreak#phreak"&gt;devaway&lt;/a&gt;; that I&amp;rsquo;m taking a break due to increased real-time work load. &amp;#x1f604;&lt;/p&gt;
&lt;p&gt;I &lt;strong&gt;never ever&lt;/strong&gt; said something about going on vacation or being on holiday. That would actually be great (and I could use the break from everything, even the distance to some very people) but is currently virtually impossible. Basically it&amp;rsquo;s because of an HBFG (that&amp;rsquo;s something like &amp;quot; &lt;em&gt;University building assistance law&lt;/em&gt;&amp;quot; translated - for the Germans it&amp;rsquo;s &amp;quot; &lt;em&gt;Hochschulbauförderungsgesetz&lt;/em&gt;&amp;quot;) application that has been recommended for implementation. Now I&amp;rsquo;m stuck in the middle of an tendering procedure that has to be announced all over Germany.&lt;/p&gt;</description></item><item><title>hardened-sources-2-6-18</title><link>https://christian.blog.pakiheim.de/posts/2006-11-10_hardened-sources-2-6-18/</link><pubDate>Fri, 10 Nov 2006 23:56:45 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=91</guid><description>&lt;p&gt;Today (OK, it&amp;rsquo;s yesterday now, it&amp;rsquo;s again after 12:00) I had a little fun with pappy (Alexander Gabert) preparing 2.6.18 for prime time &amp;#x1f600;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ ls -AGg 2.6.18
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 1593 Jan 25 23:25 1500_cvs-2007-1000.patch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 797 Jan 25 23:25 4000_deprecate-sk98lin.patch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 32192 Jan 25 23:25 4105_dm-bbr.patch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 125781 Jan 25 23:25 4300_squashfs-3.1.patch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 5710 Jan 25 23:25 4405_alpha-sysctl-uac.patch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 864955 Jan 25 23:25 4450_grsec-2.1.9-2.6.18.6-200611100917.patch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 910 Jan 25 23:25 4451_grsec-2.1.9-2.6.18.2-mute-warnings.patch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 1034 Jan 25 23:25 4452_selinux-avc_audit-log-curr_ip-grsec.patch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 2097 Jan 25 23:25 4453_pax_curr_ip-fixes.patch
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;So far all patches are applying fine and according to Alexander it even works on his workstation. But I&amp;rsquo;ll wait for Steve/Ned to get back to me telling me if this release works for them or not (as they had serious issues with their hardened desktops - something about the cursor being stuck in the corners).&lt;/p&gt;</description></item><item><title>continued gentoo-dev fun</title><link>https://christian.blog.pakiheim.de/posts/2006-11-04_continued-gentoo-dev-fun/</link><pubDate>Sat, 04 Nov 2006 15:57:36 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=90</guid><description>&lt;p&gt;OK, today I finally took the steps of adding Hans (that&amp;rsquo;s Hans de Graaf), and just after I kicked him from #gentoo-dev so he gets his &lt;strong&gt;+o&lt;/strong&gt; and suddenly Astinus took over .. but see for yourself &amp;#x1f600;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:28) &amp;lt; @Astinus&amp;gt; graaff: So graaff, what&amp;#39;d they con^H^H^persuade you into doing?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:29) &amp;lt; @phreak``&amp;gt; Astinus: xemacs ;-)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:29) &amp;lt; @Astinus&amp;gt; phreak``: hah!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:31) &amp;lt; @graaff&amp;gt; Astinus: yes, xemacs, and when all of that is in order I&amp;#39;ll see if I can help out
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;with ruby and/or gnome
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:32) &amp;lt; @Astinus&amp;gt; graaff: to the former, good luck ;) to the latter, are you suicidal? ;-P
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:32) &amp;lt; @phreak``&amp;gt; Astinus: actually it seem like he is :D
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:32) &amp;lt; @Astinus&amp;gt; phreak``: Excellent, I see you went through the recruiting checklist thoroughly
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:32) &amp;lt; @phreak``&amp;gt; Astinus: lol
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:32) * graaff thinks better than to engage in a troll-fest about gnome on his first day
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:32) &amp;lt; @Astinus&amp;gt; (a) Should be suicidal to a degree less than ciaranm
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:32) &amp;lt; @Astinus&amp;gt; (b) should have a passion for Gentoo, but not the stalking developer kind
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:33) &amp;lt; @Astinus&amp;gt; graaff: ;-P
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(15:33) &amp;lt; @Astinus&amp;gt; graaff: *bait*
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>gentoo-dev fun</title><link>https://christian.blog.pakiheim.de/posts/2006-10-31_gentoo-dev-fun/</link><pubDate>Tue, 31 Oct 2006 20:10:36 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2006/10/31/gentoo-dev-fun/</guid><description>&lt;p&gt;O boy, have I had a wonderful evening. I was watching &lt;strong&gt;We were heroes&lt;/strong&gt; (after the eponymous book &amp;quot; &lt;em&gt;We were heroes &amp;hellip; and young&lt;/em&gt;&amp;quot;), while I took a peak at &lt;em&gt;#gentoo-dev&lt;/em&gt; and look what I found:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:24) will be masked, resistance is futile
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:24) hehe
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:24) lol
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:24) Flameeyes: you&amp;#39;re definitely watching waaay to much star trek (including Borg involvement :P)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:24) *plop*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:25) phreak``, watching voyager right now :P
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:25) phreak``, how do you know that Diego is not a borg?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:25) bonsaikitten, I&amp;#39;d like to be one
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:25) who has met him? who has seen him sleep, eat or do anything else besides commiting stuff?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:26) bonsaikitten: a human couldn&amp;#39;t take all that crap happening to him ;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:26) * phreak`` runs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:26) Flameeyes, let me guess, suppress emotions, optimize language, work work work?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(19:26) what? Flameeyes is human? I thought he was one of vapiers scripts...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Depression coming up</title><link>https://christian.blog.pakiheim.de/posts/2006-09-05_depression-coming-up/</link><pubDate>Tue, 05 Sep 2006 11:10:18 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=88</guid><description>&lt;p&gt;As you may now (or not), I haven&amp;rsquo;t been pretty active in the last couple of days (OK, I admit it has been the last two weeks).&lt;/p&gt;
&lt;p&gt;Work is currently being a bitch (I have a &lt;strong&gt;6,36&lt;/strong&gt; h day normally, but lately that evolved into a &lt;strong&gt;8+&lt;/strong&gt; h day which I&amp;rsquo;m not even payed for), personal life is also a bit frustrating (yeah you know those people-people relations called friendship and stuff).&lt;/p&gt;</description></item><item><title>gcc-config and CHOST</title><link>https://christian.blog.pakiheim.de/posts/2006-08-16_gcc-config-and-chost/</link><pubDate>Wed, 16 Aug 2006 09:11:05 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=87</guid><description>&lt;p&gt;Okay, I admit I might be a bit stupid.&lt;/p&gt;
&lt;p&gt;After my previous rant about &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_livecd-bootstraping-and-binary-packages" title="LiveCD, bootstraping and binary packages"&gt;gcc-config&lt;/a&gt; and &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_portage-eselect-compiler" title="portage / eselect-compiler"&gt;eselect-compiler&lt;/a&gt;, it turns out that my &lt;em&gt;CHOST&lt;/em&gt; was somehow b0rked. Just removing the -pc from &lt;em&gt;CHOST=&amp;ldquo;i686-pc-linux-gnu&amp;rdquo;&lt;/em&gt; fixed the issues.&lt;/p&gt;</description></item><item><title>IBM</title><link>https://christian.blog.pakiheim.de/posts/2006-08-14_ibm/</link><pubDate>Mon, 14 Aug 2006 10:16:28 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=84</guid><description>&lt;p&gt;We just received the long awaited shipment of sixteen 300GB FC-HDD&amp;rsquo;s (2Gbps with 10000rpm) for our SAN (a pretty old DS4500/FaStT 900).&lt;/p&gt;
&lt;p&gt;But there&amp;rsquo;s still the software option missing we ordered within the same breath. So I called our trustworthy IBM distributor (hah!) and asked the guy responsible for sales, what the ETA on this software option is (if someone is interested its VolumeCopy/FlashCopy).&lt;/p&gt;
&lt;p&gt;He told me, that we&amp;rsquo;ll receive a letter with the license key &lt;strong&gt;about 4 weeks&lt;/strong&gt; after commission !!!!!!&lt;/p&gt;</description></item><item><title>The somehow different vacation photo</title><link>https://christian.blog.pakiheim.de/posts/2006-08-10_the-somehow-different-vacation-photo/</link><pubDate>Thu, 10 Aug 2006 13:09:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2006/08/10/the-somehow-different-vacation-photo/</guid><description>&lt;p&gt;Heh, while driving to work I had an idea &amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Speed trap" loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/img_1095.jpg"&gt;&lt;/p&gt;
&lt;p&gt;That would make a niiiiice vacation photo &amp;#x1f61b; (well not so nice if you get the bill &amp;hellip;)&lt;/p&gt;</description></item><item><title>SLES-9 SP2 (continued)</title><link>https://christian.blog.pakiheim.de/posts/2006-08-09_sles-9-2-continued/</link><pubDate>Wed, 09 Aug 2006 12:27:50 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=82</guid><description>&lt;p&gt;OK, so after yesterdays &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_sles-9-2" title="SLES-9.2"&gt;battle&lt;/a&gt; with SLES and rpm, I decided to simply upgrade rpm (again rpmbuild -bb rpm.spec as in from source).&lt;/p&gt;
&lt;p&gt;I had to &lt;strong&gt;tune&lt;/strong&gt; (hah, remove stuff that isn&amp;rsquo;t working on this ancient gcc-3.3.3 ie. &lt;em&gt;-fstack-protector&lt;/em&gt;) a bit to get it working, wasted 20 minutes worth of CPU time and ~30 of my time. I finally gave up. I couldn&amp;rsquo;t persuade neither rpm, nor git to compile on the damn SLES/Dell.&lt;/p&gt;</description></item><item><title>15 million pieces</title><link>https://christian.blog.pakiheim.de/posts/2006-08-07_15-million-pieces/</link><pubDate>Mon, 07 Aug 2006 08:21:38 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=80</guid><description>&lt;p&gt;So Joshua asked my why the heck I was doing that puzzle (OK, I said it actually is a puzzle) and here&amp;rsquo;s now the story for that ..&lt;/p&gt;
&lt;p&gt;&lt;img alt="Diagnose: Bursted plaster" loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/img_0760.jpg"&gt;&lt;/p&gt;
&lt;p&gt;As you see on the image above, the plaster is completely bursted. The dome also started to get some crannies, so my parents decided to cover the whole plaster with pebbles. Only catchy thing about that is: you need to glue every single pebble (diameter ~1cm) by hand onto the cement. And that pretty much &lt;strong&gt;sucks&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Plaything</title><link>https://christian.blog.pakiheim.de/posts/2006-08-04_plaything/</link><pubDate>Fri, 04 Aug 2006 03:51:31 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=79</guid><description>&lt;p&gt;Ok, today I received another WRT54GL (yah, too much money &amp;#x1f61b; ) and updated it to dd-wrt v23-SP1 instantly and is now (once again) powering my wireless network.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yay&lt;/strong&gt;! and &lt;strong&gt;thanks&lt;/strong&gt; to Cisco/Linksys for that fine piece of hardware and to NewMedia-NET GmbH for providing such a great image for this hardware &amp;#x1f604;&lt;/p&gt;
&lt;p&gt;Ah, nearly forgot that: remember, never put the same IP twice in the static DHCP lease table, or dnsmasq is refusing to start (thus no DHCP/DNS)!&lt;/p&gt;</description></item><item><title>Mood sucks</title><link>https://christian.blog.pakiheim.de/posts/2006-08-03_mood-sucks/</link><pubDate>Thu, 03 Aug 2006 06:50:04 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=78</guid><description>&lt;p&gt;christel, you remember the mood-swings we were talking about ?&lt;/p&gt;
&lt;p&gt;I think I&amp;rsquo;m undergoing just another &amp;#x1f61e; I&amp;rsquo;m currently &lt;strong&gt;pretty&lt;/strong&gt; much pissed. Basically everything is pestering me currently (except #gentoo-dev and Gentoo work).&lt;/p&gt;
&lt;p&gt;Work just ripped another piece of me (hah, thanks VMware &amp;amp; BigBlue). I started the day with a ice cold shower (if I&amp;rsquo;m talking about ice cold it &lt;strong&gt;was&lt;/strong&gt; ice cold), they&amp;rsquo;re currently replacing our old gas heating and unfortunately that means no warm water &lt;strong&gt;at all&lt;/strong&gt;! &lt;em&gt;&lt;strong&gt;arg&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Braindead</title><link>https://christian.blog.pakiheim.de/posts/2006-08-03_braindead/</link><pubDate>Thu, 03 Aug 2006 05:32:52 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=77</guid><description>&lt;p&gt;Ok, I know I&amp;rsquo;ve been absent the last 2 or 3 days (but only in the evening). I know Seemant &amp;#x1f61b; and I&amp;rsquo;m pretty sorry for that.
As some of you may know, I recently aquired a Linksys WRT54GL to replace my stupid, crappy Netgear WG602 (which, sorry for the words, is &lt;strong&gt;completly junk&lt;/strong&gt; right now).&lt;/p&gt;
&lt;p&gt;I managed to flash an dd-wrt image to it, right the first day I got it. But a recent update made it broke and now I&amp;rsquo;m completly unable to reflash the device (as in &lt;a href="http://www.dd-wrt.com/wiki/index.php/Bricked"&gt;bricked&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>Chris (the White variety)</title><link>https://christian.blog.pakiheim.de/posts/2006-07-30_chris-the-white-variety/</link><pubDate>Sun, 30 Jul 2006 18:26:48 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=76</guid><description>&lt;p&gt;Hrm, I think I tortured christel a bit too much, earlier ..&lt;/p&gt;
&lt;p&gt;&lt;img alt="Singing" loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/dscn0739.jpg"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;53&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;phreak&lt;/span&gt;&lt;span class="err"&gt;``&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;here&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt; &lt;span class="n"&gt;go&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;P&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;uploads&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;2008&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;08&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dscn0739&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;jpg&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;57&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;christel&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;LOL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;58&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;christel&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;first&lt;/span&gt; &lt;span class="n"&gt;one&lt;/span&gt; &lt;span class="n"&gt;made&lt;/span&gt; &lt;span class="n"&gt;me&lt;/span&gt; &lt;span class="n"&gt;laugh&lt;/span&gt; &lt;span class="n"&gt;so&lt;/span&gt; &lt;span class="n"&gt;much&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Actually Chris, I think that was your and Diego&amp;rsquo;s comment(s) in combination with esammer (thanks for the decent laughing flash I had btw &amp;#x1f62e; )&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-3"&gt;&lt;a class="lnlinks" href="#hl-1-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-4"&gt;&lt;a class="lnlinks" href="#hl-1-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-5"&gt;&lt;a class="lnlinks" href="#hl-1-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-6"&gt;&lt;a class="lnlinks" href="#hl-1-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-7"&gt;&lt;a class="lnlinks" href="#hl-1-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-8"&gt;&lt;a class="lnlinks" href="#hl-1-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-9"&gt;&lt;a class="lnlinks" href="#hl-1-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-10"&gt;&lt;a class="lnlinks" href="#hl-1-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-11"&gt;&lt;a class="lnlinks" href="#hl-1-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(22:33) &amp;lt;@phreak``&amp;gt; night everyone ;-P
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(22:33) &amp;lt;@ChrisWhite&amp;gt; phreak``: what&amp;#39;s that?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(22:33) &amp;lt;@ChrisWhite&amp;gt; phreak``: you thought you were going to get sleep?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(22:33) &amp;lt;@esammer&amp;gt; ChrisWhite: as well as well formed sentences and punctuation. well said.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(22:33) &amp;lt;@ChrisWhite&amp;gt; phreak``: sorry pal, this is Gentoo, you&amp;#39;re a developer
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(22:33) &amp;lt;@ChrisWhite&amp;gt; phreak``: we don&amp;#39;t let you sleep
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(22:33) &amp;lt;@ChrisWhite&amp;gt; phreak``: you&amp;#39;re over your sleep rations
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(22:33) &amp;lt;@phreak``&amp;gt; ChrisWhite: yeah, again .. need to get up 2 hours before sunrise (thats in 5 hours to be exact)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(22:34) &amp;lt;@Flameeyes&amp;gt; phreak``, what happens to sunrise in 2 hours?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(22:34) &amp;lt;@ChrisWhite&amp;gt; phreak``: what if it&amp;#39;s cloudy?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(22:34) &amp;lt;@ChrisWhite&amp;gt; phreak``: or what if the sun dies out?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>F*cking summer</title><link>https://christian.blog.pakiheim.de/posts/2006-07-30_f-cking-summer/</link><pubDate>Sun, 30 Jul 2006 09:56:21 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=75</guid><description>&lt;p&gt;Oh, yeah baby &lt;em&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/em&gt;. It&amp;rsquo;s finally hot &lt;strong&gt;f*cking&lt;/strong&gt; summer and I &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; like it. We have now three weeks in a row sunny weather with no rain at all.&lt;/p&gt;
&lt;p&gt;Everyone running around with less or nearly no clothes (heh, especially the girls) is also a nice present from above.&lt;/p&gt;
&lt;p&gt;Personally I haven&amp;rsquo;t felt better the last two years. Maybe that&amp;rsquo;s depending on my previous depressions and the like (you know these thoughts .. ) but this summer is definitely going rock my life!&lt;/p&gt;</description></item><item><title>Live sucks (again)</title><link>https://christian.blog.pakiheim.de/posts/2006-05-21_live-sucks-again/</link><pubDate>Sun, 21 May 2006 10:46:25 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=73</guid><description>&lt;p&gt;Now is again such a time in live, where you have the motivation or wish to just fade away.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m just listening to &lt;strong&gt;Fort Minor - Where&amp;rsquo;d you go&lt;/strong&gt; and thinking about the stuff &lt;em&gt;Mike Shinoda&lt;/em&gt; is singing &amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I want you to know it&amp;rsquo;s a little fucked up,
That I&amp;rsquo;m stuck here waitin&amp;rsquo;, no longer debatin&amp;rsquo;,
Tired of sittin&amp;rsquo; and hatin&amp;rsquo; and makin&amp;rsquo; these excuses,
For while you&amp;rsquo;re not around, and feeling so useless,
It seems one thing has been true all along,
You don&amp;rsquo;t really know what you got &amp;rsquo;til it&amp;rsquo;s gone.&lt;/p&gt;</description></item><item><title>Munich - part 2</title><link>https://christian.blog.pakiheim.de/posts/2006-05-15_munich-part-2/</link><pubDate>Mon, 15 May 2006 17:15:57 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=66</guid><description>&lt;p&gt;Today we got up bit later (07:40 am) to do some sight-seeing and shopping. We took the car “ &lt;em&gt;Candidplatz&lt;/em&gt;”, that’s where Paula is working currently and got into the subway to “ &lt;em&gt;Sendlinger Tor&lt;/em&gt;”. The day was starting sunny featuring 23°C at 9:00 am. Certainly I was wearing short pants and a tank top, as I’m used to have a weak till moderate wind blowing around me. We finally stopped at SportScheck to get something for Paula. She badly needed short pants and polo shirts for her physic therapy lessons she is giving at physico.&lt;/p&gt;</description></item><item><title>DB Adventure Travels - part 2</title><link>https://christian.blog.pakiheim.de/posts/2006-05-08_db-adventure-travels-part-2/</link><pubDate>Mon, 08 May 2006 09:29:22 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=71</guid><description>&lt;p&gt;Boy, right after I wrote those lines they announced everyone heading to Stuttgart should get of that train and take another since they had to replace the damaged end car. I even had to switch platforms again.&lt;/p&gt;
&lt;p&gt;I’m now sitting in that other train, it’s pretty much overfilled with people who are all and everyone angry at DB. I’m gonna take a cab from Stuttgart Central Station to my aunt’s place since it’s getting later and later. We’re now supposed to arrive at 22:48 but the train already has ten minutes delay.&lt;/p&gt;</description></item><item><title>DB Adventure Travels - part 1</title><link>https://christian.blog.pakiheim.de/posts/2006-05-08_db-adventure-travels-part-1/</link><pubDate>Mon, 08 May 2006 09:29:10 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=70</guid><description>&lt;p&gt;I’m now sitting in the ICE (on a little child seat), it arrived with 20 minutes delay here at Frankfurt Airport but we’re still standing here with problems on the end car, so it’s gonna take a while.&lt;/p&gt;
&lt;p&gt;It’s one of the newer ICE’s and the interior looks really great. I even managed to get some wireless connection!&lt;/p&gt;</description></item><item><title>LinuxTag - part 3</title><link>https://christian.blog.pakiheim.de/posts/2006-05-08_linuxtag-part-3/</link><pubDate>Mon, 08 May 2006 09:27:51 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=69</guid><description>&lt;p&gt;I’m now at Frankfurt Airport and I nearly got on the earlier train to Stuttgart which I wasn’t able to catch, according to the service guy. I was facing the same problem than the morning before. The damn doors closed right in front of my face. Meh, Friday seems to be my bad luck day.&lt;/p&gt;
&lt;p&gt;I’m still waiting for the ICE supposed to leave at 20:54 but it’s currently having eighteen minutes delay. My cousin messaged me earlier that she’ll collect me at Stuttgart Central Station. The day is nearly finished now and I’m awake since yesterday morning 07:40 minus that three hour break. I’m still pretty excited that I really got to Wiesbaden and I really enjoyed that little trip (even if it was a bit expensive).&lt;/p&gt;</description></item><item><title>LinuxTag - part 2</title><link>https://christian.blog.pakiheim.de/posts/2006-05-08_linuxtag-part-2/</link><pubDate>Mon, 08 May 2006 09:26:16 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=68</guid><description>&lt;p&gt;I’m sitting in the S8 to Frankfurt Airport where I’ll switch to the ICE to Stuttgart to visit my cousins and my aunt. Linux Tag was quite amazing, I finally met some of the people behind OpenVZ (Kir and Kirill), saw a bit of Andrew Morton’s Kernel FAQ (Kir told us that) and met some people including Bertl, doener, derjohn, zeng, foo, &amp;hellip; of the linux-vserver community. Both workshops were quite interesting and I learned a lot of things about openvz and it’s userland tools and linux-vserver (finally I understood the CPU Tokenbucket system).&lt;/p&gt;</description></item><item><title>LinuxTag - part 1</title><link>https://christian.blog.pakiheim.de/posts/2006-05-08_linuxtag-part-1/</link><pubDate>Mon, 08 May 2006 09:25:24 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=67</guid><description>&lt;p&gt;Boy, that day started great (irony). I was supposed to get my lazy ass up at 04:20 am to be at the station at 05:27 am, taking the train to Wiesbaden (together with Hollow).&lt;/p&gt;
&lt;p&gt;But someone in this odd world doesn’t like me. I somehow managed to turn off the damn cell (that was supposed to wake me up) and slept till 05:10 am, till Paula came in and woke me up. She told me she was awake since half an hour and she waited on me to step into her bedroom.&lt;/p&gt;</description></item><item><title>Munich</title><link>https://christian.blog.pakiheim.de/posts/2006-05-04_munich/</link><pubDate>Thu, 04 May 2006 15:59:38 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=65</guid><description>&lt;p&gt;I just woke up and thought I really should blog about that.&lt;/p&gt;
&lt;p&gt;The trip was quite interesting so far, saw some things that really looked odd.&lt;/p&gt;
&lt;p&gt;At first the was some kind of Police protection (30 or so with shield visor) for only 5 people at Pasewalk Hbf.
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/dsc00138.jpg"
alt="Pasewalk Hbf - Lots, and lots of policemen!" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Pasewalk Hbf - Lots, and lots of policemen!&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;A friend of mine picked me up at Berlin Ostbahnhof and we drove all the way to Munich. While we stopped for gas (1,44€ per liter super unleaded)&lt;/p&gt;</description></item><item><title>Birthday</title><link>https://christian.blog.pakiheim.de/posts/2006-04-25_birthday/</link><pubDate>Tue, 25 Apr 2006 13:31:55 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=64</guid><description>&lt;p&gt;Today being my &lt;strong&gt;Birthday&lt;/strong&gt; pretty much started my day. Somehow I managed to accept a call at 00:12 (while I was asleep) but I don&amp;rsquo;t even remember taking it. Somehow my real live is getting better and better (as in finding some friends as I pretty much was a hermit for the last couple of years).&lt;/p&gt;
&lt;p&gt;Also I found someone to share my toughts with, someone who understands it, how to really get to me (read it as a very good &lt;strong&gt;friend&lt;/strong&gt; &amp;#x1f61b;)&lt;/p&gt;</description></item><item><title>Bitching</title><link>https://christian.blog.pakiheim.de/posts/2006-03-10_bitching/</link><pubDate>Fri, 10 Mar 2006 19:57:11 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=63</guid><description>&lt;p&gt;Once again, I&amp;rsquo;m compelled to play (other call it administering &amp;#x1f61b;) with our TYPO3 cluster (which is sadly running SLES).&lt;/p&gt;
&lt;p&gt;One thing I just learned about SLES (for the ones curious, its &lt;a href="http://www.novell.com/products/server/"&gt;Novell&amp;rsquo;s SuSE Linux Enterprise Server&lt;/a&gt; and yes, it suffers the same pain as SuSE/openSuSE). They split one single config file (at least the apache2 one) into 9 (or more) different files.&lt;/p&gt;
&lt;p&gt;Another thing is, for what the hell does a simple LAMP need a full blown Xorg w/ KDE installed ?&lt;/p&gt;</description></item><item><title>Work sometimes sucks</title><link>https://christian.blog.pakiheim.de/posts/2006-03-10_work-sometimes-sucks/</link><pubDate>Fri, 10 Mar 2006 16:22:46 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=62</guid><description>&lt;p&gt;Today &lt;a href="http://www.uni-greifswald.de"&gt;they&lt;/a&gt; finally let me fiddle around on an AIX 5.3 system. Well AIX ain&amp;rsquo;t bad, but misses (by default installation) some features and comfort.&lt;/p&gt;
&lt;p&gt;The first thing I noticed, they &lt;strong&gt;only&lt;/strong&gt;! install &lt;a href="http://en.wikipedia.org/wiki/Telnet"&gt;telnet&lt;/a&gt; and don&amp;rsquo;t even give an option to install sshd .. That sucks, especially if you&amp;rsquo;re supposed to log in via the internet (yay! an telnet open to the internet &amp;#x1f62f;)&lt;/p&gt;
&lt;p&gt;So I googled a bit around and found out, that we should have some Bonus CD&amp;rsquo;s (from IBM of course) featuring openssl/openssh, looked into the cubicle behind the rack and look what I&amp;rsquo;ve found &amp;hellip; Go, go &amp;hellip; &amp;#x1f61b;&lt;/p&gt;</description></item><item><title>vserver related stuff</title><link>https://christian.blog.pakiheim.de/posts/2006-02-21_vserver-related-stuff/</link><pubDate>Tue, 21 Feb 2006 08:07:42 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=61</guid><description>&lt;p&gt;Well, so I finally got around to fix some pending bugs ..&lt;/p&gt;
&lt;p&gt;vzquota and vzctl is finally bumped ( &lt;a href="https://bugs.gentoo.org/122532"&gt;#122532&lt;/a&gt;), new baselayout-vserver is in the tree (fixing some issues with rebooting a vps)
and I&amp;rsquo;m finally working on getting dietlibc updated.&lt;/p&gt;
&lt;p&gt;So let&amp;rsquo;s see what the day reveals &amp;#x1f604;&lt;/p&gt;</description></item><item><title>Work sometimes sucks</title><link>https://christian.blog.pakiheim.de/posts/2006-01-20_work-sometimes-sucks/</link><pubDate>Fri, 20 Jan 2006 17:08:39 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=60</guid><description>&lt;p&gt;Today was again horrible. The boss started to drive me nuts on 8.30 and it even got worser and worser &amp;hellip;.&lt;/p&gt;
&lt;p&gt;Sometimes I start thinking how it would be, if I had decided &lt;strong&gt;not&lt;/strong&gt; to move with my parents into the outback
(yeah, we&amp;rsquo;ve also outback in Germany, it&amp;rsquo;s called &lt;strong&gt;East Germany&lt;/strong&gt; &amp;#x1f61b;)&lt;/p&gt;</description></item></channel></rss>