linux

So I'm not sure how, but I broke one of my Ubuntu virtual machines now, right at a about the worst possible time for it to break. The symptoms were that while I could still login to the machine as my user, and if I was root I could still "su" to that user, every time I was that user the user itself seemed to have no understanding of itself, while the system still did. That was a pretty hairy sentence, so let me explain by showing what I tried.

root@gw-pkl-01:~# su - charles
I have no name!@gw-pkl-01:~$

Now when you try SSH'ing anywhere or doing anything useful you are told to get lost.

I have no name!@gw-pkl-01:~$ ssh charles@anywhere.i.can.think.of -Cv
You don't exist, go away!
I have no name!@gw-pkl-01:~$

But I wonder whether the system knows who I am?

I have no name!@gw-pkl-01:~$ id
uid=1000 gid=1000(charles) groups=4(adm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),107(fuse),109(lpadmin),115(admin),1000(charles),1001(wheel)
I have no name!@gw-pkl-01:~$ whoami
whoami: cannot find name for user ID 1000
I have no name!@gw-pkl-01:~$ echo $USER
charles
I have no name!@gw-pkl-01:~$

That almost all seemed correct, so what on earth could be going on? I tried adding new users to see if they were alright, and they also had the problem.

The answer is that your /etc/passwd file is not readable by all users. This was confirmed by comparing the broken machine with another one that I had deployed from the same template.

root@dynamips-pkl-01:~# ls -la /etc/passwd
-rw-r--r-- 1 root root 2104 2008-07-17 00:12 /etc/passwd
root@dynamips-pkl-01:~#

root@gw-pkl-01:~# ls -la /etc/passwd
-rw------- 1 root root 2331 2008-08-12 13:49 /etc/passwd
root@gw-pkl-01:~#

Make it readable and everything works again.

root@gw-pkl-01:~# chmod +r /etc/passwd
root@gw-pkl-01:~# su - charles
charles@gw-pkl-01:~$ id
uid=1000(charles) gid=1000(charles) groups=4(adm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),107(fuse),109(lpadmin),115(admin),1000(charles),1001(wheel)
charles@gw-pkl-01:~$ whoami
charles
charles@gw-pkl-01:~$ echo $USER
charles
charles@gw-pkl-01:~$

Thanks to this post which made that all easy to realise.

Microsoft sponsors Apache -

Microsoft has become a platinum sponsor of the Apache Software Foundation, custodians of the open source Apache web server.

That translates into at least US$100 000 a year that Microsoft will donate to the foundation, funds the Apache team can spend on paying to run its support services.

The announcement was made by Microsoft’s director of platform strategy, Sam Ramji, during a speech at the Open Source Convention in Portland, Oregon on Friday. Ramji also gave details of the sponsorship on Microsoft’s Port25 blog.

Ramji said that while Microsoft was sponsoring the ASF this did not mean Microsoft was abandoning IIS as its web server technology.

“We have invested significantly in refactoring and adding new, state-of-the-art features to IIS, including support for PHP. We will continue to invest in IIS for the long term and are currently under way with development of IIS 8,” Ramji said.

Apache is, by many metrics, the most widely-used web server on the Internet today.

Over the past six months Microsoft has announced an ever increasing number of ways it plans to develop closer ties with the open source community including supporting ODF in Microsoft Office, playing a role in the future development of ODF, and improving document interoperability.

[tectonic]

I will probably expand on this at some stage, so for now it's going to be short, but I recently put Debian onto a Sun Netra, which was pretty cool, but I decided to cross-grade from Debian to Ubuntu which I've done before without having any issues, and I ran into issues. Tons of them in fact. But only one was bad enough that I almost gave up, and by bad enough I mean that anybody who is good with dpkg would have solved this quickly but no matter how hard I searched (at first), all I could find was whining about how if you have this problem it's your own fault because you've mixed Debian and Ubuntu, but not giving any clues as to how to solve the problem. I had mixed the two, but I also hadn't. My /etc/apt/sources.list had only Ubuntu sources, but some of the software on the machine was Debian. Anyway to get to the point if you have this problem:

Selecting previously deselected package sysvutils.
(Reading database ... 168107 files and directories currently installed.)
Unpacking sysvutils (from .../sysvutils_2.86.ds1-14.1ubuntu9_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/sysvutils_2.86.ds1-14.1ubuntu9_i386.deb (--unpack):
trying to overwrite `/usr/share/man/man1/mesg.1.gz', which is also in package sysvinit
Errors were encountered while processing:
/var/cache/apt/archives/sysvutils_2.86.ds1-14.1ubuntu9_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Then please fix it by doing the following:

$ sudo dpkg --force-overwrite -i /var/cache/apt/archives/sysvutils_2.86.ds1-14.1ubuntu9_i386.deb(Reading database ... 168508 files and directories currently installed.)
Unpacking sysvutils (from .../sysvutils_2.86.ds1-14.1ubuntu9_i386.deb) ...
dpkg - warning, overriding problem because --force enabled:
trying to overwrite `/usr/share/man/man1/mesg.1.gz', which is also in package sysvinit
dpkg - warning, overriding problem because --force enabled:
trying to overwrite `/usr/share/man/man1/last.1.gz', which is also in package sysvinit
dpkg - warning, overriding problem because --force enabled:
trying to overwrite `/usr/share/man/man1/lastb.1.gz', which is also in package sysvinit
dpkg - warning, overriding problem because --force enabled:
trying to overwrite `/usr/share/man/man8/pidof.8.gz', which is also in package sysvinit
dpkg - warning, overriding problem because --force enabled:
trying to overwrite `/usr/share/man/man8/killall5.8.gz', which is also in package sysvinit
dpkg - warning, overriding problem because --force enabled:
trying to overwrite `/usr/bin/last', which is also in package sysvinit
dpkg - warning, overriding problem because --force enabled:
trying to overwrite `/usr/bin/mesg', which is also in package sysvinit
dpkg - warning, overriding problem because --force enabled:
trying to overwrite `/sbin/killall5', which is also in package sysvinit
dpkg - warning, overriding problem because --force enabled:
trying to overwrite `/usr/bin/lastb', which is also in package sysvinit
dpkg - warning, overriding problem because --force enabled:
trying to overwrite `/bin/pidof', which is also in package sysvinit
Setting up sysvutils (2.86.ds1-14.1ubuntu9) ...

And when you are done, thank these guys.

Updated: it appears that somebody other than me is actually reading my website, so I wanted to make a point of noting that the problem I had was exactly as above, but obviously not with i386 debs, so please don't try fixing it exactly as pasted above, but rather apply that to a sparc64 setup. I'm kinda thinking that if you're having this issue then you already knew that, but I had to mention it :)

SCO now owes Novell $2.55m -

When the SCO group began its legal battle against Linux vendors in 2003 it was hoping to receive a lot of money from the likes of IBM and Novell for alleged Unix code infringements. Instead, the exact opposite has happened, Computerworld reports.

This week SCO was ordered by the US courts to pay $2.55 million to Novell for collecting Unix licensing revenue from Sun Microsystems that it wasn’t entitled to.

In a 43-page decision, which was posted on the Groklaw.com website, district court judge Dale A. Kimball in Salt Lake City ruled that the money was owed to Novell under an arrangement made by SCO’s predecessor, the former Santa Cruz Operation, which later was bought by Caldera International and became The SCO Group.

[tectonic]