Filesystem Change In Archlinux glibc-2.16.0-2

Latest glibc update to version 2.16.0 in Archlinux brings a major change in filesystem. The directory /lib no longer exists as a separate entity, but instead, it becomes symbolic link to /usr/lib. All files previously under /lib are moved to /usr/lib.

This change requires a few manual tweaks. Upgrading glibc will remove /lib from filesystem and replace it with a symlink, while several unsupported (AUR) packages installs its files in  /lib, and they are not aware of this change. Files from these packages will prevent /lib from being deleted, preventing glibc (and those depended to it) from being upgraded.

Here are steps required to perform a smooth transition to newer glibc:

  1. Remove all packages that install their files in /lib, they can be reinstalled later after glibc upgrade.
  2. Manually delete all files without owner in /lib.
  3. Perform gcc update, and then glibc.
  4. Do not force glibc update with –force or -f flag, as this will break the system and you’ll need a live CD to do recovery. I learned this hard way.

The detailed instruction is available in the Archlinux wiki. I wonder why they put it in DeveloperWiki instead of normal wiki page.

Filesystem Change In Archlinux glibc-2.16.0-2

Following Tweets Via Cron

This dirty little Perl script maintains a simple log of tweets from a @username. Adding it as an hourly cron job will make it easier for you to stalk follow someone on Twitter.

To use the script, you need to have Perl installed and bti(1) properly configured with your account and the respective access tokens. Follow instructions from bti’s homepage on how to get it all working. Restrictions found in Twitter also applies with this script, i.e. you can’t follow someone who has made his/her timeline private.

For now (and perhaps forever), this script can’t fetch more than 18 tweets at any given time, and it can’t catch the gap if you’ve missed more than 18 tweets. Names for the monthly log file doesn’t reflect the real timestamp when tweets were sent, instead it reflects the time when the script retrieves those tweets.

And here we go:

Following Tweets Via Cron