Before replacing Gentoo with Ubuntu on my server I want to give it another chance. The problem is, there seems to be a problem with at least one of the system packages (like autoconf or automake). I tried to compile and install ApacheHTTPD and PHP like I’ve done it on some other servers, but the Makefile doesn’t seem to produce a working install label. For example the Apache Makefile never installs the modules and PHP doesn’t install the module before chmodding it.
So I’ve decided to first run emerge -De system && emerge -De world
which should reinstall the whole system. Since my server is not online I have to get the sources from somewhere. So I generated with emerge -pfDe system 2> list
a list of all the source packages that have to be downloaded an following small script that should fetch them all on a different machine :-)
#!/usr/bin/perl if (@ARGV == 0){ print "downloadlist.pl filelist\n"; } my $file = $ARGV[0]; open(FILE,"< $file") or die("Couldn't open input file"); if (not -f "distfiles"){ mkdir "distfiles"; } download: while(<FILE>){ if (/^$/){ next; } else { my @candidates = split / /, $_; my @filename = split(/\//,@candidates[0]); my $filename = $filename[@filename-1]; foreach $candidate (@candidates){ `cd distfiles ; wget -c $candidate`; if ($? == 0){ # Move the file to the storage # directory #`mv $filename distfiles`; next download; } } print "Failed to download $filename\n"; } } close(FILE);
This will download all the files listed in the $list file (and should also try the mirrors if the download fails) and puts them into the $PWD/distfiles folder.
Do you want to give me feedback about this article in private? Please send it to comments@zerokspot.com.
Alternatively, this website also supports Webmentions. If you write a post on a blog that supports this technique, I should get notified about your link π