<?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>Alien Pastures &#187; rsync</title>
	<atom:link href="http://alien.slackbook.org/blog/tag/rsync/feed/" rel="self" type="application/rss+xml" />
	<link>http://alien.slackbook.org/blog</link>
	<description>My thoughts on Slackware, life and everything</description>
	<lastBuildDate>Mon, 06 Feb 2012 00:27:43 +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>Local Slackware mirror</title>
		<link>http://alien.slackbook.org/blog/local-slackware-mirror/</link>
		<comments>http://alien.slackbook.org/blog/local-slackware-mirror/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 11:00:10 +0000</pubDate>
		<dc:creator>alienbob</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[Slackware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[iso]]></category>
		<category><![CDATA[mirror]]></category>
		<category><![CDATA[rsync]]></category>

		<guid isPermaLink="false">http://alien.slackbook.org/blog/?p=115</guid>
		<description><![CDATA[You will not be surprised if I tell you that I install Slackware a lot.  Inbetween the public updates to slackware-current which you can read in the ChangeLog.txt there is usually a lot of private testing. For that purpose I keep a local mirror of the slackware-current tree.  I have written a script that keeps [...]]]></description>
			<content:encoded><![CDATA[<p>You will not be surprised if I tell you that I install Slackware a lot.  Inbetween the public updates to slackware-current which you can read in the <a href="http://www.slackware.com/changelog/current.php?cpu=i386" target="_blank">ChangeLog.txt</a> there is usually a lot of private testing.</p>
<p>For that purpose I keep a local mirror of the s<a href="ftp://slackware.osuosl.org/pub/slackware/slackware-current" target="_blank">lackware-current tree</a>.  I have written a script that keeps this local copy synchronized, and also creates the ISO images which I use for the installs.  The script is widely used by other people as well, because there are no official &#8220;slackware-current&#8221; ISO images available for download.  It is much more economical to create your own ISO images when you already have a local mirror of all the packages.</p>
<p>The script is appropriately called &#8220;<a href="http://www.slackware.com/~alien/tools/mirror-slackware-current.sh" target="_blank">mirror-slackware-current.sh</a>&#8220;. If you want to know what it can do, just run it with the &#8220;-h&#8221; parameter:</p>
<blockquote>
<pre><span style="color: #0000ff;">$ /usr/bin/mirror-slackware-current.sh -h
-----------------------------------------------------------------
$Id: mirror-slackware-current.sh,v 1.70 2009/04/14 10:24:48 root Exp root $
-----------------------------------------------------------------
Usage:
  /usr/bin/mirror-slackware-current.sh [OPTION] ...
or:
  SLACKROOTDIR=/your/repository/dir /usr/local/sbin/mirror-slackware-current.sh [OPTION] ...

The SLACKROOTDIR is the directory that contains the directories
  slackware-&lt;RELEASE&gt; and slackware-&lt;RELEASE&gt;-iso
Current value of SLACKROOTDIR : /mirrors

You can change the script defaults in a file 'mirror-slackware-current.conf'

The script's parameters are:
  -h            This help.
  -b &lt;number&gt;   Limit bandwidth usage to &lt;number&gt; KBytes/sec.
  -c            Check for newer version of this script.
  -e            Use 'boot-load-size=32' instead of the value 4.
                 (32 is a more standard value, but a value of 4
                 will let the ISO boot with old 'broken' BIOSes).
  -f            Force sync and the creation of new ISO image(s)
                even if no update of the ChangeLog.txt was found.
                This is how you resume after an aborted attempt.
                Note: this will also create any missing local
                      directories needed for the mirror.
  -i            Only generate ISO images from our local copy;
                do not attempt to contact the remote server.
  -l &lt;localdir&gt; The root directory where you keep your local
                Slackware mirror; this directory contains
                slackware-&lt;RELEASE&gt; and slackware-&lt;RELEASE&gt;-iso
  -m &lt;uri&gt;      The rsync URI that you want to use instead of
                the script default. Example:
                -m mirrors.tuxq.com::slackware/slackware-current
                (no trailing slash!)
  -n            Only show the changes in the ChangeLog.txt
                but don't sync anything and don't generate ISOs.
  -o &lt;iso_type&gt; The type of ISO that you want to generate.
                iso_type can be one of:
                CDROM: produce 3 CDROM images (KDE on CD3);
                DVD  : produce a single DVD image;
                ALL  : produce CDROM and DVD images;
                NONE : produce no images at all (just sync).
                The default iso_type is CDROM.
  -p            Remove old ISO's before building the new ones
                (in case you're suffering from low free space).
  -r &lt;release&gt;  The release ('current' by default); use '-r 12.2'
                if you want to mirror and image slackware 12.2
  -q            Non-verbose output (for cron jobs).
  -s            Additional ssh options, in case rsync needs to
                login to the remote server using ssh. Example:
                -s "-l alien -o IdentityFile=/home/alien/.ssh/id_rsa"
  -v            Verbose progress indications.
  -w            Write a .conf file containing script defaults.
                It will be created in the script's directory,
                as 'mirror-slackware-current.conf'
  -X &lt;xfile&gt;    File 'xfile' contains a list of exclude patterns
                for directories that you do not want mirrored.
                Note: this will override the default exclusion of
                the 'pasture' directory so if you still want that
                excluded, add it explicitly to the file 'xfile'.
                If your intention is *not* to exclude '/pasture'
                from the mirror, use '-X none'.</span></pre>
</blockquote>
<p>An example: I have defined a cronjob which checks a Slackware mirror server once a day, and if the script detects a change in the ChangeLog.txt it will bring my local mirror back in sync, and creates a bootable DVD ISO image for me. If no changes are found, the script does not produce any output, but in case of an update it will show it&#8217;s actions on standard output. The cron daemon will mail the output of any job to the user account which runs the script, so in the morning I will find a comforting message in my inbox:</p>
<blockquote>
<pre><span style="color: #0000ff;">Date: Sat, 28 Mar 2009 15:44:37 +0100
From: root@darkstar
To: root@darkstar
Subject: cron: /usr/bin/mirror-slackware-current.sh -q -X none -o DVD

0a1,17
&gt; Fri Mar 27 20:30:48 CDT 2009
&gt; a/module-init-tools-3.6-i486-2.tgz:  Patched modprobe to not complain if
/sys
&gt;   is not mounted.  This is none of modprobe's business.  <img src='http://alien.slackbook.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />
&gt; l/glib2-2.18.4-i486-1.tgz:  Upgraded to glib-2.18.4 and patched.
&gt;   This library has been patched to fix overflows that are
&gt;   possible security holes.
&gt;   For more information, see:
&gt;     http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4316
&gt;   (* Security fix *)
&gt; l/libxml2-2.7.3-i486-1.tgz:  Upgraded to libxml2-2.7.3.
&gt; xap/mozilla-firefox-3.0.8-i686-1.tgz:
&gt;   Upgraded to firefox-3.0.8.
&gt;   This fixes some security issues.
&gt;   For more information, see:
&gt;     http://www.mozilla.org/security/known-vulnerabilities/firefox30.html
&gt;   (* Security fix *)
&gt; +--------------------------+
Sat Mar 28 15:22:06 CET 2009 [17616]: ChangeLog.txt has been updated,
starting mirror of slackware-current.
*** Using rsync.osuosl.org::slackware/slackware-current ***
Sat Mar 28 15:24:09 CET 2009 [17616]: Done mirroring slackware-current
 (exit code 0).
Sat Mar 28 15:28:04 CET 2009 [17616]: Creating DVD ISO image for
 slackware-current...
Sat Mar 28 15:38:27 CET 2009 [17616]: DVD ISO created (exit code 0) ...
Sat Mar 28 15:38:37 CET 2009 [17616]: Computing MD5 checksums of the ISO's
 (time consuming).
Sat Mar 28 15:44:31 CET 2009 [17616]: Resulting ISO files:
-rw-r--r--  1 root root 4479451136 Mar 28 15:38
/mirrors/slackware-current-iso/slackware-current-install-dvd.iso
Sat Mar 28 15:44:31 CET 2009 [17616]: Done!</span></pre>
</blockquote>
<p>This is the command line which I added to my crontab:</p>
<blockquote>
<pre><span style="color: #0000ff;"># Keep the Slackware -current tree in sync:
22 5 * * * /usr/bin/mirror-slackware-current.sh -q -X none -o DVD</span></pre>
</blockquote>
<p>The script used to create 2 CDROM ISO images if you wanted those (leaving out the kdei/ series, as well as the packages in extra/), but lately, the size of Slackware has increased so much that the packages no longer fit on two CDROMs. I have modified the script so that it will now produce 3 CDROM ISO images (with the <strong>kde/</strong> series on the third CDROM) if you want to burn CD&#8217;s.</p>
<p><strong>TIP:</strong> If you want to change the default values of the script, do not edit the script itself.  Instead run &#8220;mirror-slackware-current.sh -w&#8221; which will create the file &#8220;mirror-slackware-current.conf&#8221; in the same directory as &#8220;mirror-slackware-current.sh&#8221;. If you edit the variable values in &#8220;mirror-slackware-current.conf&#8221; the script will use those.</p>
<p>Have fun with this script,</p>
<p>Eric</p>
]]></content:encoded>
			<wfw:commentRss>http://alien.slackbook.org/blog/local-slackware-mirror/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

