Butterknife v0.3.4 out

butterknife 0.3.4 is out, and skip 0.3.3 if you grabbed it

0.3.4 is up at butterbian.org. If you downloaded 0.3.3 this week, don’t install from it. Read on for why and for the one-line repair if you already did.

What went wrong with 0.3.3

0.3.3 fixed a bug where several system directories such as /usr/lib and /etc/systemd came out group-writable (issue 17, reported by Oliver). In the process it removed a chmod that had been quietly correcting a different problem nobody knew about: the offline rootfs tarball has always carried a 700 mode on its top-level entry, and 0.3.3 let that land on the installed system’s root directory.

The result on a 0.3.3 tarball install: root can log in, nobody else can. The first user’s login fails, the WM chooser errors out with “cannot change directory to /home/: Permission denied”, and every service that runs as a non-root user fails, so there is no network. FiddlerAndy caught it within two days (issue 18). The 0.3.3 ISO has been replaced.

Fixing a 0.3.3 install

If you set a root password, log in as root on the console and run:

chmod 755 /

If you didn’t, boot the 0.3.4 ISO, pick Chroot Recovery from the menu, and run the same command inside the chroot. That is the whole fix.

Fixing an older install

Installs from 0.1.6 through 0.3.2 have the group-writable directories from issue 17. It is 775 root:root, so nothing outside root’s group can write there, but it is not how Debian ships. To put them back:

sudo chmod 755 /usr/bin /usr/lib /usr/share /usr/local /usr/local/sbin /etc/systemd /etc/systemd/system /etc/grub.d /etc/default

Everything since 0.3.2

  • Root directory mode fixed in both the rootfs build and the installer (issue 18).
  • System directories no longer group-writable after install (issue 17).
  • Overlay files land before the first user is created, so a custom overlay/etc/skel reaches the first user’s home (issue 16).
  • The locale screen suggests a locale from your keyboard layout, lists the common ones, and has a search box. A wrong code now tells you the right ones for that country instead of just refusing.

Tested on real hardware before tagging this time. Thanks to Oliver and FiddlerAndy for the careful reports; both bugs were found by people installing, not by me.

Full notes: Making sure you're not a bot!