I like Gentoo, but it really wants a broadband internet
connection. If your install doesn't have that luxury, but you
have access to a machine that does, here's a way to get the files you
need to update with. If you don't want the'world' of updates,
work with the second form of the emerge
command below.
Go to http://gentoo.osuosl.org/snapshots
and get portage-latest.tar.bz2 (21mb at time of this writing - so yes,
you likely need two trips to the internet connection)
tar xjf portage-latest.tar.bz2
from /usr, so it overwrites /usr/portage. This will not delete
files like 'emerge sync' does, so when you go to build you may find
'security violation' complaints about files in ebuild directories not
in the manifest. Note that, with a 33.6 connection a few hours
after getting the portage-latest file, an 'emerge sync' took (only) 18
minutes including the time to update the portage cache.
emerge -puDv world or whatever
target you like, fix any blockages reported and make note of any 'F'
ebuilds which you will have to download manually. Take note of
the "Total size of downloads: " line at the end so you are
prepared. If you have a dialup connection and it says it will
update portage, might as well do this now as it is not too big.
emerge -puDf world 2>&1 >
/dev/null | sed -e 's/ /\n/g' > toget.lst to generate the
list of files to download
emerge -pf package 2>&1 > /dev/null
| sed -e 's/ /\n/g' >> toget.lst to add any additional packages you'll want to install
put toget.lst on a portable
storage device (usb hard drive, flash memory, whatever your plan is),
and take it to your internet connection. You may wish to add Heiko Herold's windows wget
if you're stuck on the dark side.
wget -i toget.lst -nc -nd in
the dir you want the files to appear should do it from there. The
options are :
- -i : read the urls from
the specified file
- -nc : no-clobber;
the toget.lst file lists many mirrors for most files to download, this
way it will ignore them if it has the file already. problem: if a download breaks
part way through, it won't be detected, and the file will not be
completed. the alternative is to use -N, but this requires
getting a file listing from each ftp mirror site (about 1.5mb for
portage/distfiles).
- -nd : no directory
structure - otherwise it will create full dir trees for each mirror
site, leading to redundant file downloads and a headache finding all
the target files on the leaves.
Finally, copy the downloaded files from your storage device to
/usr/portage/distfiles and run the emerge
-uD world or emerge package command as needed.