[arch-dev-public] heads up: /lib removal

Allan McRae allan at archlinux.org
Sun Jul 8 10:06:26 EDT 2012

On 08/07/12 23:36, Jan de Groot wrote:
> On za, 2012-07-07 at 13:25 -0400, Dave Reisner wrote:
>> Hey all,
>> Allan pushed glib 2.16-2 into [testing] which removes /lib as a
>> directory, replacing it with a symlink. A bit of advice...
>> - In the simplest case, the upgrade can be done as simply as:
>>     pacman -Syu --ignore glibc && pacman -S glibc
>> - Since nothing is ever simple, if the above still fails on installation
>>   of glibc (with a somewhat cryptic "/lib exists" error), you'll need to
>>   figure out what's still in /lib that doesn't belong to glibc.
>>   Generally this will end up being modules/. pacman -Qo /lib/* will
>>   pinpoint what needs fixing/removing. Deal with anything that isn't
>>   owned explicitly by glibc and complete the installation.
>> It shouldn't need to be said, but I'll mention it anyways:
>> Do. Not. Use. (the) --force. Obi-wan approves of this.
> I didn't need --force to fuck up my system. When I upgraded like above,
> I got file conflicts because of some depmod files in /lib/modules,
> combined with an old ancient udev-compat package. I removed udev-compat
> and the files, but there were still some empty directories in /lib.
> When running pacman -S glibc, pacman didn't detect any file conflicts,
> installed the new glibc, told me that it could not extract /lib and then
> left my system in a state that couldn't execute a single command
> anymore.

Thanks, that was a case I had missed in patching pacman to detect these
conflicts early.

These two patches should catch all issues noted so far during the
conflict checking stage and prevent these rouge extractions:


More information about the arch-dev-public mailing list