Top 10 Solaris Installation Annoyances
I just did an install of Solaris Express Community Release (a.k.a. Nevada build 41). Initial impressions are as important with operating system installs as they are in anything else, and it’s an area where Solaris feels crufty and old. I think Solaris could really benefit from some effort spent improving the “initial sysadmin experience”. The Linux distros totally got the importance of this in the 90s, and I truly believe that their huge rise in popularity this decade is in no small part due to their focus on improving their respective installers and “first moments”. If Sun is hoping to make ANY headway in their fight to reclaim the hearts and minds of unix/linux sysadmins, I think we need to look hard at the current state of affairs and accept that’s it’s bad. Really bad. I’m sure all of these have been discussed to death on blogs and forums and mailing lists, but since I’ve more or less been out of the Solaris loop for a good 5 years I’m going to blast ahead and write my own damned list anyway.
So, with the frustration of tonight’s install fresh on my mind, here’s my list of the First 10 things that really bug me when I install Solaris off the CDs (yes, I lied in the title of the post. I couldn’t resist the Top 10 meme):
- The installer is unbearably slow… I mean, my _god_ it’s slow, just getting the first menu screen (or heaven forbid, X11 and the Java installer) going takes forever and then some. I’ve found that the best thing to do while I’m waiting on the installer to, I dunno, model nuclear explosions or whatever the hell it’s doing, is to wander off and eat lunch, take in a movie, or write a novel. Something to calm me down. That or I sit in a hurricane of a server room, rage slowly building, cursing Sun and uttering “I can’t take this. I’m freezing. This is the fastest server money can buy! What is taking so bloody long?! I mean, what fucking year is it already? It’s 2006, not 1992.. I could’ve probably bootstrapped the thing by hand by now! What on *earth* is it doing?!? Let’s see Jonathon deal with this bullshit. I mean, hell, Ghandi himself probably would have smashed the console to bits by now.” I think you get the idea.
- Why can’t the installer eject the 1st CD when it goes to do the initial reboot of the system? I asked it to, but this has never worked for me. Annoyance #1 compounds the problem since I always walk away from the console before I loose it. And I come back to find the GUI installer running with a single terminal window open in the upper left corner of the screen, utterly naked with not even a window border, looking like 1989, and a big X11 “X” cursor of doom sitting in the middle of the screen. What happened? I guess I have to tell it what language I want, again. Hmmm. This screen looks familiar. When I press the keys, they do nothing. Oh! Look! The death cursor has placed the focus on the root display so I can’t actually do *anything*! Yay! Time to hard-reset the box so I can eject the CD and get on with the installation! Sun, for crying out loud, download any SuSE release from the last, say, 5 years and just copy what they do. This isn’t rocket science. (Hint: The boot CD, by default, chooses to boot the hard drive unless you tell it you want to do an install. There, problem solved.)
- The installer goes comatose. You know, when you put in the second CD and hit “Ok” and then it just sits there with no feedback, for about 5 minutes. Nothing. Just a blank screen, or, sometimes, you’ll get lucky and be presented with a blank white window that has no text. Any normal person would think that the installer has crashed. Sure, if you’re a seasoned Solaris admin you’ve been through this before and wasted half a day figuring out that the install media is being scanned. But let’s face it, it’s crap and it’s completely unacceptable.
- Name service is not configured by default. In 2006, I think it’s safe to assume DNS will be in use. Just take me straight to a “enter DNS info” screen if I pick to manually configure an interface. Of course, every attempt I’ve made at picking “DNS” and entering my local info has resulted at the end of the information gathering phase in a big phat config error. I get a nice sysid output failed message, I go back to review my settings and by golly I’m pretty damned sure they’re correct, but I get the error. If I just press on it seems like everything gets saved correctly anyways, so that’s this error about?
- The default shell isn’t bash. Which I can sort of live with, since bash is at least installed in the base system now, but it looks ameturish that the default prompt is “bash-3.00#”. Come on… Can we at least get a simple /etc/bashrc that sets PS1 to include a hostname and the last component of the cwd? At least the younger sysadmins who learned the art on Linux won’t go “ewwww.. how antiquated is this system anyways?” when they see their first root prompt.
- Oh yeah, baby, this is *exactly* what I want to see at the root of my filesystem just minutes after logging into the lovely graphical console:
bash-3.00# ls -la / total 645 drwxr-xr-x 37 root root 1024 Jun 20 22:50 . drwxr-xr-x 37 root root 1024 Jun 20 22:50 .. -rw------- 1 root root 437 Jun 20 22:37 .ICEauthority drwx------ 2 root root 512 Jun 20 22:37 .Trash -rw------- 1 root root 103 Jun 20 22:37 .Xauthority -rw------- 1 root root 420 Jun 20 22:42 .bash_history drwxr-xr-x 9 root root 512 Jun 20 22:37 .dt -rwxr-xr-x 1 root root 5111 Jun 20 22:37 .dtprofile drwx------ 3 root root 512 Jun 20 22:38 .gconf drwx------ 2 root root 512 Jun 20 22:42 .gconfd drwx------ 6 root root 512 Jun 20 22:37 .gnome2 drwx------ 2 root root 512 Jun 20 22:37 .gnome2_private drwxr-xr-x 2 root root 512 Jun 20 22:37 .gstreamer-0.10 -rw-r--r-- 1 root root 77 Jun 20 22:37 .gtkrc-1.2-gnome2 drwx------ 3 root root 512 Jun 20 22:37 .metacity drwxr-xr-x 3 root root 512 Jun 20 22:37 .nautilus drwxr-xr-x 3 root root 512 Jun 20 22:37 .softwareupdate drwx------ 2 root root 512 Jun 20 22:42 .ssh drwx------ 3 root root 512 Jun 20 18:05 .sunw drwxr-xr-x 2 root root 512 Jun 20 22:37 Desktop etc...
Crap all over /! The horror! Can we please have a /root? I know this is bordering on blasphemy for some people, but man, get over it already. It’s messy, and it annoys the hell out of me.
- Of course, I always go straight to /etc/passwd to make my own /root, where I’m greeted with this:
bash-3.00# vi /etc/passwd screen: Unknown terminal type I don't know what kind of terminal you are on - all I have is 'screen'. [Using open mode] "/etc/passwd" 15 lines, 580 characters root:x:0:0:Super-User:/:/sbin/sh :q
I’m not aware of any BSD or Linux that’s been without a screen termcap/terminfo for at least a decade. A *decade*. How ’bout we put one in the default install before Solaris 11 ships?
- Bill Joy no longer works for Sun. That means we can finally, gloriously, replace the stock “vi” with “vim”. Just think of the productivity increases the world would realize!
- Don’t you love how the default sendmail install is broken cause it can’t resolve the hostname you just entered in the installer (I’d like to say “a few minutes ago”, but let’s face it, it was hours ago)? I’ve blogged about this before. I.e. for the love of god can we ditch sendmail? My point here (if you ignore my sendmail hatred) is that on first boot, you get sendmail errors spewing out the system making noise about config errors and it’s very off-putting.
- For an OS that does not turn on a firewall by default (or even give you the option of doing so), this is simply horrifying:
TCP: IPv4 Local Address Remote Address Swind Send-Q Rwind Recv-Q State -------------------- -------------------- ----- ------ ----- ------ ----------- *.* *.* 0 0 49152 0 IDLE *.111 *.* 0 0 49152 0 LISTEN *.* *.* 0 0 49152 0 IDLE *.40865 *.* 0 0 49152 0 LISTEN *.4045 *.* 0 0 49152 0 LISTEN *.62081 *.* 0 0 49152 0 LISTEN *.36450 *.* 0 0 49152 0 LISTEN *.35260 *.* 0 0 49152 0 LISTEN *.50341 *.* 0 0 49152 0 LISTEN *.39373 *.* 0 0 49152 0 LISTEN *.23 *.* 0 0 49152 0 LISTEN *.21 *.* 0 0 49152 0 LISTEN *.79 *.* 0 0 49152 0 LISTEN *.513 *.* 0 0 49152 0 LISTEN *.514 *.* 0 0 49152 0 LISTEN *.7100 *.* 0 0 49152 0 LISTEN *.44819 *.* 0 0 49152 0 LISTEN *.6112 *.* 0 0 49152 0 LISTEN *.22 *.* 0 0 49152 0 LISTEN *.25 *.* 0 0 49152 0 LISTEN *.25 *.* 0 0 49152 0 LISTEN *.587 *.* 0 0 49152 0 LISTEN *.50282 *.* 0 0 49152 0 LISTEN *.6000 *.* 0 0 49152 0 LISTEN
And that’s *just* TCP, IPv4. Now, you might questions if this counts a “first moments” type of thing, but I think it does, because in my experience Solaris is the *only* OS shipping in any sort of volume that is configured, by default, without a firewall turned on and with tons of services bound to all available interfaces. Here’s what I checked that we have running locally: Windows SP1 and onwards, Mac OS X >= 10.2, Red Hat since forever, Ubuntu (5.10 and 6.06 at least), SuSE since at least 8.0. They all have firewalls on. By default. OS X and all the Linuxes also only bind deamons to localhost.* instead of *.* if that’s the only access they need. Red Hat runs sendmail by default (shudder) for example, but only binds to localhost. Frankly, I think this kind of default setup is unethical. If you think that’s perhaps taking it a bit too far, my guess is that you haven’t had your box 0wn3d (say, by another hole in fucking sendmail) and used to transmit all sorts of nasty, dirty, disgusting things to people around the Internet who should all be in jail. At the very least, this practice is stupid, and it gets me all angered up and feisty, so it goes on my list.
So there you have it. The first 10 things that pissed me off when I did the install tonight. I’ll try to do a follow up as I get further along on configuring this box to actually do something useful (in particular, it will be hosting a 12TB MySQL database).
Comment away and let me know what annoys you the most, or perhaps set me straight where I’ve gone astray.
About this entry
You’re currently reading “Top 10 Solaris Installation Annoyances,” an entry on VMUNIX Blues
- Published:
- 06.20.06 / 11pm
- Category:
- solaris, opensolaris, sysadmin









51 Comments
Jump to comment form | comments rss [?] | trackback uri [?]