Tue, 17 May 2005
... but unfortunately, I didn't had anything to read during the 4 hours in the train.
But the new ICEs have power sockets, so I could hack a bit:
for x in $(for i in $(seq $(python -c "print ord('a')") $(echo $(python -c "print ord('a')")+25|bc)) ;do printf \\x$(printf %x $i) ; echo " " ; done) ; do for y in $(for i in $(seq $(perl -e "print ord('a')") $(echo $(perl -e "print ord('a')")+25|bc)) ; do printf \\x$(printf %x $i) ; echo " " ; done) ; do echo -n $x$y " "; apt-cache search $x$y|wc -l ; done; done > /tmp/foobar ; for i in $(cat /tmp/foobar|sort -n +1 |head -n $(echo $(cat /tmp/foobar| sort -n +1|grep -n 2|head -n1|cut -d: -f1)-1 |bc)|grep 1|cut -d" " -f 1) ; do echo $i ; apt-cache search $i ; done ; rm /tmp/foobar
Try to guess what this does, before trying it ;)
Yes, I know it's not very elegant. Perhaps I will give it the final touch, when I again forget to take a book with me, when traveling in a train.
Mon, 16 May 2005
Might not be new to most DDs, but according to my experience at the small developer gathering here in Guetersloh and after reading some upgrade reports in different mailing lists, it is not yet well know:
Citing from the release-notes of the upcoming sarge release: The recommended method of upgrading is to use "aptitude", as described here.
The release notes are quite unknown, but are quite important!
Beside some thing like better / other dependency resolution, consideration of recommends / suggests, the most important feature is, that aptitude remembers which packages are installed by the admin, and which packages are just installed as dependency (I think, synaptic has a similar feature, but I didn't played with it yet).
So, since people will start doing this, and talking about that, please spread it: There are release notes, and you should upgrade with Sarges aptitude.
Sun, 15 May 2005
For those of you, who don't read -user: Adam Hardy posted a nice HOWTO unsubscribe from debian lists ;)
Sat, 14 May 2005
... to Lolo's small squid url rewrite hack: Download all packages with priority required, standard and important nighlty.
Netinstall base system in less than 10 minutes guaranteed...
As I bloged before: I'm here at a small development gathering in Guetersloh.
Here are people from quite different regions, and therefore with quite different
/etc/apt/sources.list files. So, what is the easiest way, to allow
them to get their packages from one fast mirror?
Interesting problem. Of course you could just tell them to point their sources list entries to the fastest mirror in your experience - there are even tools to find the fastest mirror like netselect-apt or apt-spy, but that isn't the most elegant solution, isn't it?
Of course you can just create a local mirror (for example with debmirror or with the script linked at http://www.debian.org/mirror/ftpmirror),
but that's a bit overkill, isn't it? Especially, if you have only one dsl-line.
And everyone still needs to change the
If you run a proxy like squid, you could just think, that often requested packages, will be in the cache, so you still let it be as it is. But if two people install the same package using different mirrors, it would still be downloaded and cached twice (since it would have different URLs).
A really elegant solution is to add a rewrite script to Squid, so that URLs from one mirror are transparently rewritten to your favourite mirror. Florian Lohoff just wrote hacked a nice script: Let's take the mirror list from Debian, to know which hosts we should rewrite (since we won't touch other server). Then take our Package-File and extract all file name from all packages, and now if someone wants to access http://ftp.foo.bar/debian/pool/main/b/baz_0.0-1_baz.deb this URI is rewritten if and only if ftp.foo.bar is in our list of known hosts AND if pool/main/b/baz_0.0-1_baz.deb is in our known packages. Hosts like security.debian.org and packages like baz_0.0-1ubuntu3.deb are ignored.
So you only need to force everyone to use the proxy (one trivial rule on your router), and now everyone does not even to touch their configuration, they can use (nearly) any mirror in their sources.list, and won't even notice, that they indeed downloading their packages from e.g. ftp.de2.debian.org. Of course you should tell them, what you have done ;)
And you should do some fine tuning, e.g. you might want to increase the max size of save objects in your squid config (to catch some bigger packages, too), and give your squid quite same space to storage his objects.
If you want to know details of this nice little hack, you should contact Flo directly, he did it, he knows it a bit better than me ;)