<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>the blog of Chris &#187; debian</title>
	<atom:link href="http://blog.christophersmart.com/tag/debian/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.christophersmart.com</link>
	<description>Fortiter Et Recte</description>
	<lastBuildDate>Wed, 28 Dec 2011 23:39:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Hi Debian, welcome to 1904</title>
		<link>http://blog.christophersmart.com/2010/01/19/hi-debian-welcome-to-1904/</link>
		<comments>http://blog.christophersmart.com/2010/01/19/hi-debian-welcome-to-1904/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 11:00:13 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[gpg]]></category>
		<category><![CDATA[invalid]]></category>
		<category><![CDATA[keys]]></category>
		<category><![CDATA[ppc]]></category>

		<guid isPermaLink="false">http://blog.christophersmart.com/?p=1926</guid>
		<description><![CDATA[I tried to install Debian onto an old PPC iMac with 300MB RAM without success. Firstly, the testing network and business card installers would segfault when booting. A known problem which hasn&#8217;t yet been fixed. No matter, I just switched to the stable network installer and began my journey. Problem is, it gets stuck at [...]]]></description>
			<content:encoded><![CDATA[<p>I tried to install Debian onto an old PPC iMac with 300MB RAM without success.</p>
<p>Firstly, the testing network and business card installers would segfault when booting. A known problem which hasn&#8217;t yet been fixed.</p>
<p>No matter, I just switched to the stable network installer and began my journey. Problem is, it gets stuck at configuring packages. Just sits there at 1% forever. When I see the log, I notice that it&#8217;s prompting me to confirm the installation of packages, which is hidden from the main screen and therefore what was causing it to die.</p>
<p>Changing root into /target I ran a few commands myself and noticed that apt-get update said that the GPG keys from debian-archive-keyring were invalid.</p>
<p>DAMN. What&#8217;s going on..</p>
<p>So I tried everything I could to fix it. Googled and Googled and Googled to no avail. Lots of people had similar issues, but forcing a re-install of <code>debian-archive-keyring</code> fixed it for them. Others said to use a different mirror.</p>
<p>I was about to curse Debian for no-longer caring about PPC and then it hit me. <em>Check the date of the machine.</em> Yes, sir, it was 3rd January 1904 &#8211; as far as Debian was concerned, the keys were well and truly invalid.</p>
<p>So a simple, <code>apt-get install ntpdate &#038;&#038; ntpdate ntp.internode.on.net</code> and everything was sweet. Why it didn&#8217;t do this properly when I configured the time during the installer I don&#8217;t know. Nevertheless, I&#8217;m happy again.</p>
<p>Silly me.</p>
<p>-c</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophersmart.com/2010/01/19/hi-debian-welcome-to-1904/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeNAS 8.0 will be GNU/Linux, no longer FreeBSD</title>
		<link>http://blog.christophersmart.com/2009/12/01/freenas-8-0-will-be-gnulinux-no-longer-freebsd/</link>
		<comments>http://blog.christophersmart.com/2009/12/01/freenas-8-0-will-be-gnulinux-no-longer-freebsd/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 00:31:16 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[freenas]]></category>
		<category><![CDATA[zfs]]></category>

		<guid isPermaLink="false">http://blog.christophersmart.com/?p=1590</guid>
		<description><![CDATA[Looks like FreeNAS will switch from FreeBSD to Debian GNU/Linux for the next major release. In July this year Volker Theile registered a new project called CoreNAS, which is what 8.0 will be based upon. This means that they will lose native ZFS support (probably one of the biggest attractions), I don&#8217;t think that ZFS [...]]]></description>
			<content:encoded><![CDATA[<p>Looks like FreeNAS will <a href="http://sourceforge.net/apps/phpbb/freenas/viewtopic.php?f=5&#038;t=3966&#038;start=0">switch from FreeBSD to Debian GNU/Linux</a> for the next major release. In July this year Volker Theile registered a new project called <a href="http://corenas.sourceforge.net/">CoreNAS</a>, which is what 8.0 will be based upon.</p>
<p>This means that they will lose native ZFS support (probably one of the biggest attractions), I don&#8217;t think that ZFS over Fuse will really be an acceptable option. It&#8217;ll be interesting to see if they pick up on <a href="http://en.wikipedia.org/wiki/BTRFS">Btrfs</a> instead <img src='http://blog.christophersmart.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The decision wasn&#8217;t easy, but was required due to users constantly wanting new features which were just too hard to put into the existing system. Bugs were also a major factor, saying:</p>
<blockquote><p>My decision to use Linux for the next version was because there are too much bugs in the core FreeBSD system. Simply have a look into the bug tracker. FreeNAS does not run on many systems, mainly new hardware makes trouble. The main reason is the driver problem with FreeBSD which seems to be no problem with Linux because there are great companies in the back that support it. Also the Linux developer community is much greater than the FBSD one.</p></blockquote>
<p>Volker also lists <a href="http://sourceforge.net/apps/phpbb/freenas/viewtopic.php?f=5&#038;t=3966&#038;start=10#p19351">some of the pros</a>:</p>
<blockquote><p>- Text and grahical installer that can be customized. This means no hand written install scripts anymore which causes some problems in FreeNAS<br />
- WOL works in Linux<br />
- lmsensor &#8211; A WORKING sensor framework which is a really needed feature in FreeNAS to check the CPU/MB temps and fan speeds<br />
- Better Samba performance<br />
- Ability to implement HA features<br />
- System can be updated via &#8216;apt-get&#8217; or any other deb package manager<br />
- Better driver support<br />
- Maybe &#8216;ZFS&#8217; over FUSE (there is already one commercial product available that uses this feature)<br />
- NFS4<br />
- &#8230;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophersmart.com/2009/12/01/freenas-8-0-will-be-gnulinux-no-longer-freebsd/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Linux on an Apple Xserve EFI only machine</title>
		<link>http://blog.christophersmart.com/2009/07/23/linux-on-an-apple-xserve-efi-only-machine/</link>
		<comments>http://blog.christophersmart.com/2009/07/23/linux-on-an-apple-xserve-efi-only-machine/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 06:53:48 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[efi]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[loader]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xserve]]></category>

		<guid isPermaLink="false">http://blog.christophersmart.com/?p=1005</guid>
		<description><![CDATA[We have a few of these Apple Xserve machines at work which weren&#8217;t doing much, so I thought I&#8217;d make better use of them. Naturally, this meant installing Linux on them. These machines do not have a BIOS (or even any emulation), they use EFI and as such won&#8217;t boot the standard Linux install media. [...]]]></description>
			<content:encoded><![CDATA[<p>We have a few of these <a href="http://www.apple.com/au/xserve/">Apple Xserve machines</a> at work which weren&#8217;t doing much, so I thought I&#8217;d make better use of them. Naturally, this meant installing Linux on them.</p>
<p>These machines do not have a BIOS (or even any emulation), they use EFI and as such won&#8217;t boot the standard Linux install media. I knew that Fedora could boot EFI, so that&#8217;s where I started, with Leonidas (version 11). Unfortunately, the install media just wouldn&#8217;t work on this device, presumably as it has no BIOS emulation.</p>
<p>To cut a long story short, I had to <a href="http://homepages.tesco.net/~J.deBoynePollard/FGA/efi-boot-process.html">learn how EFI works</a> in order to get it booting and it wasn&#8217;t an easy thing to discover!</p>
<p><span id="more-1005"></span></p>
<p><strong>Booting EFI</strong><br />
In short, the Apple EFI boots and scans all available drives (including USB drives) for a GPT partitioned device which has a FAT formatted partition on it. Inside this partition it looks for an <code>efi</code> directory.</p>
<p>In that directory must be another from the <a href="http://www.uefi.org/specs/esp_registry">list of approved vendor named directories</a>, such as <code>redhat</code> or <code>apple</code>. The default is <code>boot</code> and this is what I used.</p>
<p>Inside that <code>boot</code> directory, EFI looks for a binary EFI file, which it can run. In my case, this is a GRUB2 EFI binary. The name of the file must match your architecture, so for me it is called <code>bootia32.efi</code> but if you&#8217;re running a 64bit system it should be <code>bootx64.efi</code>.<br />
<strong>NOTE:</strong> Your Mac <a href="http://blog.christophersmart.com/2009/12/22/does-your-mac-have-64bit-efi/">must have a 64bit EFI</a> to load the 64bit EFI Linux installer (bootx64.efi)). Else, try choosing the 64bit options when using the 32bit EFI installer (bootia32.efi), but either way your system must have a 64bit CPU.</p>
<p>The GRUB2 EFI binary I am using looks for the standard GRUB config file, which is called <code>grub.cfg</code>. This must also be in the efi/boot/ directory of the USB device. The kernel and initramfs for the net installer should also be in that directory.</p>
<p>I have made a Debian Squeeze, Fedora Constantine and Ubuntu Karmic installer <a href="http://christophersmart.com/files/efi-grub.tar.bz2">which you can download</a> and extract onto your USB device (<a href="http://christophersmart.com/files/efi-grub.tar.bz2.sha1">sha1sum</a>). You will still need to partition and format your device, so more on how to do that later.</p>
<p><strong>Partition USB Boot Device</strong><br />
So, once we understand how EFI works, next we need to get a bootable GRUB happening in order to install Linux.</p>
<p>Grab a USB memory stick and let&#8217;s prepare it. Please know what device it is you&#8217;re partitioning!! I&#8217;ll use sdz just for example purposes only.<br />
Unmount it<br />
<code>su -c 'umount /dev/sdz1'</code></p>
<p>Partition and format it<br />
<code>Partition and format it<br />
<code>su -c 'parted -s /dev/sdz mklabel gpt mkpartfs EFI fat32 0% 100% toggle 1 boot'</code></code></p>
<p>It should now automatically mount. If not, unplug it and plug it in again, or mount it manually.</p>
<p><strong>Prepare USB Boot Device</strong><br />
Next you can extract my tarball onto the device, ensuring that it maintains the efi/boot/ directory structure on it and not create an extra directories because of the archiver. If it&#8217;s not right, then re-arrange things and eject the device.</p>
<p>You should now be able to plug it into your Xserve and turn it on.</p>
<p>Hold down the Option key (Alt key on non-Apple keyboards) until you see the boot option. It should show &#8220;EFI&#8221; on the usb stick. Boot this and you should see the GRUB menu load. Choose the distro you want to install and away you go! See the &#8220;Installation&#8221; section below and skip the next few.</p>
<p><strong>Manual preparation &#8211; Building GRUB2</strong><br />
Before we can compile GRUB, we need some dependencies. If you&#8217;re using Debian or Ubuntu, then run the following:<br />
<code>sudo apt-get build-dep grub2<br />
sudo apt-get install libusb-dev</code></p>
<p>We need to check out GRUB from CVS and <a href="http://grub.enbug.org/TestingOnEFI">build it for EFI systems</a>. Note, my Xserve is 32bit only, so I&#8217;m installing 32bit version. If you&#8217;re using 64bit then use a 64bit OS. You can cross compile, see the link above for info if you need to.</p>
<p>Check out source from CVS:<br />
<code>cvs -z3 \<br />
-d:pserver:anonymous@cvs.savannah.gnu.org:/sources/grub \<br />
co grub2<br />
cd grub2</code></p>
<p>Or get source from Debian (which is more likely to compile):<br />
<code>apt-get source grub2<br />
cd grub2*<br />
</code></p>
<p>Build grub2:<br />
<code>./configure --with-platform=efi<br />
make</code></p>
<p>Now, make a temporary directory in which to put the GRUB EFI binary.<br />
<code>mkdir -p efi/boot/</code></p>
<p>Next we need to create the GRUB2 EFI program, and will specify a bunch of modules to include. This was a big stumbling block for me because someone removed the ability to read config files from module &#8220;configfile&#8221; and put it into &#8220;minicmd&#8221; requiring &#8220;sh&#8221;. The documentation I was following was not updated and I couldn&#8217;t work out why GRUB2 couldn&#8217;t parse my config (typing it in manually at the GRUB2 command prompt worked however). After lots of wasted time I emailed the GRUB list and had an answer within 20 minutes, which was a big relief.</p>
<p><code>./grub-mkimage -d . -o bootia32.efi part_gpt hfsplus fat ext2 normal sh chain boot configfile minicmd linux loadbios reboot appleldr halt search<br />
sudo cp bootia32.efi efi/boot/</code></p>
<p>The efi/ directory now just needs to be copied onto your FAT USB stick. Don&#8217;t forget to make sure the directory structure is correct, as laid out above.</p>
<p>Now you just need to create a GRUB2 config file, which we&#8217;ll do below after getting the kernel and initramfs.</p>
<p><strong>Manual preparation &#8211; Linux installers</strong><br />
I am using the netboot installers for each distro. This basically consists of a kernel, initramfs (which includes the installer). To know how to boot these in the GRUB config file, I read the isolinux configs included on the install CDs.</p>
<p>So, download the network installer of your choice in ISO format. Mount loop it and copy the kernel and initramfs onto the efi/boot/ directory on your USB disk.</p>
<p>For example (32bit), <a href="ftp://mirror.internode.on.net/ubuntu/dists/karmic/main/installer-i386/current/images/netboot/mini.iso">Ubuntu</a>, <a href="ftp://mirror.internode.on.net/pub/fedora/linux/releases/12/Fedora/i386/os/images/boot.iso">Fedora</a>, <a href="ftp://mirror.internode.on.net/debian/dists/squeeze/main/installer-i386/current/images/netboot/mini.iso">Debian Squeeze</a> (note that Fedora does actually have an <a href="ftp://mirror.internode.on.net/pub/fedora/linux/releases/11/Fedora/i386/os/images/efidisk.img">EFI boot disk</a> which you can dd directly to a USB stick and boot, however this didn&#8217;t work on my Xserve but it might be useful to grab the kernel and initramfs from as it&#8217;s smaller).</p>
<p>Mount loop ISO:<br />
<code>mkdir /tmp/iso<br />
sudo mount -o loop boot.iso /tmp/iso</code></p>
<p>Copy the kernel and initramfs from /tmp/iso onto your USB stick. You might need to look at the isolinux.cfg files under /tmp/iso in order to find out which is the kernel. On Debian and Ubuntu the kernel is called <code>linux</code> and the initramfs is called <code>initrd.gz</code>, both in the root directory.</p>
<p><strong>GRUB Config File</strong><br />
Now that you have the GRUB2 EFI binary (bootia32.efi), kernel and initramfs on the USB stick, we need a config file for GRUB to read when it loads.</p>
<p>Here is an example for all four distros that I use in my provided tarball.<br />
<code>set timeout=10<br />
set default=0<br />
menuentry "Debian Squeeze" {<br />
   linux /efi/boot/linux-squeeze priority=low vga=normal video=efifb<br />
   initrd /efi/boot/initrd-squeeze.gz<br />
}<br />
menuentry "Fedora Leonidas" {<br />
  linux /efi/boot/vmlinuz-leonidas nomodeset xdriver=fbdev noselinux<br />
   initrd /efi/boot/initrd-leonidas.img<br />
}<br />
menuentry "Ubuntu Jaunty" {<br />
   linux /efi/boot/linux-jaunty priority=low vga=normal video=efifb<br />
   initrd /efi/boot/initrd-jaunty.gz<br />
}<br />
menuentry "Ubuntu Karmic" {<br />
   linux /efi/boot/linux-karmic priority=low vga=normal video=efifb<br />
   initrd /efi/boot/initrd-karmic.gz<br />
}</code></p>
<p>Note that for Fedora I had to turn kernel based mode-setting <strong>off</strong>, and specify the Xserver driver.</p>
<p>The USB keyboard just wouldn&#8217;t work on either Ubuntu, but Debian Squeeze worked fine. I ended up choosing Fedora.</p>
<p><strong>Manual preparation &#8211; Install Linux</strong><br />
Once you have all the required files, plug the stick in and turn on the Xserve. Hold down the Option key (Alt key on non-Apple keyboards) until you see the boot option. It should show &#8220;EFI&#8221; on the usb stick. Boot this and you should see the GRUB menu load where you can boot your network installer of choice.</p>
<p><strong>Installation</strong><br />
When installing, you need to follow the same partition structure as the USB stick. I completely blew away all Apple partitions and am booting only Linux. The <strong>drives need to be GPT</strong> and to have a <strong>small FAT partition at the beginning</strong> with the efi/boot/ directory, GRUB2 EFI binary, GRUB config, kernel and initramfs.</p>
<p>There&#8217;s probably a better way to do this, I&#8217;m sure some distros will support GRUB2 and EFI out of the box soon. In the mean time I install the OS without a boot loader and create the efi/boot/ system manually. This means every time you update your kernel, you need to copy the kernel and initramfs, and update the GRUB config file.</p>
<p>The config file should be the same as the one used on the USB stick, except that the names of the kernel and initramfs will be different. For example:</p>
<p><code>set timeout=10<br />
set default=0<br />
menuentry "Fedora Leonidas" {<br />
  linux /efi/boot/vmlinuz-2.6.28-13-generic nomodeset xdriver=fbdev noselinux root=/dev/sda3 ro<br />
   initrd /efi/boot/initrd.img-2.6.28-13-generic<br />
}</code></p>
<p><strong>Conclusion</strong><br />
These are some rough notes to hopefully help others out there trying similar things. Please let me know how it works for you. I installed Fedora on my Xserve and it&#8217;s running quite well!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophersmart.com/2009/07/23/linux-on-an-apple-xserve-efi-only-machine/feed/</wfw:commentRss>
		<slash:comments>132</slash:comments>
		</item>
		<item>
		<title>Yum still on the menu?</title>
		<link>http://blog.christophersmart.com/2009/06/24/yum-still-on-the-menu/</link>
		<comments>http://blog.christophersmart.com/2009/06/24/yum-still-on-the-menu/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 06:15:19 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[comparision]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://blog.christophersmart.com/?p=876</guid>
		<description><![CDATA[Update: I&#8217;ve tried to post my results back to Seth&#8217;s thread but it won&#8217;t work, so I&#8217;ve emailed him instead. In response to my article comparing Yum and Apt (at least I think it was my article, might have been someone else&#8217;s I guess), lead developer of Yum, Seth Vidal, wrote his own test script [...]]]></description>
			<content:encoded><![CDATA[<p><em>Update: I&#8217;ve tried to post my results back to Seth&#8217;s thread but it won&#8217;t work, so I&#8217;ve emailed him instead.</em></p>
<p>In response to my <a href="http://www.linux-mag.com/id/7382/">article comparing Yum and Apt</a> (at least I think it was my article, might have been someone else&#8217;s I guess), lead developer of Yum, <a href="http://skvidal.wordpress.com/">Seth Vidal</a>, wrote his own test script and performed <a href="http://skvidal.wordpress.com/2009/06/18/yum-benchmarks/">some Yum benchmarks of his own</a>.</p>
<p>He wrote:</p>
<blockquote><p>Always a fun comparison. It’d be even more fun if any of the numbers seemed accurate.</p></blockquote>
<p>His ran his test and concluded that Yum is &#8220;pretty good&#8221; and offers for others to run the test and post their results. So I did, on the same computer I used for the my article. I also compared the results to Ubuntu, as that&#8217;s really what my article was talking about <img src='http://blog.christophersmart.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>So what did I find?</p>
<p><span id="more-876"></span><br />
<strong>Scripts</strong><br />
Firstly, here is the script he wrote:<br />
<a href="http://skvidal.fedorapeople.org/misc/yum-test.sh.txt">http://skvidal.fedorapeople.org/misc/yum-test.sh.txt</a></p>
<p>Here is the script I modified for Ubuntu:<br />
<a href="http://christophersmart.com/files/apt-test.sh">http://christophersmart.com/files/apt-test.sh</a></p>
<p><strong>Preparation</strong><br />
Before running the tests I first deleted all old repo data as I wanted as clean a system as possible. I then ran &#8220;yum check-update&#8221; and &#8220;yum install -y &#8211;downloadonly zziplib-utils&#8221; on Fedora so that I had an up-to-date package database and the files locally. I did the same thing on Ubuntu (but obviously not with &#8220;yum&#8221;).</p>
<p>Then I uninstalled &#8220;yum-plugin-downloadonly&#8221; and &#8220;yum-plugin-download-remove-with-leaves&#8221; and rebooted, so that it would not negatively affect the speed of Yum having to load extra plugins outside of the default.</p>
<p>I also ran the tests in <em>single user mode</em> so that other system processes such as PackageKit would not interfere.</p>
<p>After I had run both scripts, I also re-ran each of the tests <em>individually</em> (which below I call &#8220;freshboot&#8221;), rebooting in between each one so that memory caching would not manipulate the results. After all, running all those commands one after another is bound to overlap and I don&#8217;t think provides an accurate benchmark of each package management component.</p>
<p><strong>Results</strong><br />
Results for Fedora 11 are here, followed by results on a freshboot:<br />
<a href="http://christophersmart.com/files/simple-yum-results.txt">http://christophersmart.com/files/simple-yum-results.txt</a><br />
<a href="http://christophersmart.com/files/simple-yum-results-freshboot.txt">http://christophersmart.com/files/simple-yum-results-freshboot.txt</a></p>
<p>Ubuntu 9.04 results are here, followed by results on a freshboot:<br />
<a href="http://christophersmart.com/files/simple-apt-results.txt">http://christophersmart.com/files/simple-apt-results.txt</a><br />
<a href="http://christophersmart.com/files/simple-apt-results-freshboot.txt">http://christophersmart.com/files/simple-apt-results-freshboot.txt</a></p>
<p><strong>Analysis</strong></p>
<p><em><strong>Search by keyword</strong></em><br />
Yum provided 5 results and took 4.746s<br />
Apt provided 12 results and took 1.366s</p>
<p><em>Apt was 3.47 times faster.</em></p>
<p><em>Fresh boot</em><br />
Yum took 3.380s<br />
Apt took 1.240s</p>
<p><em>Apt was 2.73 times faster.</em><br />
NOTE: I don&#8217;t know why this results were faster on a freshboot, they should be about the same as the first test was on a fresh boot anyway!</p>
<p><strong><em>Search by file provide</em></strong><br />
Yum took 10.654s<br />
Apt took 2.291s</p>
<p><em>Apt was 4.65 times faster.</em><br />
NOTE: I have discovered that running &#8220;yum provides&#8221; builds a cache and so subsequent searches are much faster. Debian has two tools for this, apt-file and dpkg, but dpkg only works for installed packages while apt-file does the entire repository. Also, apt-file needs to be updated like apt-get does, so perhaps a better comparison is needed.</p>
<p><em>Fresh boot</em><br />
Yum took 10.903s<br />
Apt took 2.354s</p>
<p><em>Apt was 4.63 times faster.</em></p>
<p><em><strong>List installed pkgs</strong></em></p>
<p>Yum listed 1,092 packages and took 1.756s<br />
Apt listed 1,188 packages and took 0.191s</p>
<p><em>Apt was 9.19 times faster.</em></p>
<p><em>Fresh boot</em><br />
Yum took 3.924s<br />
Apt took 0.187s</p>
<p><em>Apt was 20.98 times faster.</em></p>
<p><em><strong>Install pkg + deps</strong></em><br />
Yum installed two programs and took 9.775s<br />
Apt installed two programs and took 4.868s</p>
<p><em>Apt was 2.01 times faster.</em><br />
NOTE: I didn&#8217;t install the same program for my tests, but in my article Apt was about 3 times faster.</p>
<p><em>Fresh boot</em><br />
Yum took 14.097s<br />
Apt took 5.671s</p>
<p><em>Apt was 2.49 times faster.</em></p>
<p><em><strong>Removing package</strong></em></p>
<p>Yum took 3.714s<br />
Apt took 2.337s</p>
<p><em>Apt was 1.56 times faster.</em><br />
NOTE: For the tests in my article I used yum with &#8220;&#8211;remove-leaves&#8221;, which checks to see if any other programs requires the dependencies of the package you&#8217;re using and if not, removes those too. This was not done here, which is most likely the cause of the big difference between these and the results in my article. In my article I used tomboy for my tests (after I had removed all mono applications and then re-installed tomboy) which had to remove 7 dependencies. The test used in this script is not really testing all that.</p>
<p><em>Fresh boot</em><br />
Yum took 10.137s<br />
Apt took 4.916s</p>
<p><em>Apt was 2.06 times faster.</em></p>
<p><strong>Conclusion</strong><br />
Seth&#8217;s test seem to confirm my own findings, with the exception of installing and removing packages. Naturally I installed different packages than were used here and I also used the remove-with-leaves plugin for Yum to make it remove no-longer needed dependencies.</p>
<p>These two tests probably caused the most eyebrow raising (as in my article it shows Ubuntu as being 3 and 5 times faster, respectively) but they aren&#8217;t really addressed in Seth&#8217;s script. The results from his script are in Ubuntu&#8217;s favour to a factor of 2.5 and 2, respectively so it&#8217;s not crazily out of proportion. I&#8217;d be interested to see some results on this. Also, a better test for searching by provides would be useful.</p>
<p>Of course it is hard to compare these when they all use different packages and pull in different dependencies. This is why I also had a test to install from a file rather than the database. My test installed Skype via an rpm and deb (ugly I know, but it was the only 3rd party application I could find which provided native packages for both distros), which had zero dependencies and was not in the local database. In my tests Ubuntu was faster than Fedora by a factor of 7. I&#8217;d like to see this included in his script too.</p>
<p>It is interesting to see that Apt is faster still, when running from a fresh boot.</p>
<p>Never-the-less, I would invite any others who wish to test to do so also and let me know how it went. Sure, Yum might have bucket loads more metadata and maybe it can do lots more fancy things, but at the end of the day it still comes in at second place here.</p>
<p>And while I&#8217;m writing all this up, I want to clarify that I&#8217;m not a Yum hater. I do agree with Seth that Yum is &#8220;pretty good&#8221;, but I just wish it would be better. Actually, I also <em>really</em> like Fedora.</p>
<p>As I concluded in my original article, maybe no-one cares how fast or slow their package manager is. Then again, maybe some people do. Personally, I&#8217;d love to see Yum become the best package manager on the planet <img src='http://blog.christophersmart.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>What I now want to know are all the <em>tweaks and configurations people do to their Yum systems</em> to get better performance. Tips anyone?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophersmart.com/2009/06/24/yum-still-on-the-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Having Yum for Breakfast</title>
		<link>http://blog.christophersmart.com/2009/06/19/having-yum-for-breakfast/</link>
		<comments>http://blog.christophersmart.com/2009/06/19/having-yum-for-breakfast/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 22:52:23 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[manager]]></category>
		<category><![CDATA[managment]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://blog.christophersmart.com/?p=858</guid>
		<description><![CDATA[This week I decided to write a comparative article between Yum and Apt (the package managers). Using Fedora 11 and Ubuntu 9.04, I performed various tests and benchmarked both the time and CPU usage they took. But why? Let me explain. I really like the Fedora project. Really. I like their stance on proprietary drivers [...]]]></description>
			<content:encoded><![CDATA[<p>This week I decided to write a <a href="http://www.linux-mag.com/id/7382/">comparative article between Yum and Apt</a> (the package managers). Using Fedora 11 and Ubuntu 9.04, I performed various tests and benchmarked both the time and CPU usage they took. But why? Let me explain.</p>
<p>I really like the <a href="http://fedoraproject.org">Fedora project</a>. Really. I like their stance on proprietary drivers and codecs (and of course free software) and these days they seem to be pushing the technological envelope more than others. Sure Red Hat drives the direction of the project somewhat, but I don&#8217;t mind Red Hat either.</p>
<p>In fact, I wish I could use Fedora as my main distro! But every time I try it I just get so frustrated with <a href="http://yum.baseurl.org/">Yum</a>. Sure it&#8217;s better than up2date, but it&#8217;s so damn slow and annoying. That&#8217;s a problem for someone like me who manually updates his package database first thing every morning and checks to see what packages are available and updates the system by hand. Why do I do that? Cause I like to.</p>
<p>But every time I&#8217;ve tried to get into Fedora that damn package manager has stopped me. I get frustrated after a day or so. I think the longest I&#8217;ve had it on was 2 days before I switched.</p>
<p>Recently I installed Fedora 10 and 11 to see if there was any performance increase. Actually, to tell you the truth <em>I was completely surprised by Yum&#8217;s agility and speed</em>. The old Fedora I remember was not to be seen.. or so it felt like anyway.</p>
<p>Hence, I thought it might be good to run some tests to see.</p>
<p>Of course as the article points out, does any of this matter? Do we really need a fast a nimble package manager? Well for me it matters. It matters a great deal. For most users though they probably won&#8217;t care, as they just let the package manager do its thing in the background.</p>
<p>Still, it makes for some interesting thoughts. I think.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophersmart.com/2009/06/19/having-yum-for-breakfast/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Auto login user with X environment under Debian</title>
		<link>http://blog.christophersmart.com/2009/05/28/auto-login-user-with-x-environment-under-debian/</link>
		<comments>http://blog.christophersmart.com/2009/05/28/auto-login-user-with-x-environment-under-debian/#comments</comments>
		<pubDate>Thu, 28 May 2009 06:53:17 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[auto]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[inittab]]></category>
		<category><![CDATA[live cd]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[xlde]]></category>

		<guid isPermaLink="false">http://blog.christophersmart.com/?p=726</guid>
		<description><![CDATA[I am building a Digital Preservation Recorder live CD for work and have successfully done so using Arch Linux. Now I wanted to try Debian and see how it compares. I want the Live CD to boot and automatically log my user into a graphical environment, and I want to do that using the least [...]]]></description>
			<content:encoded><![CDATA[<p>I am building a <a href="http://dpr.sourceforge.net">Digital Preservation Recorder</a> live CD for work and have successfully done so using <a href="http://archlinux.org">Arch Linux</a>. Now I wanted to try <a href="http://debian.org">Debian</a> and see how it compares.</p>
<p>I want the Live CD to boot and automatically log my user into a graphical environment, and I want to do that using the least amount of resources. I installed Squeeze, including <a href="http://lxde.org">LXDE</a> for my graphical environment. This pulled in the GNOME Desktop Manager by default, which I don&#8217;t want, so I removed it.</p>
<p><code>sudo apt-get remove --purge gdm</code></p>
<p>My plan was to simply edit the inittab and tell it to start up X on a new terminal, so I did this first.</p>
<p><code>sudo vim /etc/inittab</code></p>
<p>The default run level for Debian is 3, so under the line:<br />
<code>6:23:respawn:/sbin/getty 38400 tty6</code></p>
<p>I set the following line:<br />
<code>7:3:once:/bin/su - user -l -c "/bin/bash --login -c startx" &#038;>/dev/null</code></p>
<p>The command basically says to switch root to my user, &#8220;user&#8221;, and execute the startx command from a bash session.</p>
<p>Running the command &#8220;startx&#8221; will of course start the X server, but I need to tell it what environment to load. To do this, I created an .xinitrc in my user&#8217;s home directory.</p>
<p><code>echo "exec startlxde" > ~/.xinitrc</code></p>
<p>Unfortunately, upon a reboot X wouldn&#8217;t start. It took a little while to work out why this wasn&#8217;t working as I expected. Turns out that Debian limits who can start an X session, so I had to edit the file <code>/etc/X11/Xwrapper.config</code> and set <code>allowed_users=anybody</code> rather than just &#8220;root&#8221;.</p>
<p>This can also be achieved by running:<br />
<code>sudo dpkg-reconfigure x11-common</code></p>
<p>The only issue I have at the moment is that logging out of LXDE and selecting &#8220;Restart&#8221; or &#8220;Shutdown&#8221; from the menu does not actually perform said task. I&#8217;m assuming this is because my user doesn&#8217;t have permissions to do so, as X was not started by root. Well, time to fix that next <img src='http://blog.christophersmart.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>-c</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophersmart.com/2009/05/28/auto-login-user-with-x-environment-under-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing priorities</title>
		<link>http://blog.christophersmart.com/2009/04/07/changing-priorities/</link>
		<comments>http://blog.christophersmart.com/2009/04/07/changing-priorities/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 01:31:48 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[apt-get]]></category>
		<category><![CDATA[commands]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[sys admin]]></category>

		<guid isPermaLink="false">http://blog.christophersmart.com/?p=550</guid>
		<description><![CDATA[I&#8217;m scripting some sys admin tasks in Debian which require the installation of packages like Postfix. I don&#8217;t want it to prompt me with questions, so I knew I had to set the priority to something higher for this specific package (i.e. temporarily). There doesn&#8217;t appear to be a way to pass this to an [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m scripting some sys admin tasks in Debian which require the installation of packages like Postfix. I don&#8217;t want it to prompt me with questions, so I knew I had to set the priority to something higher for this specific package (i.e. temporarily). There doesn&#8217;t appear to be a way to pass this to an <code>apt-get</code> command (which was a little disappointing) but debconf can set it system wide under <code>/var/cache/debconf/config.dat</code>, but that&#8217;s, well, ugly.</p>
<p>Turns out there&#8217;s an environment variable you can set to achieve what I want, DEBIAN_PRIORITY. So exporting this variable and unsetting it post install will do the trick, but I still think <code>apt-get -p critical install postfix</code> would be better <img src='http://blog.christophersmart.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>-c</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophersmart.com/2009/04/07/changing-priorities/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The long ARM of Debian</title>
		<link>http://blog.christophersmart.com/2009/03/31/the-long-arm-of-debian/</link>
		<comments>http://blog.christophersmart.com/2009/03/31/the-long-arm-of-debian/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 10:06:08 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[d-link]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dns323]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.christophersmart.com/?p=492</guid>
		<description><![CDATA[I bought a D-Link DNS-323 NAS box a while ago with the mind to put Debian on it (it already ships with Linux, but I wanted more control). Previously I installed Debian under a chroot environment which activated itself on boot, but it wasn&#8217;t really clean or nice. I came across a blog post by [...]]]></description>
			<content:encoded><![CDATA[<p>I bought a <a href="http://dlink.com.au/Products.aspx?Sec=1&#038;Sub1=29&#038;Sub2=90&#038;PID=287">D-Link DNS-323</a> NAS box a while ago with the mind to put Debian on it (it already ships with Linux, but I wanted more control). Previously I installed Debian under a chroot environment which activated itself on boot, but it wasn&#8217;t really clean or nice.</p>
<p>I came across a blog post by <a href="http://www.cyrius.com">Martin Michlmayr</a> where he talks about getting Debian working on a CH3SNAS, and mentions he might write an installation guide. I emailed him encouraging him to do so, and that I&#8217;d be happy to test it for him and provide feedback. He replied with his information once it had started to take shape. Today I finally had a chance to test it out.</p>
<p>I followed the <a href="http://www.cyrius.com/debian/orion/d-link/dns-323/install.html">installation instructions on his website</a> and it worked perfectly! I now have Debian running natively on my little ARM box and it&#8217;s very, very awesome.</p>
<p>Although the box has a gigabit network card, it never transferred anything fast enough to prove it. Copying a 4GB ISO file took 31minutes, averaging around 2.2MB/sec rate which is not even 100Mbit speed. So don&#8217;t expect to be serving up high definition movies to your network from this box.</p>
<p>Anyway, if you have one of these boxes, then I highly recommend that you give this a shot. Debian on a tiny little appliance.. it doesn&#8217;t get much better than that!</p>
<p>-c</p>
<p><b>Update</b>: There are <a href="http://www.cyrius.com/debian/orion/d-link/dns-323/known-issues.html">some things which don&#8217;t work</a>, most of which I didn&#8217;t care about, except one. Fan control. I figured this meant the fan couldn&#8217;t speed up and slow down based on internal temperatures, but it actually means &#8220;fan doesn&#8217;t work at all&#8221;. The result is that drives can run hot, damn hot in that little box without any air flow. Something to think about if you&#8217;re going to install native Debian.</p>
<p><b>Update #2</b>: The fan issue <a href="http://blog.christophersmart.com/2009/04/03/hot-air/">is now solved</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophersmart.com/2009/03/31/the-long-arm-of-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s be firmware about this</title>
		<link>http://blog.christophersmart.com/2009/01/06/lets-be-firmware-about-this/</link>
		<comments>http://blog.christophersmart.com/2009/01/06/lets-be-firmware-about-this/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 22:54:06 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[distribution]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[sigh]]></category>
		<category><![CDATA[violation]]></category>

		<guid isPermaLink="false">http://blog.christophersmart.com/?p=398</guid>
		<description><![CDATA[I&#8217;m not an expert on this subject matter, nor a Debian developer, but I do love Debian. I couldn&#8217;t help but be disheartened by the results of the vote on firmware in Lenny. Assume blobs comply with the GPL unless proven otherwise. BAH! Seriously, what the hell are you guys thinking? If I wanted this [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not an expert on this subject matter, nor a Debian developer, but I do love Debian. I couldn&#8217;t help but be disheartened by the <a href="http://www.debian.org/vote/2008/vote_003.en.html#outcome">results of the vote on firmware in Lenny</a>.</p>
<blockquote><p>Assume blobs comply with the GPL unless proven otherwise.</p></blockquote>
<p>BAH! Seriously, what the hell are you guys thinking? If I wanted this sort of crap I&#8217;d use Ubuntu! Sure it&#8217;s just firmware, but why not distribute the NVIDIA driver too? Afterall it hasn&#8217;t be proven in court as to whether it complies with the GPL or not.</p>
<p>How hard is it to just release Lenny with the current GPL-compliant open source firmware and let end users install other binary blobs at their own discretion? I just don&#8217;t understand how you can distribute that which you have no idea what it does. Maybe I&#8217;m missing something, but this just <a href="http://www.debian.org/social_contract#guidelines">seems so wrong</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophersmart.com/2009/01/06/lets-be-firmware-about-this/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

