<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux on the bin</title><link>https://thebin.net/categories/linux/</link><description>Recent content in Linux on the bin</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 28 Dec 2015 00:00:00 +0000</lastBuildDate><atom:link href="https://thebin.net/categories/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>Linux: Replace Disk in MD</title><link>https://thebin.net/2015/12/linux-replace-disk-in-md/</link><pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate><guid>https://thebin.net/2015/12/linux-replace-disk-in-md/</guid><description>&lt;p&gt;On my lab machines I use a pair of physical disks, configured in a RAID 1 with MD, with LVM on top of that.  This gives me a lot of flexibility with full redundancy.  However recently I had a failure of a drive.&lt;/p&gt;&#10;&lt;h2 id="identify-the-failure"&gt;Identify the Failure&lt;/h2&gt;&#10;&lt;p&gt;Here is what MD was telling me after I identified and removed the drive from the chassis to send it off for an RMA, notice how each device only has one member (md0 has sda1, md1 has sda2), this does not make a good RAID 1.  But this is easily resolved.&lt;/p&gt;</description></item><item><title>Bash: Dynamic Volume Group Mounter</title><link>https://thebin.net/2015/09/bash-dynamic-volume-group-mounter/</link><pubDate>Wed, 16 Sep 2015 00:00:00 +0000</pubDate><guid>https://thebin.net/2015/09/bash-dynamic-volume-group-mounter/</guid><description>&lt;p&gt;This is similar, but an enhanced version of my custom_mount.sh previously published here: &lt;a href="http://blog.allanglesit.com/2012/08/bash-automatically-mount-file-systems-on-volume-group-if-present/"&gt;Bash: Automatically Mount File Systems on Volume Group if Present&lt;/a&gt;. This previous version was just a simple init script.  This updated version is designed for newer Linux distributions that use Systemd instead of Init.&lt;/p&gt;&#10;&lt;h2 id="the-code"&gt;The Code&lt;/h2&gt;&#10;&lt;p&gt;The majority of the work is done by dvgmounter.sh.  It will check if the Volume Group is present, if it is it will parse the /etc/fstab file looking for entries that are marked noauto, then it will test if that file system is already mounted, if it is not it will mount it.&lt;/p&gt;</description></item><item><title>Fedora 20: Use PPTP VPN</title><link>https://thebin.net/2015/09/fedora-20-use-pptp-vpn/</link><pubDate>Tue, 15 Sep 2015 00:00:00 +0000</pubDate><guid>https://thebin.net/2015/09/fedora-20-use-pptp-vpn/</guid><description>&lt;p&gt;I have had this one in the queue for a while (I don’t even run of Fedora 20 anymore).  This one will be short and sweet, because there really isn’t a bunch of discussion that needs to go into it.&lt;/p&gt;&#10;&lt;p&gt;By default Fedora 20 will block outbound PPTP VPN connections.&lt;/p&gt;&#10;&lt;div class="codeblock" data-lang="bash"&gt;&#10; &lt;div class="codeblock__bar"&gt;&#10; &lt;span class="codeblock__lang"&gt;bash&lt;/span&gt;&#10; &lt;button type="button" class="codeblock__copy" aria-label="Copy code"&gt;&#10; &lt;span class="codeblock__copy-label"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;/div&gt;&#10; &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="cl"&gt;firewall-cmd --direct --add-rule ipv4 filter INPUT &lt;span class="m"&gt;0&lt;/span&gt; -p gre -j ACCEPT&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;firewall-cmd --direct --add-rule ipv6 filter INPUT &lt;span class="m"&gt;0&lt;/span&gt; -p gre -j ACCEPT&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Reload the rules.&lt;/p&gt;</description></item><item><title>Fedora 20: Firefox Reports Flash as Vulnerable</title><link>https://thebin.net/2015/03/fedora-20-firefox-reports-flash-as-vulnerable/</link><pubDate>Wed, 04 Mar 2015 00:00:00 +0000</pubDate><guid>https://thebin.net/2015/03/fedora-20-firefox-reports-flash-as-vulnerable/</guid><description>&lt;p&gt;This problem starts with Firefox reporting that your flash-plugin is out of date.  This report looks like this and disables all flash.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="http://itfromallangles.sites.allanglesit.net/wp-content/uploads/2015/02/Screenshot-from-2015-02-06-164559.png"&gt;&lt;/a&gt;After this we will take a look Mozilla’s Plugin Check to see what it thinks is going on.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="http://itfromallangles.sites.allanglesit.net/wp-content/uploads/2015/02/Screenshot-from-2015-02-06-164931.png"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Now here we can see that version 11.2.202.440 is vulnerable.  We will then check about:plugins to see if it agrees.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="http://itfromallangles.sites.allanglesit.net/wp-content/uploads/2015/02/Screenshot-from-2015-02-06-164951.png"&gt;&lt;/a&gt;Again this is also reporting 11.2.202.440, so there must be a problem, but it also tells us that there is an update available.  Now I run regular yum updates on this machine, and I actually noticed flash-plugin was updated just a few hours prior to seeing this alert.  So lets check the installed version.&lt;/p&gt;</description></item><item><title>Linux KVM: Bridging a Bond on CentOS 6.5</title><link>https://thebin.net/2014/10/linux-kvm-bridging-a-bond-on-centos-6-5/</link><pubDate>Mon, 27 Oct 2014 00:00:00 +0000</pubDate><guid>https://thebin.net/2014/10/linux-kvm-bridging-a-bond-on-centos-6-5/</guid><description>&lt;p&gt;Today we are going to hop back into the KVM fray, and take a  look at using CentOS as a hypervisor., and configuring very resilient network connections to support our guests.  Of course these instructions should be valid on Red Hat Linux and Oracle Linux as well, though there is a little more to be done around getting access to the repos on those distributions…&lt;/p&gt;&#10;&lt;h2 id="enable-bonding"&gt;Enable Bonding&lt;/h2&gt;&#10;&lt;p&gt;I am assuming this is a first build for you, so this step might not be applicable, but it won’t hurt anything.&lt;/p&gt;</description></item><item><title>Install MySQL Server Community Edition on Fedora 20</title><link>https://thebin.net/2014/07/install-mysql-server-community-edition-on-fedora-20/</link><pubDate>Tue, 01 Jul 2014 00:00:00 +0000</pubDate><guid>https://thebin.net/2014/07/install-mysql-server-community-edition-on-fedora-20/</guid><description>&lt;p&gt;Today we are going to go through the process of installing MySQL Server Community Edition on Fedora 20.  You could of course simply use MariaDB, but this will focus on the Community Edition.&lt;/p&gt;&#10;&lt;h2 id="install-the-mysql-repository"&gt;Install the MySQL Repository&lt;/h2&gt;&#10;&lt;p&gt;We will need to install the MySQL Community Repository, the MySQL project hosts an RPM file with the repository.  First lets look at the repositories that I have already.&lt;/p&gt;&#10;&lt;div class="codeblock" data-lang="bash"&gt;&#10; &lt;div class="codeblock__bar"&gt;&#10; &lt;span class="codeblock__lang"&gt;bash&lt;/span&gt;&#10; &lt;button type="button" class="codeblock__copy" aria-label="Copy code"&gt;&#10; &lt;span class="codeblock__copy-label"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;/div&gt;&#10; &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="cl"&gt;yum repolist&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Loaded plugins: langpacks, refresh-packagekit&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;repo id repo name status&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;adobe-flashplayer Adobe Flash Player - x86_64 &lt;span class="m"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fedora/20/x86_64 Fedora &lt;span class="m"&gt;20&lt;/span&gt; - x86_64 38,597&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;google-chrome Google Chrome - x86_64 &lt;span class="m"&gt;3&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;oracle-virtualbox/20/x86_64 Oracle VirtualBox - x86_64 &lt;span class="m"&gt;10&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rpmfusion-free/20/x86_64 RPM Fusion &lt;span class="k"&gt;for&lt;/span&gt; Fedora &lt;span class="m"&gt;20&lt;/span&gt; - Free &lt;span class="m"&gt;468&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rpmfusion-free-updates/20/x86_64 RPM Fusion &lt;span class="k"&gt;for&lt;/span&gt; Fedora &lt;span class="m"&gt;20&lt;/span&gt; - Free - Updates &lt;span class="m"&gt;464&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rpmfusion-nonfree/20/x86_64 RPM Fusion &lt;span class="k"&gt;for&lt;/span&gt; Fedora &lt;span class="m"&gt;20&lt;/span&gt; - Nonfree &lt;span class="m"&gt;203&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rpmfusion-nonfree-updates/20/x86_64 RPM Fusion &lt;span class="k"&gt;for&lt;/span&gt; Fedora &lt;span class="m"&gt;20&lt;/span&gt; - Nonfree - Updates &lt;span class="m"&gt;299&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;updates/20/x86_64 Fedora &lt;span class="m"&gt;20&lt;/span&gt; - x86_64 - Updates 17,616&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;repolist: 57,662&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Now lets install the release file.  Keep in mind, you can do a separate wget or curl to download the file, or you can use the command as I have.  As of the time of this writing there are also repositories for Fedora 18 and 19 and Enterprise Linux 5, 6 and 7 (beta).  Though the only procedures I have validated are the Fedora 20, they should all work the same.&lt;/p&gt;</description></item><item><title>SQL Developer Crash on Fedora 20</title><link>https://thebin.net/2014/07/sql-developer-crash-on-fedora-20/</link><pubDate>Tue, 01 Jul 2014 00:00:00 +0000</pubDate><guid>https://thebin.net/2014/07/sql-developer-crash-on-fedora-20/</guid><description>&lt;p&gt;I ran into a painful issue on Fedora 20 with SQL Developer.  Basically every time it was launched via the shortcut it would go through loading, and then disappear.&lt;/p&gt;&#10;&lt;h2 id="manual-invocation-of-sql-developer"&gt;Manual Invocation of SQL Developer&lt;/h2&gt;&#10;&lt;p&gt;When launching it via the script itself it gives us a little more information.&lt;/p&gt;&#10;&lt;div class="codeblock" data-lang="bash"&gt;&#10; &lt;div class="codeblock__bar"&gt;&#10; &lt;span class="codeblock__lang"&gt;bash&lt;/span&gt;&#10; &lt;button type="button" class="codeblock__copy" aria-label="Copy code"&gt;&#10; &lt;span class="codeblock__copy-label"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;/div&gt;&#10; &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="cl"&gt;/opt/sqldeveloper/sqldeveloper.sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Oracle SQL Developer&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Copyright &lt;span class="o"&gt;(&lt;/span&gt;c&lt;span class="o"&gt;)&lt;/span&gt; 1997, 2013, Oracle and/or its affiliates. All rights reserved.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;LOAD TIME : 279#&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;A fatal error has been detected by the Java Runtime Environment:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SIGSEGV &lt;span class="o"&gt;(&lt;/span&gt;0xb&lt;span class="o"&gt;)&lt;/span&gt; at &lt;span class="nv"&gt;pc&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0x00000038a1e64910, &lt;span class="nv"&gt;pid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;12726, &lt;span class="nv"&gt;tid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;140449865832192&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;JRE version: Java&lt;span class="o"&gt;(&lt;/span&gt;TM&lt;span class="o"&gt;)&lt;/span&gt; SE Runtime Environment &lt;span class="o"&gt;(&lt;/span&gt;7.0_40-b43&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;build 1.7.0_40-b43&lt;span class="o"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Java VM: Java HotSpot&lt;span class="o"&gt;(&lt;/span&gt;TM&lt;span class="o"&gt;)&lt;/span&gt; 64-Bit Server VM &lt;span class="o"&gt;(&lt;/span&gt;24.0-b56 mixed mode linux-amd64 compressed oops&lt;span class="o"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Problematic frame:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;C 0x00000038a1e64910&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Failed to write core dump. Core dumps have been disabled. To &lt;span class="nb"&gt;enable&lt;/span&gt; core dumping, try &lt;span class="s2"&gt;&amp;#34;ulimit -c unlimited&amp;#34;&lt;/span&gt; before starting Java again&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;An error report file with more information is saved as:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/opt/sqldeveloper/sqldeveloper/bin/hs_err_pid12726.log&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;thread &lt;span class="m"&gt;140449881597696&lt;/span&gt; also had an error&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;If you would like to submit a bug report, please visit:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://bugreport.sun.com/bugreport/crash.jsp&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/opt/sqldeveloper/sqldeveloper/bin/../../ide/bin/launcher.sh: line 611: &lt;span class="m"&gt;12726&lt;/span&gt; Aborted &lt;span class="o"&gt;(&lt;/span&gt;core dumped&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;JAVA&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;APP_VM_OPTS&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 class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;APP_ENV_VARS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; -classpath &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;APP_CLASSPATH&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;APP_MAIN_CLASS&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;APP_APP_OPTS&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;I also noticed, that while executing as root it worked.  However that clearly isn’t the “solution”&lt;/p&gt;</description></item><item><title>Voyage Linux: Dialog Error with Apt</title><link>https://thebin.net/2014/07/voyage-linux-dialog-error-with-apt/</link><pubDate>Tue, 01 Jul 2014 00:00:00 +0000</pubDate><guid>https://thebin.net/2014/07/voyage-linux-dialog-error-with-apt/</guid><description>&lt;p&gt;This can happen on other Linux distributions, however in this case I found it on Voyage Linux, which is a Linux distribution for embedded hardware.&lt;/p&gt;&#10;&lt;h2 id="the-error"&gt;The Error&lt;/h2&gt;&#10;&lt;p&gt;Here we are dealing with an annoyance whenever you use apt-get or aptitude.&lt;/p&gt;&#10;&lt;div class="codeblock" data-lang="text"&gt;&#10; &lt;div class="codeblock__bar"&gt;&#10; &lt;span class="codeblock__lang"&gt;text&lt;/span&gt;&#10; &lt;button type="button" class="codeblock__copy" aria-label="Copy code"&gt;&#10; &lt;span class="codeblock__copy-label"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;debconf: unable to initialize frontend: Dialog&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, &amp;lt;&amp;gt; line 1.)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;debconf: falling back to frontend: Readline&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="the-fix"&gt;The Fix&lt;/h2&gt;&#10;&lt;p&gt;Simply install dialog, which is the package it is not finding.  This will no longer need the failback to readline.&lt;/p&gt;</description></item><item><title>Voyage Linux: Locale Error with Apt</title><link>https://thebin.net/2014/07/voyage-linux-locale-error-with-apt/</link><pubDate>Tue, 01 Jul 2014 00:00:00 +0000</pubDate><guid>https://thebin.net/2014/07/voyage-linux-locale-error-with-apt/</guid><description>&lt;p&gt;Voyage Linux is an embedded linux distribution.  I use it on some ALIX boards I have lying around, it is very stripped down, and as such there are a few annoyances which we have to fix.&lt;/p&gt;&#10;&lt;p&gt;The Error&lt;/p&gt;&#10;&lt;p&gt;This issue happens when attempting to install/upgrade packages using apt-get or aptitude.&lt;/p&gt;&#10;&lt;div class="codeblock" data-lang="text"&gt;&#10; &lt;div class="codeblock__bar"&gt;&#10; &lt;span class="codeblock__lang"&gt;text&lt;/span&gt;&#10; &lt;button type="button" class="codeblock__copy" aria-label="Copy code"&gt;&#10; &lt;span class="codeblock__copy-label"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;perl: warning: Setting locale failed.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;perl: warning: Please check that your locale settings:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    LANGUAGE = (unset),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    LC_ALL = (unset),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    LANG = &amp;#34;en_US.utf8&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    are supported and installed on your system.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;perl: warning: Falling back to the standard locale (&amp;#34;C&amp;#34;).&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;The Fix&lt;/p&gt;</description></item><item><title>Oracle Linux 6: Create an OCFS2 Cluster and Filesystem</title><link>https://thebin.net/2013/03/oracle-linux-6-create-an-ocfs2-cluster-and-filesystem/</link><pubDate>Mon, 04 Mar 2013 00:00:00 +0000</pubDate><guid>https://thebin.net/2013/03/oracle-linux-6-create-an-ocfs2-cluster-and-filesystem/</guid><description>&lt;p&gt;Today we are going to go through the process of creating a clustered file system on a pair of Oracle Linux 6.3 nodes.  This exercise is not very resource intensive.  I am using two VMs each with 1GB of RAM a single CPU and a shared virtual disk file in addition to the OS drivers.&lt;/p&gt;&#10;&lt;h2 id="the-basic-concepts"&gt;The Basic Concepts&lt;/h2&gt;&#10;&lt;p&gt;Now why is a clustered file system important?  So basically if you have the need to have a shared volume between two hosts, you can provision the disk to both machines, and everything could appear to work, however in the event that writes ever happened to the same areas of the disk at the same time you will end up with data corruption.  Now the key here is that you need a way to track locks from multiple nodes.  This is called a Distributed Locking Manager or DLM.  Now to get this DLM functionality working then it will create a cluster.  Valid cluster nodes can then mount the disk and interact with it as a normal disk.  So as part of OCFS2 we have two file systems which are created /sys/kernel/config and /dlm the prior is used for the cluster configurations, and the latter is for the distributed lock manager&lt;/p&gt;</description></item><item><title>Linux KVM: Ubuntu 12.10 with Openvswitch</title><link>https://thebin.net/2012/10/linux-kvm-ubuntu-12-10-with-openvswitch/</link><pubDate>Wed, 24 Oct 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/10/linux-kvm-ubuntu-12-10-with-openvswitch/</guid><description>&lt;p&gt;Today I am revisiting my previous post on Openvswitch on Ubuntu 12.04.  Things have changed since then.  Previously Openvswitch was relatively new and as such the userland tools (with libvirt being the one I use) didn’t support it yet, so while you could have used Openvswitch by executing the kvm processes for each VM manually.  Since this was a predictable problem the Openvswitch guys created a brcompat module, which would take the place of the bridge_utils functionality and expose Openvswitch bridges as legacy bridges.  This allowed the existing userland which already had the legacy bridge functionality builtin to continue to operate the same way.  Anyways as of libvirt 0.9.11 the native Openvswitch functionality is present and supported.  As such I am updating my documentation to include this alternate and preferred method of operation.&lt;/p&gt;</description></item><item><title>Linux-LVM: Resize Partition to Grow LVM Volume Group</title><link>https://thebin.net/2012/08/linux-lvm-resize-partition-to-grow-lvm-volume-group/</link><pubDate>Mon, 20 Aug 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/08/linux-lvm-resize-partition-to-grow-lvm-volume-group/</guid><description>&lt;p&gt;Logical Volume Manager makes the dynamic expansion of file systems dead stupid simple.  However there is a weakness, if you are using a partitioned file system as your Physical Volume (PV) then you will end up needing to expand the file system if you ever need to grow the actual storage.  This can be avoided by using the actual physical device /dev/sda as the PV, however if this is the same volume where your /boot partition lives then you will have no choice but to partition it out since /boot cannot reside on a Logical Volume (LV).  The other way you can avoid this is by simply creating a second partition on the same disk and adding it as a new PV to the existing Volume Group (VG).  This is preferable as there is far less room for error than in this procedure, but I personally find that method a little more confusing to inherit then a straight forward single partition made an LV.&lt;/p&gt;</description></item><item><title>Bash: Automatically Mount File Systems on Volume Group if Present</title><link>https://thebin.net/2012/08/bash-automatically-mount-file-systems-on-volume-group-if-present/</link><pubDate>Thu, 02 Aug 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/08/bash-automatically-mount-file-systems-on-volume-group-if-present/</guid><description>&lt;p&gt;Update 09/16/2015 – I have published an updated article for this here: &lt;a href="http://blog.allanglesit.com/2012/08/bash-automatically-mount-file-systems-on-volume-group-if-present/"&gt;http://blog.allanglesit.com/2012/08/bash-automatically-mount-file-systems-on-volume-group-if-present/&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;In my laptop I have a solid state disk, and frankly I am way past addicted to solid state disks, but what you get in performance you lose in capacity.  As such I have had to be creative with how I can have the capacity and the performance that I need.  Lately the solution has been to have a spinning disk in the slot that would normally be occupied by my CD/DVD drive.  However the problem with this, revealed itself to be that my Fedora install would actually fail to boot when it tried and failed to mount the file systems if this device was not present.  So my first “solution” was to set noauto in the /etc/fstab for these secondary file systems.  Which presented a new problem…  I would forget to manually mount these devices before launching Virtualbox to start my VMs.  So I decided that I would need to have an auto-mount script which would check for the volume group to be present and then if it was mount the file systems contained within the /etc/fstab which live on the volume group.&lt;/p&gt;</description></item><item><title>LVM: Using 2TB Volumes for Volume Groups</title><link>https://thebin.net/2012/05/lvm-using-2tb-volumes-for-volume-groups/</link><pubDate>Mon, 28 May 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/05/lvm-using-2tb-volumes-for-volume-groups/</guid><description>&lt;p&gt;Occasionally you will have the need to use physical volumes which exceed the limits of the standard DOS partitioning scheme.  When you run into this a quick fdisk -l will reveal that you will need a new way to partition your disks.&lt;/p&gt;&#10;&lt;p&gt;Fdisk will produce output similar to this…&lt;/p&gt;&#10;&lt;div class="codeblock" data-lang="text"&gt;&#10; &lt;div class="codeblock__bar"&gt;&#10; &lt;span class="codeblock__lang"&gt;text&lt;/span&gt;&#10; &lt;button type="button" class="codeblock__copy" aria-label="Copy code"&gt;&#10; &lt;span class="codeblock__copy-label"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WARNING: GPT (GUID Partition Table) detected on &amp;#39;/dev/sdb&amp;#39;! The util fdisk doesn&amp;#39;t support GPT. Use GNU Parted.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WARNING: The size of this disk is 2.3 TB (2290828181504 bytes).&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DOS partition table format can not be used on drives for volumes&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;larger than 2.2 TB (2199023255040 bytes). Use parted(1) and GUID&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;partition table format (GPT).&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="use-parted-to-create-a-partition-using-the-whole-disk"&gt;Use Parted to Create a Partition Using the Whole Disk&lt;/h2&gt;&#10;&lt;p&gt;Parted is able to handle large volumes which are not able to be modified with fdisk.  Here we are going to launch parted, and then create the partition with a size of 1 -1 which means that it will use it all until it gets to the end.  You can additionally specify the number in megabytes, so 1 1024 would start at 1 and go until 1024 giving you a 1GB partition.&lt;/p&gt;</description></item><item><title>Oracle VM: Using Oracle VM Manager 3 from Ubuntu Linux</title><link>https://thebin.net/2012/05/oracle-vm-using-oracle-vm-manager-3-from-ubuntu-linux/</link><pubDate>Wed, 16 May 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/05/oracle-vm-using-oracle-vm-manager-3-from-ubuntu-linux/</guid><description>&lt;p&gt;In my initial work with Oracle VM, I have run into a few fringe cases, which are not well documented, but actually have rather simple solutions.  This one actually cropped up over the weekend for me.  Over the weekend I decided to rebuild my company-issued laptop with Ubuntu Linux (12.04 amd64) to be specific.  I did this for a number of reasons…&lt;/p&gt;&#10;&lt;p&gt;1)  I am far more effective with Linux, due to the nature of the shell, and tools which I am familiar with (vim, dd, really take your pick they are everywhere).&lt;/p&gt;</description></item><item><title>Oracle VM 3.x: Reset Agent Password</title><link>https://thebin.net/2012/05/oracle-vm-3-x-reset-agent-password/</link><pubDate>Tue, 15 May 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/05/oracle-vm-3-x-reset-agent-password/</guid><description>&lt;p&gt;Oracle VM, is a centrally managed hypervisor.  All administrative actions must be performed from the Oracle VM Manager.  In order to facilitate the initial discovery of the Hypervisor by the Management Server part of the setup requires that we not only set the password for the root user, but also the password for the ovs-agent.  We then initiate a discovery process from the management server to the hypervisor and end up able to manage our hypervisor.&lt;/p&gt;</description></item><item><title>Installing Oracle VM Manager 3.1.1</title><link>https://thebin.net/2012/05/installing-oracle-vm-manager-3-1-1/</link><pubDate>Mon, 14 May 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/05/installing-oracle-vm-manager-3-1-1/</guid><description>&lt;p&gt;In my new role at Keste, I am tasked with staying on the bleeding edge of software release cycles, so that we can be knowledgeable and authoritative about technology when we engage with customers.  One of the areas where Keste leads is on Oracle’s Virtualization Offerings.  So I will be posting more and more content with respect to those offerings.&lt;/p&gt;&#10;&lt;p&gt;Today I will be documenting the steps to install Oracle VM Manager 3.1.1.  Oracle VM (OVM) is a Xen-based Virtualization Technology.  An OVM Deployment consists of the OVM Server (the bare metal hypervisor) and the OVM Manager, the application stack which manages the afforementioned hypervisors (organized into Server Pools).&lt;/p&gt;</description></item><item><title>Bash: A Better Way to Sed</title><link>https://thebin.net/2012/05/bash-a-better-way-to-sed/</link><pubDate>Tue, 01 May 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/05/bash-a-better-way-to-sed/</guid><description>&lt;p&gt;So I frequently find myself in a situation where I need to modify files on a fairly programmatic basis, so sed has become a friend of mine for a lot of these situations.  So lets start with some basic sed…&lt;/p&gt;&#10;&lt;p&gt;If I have a file..&lt;/p&gt;&#10;&lt;div class="codeblock" data-lang="bash"&gt;&#10; &lt;div class="codeblock__bar"&gt;&#10; &lt;span class="codeblock__lang"&gt;bash&lt;/span&gt;&#10; &lt;button type="button" class="codeblock__copy" aria-label="Copy code"&gt;&#10; &lt;span class="codeblock__copy-label"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;/div&gt;&#10; &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="cl"&gt;cat /etc/file.txt&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;blah&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;blah&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;teststring&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;blah&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;blah&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;And I want to replace “teststring” with “productionvalue” then I could use sed.&lt;/p&gt;&#10;&lt;div class="codeblock" data-lang="bash"&gt;&#10; &lt;div class="codeblock__bar"&gt;&#10; &lt;span class="codeblock__lang"&gt;bash&lt;/span&gt;&#10; &lt;button type="button" class="codeblock__copy" aria-label="Copy code"&gt;&#10; &lt;span class="codeblock__copy-label"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;/div&gt;&#10; &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="cl"&gt;sed -i &lt;span class="s1"&gt;&amp;#39;s/teststring/productionvalue/g&amp;#39;&lt;/span&gt; /etc/file.txt&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;div class="codeblock" data-lang="bash"&gt;&#10; &lt;div class="codeblock__bar"&gt;&#10; &lt;span class="codeblock__lang"&gt;bash&lt;/span&gt;&#10; &lt;button type="button" class="codeblock__copy" aria-label="Copy code"&gt;&#10; &lt;span class="codeblock__copy-label"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;/div&gt;&#10; &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="cl"&gt;cat /etc/file.txt&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;blah&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;blah&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;productionvalue&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;blah&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;blah&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;This is all well and good, but recently I found a better way…&lt;/p&gt;</description></item><item><title>Bash: Duplicate Logical Volume Configuration for a Volume Group</title><link>https://thebin.net/2012/04/bash-duplicate-logical-volume-configuration-for-a-volume-group/</link><pubDate>Mon, 30 Apr 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/04/bash-duplicate-logical-volume-configuration-for-a-volume-group/</guid><description>&lt;p&gt;I recently ran into a situation where I needed to create a large number of Logical Volumes for a server replacement situation.  I could have done some manual data input, but why not take the opportunity to quickly write a script to do the hard work for me?&lt;/p&gt;&#10;&lt;p&gt;For my situation this was a server that pulls data from other servers in order to optimize getting that data to tape.  So we had 2 VGs, one for the system and one for the data we wanted to move.  We planned on simply performing a rsync to move the data itself, but the volumes had to be pre-staged.&lt;/p&gt;</description></item><item><title>Preparing Minimal Images with Debootstrap</title><link>https://thebin.net/2012/03/preparing-minimal-images-with-debootstrap/</link><pubDate>Tue, 27 Mar 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/03/preparing-minimal-images-with-debootstrap/</guid><description>&lt;p&gt;Debootstrap gives us a simple and consistent way to cleanly setup machines by installing packages directly into a file system directly from the repos.  These have the flexibility of being used across many different kind of machines.&lt;/p&gt;&#10;&lt;h2 id="create-directory-structure"&gt;Create Directory Structure&lt;/h2&gt;&#10;&lt;p&gt;Here we are just creating the directories into which we will be installing the operating systems into.&lt;/p&gt;&#10;&lt;div class="codeblock" data-lang="bash"&gt;&#10; &lt;div class="codeblock__bar"&gt;&#10; &lt;span class="codeblock__lang"&gt;bash&lt;/span&gt;&#10; &lt;button type="button" class="codeblock__copy" aria-label="Copy code"&gt;&#10; &lt;span class="codeblock__copy-label"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;/div&gt;&#10; &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="cl"&gt;mkdir -p /mnt/build/amd64 /mnt/build/i386&#10;&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; /mnt/build/amd64&lt;span class="p"&gt;;&lt;/span&gt; mkdir ubuntu_10.04 ubuntu_10.10 ubuntu_11.04 ubuntu_11.10 debian_5 debian_6&#10;&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; /mnt/build/i386&lt;span class="p"&gt;;&lt;/span&gt; mkdir ubuntu_10.04 ubuntu_10.10 ubuntu_11.04 ubuntu_11.10 debian_5 debian_6&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="install-required-software"&gt;Install Required Software&lt;/h2&gt;&#10;&lt;div class="codeblock" data-lang="bash"&gt;&#10; &lt;div class="codeblock__bar"&gt;&#10; &lt;span class="codeblock__lang"&gt;bash&lt;/span&gt;&#10; &lt;button type="button" class="codeblock__copy" aria-label="Copy code"&gt;&#10; &lt;span class="codeblock__copy-label"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;/div&gt;&#10; &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="cl"&gt;apt-get install debootstrap&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="install-operating-systems-into-the-folders"&gt;Install Operating Systems into the Folders&lt;/h2&gt;&#10;&lt;p&gt;Ubuntu Lucid&lt;/p&gt;</description></item><item><title>Linux-KVM: Ubuntu 12.04 with Openvswitch</title><link>https://thebin.net/2012/03/linux-kvm-ubuntu-12-04-with-openvswitch/</link><pubDate>Mon, 26 Mar 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/03/linux-kvm-ubuntu-12-04-with-openvswitch/</guid><description>&lt;h2 id="update-october-29-2012"&gt;UPDATE: October 29, 2012&lt;/h2&gt;&#10;&lt;p&gt;This article doesn’t work on Ubuntu 12.10, to use Ubuntu 12.10 please refer to my new article &lt;a href="http://blog.allanglesit.com/2012/10/linux-kvm-ubuntu-12-10-with-openvswitch/"&gt;here&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Openvswitch is a better way of managing your virtual networking stacks for KVM and Xen.  This can be used instead of the bridge-utils package, and has the ability to use VLANs, LACP, QoS, sFlow, and others.  In this article we will be using Ubuntu 12.04 (beta1) to configure Openvswitch to hand out networking interfaces to KVM guests.&lt;/p&gt;</description></item><item><title>Securing SSH with Publicly Accessible Servers</title><link>https://thebin.net/2012/02/securing-ssh-with-publicly-accessible-servers/</link><pubDate>Thu, 16 Feb 2012 00:00:00 +0000</pubDate><guid>https://thebin.net/2012/02/securing-ssh-with-publicly-accessible-servers/</guid><description>&lt;p&gt;Just about every IT environment has some sort of remotely managed environment which requires that they have SSH open to the Internet.  Perhaps this is a VPS, dedicated server, or colocation.  Regardless of your reason, the fact is that there is just some times where you need to have SSH open to the internet.&lt;/p&gt;&#10;&lt;p&gt;However regardless of if it is necessary doesn’t mean that you should just do it…  One look at your auth.log will reveal that.&lt;/p&gt;</description></item><item><title>Linux-KVM: Converting Raw Disk Images to LVM Logical Volumes Redux</title><link>https://thebin.net/2011/11/linux-kvm-converting-raw-disk-images-to-lvm-logical-volumes-redux/</link><pubDate>Mon, 07 Nov 2011 00:00:00 +0000</pubDate><guid>https://thebin.net/2011/11/linux-kvm-converting-raw-disk-images-to-lvm-logical-volumes-redux/</guid><description>&lt;p&gt;This really is an update to my previous article “&lt;a href="http://blog.allanglesit.com/2011/03/linux-kvm-converting-raw-disk-images-to-lvm-logical-volumes/"&gt;Linux-KVM: Converting Raw Disk Images to LVM Logical Volumes&lt;/a&gt;“, but the process is significantly different and thus requires more explaining than a simple inline update would do it justice.  Now the big flaw with my first article was that by using dd on the hypervisor level, we are opening ourselves up to unintentional data loss due to incompetence or even a very competent slip of the finger.&lt;/p&gt;</description></item><item><title>Bash: Using Temporary SSH Keys Within A Script</title><link>https://thebin.net/2011/08/bash-using-temporary-ssh-keys-within-a-script/</link><pubDate>Wed, 10 Aug 2011 00:00:00 +0000</pubDate><guid>https://thebin.net/2011/08/bash-using-temporary-ssh-keys-within-a-script/</guid><description>&lt;p&gt;Every once and a while you will have the need to make multiple ssh calls to remote systems within a bash script.  Normally you would simply have the user enter their password multiple times, or have a requirement for SSH keys to be configured prior to running the keys.  This is widely accepted as the way to do it, however if that were the best way to do it, then I would not be writing this article.  Now the better way to do it would be to create ssh keys, and upload them as authorized keys to the remote host(s) then upon completion of the work we can then clean up the changes that we made.&lt;/p&gt;</description></item><item><title>Bash: Using pv to Display Progress of dd</title><link>https://thebin.net/2011/08/bash-using-pv-to-display-progress-of-dd/</link><pubDate>Tue, 09 Aug 2011 00:00:00 +0000</pubDate><guid>https://thebin.net/2011/08/bash-using-pv-to-display-progress-of-dd/</guid><description>&lt;p&gt;One of the biggest weaknesses of dd is that it has no way to display progress on its actions.  You can send a signal to the process which will pause, display statistics, and resume the process however this takes up alot of your terminal screen if you are doing any sort of long running copy.  Enter pv.  Pv allows us to monitor the progress of data through a pipe.&lt;/p&gt;&#10;&lt;h2 id="create-a-1gb-test-file"&gt;Create A 1GB Test File&lt;/h2&gt;&#10;&lt;p&gt;This is the file that we will use to peform the following tests.&lt;/p&gt;</description></item><item><title>Linux-KVM: Converting Raw Disk Images to LVM Logical Volumes</title><link>https://thebin.net/2011/03/linux-kvm-converting-raw-disk-images-to-lvm-logical-volumes/</link><pubDate>Wed, 09 Mar 2011 00:00:00 +0000</pubDate><guid>https://thebin.net/2011/03/linux-kvm-converting-raw-disk-images-to-lvm-logical-volumes/</guid><description>&lt;p&gt;Linux Logical Volume Manager provides a better method for managing your disks in the home and even more so in the datacenter.  I briefly outlined some of the benefits afforded us by LVM2 in a previous article &lt;a href="http://blog.allanglesit.com/2011/03/linux-lvm2-flexible-local-storage-management/"&gt;Linux LVM2: Flexible Local Storage Management&lt;/a&gt;.  In this article I will provide you with some very simple steps and scenarios to migrate your existing KVM VMs to LVM2 Logical Volumes.&lt;/p&gt;&#10;&lt;p&gt;In this article I am going to make an assumption that your disk images are raw disk images and that you are not using qcow2, vhd, vdi, vmdk or any other disk image format.  Additionally this process should work for a physical or RAID device as well, though I have not verified that.&lt;/p&gt;</description></item><item><title>Linux LVM2: Flexible Local Storage Management</title><link>https://thebin.net/2011/03/linux-lvm2-flexible-local-storage-management/</link><pubDate>Tue, 01 Mar 2011 00:00:00 +0000</pubDate><guid>https://thebin.net/2011/03/linux-lvm2-flexible-local-storage-management/</guid><description>&lt;p&gt;Linux LVM provides a different way of looking at storage.  On the server side this provides much more flexibility than standard disks with partitions.  It allows us to migrate from old to new storage as well as expand the available storage to a particular file system easily (assuming that there is free space available).&lt;/p&gt;&#10;&lt;p&gt;Basically LVM abstracts the physical storage by creating Physical Volumes (PV), and each PV is divided into Physical Extents (PE) which are a consistent size.  Physical Volumes are then added to a Volume Group (VG) which essentially pools all of the PE on all member PV.  Once you have a VG you can then create a Logical Volume (LV) which can be formatted and used as if it were a physical disk, the difference is that the LV can be expanded as many times as needed up until all PE have been allocated within the VG.  In this event you could then simply add another PV to the VG, which would make available additional PE to be added to a LV.&lt;/p&gt;</description></item></channel></rss>