System Administration: Unix and Windows
Posted by Jim at February 16th, 2005
Owing to the fact that one of the organizations I work for shares office space in multiple locations, I need to coordinate our IT needs with other organizations.
One of them is entirely Windows based and I ended up explaining our setup to him. The conversation went more or less as follows:
Him: So, I assume you’ve got a Windows 2000 or NT based server and–
Me: Well, not exactly. We’re running Freebsd for a fileserver and then samba so it acts like Windows from a client perspective. And then we’re also running a program that allows the pptp protocol for a vpn though I think we may be switching to openvpn in the future…
Him: What’s Freebsd?
Me: It’s kind of like Linux.
There is a pause on the other end of the line.
Him: Why are you running all that weird stuff?
I didn’t really have a great answer for him. In the end, I think I basically said that I’m more familiar with Freebsd.
That’s kind of true in that I spend more time screwing around for fun on Freebsd, but, I’d bet that I actually spend a lot more time solving problems on the Windows servers. This is partially because I have to deal with more complex needs at the organization that I administrate Windows for than I do at the organization I administer Freebsd for.
It’s also partially that much to my horror, I think that I’ve come to prefer the cultural priorities behind Unix to those behind Windows.
My general observations about doing system administration for both systems goes like this:
Windows is pretty easy to deal with on a day to day basis for someone with experience with the Windows GUI. Everything’s in the same places as it is in XP or 98. Changing passwords, listing/changing group memberships, or changing permissions for individuals/groups is pretty easy stuff overall. By contrast, I find doing many of these tasks a bit more of a hassle in Freebsd (though admittedly not particularly hard).
It’s a little harder in Freebsd because I don’t even have X running on our fileserver and tend to run everything from the command line. Thus, I’ve continually discovered new commands that I can use and the locations of configuration files that I need to edit. Finding these files can be a bit of a bother for a newbie, but as I’ve done this for a while now, I tend to assume the existence of such files and use the man pages to check what they are and where they might be.
Basically, I’ve found it harder to get up to the minimum level of competence needed to administrate Freebsd, but once there I’ve felt more comfortable than I do administrating Windows.
Bearing in mind that the day to day administrative tasks are a bit easier to do, there’s no good reason for this to be true. Especially when you consider that many of the wizards and dialogues are the same between Windows XP and Windows 2003 server. I think though, that in the end it comes down to the interface. Even when I’ve bothered to install X, I tend to assume that all real system administration in unix will be done from the command line.
When I use Windows, nearly 100% of my daily tasks can be taken care of on the gui level. There’s almost no reason to have a command line except…
Except that I find that there are a lot of things on Windows Server that require the command line too. I remember discovering that a server simply stayed on the list of computers in Active Directory no matter what I did. After finding nothing in “help” and finally going online, I discovered that I would have to run a program that was only accessible from the command line.
There was no hint this program even existed from the Active Directory gui.
Similarly, unlike in unix where you can often configure a program from one configuration file, I find that I sometimes end up configuring different aspects of the same program from two or more dialogues that have no obvious connection to each other.
To be fair, Microsoft does sometimes include a hyperlink between the dialogues, but they don’t always do so.
In the end, despite the fact that Windows is easier for the easy stuff, I find it more frustrating at those unpredictable points at which the gui simply doesn’t do what you need it to and you just have to know that.
Thus, at a certain level of complexity Windows and unix are just as hard and counterintuitive. It’s just that unix forces you to use the command line even for the simple stuff. Thus, when you get to the hard stuff, it’s not a shock. With Windows, you only have to use the command line for the more complex stuff (or disasters), leaving you unprepared to use it when you really need it.
That can’t be all of why I use “that weird stuff,” but that’s a chunk of it. I may say more about this when I’ve done a little more thinking on the matter.