control: tags -1 +moreinfo
[2010-03-24 19:44] Sven Joachim <svenj...@gmx.de> > On 2010-03-24 13:57 +0100, Sven Joachim wrote: > > > On 2010-03-24 10:15 +0100, Petter Reinholdtsen wrote: > > > >> [Sven Joachim] > >>> Upon a reboot, I noticed grep complaining about an invalid back > >>> reference. > >> > >> Interesting. I did not show up when I tested it, so I suspect it is > >> related to your setup. > > > > That's why I sent the contents of /proc/mounts. > > > >>> Running this script leads to a "grep: Invalid back reference" error > >>> message here. For the reference, these are the contents of > >>> /proc/mounts: > >> [...] > >>> | /dev/disk/by-label/\134x2f / ext2 > >>> rw,relatime,errors=remount-ro,barrier=1,data=writeback 0 0 > >> > >> This is the only one I can imagine lead grep to look for a > >> back-reference (the \134 part). > >> > >> This sound a bit like the udev/mount incompatibility, where mount and > >> udev encode special characters differently. > >> > >> Not quite sure how to fix it properly. What kind of device is this? > > > > A normal hard disk partition, /dev/sda1. > > > > ,---- > > | % ls -l /dev/disk/by-label > > | total 0 > > | lrwxrwxrwx 1 root root 10 Mar 24 13:12 \x2f -> ../../sda1 > > | lrwxrwxrwx 1 root root 10 Mar 24 13:12 \x2fhome -> ../../sda8 > > | lrwxrwxrwx 1 root root 10 Mar 24 13:12 \x2fusr -> ../../sda6 > > | lrwxrwxrwx 1 root root 10 Mar 24 13:12 \x2fusr\x2flocal -> ../../sda7 > > | lrwxrwxrwx 1 root root 10 Mar 24 13:12 \x2fvar -> ../../sda5 > > | lrwxrwxrwx 1 root root 10 Mar 24 13:12 swap -> ../../sda2 > > `---- > > > >> How can I reproduce the setup leading to such strange device name? > > > > Create a label "/" for your root filesystem, e.g. with > > "e2label /dev/root /", and reboot with "root=LABEL=/" > > in the kernel commandline. > > Just to confirm your conjecture: booting with "root=/dev/sda1" so that > /proc/mounts does not have the strange /dev/disk/by-label/\134x2f entry > makes the error go away. Probably we could just pass -F option to grep? By the way, could someone please explain what does this sed command mean? sed -n ':a;/^[^ ]* \/ /!{H;n;ba};{H;s/.*//;x;s/\n//;p}'