On Tue, Sep 14, 2010 at 7:13 PM, Fess <killall_humans@xxxxxxxxxxx> wrote: > On 04:00 Sun 12 Sep , David C. Rankin wrote: > > On 09/09/2010 07:40 AM, Fess wrote: > >> Page "Local mirros" was removed from wiki by this reason: > >> > >> ----- > >> It is generally frowned upon to create a local mirror due the bandwidth > that is required. > >> There is not a good reason to create a local mirror, since one of the > alternatives below will likely meet your needs. > >> ----- > >> > >> I think it's very useful ability, and why this page was removed... i > don't know. It's silly. > >> If anyone else think it must be return - maybe we should do it? > >> > >> P.S. > >> > >> A lot of guys agreed with me this morning, so i think many people want > this article back. > > > > I looked into an Arch local 'mirror/repo' when I started using Arch, > > similar to what I used to maintain for my SuSE installs. (the local > > mirror page was a mess and wrong then as well) However, since Arch will > > check for the presence of packages in /var/cache/pacman/pkg > > before/(instead of) re-downloading the packages, for local network boxes, > > it was just easier to use rsync to grab the packages from whatever box > > did the most recent update and transfer then to the nextbox you need to > > update (same architecture only). > > > > The only caveat is you need a way to manage duplicate (old packages) in > > /var/cache/pacman/pkg so I came up with a script that does that. > > > > So instead of worrying about a 'local mirror', just: > > > > (1) rsync -uav updatedbox:/var/cache/pacman/pkg nextbox:/var/cache/pacman > > > > (2) grab the following 2 scripts: > > > > (the wrapper script that calls the main script [twice - see why below]) > > http://www.3111skyline.com/dl/Archlinux/scripts/fduparch.sh > > > > (the main duplicate identification and removal script) > > http://www.3111skyline.com/dl/Archlinux/scripts/fduppkg > > > > Put them both in /usr/local/bin (or link them there), edit fduparch.sh > > and change the directories you want the duplicates from > > /var/cache/pacman/pkg moved to (default is /home/backup/pkg-old and for > > the second pass to /home/backup/pkg-older). Then after updating one box, > > just call fduparch.sh (the wrapper script) as root and the duplicates in > > /var/cache/pacman/pkg are moved as follows: > > > > Pass 1: > > /var/cache/pacman/pkg => /home/backup/pkg-old > > > > Pass 2: > > /home/backup/pkg-old => /home/backup/pkg-older > > > > Which leaves you with the current set of packages in: > > /var/cache/pacman/pkg > > > > The last used packages before update in: > > /home/backup/pkg-old > > > > And finally all older packages in: > > /home/backup/pkg-older > > > > which can be deleted or archived. (of course you can delete the packages > > in /home/backup/pkg-old if you like as well) > > > > NOTE: the duplicate removal script uses the file ctime and/or mtime to > > determine which is the newer package, so when copying machine to machine > > with rsync, make sure you preserve the file attributes. (rsync's -a > > option works fine). > > > > Once you set this up, maintaining a local set of packages is a breeze, > just: > > > > (1) pacman -Syu as normal on one box (works the same for new installs > too) > > (2) fduparch.sh (as root to remove the older versions of new packages) > > (3) rsync -uav updatedbox:/var/cache/pacman/pkg nextbox:/var/cache/pacman > > (only for boxes of the same architecture of course) > > (4) pacman -Syu on the box you rsync'ed the packages to (nextbox) > > (5) call fduparch.sh on the box you just updated (nextbox), and so on, > and so on... > > > > As long as your boxes have reasonably similar packages installed, this > > eliminates 90+% of re-downloading, takes no additional bandwidth because > > you have to download the updated packages once anyway, and is simple > > enough for me to manage so you guy will have no problems with it :p > > > > And if you wanted to get even more creative, you could simply write a > > script on your main box that you update to automate the entire process > > for all your local boxes using nothing more than rsync and ssh calls of > > run the updates and dup removal scripts. (I haven't been that creative > > yet) Just remember to separate your boxes into groups/classes by > > architecture (i686 & x86_64) > > > > Cheers. > > > > -- > > David C. Rankin, J.D.,P.E. > > Rankin Law Firm, PLLC > > 510 Ochiltree Street > > Nacogdoches, Texas 75961 > > Telephone: (936) 715-9333 > > Facsimile: (936) 715-9339 > > www.rankinlawfirm.com > > > > err.. what? > Don't you think, that mirrorsync in crontab is MUCH more easier way to get > new packages, huh? > I'm using local mirror for 3 years and i have no idea why i shoulnd't use > it know. > > P.S. > > If you have local mirror, you won't worry about 3-4 another GB's. You just > download some less porn. Less porn -> more profit. > -- > > made my day -- Kirill E. Churin Jabber: reflexing@xxxxxxxxxxxx, ICQ: 8163230, Skype on demand. In a world *without walls* or fences, *who needs windows and gates?*