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. --