Slashdot Mirror


Take This GUI and Shove It

snydeq writes "Deep End's Paul Venezia speaks out against the overemphasis on GUIs in today's admin tools, saying that GUIs are fine and necessary in many cases, but only after a complete CLI is in place, and that they cannot interfere with the use of the CLI, only complement it. Otherwise, the GUI simply makes easy things easy and hard things much harder. He writes, 'If you have to make significant, identical changes to a bunch of Linux servers, is it easier to log into them one-by-one and run through a GUI or text-menu tool, or write a quick shell script that hits each box and either makes the changes or simply pulls down a few new config files and restarts some services? And it's not just about conservation of effort — it's also about accuracy. If you write a script, you're certain that the changes made will be identical on each box. If you're doing them all by hand, you aren't.'"

617 comments

  1. Bad GUI and no CLI: way too common by alain94040 · · Score: 5, Informative

    Here is a Link to the print version of the article (that convenientily fits on 1 page instead of 3).

    Providing a great GUI for complex routers or Linux admin is hard. Of course there has to be a CLI, that's how pros get the job done. But a great GUI is one that teaches a new user to eventually graduate to using CLI.

    A bad GUI with no CLI is the worst of both worlds, the author of the article got that right. The 80/20 rule applies: 80% of the work is common to everyone, and should be offered with a GUI. And the 20% that is custom to each sysadmin, well use the CLI.
    --
    dead simple alternative to incorporating for web startups

    1. Re:Bad GUI and no CLI: way too common by maxwell+demon · · Score: 5, Insightful

      What would be nice is if the GUI could automatically create a shell script doing the change. That way you could (a) learn about how to do it per CLI by looking at the generated shell script, and (b) apply the generated shell script (after proper inspection, of course) to other computers.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    2. Re:Bad GUI and no CLI: way too common by 0123456 · · Score: 1

      What would be nice is if the GUI could automatically create a shell script doing the change.

      While it's not quite the same thing, our GUI-based home router has an option to download the config as a text file so you can automatically reconfigure it from that file if it has to be reset to defaults. You could presumably use sed to change IP addresses, etc, and copy it to a different router.

      Of course it runs Linux.

    3. Re:Bad GUI and no CLI: way too common by arth1 · · Score: 2, Insightful

      But a great GUI is one that teaches a new user to eventually graduate to using CLI.

      I disagree. The "great" GUIs teach new users that they don't need a CLI, and many of them will never proceed past the point-and-drool stage, but expect a GUI app for anything they do.

      When push comes to shove, a single line of awk or perl can easily do what half an hour of GUI clicking can't. And there's no way for a GUI to prepare you for perl or awk, only distract you from learning them.

    4. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 3, Informative

      Exchange Server 2007 (and I assume 2010) does this for many of its GUI operations, gives you the powershell after you've run it.

    5. Re:Bad GUI and no CLI: way too common by Alain+Williams · · Score: 4, Informative
      AIX's SMIT did this, or rather it wrote the commands that it executed to achieve what you asked it to do. This meant that you could learn: look at what it did and find out about which CLI commands to run. You could also take them, build them into a script, copy elsewhere, ...

      I liked SMIT.

    6. Re:Bad GUI and no CLI: way too common by triple.eh · · Score: 2, Informative

      I agree with you, AIX's SMIT was an excellent tool for learning. When I first began using AIX all of my UNIX experience was with HPUX, Solaris, Slackware and Red Hat. When I discovered SMIT it was like peering in the Ark without all the melting...

    7. Re:Bad GUI and no CLI: way too common by amRadioHed · · Score: 2, Insightful

      I'm a bit curious, could you explain how powershell encourages screen-scraping for those of us who've never had to deal with that beast.

      --
      We hope your rules and wisdom choke you / Now we are one in everlasting peace
    8. Re:Bad GUI and no CLI: way too common by Martin+Blank · · Score: 2, Informative

      Aruba's web-based GUI does this. You stack up all of your changes per-page, and you can click on an option at the bottom that shows you the CLI changes that it will make (since it's going to run just those lines when you apply it anyway). It shows you when something is simple and can be done quickly from the CLI, and also when what takes three clicks actually takes five or six somewhat complex lines.

      --
      You can never go home again... but I guess you can shop there.
    9. Re:Bad GUI and no CLI: way too common by Anpheus · · Score: 3, Informative

      Just about every Microsoft tool newer than 2007 does this. Virtual machine manager, SQL Server has done it for ages, I think almost all the system center tools do, etc.

      It's a huge improvement.

    10. Re:Bad GUI and no CLI: way too common by jandrese · · Score: 2, Insightful

      Here's something you might want to try: Next time you're on a Windows box, open up a cmd prompt and type "netsh". You might be surprised what you can accomplish from the commandline, at least if you want to mess with the network settings.

      --

      I read the internet for the articles.
    11. Re:Bad GUI and no CLI: way too common by jpate · · Score: 2, Insightful

      learn about how to do it per CLI by looking at the generated shell script

      Have you ever seen generated code? You do not want to learn shell scripting from generated code...

    12. Re:Bad GUI and no CLI: way too common by jd · · Score: 2

      That would be one option. Another would be to be able to drive the GUI from a script (test systems such as Silk and Selenium already do this). Provided standard options were accessed in a standard way, there is nothing to stop you from driving things from this direction. Alternatively, have a configuration server that applications installed plug-ins for. The configuration server can then abstract out the nuances. You then feed it a script in the server's language and it takes care of the configuration details.

      (This is where LinuxConf and Webmin fell down - they didn't really abstract out a whole lot and didn't allow this kind of autoconfiguring. Great tools for those scared of raw textfiles, though. I convinced more than a few Windows users that Linux wasn't this Big Bad Scary Monster with them.)

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    13. Re:Bad GUI and no CLI: way too common by GumphMaster · · Score: 2, Insightful

      Ditto, pretty well executed I thought.

      --
      Patent litigation: A doctrine of Mutually Assured Destruction... in which everyone seems willing to push the button
    14. Re:Bad GUI and no CLI: way too common by SudoGhost · · Score: 2, Interesting

      But by the same token, I can click and drag a file from a folder to the desktop, easily. Much 'easier' than typing it out on the CLI, and much quicker for most people.

      Not saying it's easier for all people, but for most people, I can see where they're coming from. Sadly, I know alot of companies who don't want their admins to be the best, they want their admins to be the most efficient. They equate 'clicking' with quick, and typing out 'lines and lines of code' as long and arduous, and expensive.

    15. Re:Bad GUI and no CLI: way too common by petermgreen · · Score: 4, Insightful

      Have you ever seen generated code?
      Yes

      You do not want to learn shell scripting from generated code...
      IMO the generation process should be limited to taking the users input and "plugging it in" to a "template" command or short sequence of commands. If a process that is simple in the GUI is complex in the CLI then your system has a design fault.

      It's not about teaching the user how to write complex scripts with lots of conditionals (manuals and tutorials are better for that). It's about teaching the users the command line equivalents of their GUI actions and hence creating a bridge between the "discoverability" of a GUI and the power and repeatability of a CLI.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    16. Re:Bad GUI and no CLI: way too common by turbidostato · · Score: 2, Informative

      "What would be nice is if the GUI could automatically create a shell script doing the change"

      AIX's SMIT, and it's... how old? merely 20 years now?

    17. Re:Bad GUI and no CLI: way too common by h4rr4r · · Score: 1

      If they could get server 2008 to work without any gui than that would be really worth it. Maybe for 2012 or whatever. Does dcpromo work without a gui yet?

    18. Re:Bad GUI and no CLI: way too common by h4rr4r · · Score: 2, Informative

      Cool, now move only the files that end in mp3, do not contain a number in the name and are between 10 and 60 days old. I bet the CLI starts looking might fast then.

    19. Re:Bad GUI and no CLI: way too common by pgmrdlm · · Score: 1

      I don't know. I have seen GUI generated firewall rules(PF). And for a learning process, I think it would a hell of alot easier than how I learned to build the rules. Especially sense these rules are built specifically for what your environment is. And not a text book example.

      I still prefer building the firewall rules via a text editor. But my environment is not a large business environment. And I am sure there are better firewall gui's than what I am referencing. Firewall Builder is an easy-to-use GUI for creating and managing firewall rules for multiple platforms including iptables, pf and Cisco routers and Cisco ASA/PIX firewalls.

      --
      Anonymous comments are as pathetic as the anonymous "sources" that contaminate gutless journalism from the New York Time
    20. Re:Bad GUI and no CLI: way too common by grumbel · · Score: 1

      Providing a great GUI for complex routers or Linux admin is hard. Of course there has to be a CLI, that's how pros get the job done. But a great GUI is one that teaches a new user to eventually graduate to using CLI.

      The problem with CLI stuff is that most of the time they are not build to solve a problem the user has, but to provide a low level interface to the implementation, meaning common tasks can be extremely complicated and spread over many apps and config files (30sec of clicking in the webgui of a home router can turn into days of trial&error and howto reading on the CLI). Applications that give you access to the low level details and provide a high level interface are extremely really rare. What makes the situation especially complicated is that you can't generally mix low level configuration with high level configuration, if you want to change some low level detail you often have to give up all the high level configuration and switch completly to a low level stuff.

      The most practical solution in most cases is to simply have a high level configuration that is scriptable via some means. Many routers for example allow you to export the configuration as text file, but what they export is still a high level configuration, not raw iptables scripts, as that would be really hard to read back in and present via a GUI.

    21. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      I've always preferred punch cards, when I wanted to be *certain* it was right.

    22. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 1, Interesting

      That's just because you haven't written a decent GUI for those options yet, it doesn't mean it couldn't be done if one wanted to.
      Really, find isn't always faster or better, especially since most scripts or tutorials you find online use -exec instead of |xargs.
      Hell, even the man page uses -exec in its examples instead of the superior xargs.

    23. Re:Bad GUI and no CLI: way too common by DAldredge · · Score: 3, Informative

      Is it really too much to expect people on /. Modern to actually know what they are talking about when it comes to Windows and Microsoft?

      Screen-scraping?  Really?

    24. Re:Bad GUI and no CLI: way too common by arth1 · · Score: 2, Insightful

      A pipe to xargs isn't always more efficient.

      Consider a script that has to be portable and operate on files with spaces in the name. Portability precludes the -print0 option to find and -0 option to xargs. Nothing is more inefficient than a command that doesn't work correctly, and I've seen plenty of examples of "find ... | xargs ..." that don't work, where an -exec would.

      Also consider the situation where you only want to act on a small number out of a large number of files. Then the pipe to xargs will delay execution until you've exhausted the search, while the -exec will perform the job as the files are found. It won't return any quicker, but the load will be spread out, with the first few tasks happening sooner.

    25. Re:Bad GUI and no CLI: way too common by MaskedSlacker · · Score: 2, Insightful

      Your entire argument is specious--it boils down to thinking that because people don't already know it, it's too hard. With logic like that we'd still be living in the Stone Age.

      Much 'easier' than typing it out on the CLI

      No. Marginally easier. And that's the bottom line--GUIs make already easy tasks marginally easier, and they make hard tasks (like one of your other repliers suggestion) vastly harder. Unless you never use your computer to do anything complicated, the GUI is a step back.

    26. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 1, Informative

      That is exactly how the mmg GUI for mkvmerge works! You can use the GUI if you only have to merge a single matroska file,
      but the GUI shows the complete command line for the mkvmerge utility, so it is very easy to use it in shell scripts later.

    27. Re:Bad GUI and no CLI: way too common by Ephemeriis · · Score: 2, Informative

      What would be nice is if the GUI could automatically create a shell script doing the change. That way you could (a) learn about how to do it per CLI by looking at the generated shell script, and (b) apply the generated shell script (after proper inspection, of course) to other computers.

      Cisco's GUI stuff doesn't really generate any scripts, but the commands it creates are the same things you'd type into a CLI. And the resulting configuration is just as human-readable (barring any weird naming conventions) as one built using the CLI. I've actually learned an awful lot about the Cisco CLI by using their GUI.

      We've just started working with Aruba hardware. Installed a mobility controller last week. They've got a GUI that does something similar. It's all a pretty web-based front-end, but it again generates CLI commands and a human-readable configuration. I'm still very new to the platform, but I'm already learning about their CLI through the GUI. And getting work done that I wouldn't be able to if I had to look up the CLI commands for everything.

      Microsoft's more recent tools are also doing this. Exchange 2007 and newer, for example, are really completely driven by the PowerShell CLI. The GUI generates commands and just feeds them into PowerShell for you. So you can again issue your commands through the GUI, and learn how you could have done it in PowerShell instead.

      --
      "Work is the curse of the drinking classes." -Oscar Wilde
    28. Re:Bad GUI and no CLI: way too common by Tanktalus · · Score: 2, Insightful

      I have seen generated code. And I've written code generators. And really, the quality of the generated code is completely dependant on whether the developer of the generation tool was merely doing whatever was required to get working generated code, or to provide a useful tool to users to learn and expand upon.

      Too often I see devs handed a task and do the bare minimum to get that one specific task completed. Instead of looking for a bigger picture of the task and seeing if they can get more out of it with little to no extra effort. Because, really, getting your output to be readable is not nearly as complex as creating the UI for it anyway. Took me on the order of hours to tweak my output to look right, and not even 50% of that time again to tweak it in the way that feedback recommended (some of which I disagreed with and responded as such, the rest I agreed with or was ambivalent upon and thus changed). The rest of the project took months of effort. Skimping out on readable output is a false savings here.

      It's not hard to do. A good template tool (in perl, I use Template Toolkit), and 90% of the problem of readable output is solved.

      The only times I don't care about readable output have been generating xml and xhtml. Even when I generate C++ and Java code that is going directly from there to the compiler and not read by any user, I try to get the output reasonably readable - which makes it much easier to deal with compile errors when they point to a line number that has only a single statement on it, or when I bring the resultant app up in a debugger and want to step through the code for one reason or another. The time saved in debugging compile or runtime errors alone can pay for the effort in readable output over and over again.

    29. Re:Bad GUI and no CLI: way too common by afidel · · Score: 2, Informative

      But a great GUI is one that teaches a new user to eventually graduate to using CLI.

      I couldn't agree more which is why it's really cool that the Exchange GUI tools will show you the exact PowerShell commands they are running if you want to learn how to use the CLI (and in fact that are still things that can only be done in the CLI, though the list is greatly reduced in EX 2010 vs 2007).

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    30. Re:Bad GUI and no CLI: way too common by Z34107 · · Score: 1

      Dcpromo's command-line version is full-featured, although it'll launch a GUI if you run it without parameters from an explorer session. Selecting a "Server Core" version when installing Windows means you get a completely GUI-less install for everything.

      The troll content in my post seems rather weak, so I'll strengthen the titration with a "powershell > bash"

      --
      DATABASE WOW WOW
    31. Re:Bad GUI and no CLI: way too common by afidel · · Score: 2, Informative

      It's always worked dcpromo /unatted:unattend.txt, how do you think server core DC's get built? One of the last major obstacles in many environments to running core was the broken Broadcomm teaming tools but that issue has been resolved for a couple months.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    32. Re:Bad GUI and no CLI: way too common by h4rr4r · · Score: 1

      I did not suggest find, nor xargs.

      I would not write a GUI as it could never be as good as the command line. How would it handle piping at all?

      What if you wanted to sort before you copy, because maybe you only want the first 100 in numerical order, the possibilities are really endless.

    33. Re:Bad GUI and no CLI: way too common by Peach+Rings · · Score: 2, Interesting

      Why would you even want Server 2008 to run without a GUI? The windows command line tools are dodgy and it only takes up like 64MB of your 16GB server memory.

    34. Re:Bad GUI and no CLI: way too common by h4rr4r · · Score: 1

      No portability dictates you install the GNUtools everywhere and bring those heathen machines up to speed :)

    35. Re:Bad GUI and no CLI: way too common by ToasterMonkey · · Score: 4, Insightful

      Providing a great GUI for complex routers or Linux admin is hard. Of course there has to be a CLI, that's how pros get the job done. But a great GUI is one that teaches a new user to eventually graduate to using CLI.

      Just about everyone reading this is heavily biased one way or another, and there is too much presumption that a CLI is this or a GUI is that.

      Why can't we break this down into what makes any type of interface good or bad, and keep open to the possibility of new types of interfaces or better ways of implementing existing ones?
      If we can bitch and moan about CLI vs. GUI with little choice in the matter I think the floor's open to made up interfaces too. These are qualities I think any computer interface should have.

      Learning curve no steeper than the underlying concepts. Probably even lower.
      Consistent, and predictable.
      Expressive, and concise.
      Integrity. Um.. as in, the state of the machine vs. what's conveyed to the user. Accurate?
      Available over a network.
      Can be automated.
      Online documentation. Of the interface. If you have trouble describing the concepts in your native language, maybe it sucks.
      Efficient, in the sense of labor involved, but in the sense of learning too, like my first rule.

      That's a start anyway. I don't see why any kind of interface can't shoot for those. For sure if you're going to deliver more than one kind if interface they should relate to each other as much as possible. A CLI is dead simple to turn into script, but a GUI could also be. A CLI should map so closely to a corresponding GUI that it effectively IS a script of the GUI. A GUI should convey state information just by looking at it. Duh. If it doesn't HAVE to be an either/or situation, why make it into one?

       

    36. Re:Bad GUI and no CLI: way too common by MightyMartian · · Score: 3, Insightful

      What would be REALLY nice for you all router manufacturers who are using Linux underneath the hood is to give shell access so that we could gain full access to iptables, vpn and routing. Just about every one of these Linux-based routers has all that power locked up in your crappy web-based configuration tools that render them all but brain dead. Yeah, I know, there's DD-WRT and its various iterations, but these only work on a subset of Linux-based routers.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    37. Re:Bad GUI and no CLI: way too common by Kymermosst · · Score: 2

      Why are you and the GP talking about SMIT in the past tense? ("did this," "was") It still exists and it still does this.

      --
      "Alcohol, Tobacco, Firearms, and Explosives" should be a convenience store, not a government agency.
    38. Re:Bad GUI and no CLI: way too common by deek · · Score: 1

      I thought that running server 2008 without a GUI was already possible. Doesn't Windows Server 2008 Core do this?

    39. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 1, Funny

      What would be nice is if the GUI could automatically create a shell script doing the change..

      You could probably write a shell script to do that...

    40. Re:Bad GUI and no CLI: way too common by kimvette · · Score: 1, Flamebait

      Why use Win2K8 for a domain/active directory when you can use Samba4 instead?

      http://wiki.samba.org/index.php/Samba4

      Advantages:

        * Fully scriptable
        * Easy to back up and duplicate to backup server
        * Backups are easy to restore
        * Better, more complete logging
        * Easy to administer remotely
        * Easy to make self-healing with nagios
        * No server license + client access license (no nickel-and-diming) and no worrying about whether to choose per-user or per-device
        * disaster recovery is easy to be made 100% successful and repeatable in your staging environment - using BSD userland tools, not having to spend thousands to tens of thousands on buggy proprietary solutions
        * It requires a sysadmin with a clue, which greatly increases your chances of continual uptime and avoiding the need for disaster recovery in the first place
        * Easy to cluster without having to pay for an expensive "enterprise edition" of Windows
        * Inexpensive to replicate to your staging environment - legally avoiding have to pay for additional server license for the one-time-use software

      Disadvantages:

        * You need to not be a mouth-breather to configure it (your average drooling paper-MCSE with no experience need not apply)
        * The documentation sucks

      --
      The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
    41. Re:Bad GUI and no CLI: way too common by fluffy99 · · Score: 1

      If they could get server 2008 to work without any gui than that would be really worth it. Maybe for 2012 or whatever. Does dcpromo work without a gui yet?

      Windows Server Core, while not completely gui-less everything can be done via powershell. DCPromo works just fine from the command line, and in fact some particular tasks require it.

    42. Re:Bad GUI and no CLI: way too common by Eskarel · · Score: 0, Troll

      Yes, yes it is.

      Most people on slashdot who actually use Windows are mindlessly clinking to the clunker than is XP, so they really have no idea of what Microsoft has done in the last 10 years.

    43. Re:Bad GUI and no CLI: way too common by fluffy99 · · Score: 1

      Why would you even want Server 2008 to run without a GUI? The windows command line tools are dodgy and it only takes up like 64MB of your 16GB server memory.

      Mostly for reduced attack surface - ie less stuff running to be vulnerable. Same notion behind running a stripped down linux box with just the functions you need installed. Also slightly lower memory, cpu and diskspace requirements.

    44. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      Websphere Application Server has a neutered version of this. I used it a few times to get an idea of which methods to use in my jython scripting. IBM clearly didn't a put a lot of development time into it, as I would note sometimes that it simply didn't return anything.

    45. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 2, Interesting

      What would be even nicer is if they started using OpenBSD on the routers so we could use pf instead of iptables.

    46. Re:Bad GUI and no CLI: way too common by noidentity · · Score: 1

      Your post is kind of confuseing, since that link at the end seems to have nothing to do with the article. If it's your signature, I suggest making it a normal signature, so those who have signatures turned off won't see it.

    47. Re:Bad GUI and no CLI: way too common by sjames · · Score: 1

      The best cure for that is to hand them a null modem cable and wish them luck. It's a fair test, sometimes that is actually the only tool available that doesn't involve blowing the whole config away and taking way too long to put it back in by memory.

      In other cases, something screws up and bogs the device (server) down to the point that it can't manage to display the GUI in anything like a reasonable amount of time. It might just manage with the CLI allowing you to kill an errant process or shut a port being attacked and restore sanity.

    48. Re:Bad GUI and no CLI: way too common by Vegemeister · · Score: 1

      Clinging damnit.

    49. Re:Bad GUI and no CLI: way too common by triple.eh · · Score: 1

      Is that you agent Jenkins?

      I simply don't use AIX these days so for some reason my mind automatically switched to past tense. Maybe it's the beer...z...

    50. Re:Bad GUI and no CLI: way too common by Penguinisto · · Score: 2, Interesting

      I couldn't agree more which is why it's really cool that the Exchange GUI tools will show you the exact PowerShell commands they are running if you want to learn how to use the CLI (and in fact that are still things that can only be done in the CLI, though the list is greatly reduced in EX 2010 vs 2007).

      Crap. I was hoping they would've encouraged more CLI and less GUI... (using Exch2k7 here - haven't had time to dink with 2010 yet). I'm guessing the typical MCSE types (comprising the majority, not the whole) have decided that command-line stuff must be too hard to learn.

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    51. Re:Bad GUI and no CLI: way too common by adam872 · · Score: 1

      Oracle's Enterprise Manager used to do this (maybe still does). I agree, it's a great feature.

    52. Re:Bad GUI and no CLI: way too common by Haeleth · · Score: 1

      That's just because you haven't written a decent GUI for those options yet, it doesn't mean it couldn't be done if one wanted to.

      Sure, and such things exist.

      However, they are a hell of a lot more complicated than drag-and-drop. And that's the point.

      GUIs are unquestionably faster for simple things. Copy this file here. Select this word that's miles away from the input cursor. That kind of thing. However, the benefit of using a GUI decreases rapidly as the complexity of the operation increases. And for admin/configuration-type tasks, the traditional approaches have advantages of their own; e.g. most GUIs provide very poor search facilities. I would far rather grep through a directory of well-commented text files than hunt by hand through tab after tab of nested dialog hell.

    53. Re:Bad GUI and no CLI: way too common by Jah-Wren+Ryel · · Score: 1

      What would be nice is if the GUI could automatically create a shell script doing the change.

      Heck, I write most of my scripts to output new scripts. No gui needed. This gives me the ability to make a fairly generic script (kinda like a fairly generic gui) which will take a few arguments and produce the script that actually does the work. If there is something weird about the specific case I'm working on, then I can tweak the resultant script. If there isn't anything special that needs to be done, I can just pipe it directly into a shell.

      --
      When information is power, privacy is freedom.
    54. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      Yeah, SMIT is very well done. When I went from Linux to AIX, SMIT was great to learn some of the AIX commands I didn't know. I knew conceptually what I needed to do, so I would do it in SMIT and then look at the generated command. Before long I didn't need SMIT anymore.

    55. Re:Bad GUI and no CLI: way too common by Haeleth · · Score: 1

      Portability precludes the -print0 option to find and -0 option to xargs.

      With the exception of special cases like configure, it's relatively rare for a single script to be run on multiple different types of Unix. Oh, sure, it happens, but most scripts are used for a single task, and most people who reuse scripts only work with one platform, and most people who work with multiple platforms use them for different things.

      I would think that in most cases where someone is writing a script on a computer whose find has -print0, that script can safely use -print0.

    56. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      dammit , damn you

    57. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 5, Insightful

      > * It requires a sysadmin with a clue
      > * You need to not be a mouth-breather to configure it

      Still wonder why you're not taken seriously, eh?

      I like Samba. It could use less advocates like you.

    58. Re:Bad GUI and no CLI: way too common by McNally · · Score: 2, Interesting

      AIX's SMIT did this, or rather it wrote the commands that it executed to achieve what you asked it to do. This meant that you could learn: look at what it did and find out about which CLI commands to run.

      It's been years since I administered an AIX machine but my recollection is that the CLI command strings it came up with were generally amusingly-specific unique-to-AIX commands with very long names like resizepartitionandinstallbootblock or something like that. They were generally specialty scripts built to parallel SMIT menu choices and you'd never wind up guessing the command without SMIT telling you what to use, but having the command-line version was nice because you could do something by menus in SMIT on one machine and then use the command-line equivalents to automate the same operations on dozens of other hosts.

    59. Re:Bad GUI and no CLI: way too common by Pentium100 · · Score: 1

      GUI lets me have longer file and directory names.

      move "Some TV show S02E04.mkv" "E:\TV Shows\Some TV Show\Season2\"

      I would not want to have to type that to just copy a file.

      As far as copying files goes, the only time I used a command line copy tool was when I wanted to have my MP3 collection on one hard drive, so I had to copy from *:\MP3 to x:\MP3, I made a .bat file to do it, so I would not have to start copying from each hard drive separately.

      Other times it's a single file, a single folder or a bunch of files with similar names (foe example, all episodes of "Some TV Show".

    60. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 4, Informative

      You forgot:

      = Still alpha code.
      = Cannot handle multiple group membership from a Linux file system, such as NFSv4 (http://www.pubbs.net/201004/samba/41361-samba-viewing-if-not-editing-nfsv4-acls-from-samba-shares.html).

    61. Re:Bad GUI and no CLI: way too common by simoncpu+was+here · · Score: 1

      You might want to look into pfSense. It's a firewall/router based on FreeBSD that uses pf underneath. You have complete shell access to the system. m0n0wall uses pf too, but enabling shell access was a bit hard the last time I checked.

    62. Re:Bad GUI and no CLI: way too common by siride · · Score: 1

      How about COM? WMI? I'm not a huge Windows person, but for work I've had to do some light tasks and I've found that the various scripting and automation tools on Windows to be underrated. Granted, COM has its own history of being a big pain, but at the very least a lot of Windows apps are scriptable or programmable through it, especially MS Office.

    63. Re:Bad GUI and no CLI: way too common by starfishsystems · · Score: 3, Insightful

      For sure if you're going to deliver more than one kind if interface they should relate to each other as much as possible.

      Under this expanded mandate, let's also compare the programmatic interface to the system with the command and graphical interfaces. I've always been bothered that there isn't a tight relationship between the standard Unix command set and their programmatic equivalents. It's pretty accidental, and that's a shame. As long as the coupling is not rigorous, that means two learning curves as well as two compatibility surfaces to maintain.

      I used to ponder this a lot, so it was very instructive to work with the Symbolics Lisp Machine for a few years. Here we had an environment which was Lisp from the microcode upward. It was a completely fresh start, a chance to do it right. The operating system was very open. And with Lisp being an interpreted language, you'd think it would be dead easy to provide a rich CLI that gave direct access to both the system and the GUI.

      Well, no, that's not how it worked out. Part of that is due to our natural fondness for line breaks as command delimiters. Lisp wants things to be delimited by parentheses. But that's not an insurmountable problem. Unfortunately, the Symbolics developers thought it was, and they instead went off and built a CLI that was only vaguely coupled with the corresponding system methods. It was heartbreaking to see such a basic advantage thrown away.

      To make matters worse, when the CLI ended up throwing an exception (which was not all that uncommon in such an experimental environment) what you saw on the stack bore little resemblance to the documented system methods. See, most of those were not really methods at all but wrapper macros of one kind or another. So, you'd execute a shell command, which would invoke one of these macros, which would push some undocumented methods on the stack. And since the CLI didn't relate to the system documentation, you'd have to guess where to go to find the documented methods.

      It could have been the best. Instead it was kind of the worst. Well, I guess it beat looking at IBM core dumps.

      --
      Parity: What to do when the weekend comes.
    64. Re:Bad GUI and no CLI: way too common by mikael_j · · Score: 1

      move "Some TV show S02E04.mkv" "E:\TV Shows\Some TV Show\Season2\"

      Ever heard of tab completion? I know MS were kind of slow with getting it in the first place and still haven't figured out how to make it work sanely but it means you don't have to type the entire long filename you're oh so worried about.

      --
      Greylisting is to SMTP as NAT is to IPv4
    65. Re:Bad GUI and no CLI: way too common by keith_nt4 · · Score: 2, Insightful

      I've never been in a decision-making position for choosing a server for a company but over the last ~seven or eight years I've come to conclusion (I'm some will correct me if I'm wrong) that there aren't really meetings in which a group managers balance the pluses and minuses of Linux/Samba verses whichever Windows server. That look at entire apparent cost-of-ownership, in particular the support contract.

      In other words the main draw is the service contract: if any hardware fails on any server an 800 number is called and less than 24 hours later either the replacement part is delivered or a tech of some sort is there ready to install the part that needs replacing.

      I don't think most at least large companies really care about brands so much. I mean I don't think they're loyal to Windows in so much as the Dells and HPs of the world will win the bid for phone support/hardware replacement for three or five or whatever number of years at a time. And that Dell contract will extend to an MS support contract along with server/desktop licensing etc. Companies pay huge amounts of money for things like always having someone that can be called and a replacement part in under 24 hours.

      So, am I way off?

      --
      "UNIX is very simple, it just needs a genius to understand its simplicity." -Dennis Ritchie
    66. Re:Bad GUI and no CLI: way too common by MaskedSlacker · · Score: 2, Interesting

      1) Your argument against CLI is a moronic volume mounting system designed explicitly to only be used with a GUI. Really, the whole C:, D:, E: thing was fucking moronic. The Unix scheme of mounting seamlessly as a folder under /, in a way which renders the underlying volumes invisible is far saner (which is, of course, an entirely separate debate from the merits of CLI vs. GUI, but a personal pet peeve with Windows).

      2) Tab completion. I don't think I've ever typed more than 5 letters of a filename, of any length.

    67. Re:Bad GUI and no CLI: way too common by Kymermosst · · Score: 1

      Well, I was mostly just curious if you knew something I didn't... not trying to be the grammar police.

      --
      "Alcohol, Tobacco, Firearms, and Explosives" should be a convenience store, not a government agency.
    68. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0, Insightful

      You forgot:

      Seems to depend on OpenLDAP, which is in itself generally too unstable for production use once you pass a few hundred users.

    69. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      what is even more brutal... REST api for web apps? Try and run that mess from the command line. It seems that since 1995 so many people see every problem as a web app.

    70. Re:Bad GUI and no CLI: way too common by TheLink · · Score: 2, Insightful

      In my experience perl is on most unix machines, and works quite well for cross-platform tasks.

      Can't depend on Java or GNU tools to be present everywhere, but so far I've found perl on OSX, Solaris, OpenSolaris, AIX, most Linux distros and FreeBSD.

      So if I ever had to write a cross platform unix/linux virus I'd write it in perl :).

      --
    71. Re:Bad GUI and no CLI: way too common by SudoGhost · · Score: 1

      1) Your argument against CLI is a moronic volume mounting system designed explicitly to only be used with a GUI. Really, the whole C:, D:, E: thing was fucking moronic. The Unix scheme of mounting seamlessly as a folder under /, in a way which renders the underlying volumes invisible is far saner (which is, of course, an entirely separate debate from the merits of CLI vs. GUI, but a personal pet peeve with Windows).

      2) Tab completion. I don't think I've ever typed more than 5 letters of a filename, of any length.

      All I read was

      Stop using what I don't like!

    72. Re:Bad GUI and no CLI: way too common by zaivala · · Score: 1

      I used to see DOS as my second language. I have yet to learn enough bash or cshell to blow my nose with. The books I have tried to learn from are as abstruse as if they were written in Hmong. Any suggestions? Right now, I'm running Ubuntu simply because I rarely need to go into Terminal -- and when I do, I can usually find someone in ubuntuforums.org to tell me what to type, which is not really a learning process (other than learning how to ask the question to get a good answer).

    73. Re:Bad GUI and no CLI: way too common by pjt33 · · Score: 2, Informative

      My root has the ability to download and upload the config as xml. I downloaded it, noticed that it's possible to change the admin's username, and did, thinking that it's an extra step towards defence in depth. Of course, the router didn't like it - it accepted the config but now neither the old username nor the new one work. If I ever want to change the config again I'll have to reset to factory defaults first.

    74. Re:Bad GUI and no CLI: way too common by pjt33 · · Score: 1

      Also consider the situation where you only want to act on a small number out of a large number of files. Then the pipe to xargs will delay execution until you've exhausted the search, while the -exec will perform the job as the files are found. It won't return any quicker, but the load will be spread out, with the first few tasks happening sooner.

      Really? I don't have time to benchmark now, but I would have thought that using xargs -n1 it would start as soon as it received the first input.

    75. Re:Bad GUI and no CLI: way too common by __aardcx5948 · · Score: 2, Insightful

      I've seen this in a few places, why is pf preferred over iptables? What can it do that iptables cannot? Or is it performance related? Security?

    76. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 2, Funny

      And so you've reached exactly alain94040's point -- a gui (ala Windows's search for files & folders) that can output its resulting find command for the user to learn from.

      Also...

      Cool, now move only the files that end in mp3, do not contain a number in the name and are between 10 and 60 days old. I bet the CLI starts looking might fast then.

      I dunno -- is it faster to do nothing with a CLI or a GUI?

    77. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      In Powershell, this will do part of it:
      Get-ChildItem | where {$_.extension -eq ".mp3" -and $_.lastwritetime -lt (get-date).adddays(-10) -and $_.lastwritetime -gt (get-date).adddays(-60)

      However, it doesn't check for numbers in the name and even that took some Googling to find out the AddDays bit.

      For me it would certainly be quicker to do it by eye..

    78. Re:Bad GUI and no CLI: way too common by Dogers · · Score: 1

      No, it's all still there, you can just do more in the GUI, without having to resort to PS.

      --
      I am a viral sig. Please copy me and help me spread. Thank you.
    79. Re:Bad GUI and no CLI: way too common by lidocaineus · · Score: 2, Insightful

      Ridiculous. I am all for Unix tools and prefer the Unix way for most server related tasks and apps, but Samba4 doesn't even come close to being able to dealing with an ADSI install. Even doing something basic like rolling out GPOs is either a giant pain in the ass, requires Windows-based tools still, or is impossible. As a generic SMB server, Samba is excellent. As a domain controller/active directory store, it has a LONG way to go before it's even close to viable as a replacement for AD.

    80. Re:Bad GUI and no CLI: way too common by Spad · · Score: 1

      Thing is, for a lot of tasks in Exchange the CLI is much more work than the GUI; yes, for batch operations it's unbeatable, but for making a single change to a single mailbox or server role you're almost always better off using the GUI.

    81. Re:Bad GUI and no CLI: way too common by Pentium100 · · Score: 1

      Really, the whole C:, D:, E: thing was fucking moronic. The Unix scheme of mounting seamlessly as a folder under /, in a way which renders the underlying volumes invisible is far saner

      Does it also magically make 10 hard drives appear as one, so you don't have to move files between drives to make enough free space for one bigger file?

      Windows also has that - it's called RAID and can be used with a hardware controller or in software. Neither version works if the hard drives are not identical (I have drives from 100GB up to 750GB), on different computers and were not bought (or installed) at the same time, but oer the years as I ran out of space.

      So, on Windows it's C:\, D:\, E:\, ... Z:\, on Linux it would be /mnt/hda1, /mnt/hdb1, /mnt/smb1, ... /mnt/smb5

      (and /mnt/hda1 is longer than C:\)

      2) Tab completion. I don't think I've ever typed more than 5 letters of a filename, of any length.

      Which is good, but still less useful as GUI. A very common problem to me is that I want to download or copy some big file and while I have enough free space combines, none of the drives has enough space for that file, so I need to move some smaller files to make enough space for the big one. I can use "dir" to see the files in each folder, find the ones I can move then use "dir" multiple times to find out which drive has enough free space for those files then move them.

      Or, I can open "My Computer" and see the free space of each drive, then go to some folder to look for files that can be moved or use some GUI tool like SpaceMonger to see what are the largest files and folder in the whole drive at once. This way is much less typing and much faster.

    82. Re:Bad GUI and no CLI: way too common by maitai · · Score: 1

      Or just install a new Linux based OS on them yourself.

    83. Re:Bad GUI and no CLI: way too common by ubersoldat2k7 · · Score: 2, Interesting

      GUIs are unquestionably faster for simple things. Copy this file here. Select this word that's miles away from the input cursor.

      Even for simple tasks I find the CLI faster. A few days ago I was playing with this idea, so I ran a little timer ($time read x) to find out how much time did it take to do simple tasks like the ones you mention. In every tasks, I was faster in the CLI, except for renaming one file.

    84. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      (...) only the files that end in mp3

      And now move ony the files that *are* mp3s...
      (you're a windows guy, right?)

    85. Re:Bad GUI and no CLI: way too common by jimicus · · Score: 1

      Apart from the fact that the latest version of Samba 4 is clearly labelled as being an alpha build, and has the following warning (lifted straight from samba.org):

      Samba 4 is currently not yet in a state where it is usable in production environments.

    86. Re:Bad GUI and no CLI: way too common by jimicus · · Score: 1

      IME most tools that generate a shell script only do so one or two lines at a time with each option you set.

      Of course, it helps if the thing your configuring actually has a true CLI where you can punch in commands to configure it - many Unix applications don't, you have to edit a config file somewhere.

    87. Re:Bad GUI and no CLI: way too common by jimicus · · Score: 0, Flamebait

      Yes, yes it is.

      Most people on slashdot who actually use Windows are mindlessly clinking to the clunker than is XP, so they really have no idea of what Microsoft has done in the last 10 years.

      I am afraid you are mistaken.

      Most people on slashdot are clinging onto Windows '9x, and have no idea what Microsoft have accomplished in the past 12-15 years.

      Having said that, I once administered a network of Win'9x machines, so I can thoroughly understand why they'd run away screaming in the opposite direction. But at least I'm aware that Microsoft have made some advances since then.

    88. Re:Bad GUI and no CLI: way too common by jimicus · · Score: 1

      I've tried arguments like that. Usually you wind up with some smartarse pointing you at a GUI tool which lets you do exactly that sort of thing, neatly missing the point that the CLI gives you the building blocks to do what you want - at the expense of you having to do some building in order to do anything. It's the difference between a toy car and a lego set containing all the components to build a car.

    89. Re:Bad GUI and no CLI: way too common by xonicx · · Score: 1

      I like the way P4Win GUI works. When user does something, it prints the actual CLI command it is running in lower half of window.

    90. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      So when you add a new hard drive and your stuff installed on C: is now on D:, your registry is pointing to a file that doesn't exist.

      Does windows now magically know when you've moved an application to a new disk drive and copy the file there?

      No.

      Meanwhile, you mount your new HDD to /tmp/mnt "mv" from the directory you want to move your files to the new HDD from (e.g. /opt or /usr/local) to the new HDD, then unmount /tmp/mnt and mount it in the right directory point (e.g /opt or /usr/local).

      New HDD space and no reconfiguration of installation.

    91. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      Like Photoshop's actions? Makes sense.

    92. Re:Bad GUI and no CLI: way too common by Compaqt · · Score: 1

      clinking. n. Clicking while clinging.

      --
      I'm not a lawyer, but I play one on the Internet. Blog
    93. Re:Bad GUI and no CLI: way too common by chromas · · Score: 1

      What if you wanted to sort before you copy, because maybe you only want the first 100 in numerical order, the possibilities are really endless.

      Click the column header to sort. Also, some graphical file managers have an ever-present search/filter field to reduce the file list to what you want. Add in regexp and the possibilities are nearly endless.

    94. Re:Bad GUI and no CLI: way too common by samjam · · Score: 1

      Reminds me of a shareware program in the 90's called "slashbar",a TSR that popped-up a lotus-123 style menu bar and let you compose a command which it the emitted via fake keystrokes.

      You could script VERY GOOD menu systems which would also teach the command line by creating the commands you used,

    95. Re:Bad GUI and no CLI: way too common by jandersen · · Score: 1

      I'm not sure if I agree with what you are saying, but here's my version. From where I stand, the best way not only to approach system administration, but most applications, is to first present all functionality through a CLI interface, then put a GUI wrapper in front. Oh, I realise that this is not always meaningful - it would be difficult to make a WYSIWYG word processor that way - but it is amazing how often this paradigm is very effective. The advantage is of course that the GUI and the functionality are separated which will make it easier to create a new GUI interface - or web interface, if your fancy takes you that way. On top of that, you functionality will be scriptable, and you can access it even if all you can get is a terminal session through a slow modem.

      Just as an aside, this construction is not dissimilar to the MVC (http://en.wikipedia.org/wiki/Model-View-Controller) architecture used for enterprise applications, so it is probably good for something.

    96. Re:Bad GUI and no CLI: way too common by Enleth · · Score: 3, Interesting

      Could be configuraion syntax. Simple, readable, concise, possible to understand even in very complicated scripts without looking at the manual. I'm using iptables routinely, but I liked pf for its simplicity.

      --
      This is Slashdot. Common sense is futile. You will be modded down.
    97. Re:Bad GUI and no CLI: way too common by maxwell+demon · · Score: 1

      Well, the point is that GUIs have a better initial learning curve. Therefore with such a GUI, you could get the first steps quickly, and then study the generated scripts to learn how to do it on the command line, so you have the full power. Your scripts writing scripts also require that you already know the CLI. The point of the GUI with script output is that you could use the discoverability of the GUI to learn the CLI.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    98. Re:Bad GUI and no CLI: way too common by gtall · · Score: 1

      Apple's old MPW suite did this for its unix like shell scripts. It was called Commando. For any cli command, you could call up its alter ego as a dialog box where you could click radio buttons, check boxes, enter apropos text, etc. In an editable text field, it would build up your command as you manipulated the dialog box. When you were done, you could hit the run button or copy/paste the constructed cli command in another window and execute it.

      If I ever get some time, I intend to build something similar for the unix shell for those of us who would rather eat a broom than remember arcane unix cli command with their flags, etc. For bonus points, one could use the old Prograph (now called Marten, but they appear to have made no updates since 2008) dataflow paradigm to wire together cli commands and thus have complete graphical scripting language.

    99. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      Ditto, pretty well executed I thought.

      Ah ha! I see what you did there!

    100. Re:Bad GUI and no CLI: way too common by attributed+insanity · · Score: 1

      What? Of course Unix systems support RAID, both hardware and software. There are also filesystems that can do exactly what you want with non-identical drives, such as (IIRC) ZFS.

      I'd find it a lot easier to approach the file-size knapsack problem from a bash prompt with ls, head, mv and maybe cut, but if you want to spend your time clicking around, that's fine by me. All of those utilities are available for windows, by the way.

    101. Re:Bad GUI and no CLI: way too common by Pentium100 · · Score: 1

      So when you add a new hard drive and your stuff installed on C: is now on D:, your registry is pointing to a file that doesn't exist.

      When I install a new drive, I choose the letter for it. Windows usually take the first available one, but I might be using a network drive with that letter, so I go to Computer Management and change the letter to whichever I want. Windows NT/2000/XP (and possibly Vista/7) do not change the drive letters of existing drives when installing a new one. Windows 2003 does not even assign a drive letter until I assign it manually.

    102. Re:Bad GUI and no CLI: way too common by Pentium100 · · Score: 1

      IIRC -

      ls - lists the contents of a folder, ls -la lists them with permissions and file size (does not display folder size).
      head - shows first few lines of a file (or of another programs output).
      mv - move
      cut - can show the middle of a file.

      I don't even know how to check free space on Linux. "dir" on Windows shows the free space, but in my case it would be something like...

      dir x:\movies /p
      *great, I think I can move this 700MB file to some other drive*
      dir e:
      *200MB left, nope*
      dir h:
      *500MB left, nope*
      dir j:
      *100MB left, nope*
      dir m:
      *1GB left, OK*
      move x:\movies\SomeMovie.xvid.ac3.avi m:\movies

      this way is slower.

    103. Re:Bad GUI and no CLI: way too common by jedidiah · · Score: 1

      > Most people on slashdot who actually use Windows are mindlessly
      > clinking to the clunker than is XP, so they really have no idea
      > of what Microsoft has done in the last 10 years.

      They only stopped selling XP recently. So why should it look like they stopped selling it 10 years ago?

      --
      A Pirate and a Puritan look the same on a balance sheet.
    104. Re:Bad GUI and no CLI: way too common by jedidiah · · Score: 0, Troll

      > That's just because you haven't written a decent GUI for those options yet, it doesn't mean it couldn't be done if one wanted to.

      Yes. It "could" be done. Certainly not by you though. Just who are you going to draft for this task?

      THAT is the key. You can either wait for someone else to make a proper solution or make one of your own.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    105. Re:Bad GUI and no CLI: way too common by Pharmboy · · Score: 1

      Cisco's GUI stuff doesn't really generate any scripts, but the commands it creates are the same things you'd type into a CLI.

      Not trying to be argumentative (and I admin some but not an expert), but isn't that pretty much what most every GUI tool for Linux does, as part of the Unix philosophy? IE: just a front end for the real tool(s) in the background? I thought that most bittorrent clients pretty much do the same, act as a front end to the real meat behind the scenes. It would appear that MS has fought designing tools this way since breaking away from DOS based systems. I'm glad to hear that MS is starting to do the same, as it only makes sense, even if they are late to the party.

      --
      Tequila: It's not just for breakfast anymore!
    106. Re:Bad GUI and no CLI: way too common by h4rm0ny · · Score: 1

      But, but... I've spent years learning how to read and write iptables configs properly. You can't all change to something simple and intuitive now.

      I mean I only needed a couple more years before I had the masquerading down pat.

      --

      Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
    107. Re:Bad GUI and no CLI: way too common by jedidiah · · Score: 1

      > move "Some TV show S02E04.mkv" "E:\TV Shows\Some TV Show\Season2\"
      >
      > I would not want to have to type that to just copy a file. ...actually. I have shell script for just this very thing. It sorts itself out.

      All I have to type is the script name.

      It will also create the destination directory on one of several disks if need be.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    108. Re:Bad GUI and no CLI: way too common by attributed+insanity · · Score: 1

      Sure. If you don't know what to do, it's definitely slower. The trick is chaining commands together. ls can order its output by filesize (ascending or descending), head will then get you the n largest files: "ls -S | head -n 12" for twelve.

      Actually thinking about it, the easiest way to move those files whould then be to use xargs: "ls -S | head -n 12 | xargs -I% mv % /target/dir/". Oh, and "df -h" will show you the free disk space for all mounted partitions under Linux.

      This is all besides the point, though. You're essentially arguing that your shell isn't powerful or obvious enough, and you're right, but using a GUI isn't a fix - like another poster said, it might make the easy things a bit easier but it makes the hard things a lot harder.

    109. Re:Bad GUI and no CLI: way too common by arndawg · · Score: 1

      There's a reason for that you know. If you want the power, just build it yourself. If you start making all these changes under the hood, it's not always possible for the GUI or whatever to pick up on this. Over time it gets messy.

    110. Re:Bad GUI and no CLI: way too common by jellomizer · · Score: 1

      But there are bad CLI too. Where they are over designed to handle a lot of things but doesn't differ from a common action to a rare complex one. Making a simple task a quite difficult assignment. The tone is that they are good and bad GUI but only one grade of CLI. Sure us old DOS, Linux, Unix, Mainframe, VMS guys long for the day of the CLI. But the GUI for the most part has won. But what I hear from the story, isn't that we need more CLI but a scripting alternative for headless environments. Sure many CLI work well for scripting. But it doesn't need to be such.

      CLI often give you the command of doom. Hitting return except for tab on your router could be the difference between shutdown and show.
      A script would allow you to fix mistakes a head of time then deploy

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    111. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      Yeah, try learning HTML by looking at MS generated code from a Powerpoint presentation saved as a html document.

    112. Re:Bad GUI and no CLI: way too common by WongsHongKongTailor · · Score: 2, Informative

      pf example: pass in on $ext_if inet proto tcp from any to ($ext_if) \ port $tcp_services flags S/SA keep state pass in on $ext_if inet proto tcp from any to $comp3 port 80 \ flags S/SA synproxy state iptables example: iptables -A INPUT -i $ext_if -p tcp --dport $tcp_services --syn -j ACCEPT iptables -A FORWARD -i $ext_if -p tcp -d $comp3 --dport 80 --syn -j ACCEPT Personally I find the pf format much easier to read/remember/use/debug. Read into it you will find out it is pretty neat.

    113. Re:Bad GUI and no CLI: way too common by multipartmixed · · Score: 1

      Sun's Solstice Disk Suite GUI used to generate scripts for the actions you were trying to take. The scripts were perfectly readable.

      It's not like there's going to be any flow control in a CLI-automating-GUI tool. It's just going to emit commands which represent the actions you're taking.

      This is great way to write a GUI, and a fine way to learn the ins and outs of a system.

      --

      Do daemons dream of electric sleep()?
    114. Re:Bad GUI and no CLI: way too common by bsDaemon · · Score: 1

      While there are a lot of tools that are basically just a Python or Perl script providing a GUI take makes a lot of system() calls to execute commands, thus serving as a front-end, there are also plenty that are writing the configurations directly, or which -are- the program. I think this is more often the case where binary configuration files are used, which thankfully is rare in *nix world.

      IMO, the big issue with trying to tack a GUI front-end onto a system, particularly post-facto, is that you only get so much space to pack your widgets, which means you only have so many options you can fit before you get completely unusable. That means, particularly for more advanced configurations, the GUI will usually fall short compared to just entering a series of command-line configuration commands, or editing the config file by hand.

    115. Re:Bad GUI and no CLI: way too common by BKX · · Score: 1

      Holy crap: ignorance. And, I know, I know, I shouldn't feed the trolls. Filesystems in Linux are mounted whereever you want them to be. So the C: drive equivalent is '/'. 'du' can be used to get a quick overview of freespace, that is, the free space, both as a percentage and in hard numbers, of every mounted drive and where the drive is mounted, all in one magic command. 'ls -a' gives you the individual filesizes, as can 'df', which is also recursive.

      RAID on Windows blows a nut compared to RAID on Linux. On Linux, you can install hard drives of any size, at any time, and use them in any arrangement with Linux RAID. Linux also supports more raidlevels than Windows, with RAIDs 0, 1, 4, 5, 6, and combinations of those levels. You can use any actual hardware RAID card you want. (Do not confuse hardware RAID cards, which are very expensive and usually SCSI, with cheap software raid cards which have a setup and recovery BIOS on the card but require a special driver that uses your processor to do the actual work in order to get around the fact that only server versions (for the most part) of Windows can do software RAID. There's no point in supporting this kind of RAID card specifically on Linux, as it's just software RAID anyway, and Linux can already do that.)

    116. Re:Bad GUI and no CLI: way too common by forkazoo · · Score: 1

      Providing a great GUI for complex routers or Linux admin is hard. Of course there has to be a CLI, that's how pros get the job done. But a great GUI is one that teaches a new user to eventually graduate to using CLI.

      Agreed that providing a great GUI can be very hard. A less widely considered issue is that creating a great CLI based system is generally also very hard, and requires just as much consideration and conceptual design work as a great GUI. In some cases, even moreso. The biggest difference is that a poorly designed GUI tends to be useless for what you need to do, while a poorly designed non-graphical UI tends to merely be inconvenient.

      In the context of GUI vs. CLI, I think another thing to keep in mind is the nature of what you do with it. Setting up a router allows you to make essentially arbitrary decisions about each packet. On some level, it really is programming, even if the tools you use to do it aren't guaranteed to be Turing complete. You need to describe a behavior, and GUI's are terrible for that sort of thing. While GUI's are bad as a means of expression when you want to describe a behavior, they tend to be quite good for doing specific tasks.

      Turn on a default firewall configuration. That's a task. It can map sensible to a button or a checkbox in a GUI. Forward a port to a specific machine. That's also a specific task. It can sensibly by accomplished using a simple GUI with a few buttons, and text entry fields. Set up a router. That's an incredibly vague task. There isn't a fixed set of steps for doing it. In the general case, you need to describe the complete and arbitrary behavior. You need a language for that, and there's no obvious reason to think that a purely visual/spatial "language" will be the most suited. OTOH, a text based language is obviously suited to describing things. That's why we use text to describe the behaviors of programs that we write. iptables isn't a particularly natural or intuitive language, but for doing anything 'interesting,' it's miles ahead of having to do a complicated dance of button presses and repetitions and gestures.

      I think if most Linux GUI admin tools tried to focus on being an efficient tool for accomplishing a specific, well defined action, instead of trying to be a complete means of expressing fairly arbitrary behaviors, they would be a lot more useful, despite being more limited in scope.

      *Obviously, TFA talks about cisco routers, and I talk about iptables. I don't have as much experience routing with cisco as I do with Linux, so I speak about my own experiences. The author and I seem to have somewhat different backgrounds, but have come to basically equivalent conclusions about the importance of a command line when doing routing work in general. My point isn't about iptables, or routing, as much as it is about explaining behavior of an arbitrarily complex system, and TFA's author and I simply coincidentally happen to both agree that routers are an clear example of this.

    117. Re:Bad GUI and no CLI: way too common by petermgreen · · Score: 1

      I think the problem with *-to-html converters is they are often trying to force html to be something it isn't. HTML is designed to create reflowable content for the web not pixel perfect fixed size (or scaled) documents.

      Microsofts attempts to create "round trip support" by essentially encoding everything twice while understandable don't exactly make the code more readable either.

      Just because trying to preserve exact layout in html is hard and messy and micosofts tools generate particulally shitty html doesn't mean generation of code for humans to read/edit is doomed to failure in general.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    118. Re:Bad GUI and no CLI: way too common by WongsHongKongTailor · · Score: 1

      mv Some*2E04* "E:\Tv Shows\Some TV Show\Season 2\"

      First argument wildcards, second argument tab completion.

    119. Re:Bad GUI and no CLI: way too common by Cro+Magnon · · Score: 1

      Tab completion can still be a PITA if you have a lot of files with similar names.

      --
      Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
    120. Re:Bad GUI and no CLI: way too common by Gumbercules!! · · Score: 1

      The drawback to this would be that multitudes of people would not change their router config from they day they opened the box and someone else would soon gain access to that shell. And then they could start all kinds of mayhem... Like man in the middle attacks, ngrep for passwords, etc.

    121. Re:Bad GUI and no CLI: way too common by surgen · · Score: 1

      In your world, every linux mountpoint for drives other than the one mounted at "/" is in /mnt and linux doesn't do RAID? Seriously?

    122. Re:Bad GUI and no CLI: way too common by surgen · · Score: 1

      I can use "dir" to see the files in each folder, find the ones I can move then use "dir" multiple times to find out which drive has enough free space for those files then move them.

      Or, I can open "My Computer" and see the free space of each drive, then go to some folder to look for files that can be moved or use some GUI tool like SpaceMonger to see what are the largest files and folder in the whole drive at once. This way is much less typing and much faster.

      I bet it does suck to use `dir` to find that information, but I would use tools more appropriate for the job, like `du` and `df`.

    123. Re:Bad GUI and no CLI: way too common by hrimhari · · Score: 1

      AIX's SMIT had an option to tell you the command it was about to execute. I wonder if SMIT is still around...

      --
      http://dilbert.com/2010-12-13
    124. Re:Bad GUI and no CLI: way too common by Pentium100 · · Score: 1

      Well, Windows can do RAID too, so that's no different. I can have drive R:\ that's a huge RAID array, or I can have /RAID (or /home or whatever) on Linux.

      As for the mount points, they can be anything, well, let's see... Oh, I know, how about this - /movies1, /movies2, /movies3 ...? If I have 10 hard drives (100-750GB) and use all of them for data and not system files, what do you think the mount points should be?

    125. Re:Bad GUI and no CLI: way too common by jodio · · Score: 1

      SMIT (System Management Interface Tool) on AIX has been automatically creating a script for all of the tasks you do within the GUI. There is even a button to push that will display the command you are about to run with the approriate flags and parameters. This functionality has been there since last millenium. HP-UX's SAM has something similar as well. Don't know about Solaris as I only use the CLI on that OS.

    126. Re:Bad GUI and no CLI: way too common by WongsHongKongTailor · · Score: 1

      % df -h
      Filesystem Size Used Avail Capacity Mounted on /usr/share/warez 104G 91G 4.1G 96% /warez

      shows me how much free space on disks

      then just mv the files there

    127. Re:Bad GUI and no CLI: way too common by silverglade00 · · Score: 1

      All I read was

      Stop using what I don't like!

      I see you are using tab completion for reading!

    128. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      > ls - lists the contents of a folder, ls -la lists them with permissions and file size (does not display folder size).

      -sS shows the sizes, sorted.
      du -s dir will calculate the accumulated size of a directory. Usually to be used as du -s * | sort -n

      > I don't even know how to check free space on Linux

      df (df -h for human consumption).

      And using dir to sort ascending by size /os would be faster that /p (if you ignore that the Window command shell has too slow printouts to be useful)
      And "dir e: h: j: m:" would be a faster way to check free size, if you have very few files in the root dir or can filter out only the "free" output.
      If you were arguing that GUIs have a faster initial learning curve (and you obviously have worked a lot more with them) you'd have made your point well.
      Your example however is only a demonstration of the fact that either of not knowing your tools or not having the right ones makes you inefficient. Assuming you have seen how (some) older people search on web pages, you know that GUIs often need a lot of experience as well (e.g. where you have to look - with a command line that is rather easy in comparison).

    129. Re:Bad GUI and no CLI: way too common by greed · · Score: 1

      By late in the 4.3 cycle, SMIT was getting pretty hairy with invoking shell functions. But it would still log the shell function itself, so you could find out the underlying command. Or read the script. And you didn't have to read the log file: one of the function keys (or ESC-number for TTYs) would bring up the command.

      I'd often just run SMIT, bring up the command, read its man page, and then cancel out of SMIT and batch the command. (And/or update my master "new system configuration script". With that sucker and NIM, I could re-create any node in the test lab in about 10 minutes, completely unattended: it would wipe itself out, re-install, customize, and start the worker daemons and go multi-user all by itself. Happy admins never have to leave the keyboard when they don't want to.)

      Anyway, earlier versions of AIX had simpler SMIT commands, so you usually would just find the raw command in the log. At least, 3.1 through 4.2--I never had the misfortune to admin the RT/PC or PS/2 versions.

      (And by SMIT I mean SMITTY--the invocation that forces TTY use, even on an X11 display. The only problem was, in the ASCII interface, there was no SMIT man to fall on his face when the command failed. I mean if the command failed.)

      IBM could have really nuked Sun out of the water, except they insisted that traditional UNIX "man" pages were a bad idea and you should use InfoExplorer instead. And they held off--and ultimately cancelled--the PowerPC-601-based PC that could run AIX, OS/2, Windows NT, and Solaris because OS/2 wasn't ready. But damn did that thing make a great low-end AIX node. Especially when you got 'em by the pallet from cancelled projects.

      Basically, these days your best protection from IBM is IBM itself....

    130. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      *sigh* It really sounds like you're doing things the hard way.

      First of all, if you're at a command line actually typing things (CLI tools don't necessarily imply this), you've got autocompletion, can cut and paste, whatever.

      Secondly, the problem GUIs have that CLIs generally don't have, is that you can't script them. It's all well and good to, a few times per year, have to manually copy a TV show file, but people who have their computers do work for them automate things. Why are you copying TV shows around?

      The normal approach is that after your bittorrent client has a complete copy of the file, a script copies the file from the highly fragmented inbound torrent filesystem to its unfragmented destination that your media player also happens to know about and scan. (And then either softlinks to the file's new location, or tells the bittorrent client about it.) You can't (effectively) script a GUI, but a CLI lets your computer do this. Conversely, if you don't have a good CLI, then that means you're not scripting, so you the human are doing lots of work that a computer ought to be handling for you. In other words, GUIs are harder, in the sense that a human doesn't get to be lazy and have technology replace his day-to-day mundane acts with more leisure time.

      Replacing work with leisure is the goal of technology, which is why technologists like CLIs.

    131. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      Actually, there was an OS solving this problem in an elegant way: in tru64 you have CLi of course, than a semi-graphical interface where you could choose (several) options than you could run - or save and run the generated cli command(s). There was an X-windows GUI in place too.
      AIX had smitty for a long time, but it is full of bugs (e.g. you could save the last command only, must reboot after every hw changes) and it is not too helpful.

      There is a bonus in generating CLI-command:s you can concentrate on correct syntax in CLI than the (semi)graphical interface generate correct commands.
      I'm planning to write something similar function based on the man pages.
      Because configurations are saved in those commands you won't break it when addin new features to your system if it was done right.
      And it is a just a find/replace (sed/awk/vi) to fit the configuration for an other system - or just regenarete the same system - perhaps with some other options from other working config.
      As many true innovation it came from DEC as a last effort to save the company but it came too late and the OS was full of bugs. But it was a very sysadmin-fiendly way to do the job.
      Of course if you have only a few system and you're not an expert it is easier to setup by GUI but probably you will forget in a week how it was done.

      It is BS that windows has such system - there are several script languages but none integrated into any administrative tool to generate command files for you.

      To me it seems to be so that in the fight for users Linux developers lost the edge to build stable, realible and compatible functions. What you get is a plenty of "features" where there would be 2 sufficient. E.g. there are at least 4 CD/DVD burning programs in every distro just to satisfy developers hunt for "fame" instead of fixing bugs etc.

      In Linux system administration there are several GUI tools but none is realy good, (not using CLI, difficult to recreate the instalation procedure and not being compatible). The first problem is that they are written by programmers with little knowledge about the commands and all the CLI options that they should use. (eg. RH GUI for AD-integration has no option for username other than Administrator -what an idiotic assumption!). They are not saving configurations to classic configuration files in plain text but using obscure databases - like Windows or AIX - and these databases has no place for special features. So if you has special needs than they may/will re-write your work. For YAST there is sysconfig -f update but CentOS decided to throw this feature out because the "GUI is better".
      Even worse there is a compatibility issue in Linuxes today: every distro-family tries to lock-in system administrators into their own solutions thus making a distro swap difficult. - and trying to milk the customers of course.
      If all GUI sysadmin tools generated scripts and plain text config files in that case Linux distros were still compatible, but not anymore.
      Lock-in to a vendor is more important for developers (maybe forced by management?) than keeping compatibility.

      This incompatibility jungle is valid in package handling too: Suse has a working samba rpmi for AD integration but it has not the same layout as samba.org's probably because Suse did not give back working solutions to the core developers. This way they've got an advantage before Debian/RH-derivates which do have issues with AD integration.
      (It took time to find out a solution for kerberized SSH and kerberized samba in the same Linux system.
      Even if it is partly MS fault trying to lock unix/linux systems in a ghetto called UnixWks which work now if you're using SSH, but breaks if you have samba too.)

      Have you tried to write a script checking and configurin AD integration for both RH and Suse in the same script? Well, ther are a lot of conditions in it to serve on both distro so I didn't even tried to fit in Debian and its derivates too.

      This incompatibility subject is my number one hate object now so I could not stop myself to give you all my 2 cents.

    132. Re:Bad GUI and no CLI: way too common by CAIMLAS · · Score: 1

      On the flip side, a CLI allows a 'competent' administrator the possibility of making the environment overly complex.

      If you've only got (say) 2-3 options for setting SNMP on Windows, it's hard to make your monitoring environment too complex. If the 'default' is already mostly set up for you (Active Directory) vs., say, Linux + Samba + LDAP + krb5, you're going to have many more ways to deviate from a 'standard' due to the CLI nature of things and open-ended nature of CLI configuration and management.

      There is one way to add a service in Windows, whether it's via GUI or otherwise. In Linux or BSD, there are standard ways, but don't put it past someone to do it differently.

      Also, a good CLI makes it really trivial for a bad administrator to make complex GUIs with no CLI command line. That's a lot of fun.

      Basically, my point is: a bad administrator (who would probably be a competent Windows admin) could easily over-complicate things on a primarily-CLI operating system, whether due to not enough knowledge or two much with too little systems understanding.

      Those systems that are GUI configured are certainly easier to rebuild or migrate. They're usually not as complex.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    133. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      * disaster recovery is easy to be made 100% successful and repeatable in your staging environment - using BSD userland tools, not having to spend thousands to tens of thousands on buggy proprietary solutions

      Good luck with that. Are you using s4 in production? I've done three independent s4 builds over the past couple years. The first one worked quite well, but the second and third had issues with the Windows machines (XP and 7) when joined to the domain - permission issues I've never seen before manifesting on the clients which were not so easily tracked down.

      Great idea, nice implementation, but not ready for much of anything besides a geek's home office.

      Oh yeah, and when was the last time you ran Windows Server? Believe it or not, it's pretty stable. (Yes, more stable than FreeBSD with ZFS - by a long shot. Performance? Much better than FreeBSD with UFS - which itself blows anything on OpenBSD away.)

      * It requires a sysadmin with a clue, which greatly increases your chances of continual uptime and avoiding the need for disaster recovery in the first place

      Typical BSD user. Yeah, you do still need a DR plan. You also need to document the hell out of your environment, because it deviates greatly from the standard. If you don't, you're a bit of an incompetent tool and should not be allowed near a computer with ring0.

    134. Re:Bad GUI and no CLI: way too common by bahstid · · Score: 1

      Does it also magically make 10 hard drives appear as one, so you don't have to move files between drives to make enough free space for one bigger file?

      Its called LVM. Not only will it magically make your 10 hard drives appear as one if you want, but will allow you to shrink or expand partitions spread across those 10 hard drives at will and create new "volumes" (not really partitions under this scheme) to take up whatever free space or percentage thereof you have scattered across those 10 drives and let you write a single file into that partition/volume transparently... and just to stay on topic, do find myself using a GUI to manage my volumes almost exclusively.

    135. Re:Bad GUI and no CLI: way too common by Bigjeff5 · · Score: 1

      Cisco's GUI's do this, it's pretty slick. All changes made in the GUI correspond to an IOS command, and it generally shows you the commands it produced. You then have the option to push the changes to the router/switch, or copy/paste the text into another router manually.

      Of course, Cisco's IOS is made for this - no scripting is necessary usually. Just paste a list of commands into the command prompt and they'll all execute. Then of course they have tools to push all of these command sets out to devices en-masse.

      Getting off topic here now, but I wish more CLI's were like IOS. It's the easiest CLI I've ever used, and the only one I'd call intuitive.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    136. Re:Bad GUI and no CLI: way too common by Bigjeff5 · · Score: 1

      Come on, everybody knows Linux-based software is rock solid at the alpha stage! It's equivalent to a mature, proven Windows software package by then, it's the best ever!

      Besides, what good Linux admin doesn't put alpha software in a sensitive production environment? ;)

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    137. Re:Bad GUI and no CLI: way too common by Bigjeff5 · · Score: 1

      Cisco's IOS gui tools do the same thing, it's pretty slick. Of course, IOS is much simpler than a full server CLI, but the system is beautifully simple and intuitive.

      Best CLI ever, at least that I've used. I've often wished the windows or linux CLI was as easy to use.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    138. Re:Bad GUI and no CLI: way too common by surgen · · Score: 1

      Whatever you want them to be. Even /a /b /c.

      Is there something I'm missing? How is the choose a bad thing? Personally I have /home, /home/me/movies, /home/me/music, and /home/me/docs

      /movies1, /movies2, /movies3

      What would you going to label the in windows? Incoorperate that into the mountpoint name. This isn't a problem unique to unix mounts. If you have to just remember what the contents of X: Y: and Z: are, then what difference is remembering the contents of /moviesX /moviesY and /moviesZ

    139. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      Well, you did add extra defense of the router!

    140. Re:Bad GUI and no CLI: way too common by maxwell+demon · · Score: 1

      pf example:

      pass in on $ext_if inet proto tcp from any to ($ext_if) \
            port $tcp_services flags S/SA keep state
      pass in on $ext_if inet proto tcp from any to $comp3 port 80 \
              flags S/SA synproxy state

      iptables example:

      iptables -A INPUT -i $ext_if -p tcp --dport $tcp_services --syn -j ACCEPT
      iptables -A FORWARD -i $ext_if -p tcp -d $comp3 --dport 80 --syn -j ACCEPT

      Personally I find the pf format much easier to read/remember/use/debug.
      Read into it you will find out it is pretty neat.

      With proper line breaks, your post also becomes readable :-)

      --
      The Tao of math: The numbers you can count are not the real numbers.
    141. Re:Bad GUI and no CLI: way too common by MaskedSlacker · · Score: 1

      So, on Windows it's C:\, D:\, E:\, ... Z:\, on Linux it would be /mnt/hda1, /mnt/hdb1, /mnt/smb1, ... /mnt/smb5

      (and /mnt/hda1 is longer than C:\)

      No...

      On my system it's /home/myusername/Music, /home/myusername/Video, /home/myusername/Documents--the separate drives are mounted seamlessly as if they were all one drive from the user's perspective. Not as a RAID, so they aren't a logically unified drive, but in terms of usage experience, they may as well be.

    142. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      AIX's SMIT did this, or rather it wrote the commands that it executed to achieve what you asked it to do.
      This meant that you could learn: look at what it did and find out about which CLI commands to run.
      You could also take them, build them into a script, copy elsewhere, ...

      I liked SMIT.

      earlier version of AIX 3.x generated a log of commands some of which did not exist.... or more correctly they were macros that SMITty either had embedded or created on the fly

    143. Re:Bad GUI and no CLI: way too common by Bigjeff5 · · Score: 1

      You can do almost anything from the command line in Windows, in fact I can't think of anything off the top of my head that MS doesn't have a tool for. They often don't install the tools by default, but I would hope even a bad Windows admin knows about the admin tools and where to get them.

      For example, you can manage the entire AD domain with the netdom command. Everything from adding new DCs, creating trusts, promoting/demoting servers, adding/removing accounts/groups, adding/removing machines, dhcp, dns, you name it.

      Now, a GUI application often won't have a CLI option under the same executable, but that doesn't mean the tools are not available or any less functional than their GUI equivalents, and they are all script friendly.

      On top of that, WMI objects provide complete control over the system if you are well versed in them. That's the way to go if you are doing more intensive scripting. They can be intimidating though, because they touch literally everything in the OS.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    144. Re:Bad GUI and no CLI: way too common by Pentium100 · · Score: 1

      That falls apart when you want to download some video file, but your "video" drive is full, even though you have 50GB left in the "music" drive. You either have to delete some other video files to make the space or put some of the video files in the music drive.

      That's why I have some part of my music/video/whatever on every drive. In this case I can put the new file to whatever drive that has free space.

      Also, Windows too has this feature. While you have to have at least one drive letter (C:\ or whatever), if the file system is NTFS you can mount a hard drive as a folder. So, I could make C:\movies be a separate drive from C:\.

    145. Re:Bad GUI and no CLI: way too common by Jah-Wren+Ryel · · Score: 1

      I'm with (b)

      --
      When information is power, privacy is freedom.
    146. Re:Bad GUI and no CLI: way too common by jimicus · · Score: 1

      So let me get this straight.

      Windows 2012 will come with "GUI optional! Control everything from the command line!" as a selling point.

      I imagine Ubuntu 12.10 Server will have "Command line optional! Control everything from the GUI!" as the selling point.

    147. Re:Bad GUI and no CLI: way too common by oakgrove · · Score: 1

      Does it also magically make 10 hard drives appear as one, so you don't have to move files between drives to make enough free space for one bigger file?

      Er, you're either confused or you don't understand the concept of things being useful for different purposes.

      Windows also has that - it's called RAID and can be used with a hardware controller or in software. Neither version works if the hard drives are not identical (I have drives from 100GB up to 750GB), on different computers and were not bought (or installed) at the same time, but oer the years as I ran out of space.

      Awesome. So does every other operating system under the sun. Oh, and with Linux, the drives don't have to be the same, only the partition size depending on your desired configuration.

      So, on Windows it's C:\, D:\, E:\, ... Z:\, on Linux it would be /mnt/hda1, /mnt/hdb1, /mnt/smb1, ... /mnt/smb5

      (and /mnt/hda1 is longer than C:\)

      Not necessarily, Say my media player always looks in /home/oakgrove/Music for my mp3's and I have a separate drive that I always store my music on.

      # mount /dev/sda2 /home/oakgrove/Music

      Now, all of my music seamlessly shows up where I want it. Same thing with vmware images, videos, whatever you want. If I put all of my drives in a RAID, I lose the flexibility of being able to yank the drive out and mount it in another machine. Of course, there are times when RAID is what you want, there are other times when it isn't.

      2) Tab completion. I don't think I've ever typed more than 5 letters of a filename, of any length.

      Which is good, but still less useful as GUI. A very common problem to me is that I want to download or copy some big file and while I have enough free space combines, none of the drives has enough space for that file, so I need to move some smaller files to make enough space for the big one. I can use "dir" to see the files in each folder, find the ones I can move then use "dir" multiple times to find out which drive has enough free space for those files then move them.

      Or, I can open "My Computer" and see the free space of each drive, then go to some folder to look for files that can be moved or use some GUI tool like SpaceMonger to see what are the largest files and folder in the whole drive at once. This way is much less typing and much faster.

      Sometimes a GUI is easier for very simple operations like you mention, however, as others have exemplified further up and down the thread, when complexity is added, the CLI is much faster and easier.

      --
      The soylentnews experiment has been a dismal failure.
    148. Re:Bad GUI and no CLI: way too common by Pentium100 · · Score: 1

      I do not dedicate drives to music, videos and so on. Doing this would result in a situation where a drive (let's say "music") has some free space but I cannot use it because I want to write a different type of file (let's say "video").

      Sometimes a GUI is easier for very simple operations like you mention, however, as others have exemplified further up and down the thread, when complexity is added, the CLI is much faster and easier.

      Yes, I never said that GUI is the answer to everything. However it does make simple operations easier, while the CLI is still there for complex operations. Also, the vast majority of operations on a computer are the simple ones. I have moved or copied files between hard drives a lot of times, but I only needed to use a CLI once.

      Same thing with configuration - changing the IP address of a Windows PC is easy using GUI (and probably CLI) and I do not have to remember the exact command that I would need to use. If I want to do some complex operation I'll probably have to RTFM or google and then I can also use CLI, but I don't want to remember some long command for a simple task.

    149. Re:Bad GUI and no CLI: way too common by MoogMan · · Score: 1

      Congratulations, you have just invented VBA and macros.

    150. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 0

      Your entire argument can be summed up as: I'd rather just bust through the window than learn how to operate the doorknob of the front door. I mean, falling through a window is technically easier right?

    151. Re:Bad GUI and no CLI: way too common by Pharmboy · · Score: 1

      the GUI will usually fall short compared to just entering a series of command-line configuration commands, or editing the config file by hand.

      My understanding is that is by design, to keep the GUI simple. So that the person that would use a GUI isn't overburdened by the sheer volume of options, with the knowledge that someone who is an "expert" wouldn't use the GUI anyway. I have found that both are a problem for users like myself: Fairly experienced at running servers for httpd/samba/ftp/etc but not an expert and stuck with MS on the desktop at work, so the GUI tends to just annoy me because it does half of what I want, but still inexperienced enough with Linux on the desktop that I have to do some serious googling to find the answer.

      What has stopped me from using Linux on the desktop at home more than I do now isn't application support, but instead the last time I looked at Gnome, it was too complicated where it didn't need to be. I can deal with "too simple" easier than "too complicated" when it comes to a GUI by simply using a CLI when needed. It has been over a year since I installed Ubuntu, which left this old RH user a bit non-plussed.

      --
      Tequila: It's not just for breakfast anymore!
    152. Re:Bad GUI and no CLI: way too common by lennier · · Score: 1

      You need to not be a mouth-breather to configure it

      Because as we all know, breath analysis is a perfectly valid indicator of intelligence, just like phrenology!

      (The science is very simple. The phlogiston particles that saturate the tonsils over-agitate the blood's choleric fluids, leading to a rush of heat inside the brain cavities which evaporates intelligent thoughts. This unfortunate condition can be remediated by leeches, caning, drinking radium-infused health elixir, or not being female. Citations: Drs Jekyll, Moreau, Tarr & Fether.)

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    153. Re:Bad GUI and no CLI: way too common by lennier · · Score: 1

      Have you ever seen generated code? You do not want to learn shell scripting from generated code...

      If code to describe a simple mechanically-generated configuration setting comes out overly complicated in your language of choice, then it's probably the fault of the language, not the problem. A good language should let you describe the problem in its own simplest terms and then translate that into the target domain using macros or something similar. It should never force you to repeat yourself or provide irrelevent detail.

      Having said that, we really don't have any good languages in this sense, and it's beyond sad - it's actually a very disturbing reflection on how broken the sociology of programming is - that we keep making do with broken tools which aren't helping us, when we live our careers in one of the very rare domains that lets us invent better ones at will. And yet we don't.

      (the tortoise lies on its back baking in the hot sun and you're not helping. Why is that?)

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    154. Re:Bad GUI and no CLI: way too common by lennier · · Score: 1

      If a process that is simple in the GUI is complex in the CLI then your system has a design fault.

      +++. This.

      A GUI, when you think about it, is actually nothing but a language. It's a language in which the syntactic elements are clicks, selects, pulldowns, etc (and mostly higher-level abstractions like 'this field is assigned this value, this action is taken') - and yet for some reason we never bother to export this interface language as something another machine can interact with. We usually never even export it as a standardised ASCII serialisation. I don't understand why this is. At some point in programming history post the 1970s, we decided that 'user interfaces' should always and only be for humans, not for other machines to consume. And that gave us the bitmapped windowed graphics terminal - but that is also a dead end. Progress in computing comes from automation, not manualisation. We should be moving away from forcing the user to interact needlessly with every system they want to use - the user should interact not with your program, but with their own agent, which then does all the interaction with other systems.

      We've actually forcibly de-powered the user by removing all language-like features from graphical interfaces. It's a really disturbing trend, akin to the development of 'Newspeak' in Orwell's 1984. We're trying to make it impossible to 'say the wrong thing' to a computer, but that's impossible without reducing all human-computer communication to trivial babytalk. And babytalk which can't be stored and repeated, at that. It all has to be live and graphical and icon-based, but that turns its back on 6,000 years of linguistic development. Not smart at all.

      What we should have done is defined a simple 'operation interface language' which can then be rendered without further embellishment in a GUI or a CLI, and that is a fully Turing-complete declarative language which lets the human say anything which can be humanly said to a computer (which is a lot) regardless of a priori 'correctness'. Let the human describe their problem or the operation they want to perform in any arbitrary terms that make sense for the task they're performing, and then let intermediate systems translate this into system-specific jargon.

      'Click on icon X in window Y' should be replaced by 'send message X to object Y', for instance. Didn't we invent OOP in order to enable exactly this sort of human-computer interaction? And yet we're not using it.

      It just makes me want to cry. All this 'progress', and we're not managing to integrate even the lessons of the last 30 years, we just keep repeating the same mistakes over and over. How is this intelligence?

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    155. Re:Bad GUI and no CLI: way too common by jpate · · Score: 1

      There are some aspects to writing effective code, regardless of the language used, which are just AI-complete and will not be appreciated by a code generator (before the robot apocalypse, anyway). You will not write a code generator that selects clear and maintainable variable names, for example, or knows to write a comment mentioning that a couple lines deal with a particularly notable corner case. Writing computer programs that can even just distinguish ``notable detail'' from ``irrelevant detail'' is hard. If the issue is just getting the flags right for a single command, a code generator is probably fine, but something more complicated is going to provide a terrible set of examples for learning a language.

    156. Re:Bad GUI and no CLI: way too common by Eskarel · · Score: 1

      I'm not talking about the people who bought a PC with XP on it and don't know any better. I'm not even talking about the people who bought a PC with Vista and downgraded.

      It's more the people who sit there using XP, insist they'll never upgrade, and then criticize Microsoft for not adding anything to their OS in ten years.

    157. Re:Bad GUI and no CLI: way too common by azrider · · Score: 1

      Cisco's GUI stuff doesn't really generate any scripts, but the commands it creates are the same things you'd type into a CLI. And the resulting configuration is just as human-readable (barring any weird naming conventions) as one built using the CLI. I've actually learned an awful lot about the Cisco CLI by using their GUI.

      Actually, Cisco's GUI stuff does generate the scripts and then stores the necessary commands in the config file.

      Where it falls down completely is that none of them (IOS, ASA, CatOS or PIX) are capable of making all configuration choices. Take a moderately complicated config (split-tunnel VPN) and none of them can create it from the GUI. However, at least it does not overwrite and manual changes.

      --
      And ye shall know the truth, and the truth shall make you free.
      John 8:32(King James Version)
    158. Re:Bad GUI and no CLI: way too common by Anpheus · · Score: 1

      Ironically, yes. The trend has been that Windows has been poor on CLI tools, so it is a valid bullet point on their propo... sales material. And of course, the trend has been that Linux GUI tools have been as awful as Windows CLI tools, so it goes without saying that if Ubuntu 12.10 LTS can earnestly say it can be configured without a CLI, everyone will be applauding their success.

      Err... as George says, "Worlds colliding! WORLDS COLLIDING!"

    159. Re:Bad GUI and no CLI: way too common by RocketRabbit · · Score: 1

      I can whip up a quick workflow in Automator that will do all that, in about a minute.

      Automator rocks.

    160. Re:Bad GUI and no CLI: way too common by Rakarra · · Score: 1

      Bizarre. I don't know if that's a bad example, but I actually found the iptables example a lot more readable and intuitive. Something that I wasn't expecting.

    161. Re:Bad GUI and no CLI: way too common by Dayze!Confused · · Score: 1

      Just be careful when messing with iptables, you might have to make a jtag cable if you accidently set all the policies to DROP by default and then decide to clear the table, including the established connections bit, while logged in and brick your router. Good thing as a geek/hacker I wouldn't give up and spent the $5 to make the jtag cable and rescue my router.

      --
      "All tyranny needs to gain a foothold is for people of good conscience to remain silent." [Thomas Jefferson]
    162. Re:Bad GUI and no CLI: way too common by MightyMartian · · Score: 1

      For any device like a DD-WRT router, I usually test my iptables rules out on a Debian-based router I've got running virtualized. I'm not confident enough of my own abilities to daringly write rules on the fly.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    163. Re:Bad GUI and no CLI: way too common by einhverfr · · Score: 1

      Duh. If it doesn't HAVE to be an either/or situation, why make it into one?

      Agree, but generally for admin tools, the CLI is more important than the GUI. The basic issue is that a GUI is far more expressive in terms of what is presented to the user, but the CLI is far more expressive in what the user presents to the computer. Consider trying to offer the flexibility in a GUI of the following ftp statement (Linux syntax here):

      get foo.txt ~/ftp_archive/bar.txt

      You can't do it without making that a many-stage process.

      For sure if you're going to deliver more than one kind if interface they should relate to each other as much as possible.

      But a good GUI is nothing like a good CLI. A GUI that mimics a CLI will be cumbersome to use. A CLI that mimics a GUI will be even worse. So I disagree with this a great deal. The result of trying to do this would be the development of interfaces that do nothing well and appeal to nobody.

      --

      LedgerSMB: Open source Accounting/ERP
    164. Re:Bad GUI and no CLI: way too common by Macka · · Score: 1

      Me too.

  2. GUIs make documentation hard by petes_PoV · · Score: 5, Interesting
    All good admins document their work (don't they? DON'T THEY?).

    With a CLI or a script that's easy: it comes down to "log in as user X, change to directory Y, run script Z with arguments A B and C - the output should look like D". Try that when all you have is a GLUI (like a GUI, but you get stuck): open this window, select that option, drag a slider, check these boxes, click Yes, three times. The output might look a little like this blurry screen shot and the only record of a successful execution is a window that disappears as soon as the application ends.

    I suppose the Linux community should be grateful that windows made the fundemental systems design error of making everything graphic. Without that basic failure, Linux might never have even got the toe-hold it has now.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    1. Re:GUIs make documentation hard by furgle · · Score: 1

      With a CLI or a script that's easy: it comes down to "log in as user X, change to directory Y, run script Z with arguments A B and C - the output should look like D".

      This works great, until you log in as user X, change to directory Y, run script Z with arguments A B and C, and the output looks like F or even G (not G!!!!). Then you spend quite some time trying to find what was different this time.

      GUI's are better for reporting and displaying information

    2. Re:GUIs make documentation hard by parlancex · · Score: 1

      I suppose it's been a while since you've used Windows Server and associated admin tools. Everything Microsoft has written in the last 4 years has a complete Powershell back end interface exposed to the user and you anything you can do from their GUI tools can be done from the shell. In fact, most of their GUI tools just use the Powershell interface in THEIR back end.

    3. Re:GUIs make documentation hard by maxwell+demon · · Score: 2, Insightful

      GUI's are better for reporting and displaying information

      In my experience, GUIs tend to display less information (probably to not "confuse" users). But from the basic ability to provide useful information, I don't see why one should have an advantage over the other. After all, the information is just text; if that text is shown on the console or in a window with "OK" button doesn't matter. What does matter is whether the text is informative (e.g. "foo.cfg: file not found") or uninformative (e.g. "unable to change configuration" as only error message).

      --
      The Tao of math: The numbers you can count are not the real numbers.
    4. Re:GUIs make documentation hard by bhcompy · · Score: 1

      Or you could check out Windows 2008 Server Core. There are some limits and limited GUI, but it's essentially CLI

    5. Re:GUIs make documentation hard by Vancorps · · Score: 1

      Or my favorite, unknown error! Or Oracle's approach of reusing codes with different applications, thank you Oracle! In both the GUI and CLI sides here it depends on the development philosophy and target demographic. If you're making tools that display in public then presenting errors on screen is probably not a good idea. If you're a sysadmin configuring a mail server then probably the more output the better. Of course in all cases there should be a way for an experienced user to get detailed diagnostic information but logging is a pain in the ass.

    6. Re:GUIs make documentation hard by petes_PoV · · Score: 2, Insightful

      Oh there's much more to it than merely the O/S. It's all the applications and third party management tools, too. They all provide GUIs (sometimes only GUIs) as they think it makes their stuff look easy to use. In fact all it does is make it easier to sell to decision makers who don't have the background to distinguish "friendly" from repeatable.

      --
      politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    7. Re:GUIs make documentation hard by arth1 · · Score: 1

      All good admins document their work (don't they? DON'T THEY?).

      Yes, but they also assume that the next admin is an admin, capable of "man command" "rlog filename" or "more README". Preferably before they do irreversible harm.

    8. Re:GUIs make documentation hard by furgle · · Score: 1

      GUIs tend to display less information

      I think you'll find a graph can be used to display large amounts of information in a small(variable) area, and it makes the data easier to interpret and anomalies easier to spot.

      I don't see why one should have an advantage over the other.

      Really? GUIs have a many advantages in displaying data: interactive graphs and tables; tables with no fixed column size; stretch or shrink a column/row width easily, and re-order the data with a single click; or being able to drill down into tabled data via a single click; on the fly filtering of data; Zooming; scrolling; no text wrapping; ability to select data down a column;

      CLIs are limited by having only one form of input, and one way to display. I have seen clever CLIs that display graphs but that is realy a half GUI in a CLI, but most of all you can't interact simply with the data.

      After all, the information is just text

      If all you are displaying is a simple line of text like "File not found." then I suppose it is irrelevant how it is displayed.

    9. Re:GUIs make documentation hard by grumbel · · Score: 1

      In my experience, GUIs tend to display less information (probably to not "confuse" users). But from the basic ability to provide useful information, I don't see why one should have an advantage over the other.

      GUIs are build for interaction, CLIs often aren't, thus you get (or at least should get) a nice alert box when something goes wrong on a GUI, while on a CLI you might even now that something went bad unless you dig through /var/log/.

      In the end however it really isn't much about CLI vs GUI, but about good interfaces and automation. No matter how good the GUI, without a way to automate it, it is still crippled. A CLI on the other side might be way more complicated then is appropriate for the given task and a CLI isn't by itself a guarantee for easy automation, as many CLI interfaces are rather lacking and for example fail at simple things such as reading a list of files as input (unusual characters in a filename might throw them off).

    10. Re:GUIs make documentation hard by skids · · Score: 4, Insightful

      I think this is a stronger point than the OP: GUIs do not lead to good documentation. In fact, GUIs pretty much are limited to procedural documentation like the example you gave.

      The best they can do as far as actual documentation, where the precise effect of all the widgets is explained, is a screenshot with little quote bubbles pointing to each doodad. That's a ridiculous way to document.

      This is as opposed to a command reference which can organize, usually in a pretty sensible fashion, exact descriptions of what each command does.

      Moreover, the GUI authors seem to have a penchant to find new names for existing CLI concepts. Even worse, those names are usually inappropriate vagueries quickly cobbled together in an off-the-cuff afterthought, and do not actually tell you where the doodad resides in the menu system. With a CLI, the name of the command or feature set is its location.

      Not that even good command references are mandatory by today's pathetic standards. Even the big boys like Cisco have shown major degradation in the quality of their documentation during the last decade.

    11. Re:GUIs make documentation hard by maxume · · Score: 1

      I used Windows 95 once, so I know you are full of shit.

      --
      Nerd rage is the funniest rage.
    12. Re:GUIs make documentation hard by bigstrat2003 · · Score: 1

      That, however, is not the fault of Windows. That's the third party vendors' fault.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    13. Re:GUIs make documentation hard by gwdoiron · · Score: 1

      Someone is under the illusion that Windows has an inadequate scripting system for the sysadmin. That may have been true 10 years ago, but things are very different now.

    14. Re:GUIs make documentation hard by formfeed · · Score: 1

      All good admins document their work - and often it is not documented.
      ...

    15. Re:GUIs make documentation hard by sjames · · Score: 1

      Click on the thing that looks like a squashed cockroach (no, not the squashed stink bug)...

    16. Re:GUIs make documentation hard by Anonymous Coward · · Score: 0

      I've had a taste of the power shell.

      It tastes like donkey balls.

      I'll never do it again.

    17. Re:GUIs make documentation hard by bloodhawk · · Score: 1

      I suppose the Linux community should be grateful that windows made the fundemental systems design error of making everything graphic. Without that basic failure, Linux might never have even got the toe-hold it has now.

      windows has actually gone the other way, recent versions of the OS can be completely CLI driven to the point where now there are many tasks that can only be done via a CLI such as powershell. Just about every windows erver app nowadays is more CLI driven than GUI based, even exchange server.

    18. Re:GUIs make documentation hard by Haeleth · · Score: 2, Funny

      GUIs tend to display less information

      I think you'll find a graph can be used to display large amounts of information in a small(variable) area, and it makes the data easier to interpret and anomalies easier to spot.

      That's true, but has absolutely nothing to do with what he said. GUIs do not usually display graphs. They usually display a little message box saying "An error occurred. Please try again. If the problem persists, contact your system administrator."

    19. Re:GUIs make documentation hard by Haeleth · · Score: 1

      Someone is under the illusion that Windows has an inadequate scripting system for the sysadmin

      So far as I can tell, this includes most Windows sysadmins, who continue to click around inefficiently or hack together great fragile batch file monstrosities.

      It doesn't matter how good PowerShell is if nobody knows how to use it. And it turns out that PowerShell is too difficult for most Windows sysadmins to use. After all, one of the main reasons why Windows took off in the server market is because it could be administered by cheaper admins than Unix. Guess what? Turns out you get what you pay for ...

    20. Re:GUIs make documentation hard by furgle · · Score: 1

      GUIs tend to display less information

      I think you'll find a graph can be used to display large amounts of information in a small(variable) area, and it makes the data easier to interpret and anomalies easier to spot.

      That's true, but has absolutely nothing to do with what he said.

      But everything to do with what I was trying to say. I was talking about admin tools, - GUIs are good for reporting data. And they often use graphs to represent, for example, connections over time and many other things.

      GUIs do not usually display graphs

      Then what usually does display a graph? PUIs(Paper User Interfaces), my mistake

      They usually display a little message box saying "An error occurred. Please try again. If the problem persists, contact your system administrator."

      I've seen the same thing from CLIs, except no message box. Bad error messages are a software issue available in both CLIs and GUIs.

    21. Re:GUIs make documentation hard by KlaymenDK · · Score: 1

      from the basic ability to provide useful information, I don't see why one should have an advantage over the other. After all, the information is just text; if that text is shown on the console or in a window with "OK" button doesn't matter.

      It also matters if it's graspable for the users. I've seen too many times cases where an error report contains a zip file of a word file of a full-screen screenshot. On linux, at least you can select and copy-paste the text of the dialog (...not that I'd expect users to be aware of that feature). In a CLI environment, it's pretty obvious that the text is accessible.

      But it doesn't really matter what the message is; in the user's perspective it's all just "sorry, but you're not getting what you wanted" anyway -- so you might as well come right out and say that "foo threw a 2203 in line 42 because blech" -- that's valuable to the user *because* it conveys solid information back to support and development and "should" result in a better product faster.

    22. Re:GUIs make documentation hard by Gulthek · · Score: 1

      Sounds like documenting a nice CLI is easy and a crappy GUI is hard.

    23. Re:GUIs make documentation hard by Anonymous Coward · · Score: 0

      All good admins document their work (don't they? DON'T THEY?).

      Right, because we all know that everyone puts in good comments, and never forgets to update comments when updating the script. I can't tell you how many times, and many organizations, that I have found comments clearly related to some other project, but since that code snippet was reused from some other script/project they never got edited. That's actually worse than no documentation, it's wrong documentation!

    24. Re:GUIs make documentation hard by ajlisows · · Score: 1

      This is probably the best point I have seen thus far in this thread. To add a bit more to it, CLI is also nice because the documentation is likely to remain relevant for longer than GUI documentation. Even a minor software upgrade might have significant changes in the location of settings and menus. I've spent a lot of time documenting processes only to see them need a complete overhaul three months later due to a service pack/upgrade being released.

      On the other hand, CLI commands are usually pretty static. Sure you might get new commands or functionality added to older ones, but there doesn't seem to be much of a tendency to completely remove/rename commands.

      Of course, I've met more than a few "Network Admin" types who are completely terrified of anything that is a command line.

  3. Better test! by AnonymousClown · · Score: 5, Insightful

    If you write a script, you're certain that the changes made will be identical on each box.

    One little mistake in the script and you fuck up the whole organization.

    --
    RIP America

    July 4, 1776 - September 11, 2001

    1. Re:Better test! by Steve+Max · · Score: 3, Insightful

      So you test your script offline? You know, exactly like you test the changes you will do through a GUI in an offline server before going to the live one?

    2. Re:Better test! by cheater512 · · Score: 1

      Erm.....and doing it manually with a GUI is better than that how?

      At least you can correct the problem and run the script again to fix it.

    3. Re:Better test! by snspdaarf · · Score: 5, Insightful

      Ah, but with a script you have a record of what was done. The GUI does not provide that, unless the author had the sense to write the changes to a log file.

      --
      Why, without your clothes, you're naked, Miss Dudley!
    4. Re:Better test! by skids · · Score: 3, Interesting

      Well, one little mistake pushing a windows domain policy via GUI, and the same.

      This is one of the weakest points in the article, IMO, though. It's quite possible (even if MS MMC is a kludgy example) to GUIfy multi-system administration.

      There will always be a place for both GUI and CLI -- status screens, for example, generally demand a GUI (and yes, ANSI menu systems are a GUI.)

    5. Re:Better test! by Anonymous Coward · · Score: 0

      The assumption is also made that all servers are running the same distro with the same versions of all CLI tools (and thus, all CLI tools have the same parameter options). This is not the case often enough.

    6. Re:Better test! by moonbender · · Score: 1

      I don't agree with GP, but to be fair, GUIs (even admin tools) do usually show a confirm dialog before most destructive operations. And even if not, it's often more difficult to accidently maneuver into a "dangerous" part of the app than it is to misspell a shell command.

      --
      Switch back to Slashdot's D1 system.
    7. Re:Better test! by fruviad · · Score: 2, Insightful

      If you write a script, you're certain that the changes made will be identical on each box.

      One little mistake in the script and you fuck up the whole organization.

      Perhaps so, but the scripted mistake is easily fixed because every single machine exhibits the same symptoms. Easy to debug. Once debugged, easy to fix.

      Do you think it better to have a half-dozen different mistakes on a half-dozen different servers in a pool of 40?

    8. Re:Better test! by Martin+Blank · · Score: 1

      Microsoft's Group Policy also recently got a Recycle Bin of its own, allowing certain deletions to be undone. I haven't tinkered with it in depth yet, so I don't know its full limitations, but some form of state retrieval would be helpful for both GUIs and CLIs.

      --
      You can never go home again... but I guess you can shop there.
    9. Re:Better test! by arth1 · · Score: 4, Informative

      Yeah, cause we all have test environments.

      Yes, we do. In many case it's called a chroot jail which acts as a sandbox.
      In other cases, a VM that can be rolled back is the way to go.

      There are two words describing those who run untested changes directly on production systems: Former employees.

    10. Re:Better test! by hsmith · · Score: 1

      Any well written admin GUI should have logging anyway.

      Being someone that uses SharePoint daily, I'll tip the hat to MS that at least the GUI uses/does everything based upon the API that you'd use from the CLI.

    11. Re:Better test! by snspdaarf · · Score: 1

      Yeah, I should have said the GUI may not provide that. It does not happen often, but I have found a few that don't.

      --
      Why, without your clothes, you're naked, Miss Dudley!
    12. Re:Better test! by interval1066 · · Score: 1

      "One little mistake in the script and you fuck up the whole organization."

      But with a script its a one shot deal; the all systems screwed over the by the script and how they were screwed are recorded. And admins who don't test their scripts in a sandbox are destined to be unemployed admins. With GUI tools you are handed the opportunity to fuck up the installation a thousand twisty little ways, all different, and none of them recorded in any way.

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    13. Re:Better test! by froggymana · · Score: 1

      At my school we have a ton of problems using Microsoft's GP to do changes. A lot of the win 7 tablets that we have don't like to take changes with GP.

      --
      "To prevent this day from getting any worse, I'll just read ERROR as GOOD THING" 1GJU8xLuDKDxEs4KLf8fAGyptoDsqvEsBT
    14. Re:Better test! by icebraining · · Score: 1

      $ rm *
      zsh: sure you want to delete all the files in /home/user [yn]?

      There's no inherent quality of GUIs that make them safer.

    15. Re:Better test! by Shadow99_1 · · Score: 1

      lol, this may be what should happen... but in my experience most companies won't foot the bill to have 'test' servers unless you happen to be a software shop...

      --
      we are all invisible unless we choose otherwise
    16. Re:Better test! by Waffle+Iron · · Score: 4, Funny

      Ah, but with a script you have a record of what was done.

      True, unless your script was:

      #!/bin/sh
      rm $0

    17. Re:Better test! by panda · · Score: 2, Interesting

      If you write a script, you're certain that the changes made will be identical on each box.

      One little mistake in the script and you fuck up the whole organization.

      It is also easier to fix scripted errors because the error is identical in all places. I often find myself using sed to make complicated changes to config files and keeping backups or putting the changed config into a temporary file to get diffs of the results. In the odd case that something gets messed up in production, then it is usually another sed command or two to fix it.

      With a GUI it is harder to verify that you are making the desired changes beforehand, and if you do mess it up royally, then you are usually touching all of the configs individually with the GUI to fix your mistake.

      With the cli in the hands of someone who know what they are doing, the fixes can be implemented in seconds (or less).

      --
      Just be sure to wear the gold uniform when you beam down -- you know what happens when you wear the red one.
    18. Re:Better test! by dbIII · · Score: 2, Insightful

      One little mistake in a global GUI and you not only fuck up the whole organization but can't really be sure what you did unless you had something capturing the screen while you were making the changes.
      Scripts can be debugged, working out which pictures were pointed at is a bit more tricky.
      Communicating with computers can be compared to communicating with people. You can get somewhere by pointing at things but you get better results faster if you can use words as well.

    19. Re:Better test! by Ritchie70 · · Score: 1

      Really? Every company I, or my wife, have worked for of any size has entire test environments. My current employer has Test, Dev, Staging and Production environments which include entire active directory domains.

      There's no excuse for putting something untested into production. None.

      --
      The preferred solution is to not have a problem.
    20. Re:Better test! by Shadow99_1 · · Score: 1

      My last employer had 500 odd employees/systems (exact numbers of each varied), but we didn't write any software. We had no internal or even external development. The 6 servers that were the core of the network all had dedicated functions (well ok sometimes two or three 'dedicated' functions) and management was extreme penny pincher's. Though probably because extra cash went to them.

      A testing environment of any sort was a pipe dream. 'Why would we waste our money on a server we aren't using?', believe me I argued this point quite heavily along with other common things like hardware life cycles... Half my job ended up being about keeping 1.2 Ghz Celerons with 256 MB of ram running in 2009... That meant they ran Windows 95/98 btw. That didn't go well with a server update to 2005 for AD domain... They couldn't be bothered to replace them though... so I created 120 odd linux boxes... of questionable ability... Modern GUI linux doesn't like those anymore than Windows XP would.

      It's not my only example in my decade of admin work, I've never had a proper testing environment... Everything was always live.

      --
      we are all invisible unless we choose otherwise
    21. Re:Better test! by fluffy99 · · Score: 1

      If you write a script, you're certain that the changes made will be identical on each box.

      If you put in in a GPO, then it goes to all the boxes whenever they happen to be available. It'll even configure new boxes that you put online. Sure beats sitting there cursing that your script won't run on an offline box.

      Linux still has a long way to go in the arena of centralized management of desktops. Most centralized Linux management schemes I've seen were cobbled together unique solutions that only one guy actually knew how it worked. That guy was usually oh-so proud that it almost worked as well as AD. At least an experienced Windows admin can generally walk from one Active Directory environment to another and immediately be productive instead of wondering what the previous admin ginned up with highly customized scripts. Note I said experienced not MS certified as that's still a joke.

    22. Re:Better test! by fluffy99 · · Score: 1

      Microsoft's Group Policy also recently got a Recycle Bin of its own, allowing certain deletions to be undone. I haven't tinkered with it in depth yet, so I don't know its full limitations, but some form of state retrieval would be helpful for both GUIs and CLIs.

      Yeah. Prior to the AD recycle bin it was very easy to make a major fuckup using the GUI that required command line prowess to recover from. Of course, usually it was a result of the wrong guy even having the permissions in the first place.

    23. Re:Better test! by Anonymous Coward · · Score: 0

      There are two words describing those who run untested changes directly on production systems: Former employees.

      One word: Cowboys.

    24. Re:Better test! by jhol13 · · Score: 0

      How the offline test is going to tell you that only machines in the lab are going to be affected?
      How the test is going to tell you correct command order is "cp a a.bak; mv b a", not "mv; cp", or option should be "-i", not "-f"? Do you really make so extensive tests that you will notice all those corner cases? I very much doubt.

      With GUI the computers in the lab can have different colour or visually separated. The colour difference can be dynamic, e.g. output of some database query[1]. With GUI you really cannot select "mv -f", only "cp -i" - at least not without physical feedback (colour, pop-up, ...). With GUI you can see "do you want to overwrite 'b' with size X date Y with 'a' of size A date B", CLI gives "[Y/N]".

      A good GUI is far superior to CLI.

      [1] The point is, you can easily see that computers A, B & C are in the change group and "none outside this site" and X, Y & Z are not.

      Sure you can accomplish most of those with CLI, but it is not that easy, intuitive and far more error-prone. And takes a helluva lot more time & testing.

    25. Re:Better test! by Ritchie70 · · Score: 1

      I think we're running in somewhat different circles.

      I work for a a company with $20 billion or so in annual revenues.... and we're supporting a deployment that, when complete, will be roughly 26,000 Windows 2003 Server systems and 100,000 XP systems. So there's a lot of testing.

      But even the tiny little companies I've worked for had a system - even just a cast-off desktop with the Server OS installed - where you would test something before you broke the real server.

      --
      The preferred solution is to not have a problem.
    26. Re:Better test! by kimvette · · Score: 1

      mv $config-file $config-file.bk-`date +%G%m%d`

      It makes rollbacks a cinch. You could optionally add %H%M%S if testing in a live environment.

      --
      The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
    27. Re:Better test! by jimjamjoh · · Score: 2, Funny

      i thought you were gonna say "rock star" :( :(

    28. Re:Better test! by zippthorne · · Score: 1

      Please stop using the word "jail" after using the word "chroot." It doesn't do that, and it was never intended to do that. If you need a "jail" then you need a real VM.

      --
      Can you be Even More Awesome?!
    29. Re:Better test! by Anonymous Coward · · Score: 0
      No, that would be absurd.


      Mine was

      #/bin/sh sudo rm -rf /

      That way you don't have to guess what was removed.

    30. Re:Better test! by Anonymous Coward · · Score: 0

      if you dont, you shouldnt be making scripts

    31. Re:Better test! by zippthorne · · Score: 1

      I see what you're saying, but that particular script does leave a pretty complete record. You can find it at "history | tail"

      --
      Can you be Even More Awesome?!
    32. Re:Better test! by Johnny+Mnemonic · · Score: 1

      Not if it's multi-multi system administration. I'm familiar with this argument, I have it with my management regularly. And I'm right, not least because I have to actually do the work and they don't.

      I would like to see a GUI that allows me to pass 1000 noncontiguous hosts out of a dataset of 10K. (eg: matches cluster foo but not if it also has bar. But always if it has n1 or n2, regardless of if it has foo or bar. Both the host dataset and the target hosts are derived from a query and passed to at least one other operation.

      If there's a GUI that can do that in less than 10X the time it takes me on the CLI, I'd like to see it. You can't really sort tables well enough to get the definite solution--it will only approximate. And oh y--once my CLI logic is tested, it will be true forever, since the logic will not fail like a human clicking a mouse might.

      This isn't academic; I do this kind of thing on a daily basis. Often, multiple times a day.

      --

      --
      $tar -xvf .sig.tar
    33. Re:Better test! by TheLink · · Score: 1

      Given your company was so stingy can I assume they were using rather low end servers?

      So just one or two modern whitebox machines with 4GB (or more) of RAM, a dual/quad core CPU, etc, could probably simulate all of the servers at once with stuff like vmware server (free).

      If they're too stingy to buy even that, I suggest you go work somewhere else, what are the odds they'd give you a raise or a bonus?

      PC hardware for a test environment is not very expensive. Software licenses would be your biggest problem, here is where OSS shines :).

      --
    34. Re:Better test! by jimicus · · Score: 1

      Whereas with a GUI you can make a hundred mistakes which are all slightly different on each box.

    35. Re:Better test! by jandersen · · Score: 1

      There are two words describing those who run untested changes directly on production systems: Former employees.

      - or managers.

    36. Re:Better test! by Anonymous Coward · · Score: 0

      In that case, you run check your ~/.bash_history (or the equivalent for your shell) to discover what $0 was. Now you have a record of what was deleted.

    37. Re:Better test! by Compaqt · · Score: 1

      >Yes, we do. In many case it's called a chroot jail which acts as a sandbox.
      In other cases, a VM that can be rolled back is the way to go.

      Yeah, but where do you get the authorization to buy a VM manager? And if you say, just download VirtualBox or something, if you're working in a place that thinks test servers are a waste, you're likely working in a place that will fire you for installing "unauthorized software" like VirtualBox.

      --
      I'm not a lawyer, but I play one on the Internet. Blog
    38. Re:Better test! by Skapare · · Score: 1

      A script can be tweaked. One little mistake early on in a script, which you detect by testing it in a VM (with an OS tweaked to this point with the earlier scripts). If there is an error, you look at the logs of the output (not a memory of a vanishing GUI menu), and tweak the script. Roll back the VM, try again. Once you have it right, it is now crystalized knowledge, fully complementing documentation.

      Try that with a GUI. Test out the steps in a VM. Once you figure out the steps that are right, how do you make sure they will be done correctly on each of the production machines?

      --
      now we need to go OSS in diesel cars
    39. Re:Better test! by Rockoon · · Score: 1

      I would like to see a GUI that allows me to pass 1000 noncontiguous hosts out of a dataset of 10K. (eg: matches cluster foo but not if it also has bar. But always if it has n1 or n2, regardless of if it has foo or bar. Both the host dataset and the target hosts are derived from a query and passed to at least one other operation.

      This isnt even really the domain of CLI either. This is the domain of scripting languages, and specifically ones that make it easy to perform those sorts of string matches while also avoiding errors.

      That sort of thing is really easy to fuck up with a series of pipes command-line expression, be it bash, korn, or powershell.

      What I am thinking of here is a GUI application that accepts a script to parse a host list file into seperate "do" and "dont" lists, AND THEN DISPLAYS THE LIST for idiot-checking.

      --
      "His name was James Damore."
    40. Re:Better test! by Shadow99_1 · · Score: 2, Interesting

      Actually they had no clue what a 'good server' was, so when they left it up to me they were functional and up to date systems. Though most of our windows servers were from HP's server line.

      Others not so much, like when they decided web hosting should move in house and gave me a zero dollar budget. So I cannibalized a bunch of antique desktops and made a new 'linux apache web server'.

      Funny enough I'd gotten a 5k raise every year (much needed though as the pay started fairly low for an network admin). Though with a change in leadership the board took power and they decided I was to expensive and outsourced me about a year ago. Hence it was 'my last employer'.

      OOS did ok, though it's still not the year of the linux desktop. Remember I said I had to keep a bunch of antiques running and made them linux? Well normal people would use them, or more not use them. They were considered non-functional by everyone that used them and this is ubuntu, so the interface wasn't exactly CLI and not terribly unlike windows. On the server end I could have probably pieced together another antique web server, but I didn't really need much of a test system for a limited use web server...

      Btw I argued against getting the web server in house. We existed on a 2Mb fiber connection (they chose to only pay for 2Mbps anyways), having the web server take away from our already pathetic bandwidth was a bad idea...

      --
      we are all invisible unless we choose otherwise
    41. Re:Better test! by Shadow99_1 · · Score: 1

      This particular company I used as my last example was actually a 50-100 million a year company. Their was a) no cast-off desktop that could run any current windows server version while I was there b) no way my under funded department would have gotten an extra server license. Heck they went 3 years (probably more now) on a broken fileserver that would randomly stop responding (hardware issue, damaged motherboard after a lightning strike when unprotected and before my time there) regardless of how much I said replacing it would solve our issues with it. Heck before my time there it was the domain controller and had the same issues! I reformatted it when we got in a real PC to act as a domain controller and made it a fileserver because I needed one and it was the only piece of hardware that had a chance in heck of doing the job.

      My whole department though was budgeted at less than $30k/year sans salaries. Or I guess I should say 'hourly wages', even I was considered an hourly employee... Yet I was 'oncall' 24/7... Though good luck actually being paid for time spent doing support that wasn't regular hours... Hell I couldn't even be truthful on my hours spent in the building... I worked at least an extra hour per day and was never paid for it... Really it was not the best place to work for, but there just are not alot of admin jobs in northwestern PA, southwestern you get Pittsburgh and there are lots... But I've never had the money to move down there.

      --
      we are all invisible unless we choose otherwise
    42. Re:Better test! by Anonymous Coward · · Score: 0

      There are two words describing those who run untested changes directly on production systems: Former employees.

      Another two words: My boss

      I'm not kidding. Having a test environment was a completely new concept I introduced when I started there. One other saw some value in it, the rest just continued to rock on with live edits.

      Which leads to things like this : The whole network is down, I tell the big boss. He just answers "I was expecting something like that. $my_boss came back from vacation today".

    43. Re:Better test! by Bill_the_Engineer · · Score: 1

      Ah, but with a script you have a record of what was done. The GUI does not provide that,

      Not necessarily true. A good GUI could allow for the changes and outcomes to be logged in a text file.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    44. Re:Better test! by Anonymous Coward · · Score: 0

      why not use version control then ... even rcs does wonders

    45. Re:Better test! by Bigjeff5 · · Score: 1

      Oh god please tell me you are not actually trying to administer a live environment without a test environment!

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    46. Re:Better test! by Bigjeff5 · · Score: 1

      Most all good GUIs do.

      Bad GUIs don't, much like bad scripts are horribly obfuscated and completely undecipherable.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    47. Re:Better test! by arth1 · · Score: 1

      Please stop using the word "jail" after using the word "chroot." It doesn't do that, and it was never intended to do that. If you need a "jail" then you need a real VM.

      Pick your semantic fights somewhere else. Even the chroot(2) man page describes it as a jail, and so did Bill Joy who wrote chroot(). That punches a big hole in your "never intended to do that".
      (It may not be a high security jail, but then again not all jails are.)

    48. Re:Better test! by Anonymous Coward · · Score: 0

      If you write a script, you're certain that the changes made will be identical on each box.

      One little mistake in the script and you fuck up the whole organization.

      You can do the same thing in a GUI...
      And with the amount of warning we get these days - most of them get ignored...

    49. Re:Better test! by goarilla · · Score: 1

      Linux still has a long way to go in the arena of centralized management of desktops. Most centralized Linux management schemes I've seen were cobbled together unique solutions that only one guy actually knew how it worked.

      what about cfengine or the newer stuff like chef, puppet, bcnf2 ?

    50. Re:Better test! by fluffy99 · · Score: 1

      Linux still has a long way to go in the arena of centralized management of desktops. Most centralized Linux management schemes I've seen were cobbled together unique solutions that only one guy actually knew how it worked.

      what about cfengine or the newer stuff like chef, puppet, bcnf2 ?

      They are making good inroads into centralized management. On the plus side they do have client packages for a wide range of OSs. In my opinion, they still lack the depth and ease of use of ActiveDirectory.

  4. One small problem... by pedantic+bore · · Score: 4, Insightful

    I think the author might not fully understand who most admins are. They're people who couldn't write a shell script if their lives depended on it, because they've never had to. GUI-dependent users become GUI-dependent admins.

    As a percentage of computer users, people who can actually navigate a CLI are an ever-diminishing group.

    --
    Am I part of the core demographic for Swedish Fish?
    1. Re:One small problem... by microbee · · Score: 1

      You meant Windows admins, right?

    2. Re:One small problem... by Darkness404 · · Score: 4, Interesting

      More and more people are switching to things like Ubuntu for small business things like file-servers and the like.

      Its cheap, its easy and its stable. I'm sure if you look through all of the businesses running servers, very few of them are ran by real "admins" but rather by the employee who "knows about computers"

      --
      Taxation is legalized theft, no more, no less.
    3. Re:One small problem... by h4rr4r · · Score: 1

      I think you meant, not admin.

    4. Re:One small problem... by turbidostato · · Score: 1

      "I think the author might not fully understand who most admins are."

      I think you -and most people, is forgetting what an system admin is. If all you do is push buttons and follow menu entries, then you are not an admin, you are an operator.

      Yes, the vast majority of people with administrative privileges on Windows environments are operators, not admins.

    5. Re:One small problem... by Anonymous Coward · · Score: 0

      No way man. No way. There's no way that trend will produce gui-reliant linux admins the way it did with on the windows side. Totally unpossible.

      And anyways, even if it did we'd still be better off because all the linuses are impervious to viruses. :D

    6. Re:One small problem... by ewanm89 · · Score: 1

      I think you are confusing Unix and Network sysadmins with Windows sysadmins.

    7. Re:One small problem... by DAldredge · · Score: 1

      What can't you do from the command line on a modern Windows Server box? What requires the GUI?

    8. Re:One small problem... by MrCrassic · · Score: 1

      I think the author might not fully understand who most admins are. They're people who couldn't write a shell script if their lives depended on it, because they've never had to. GUI-dependent users become GUI-dependent admins.

      But those same admins can normally work a command line really well when needed. In my (limited) experience, admins don't like shell scripting because it's close to programming...and they HATE programming. I really like programming, so a bulk of my job now is scripting...which kind of sucks because as a Windows admin, WMI, ADSI and ADO make it seem way easier than it should be and the de facto scripting languages kind of suck. (VBscript is mostly lame and Powershell is nice, but isn't integrated into a core Windows installation yet, so it still feels like a sort-of distant cousin.)

    9. Re:One small problem... by kestasjk · · Score: 1

      PowerShell is an excellent way to administer Windows machines without using a GUI.

      Granted it doesn't always extend into 3rd party applications, it has been way too long coming, and you need community extensions to do things which should really be included by default (like md5 hashing), but it is a really nice scripting language that gets rid of a lot of the hassles that come with text streams.

      And before an inevitable backlash I use and love bash and perl too, I'm pretty handy with PCREs so I'm the last person who would be forced to abandon text pipes, but "Windows needs GUI for administration" is a bit of a dated view already and will only become more so as XP and Server 2003 dies off and PowerShell is everywhere by default.

      --
      // MD_Update(&m,buf,j);
    10. Re:One small problem... by sjames · · Score: 1

      Those are not the people you want running a core router or deploying a new network, at least not if you were hoping to maintain connectivity. They're certainly not the people you want handling remote equipment in a lights out facility.

      If you've never successfully hacked in a multi-hop static route to get connectivity with a remote router (hopping CLI to CLI through the routers) so you can fix it's configuration, you're not yet a senior admin.

    11. Re:One small problem... by ieatcookies · · Score: 1

      Totally. I've written many admin tools for employees to use that don't have the knowledge or experience to be logging into production servers and running scripts. These gui interfaces are a good way to let untrusted users take some sort of action in a controlled environment. For the same reason home routers have web admins.

    12. Re:One small problem... by Anonymous Coward · · Score: 0

      GUI-dependent users become GUI-dependent admins.

      Then they aren't sysadmins. They're dumb users doing job they don't have qualification for.

    13. Re:One small problem... by aiht · · Score: 1

      What can't you do from the command line on a modern Windows Server box? What requires the GUI?

      The untrained user.

    14. Re:One small problem... by Anonymous Coward · · Score: 0

      Maybe at small businesses. Large businesses are another matter.

      (Imagine being the Junior VP who tells the CEO, "Sorry that we failed to book half of the revenue for the quarter, and that Wall Street is calling for your head on a pike, but hey, we saved a fortune by hiring Dan the Gas Station Man, who once installed a router purchased at a big box store, instead of the guy who had 8 years of experience as a Head of IT".)

    15. Re:One small problem... by Anonymous Coward · · Score: 0

      I'm a running an ubuntu server... Without a GUI

    16. Re:One small problem... by Rockoon · · Score: 1

      More and more, people are also choosing canned-solutions to file serving, where the file server is a black-box appliance with no OS to be interacted with. Its just a box you buy and plug into the network, with a configuration screen delivered by HTML.

      --
      "His name was James Damore."
  5. GUI interface can sell a product to management by MichaelSmith · · Score: 5, Interesting

    Without a GUI it will be hard to sell, but automation is next to impossible with GUIs, so they are expensive to use in the long run because you have to pay for more Users.

    1. Re:GUI interface can sell a product to management by Spc+4 · · Score: 1

      I agree with you. I am a end user, using Ubuntu. For command line I just copy-paste. It usually takes about 3 weeks to find a answer to get my little problem fixed. Windows is much easier, but what I don't like about Windows is that you cant control the way the programs install themselves. A GUI is soo much more easier. There is a big learning curve using Ubuntu and understanding the command line and how to use it. People do not want to type in a command line.

    2. Re:GUI interface can sell a product to management by MichaelSmith · · Score: 1

      Where I work most things are large scale. Everything has to be automated to some degree and that generally means we write our own tools to generate configuration files for (often) hundreds of systems at a go. So GUI tools are of little use to us.

    3. Re:GUI interface can sell a product to management by vegiVamp · · Score: 1

      Actually, I saw a scripting language some time ago that allows you to easily script GUI actions. No, not the old macro recorder :-)

      Can't remember the name, though. Ah, thanks, Google: http://technoticles.com/2010/01/23/sikuli-the-graphical-scripting-language-from-mit/

      --
      What a depressingly stupid machine.
    4. Re:GUI interface can sell a product to management by MichaelSmith · · Score: 1

      TCL is very commonly used around here for that purpose, but I mean scripting to build a conf, not scripting to build a GUI to build a conf. Thats still a GUI and the work it can do can only scale with available man power.

    5. Re:GUI interface can sell a product to management by Anonymous Coward · · Score: 0

      I like AutoIT for GUI scripting: http://www.autoitscript.com/autoit3/index.shtml. As well there's AutoHotKey with it's atrocious syntax.

  6. Moderated: by Anonymous Coward · · Score: 0

    -1 Bleeding obvious

  7. not entirely sys admin related by ThorGod · · Score: 2, Interesting

    In most of my professional life, if there's an OSS alternative the OSS alternative is usually better. LateX is more professional than Office, in my opinion. I prefer the look and repeatability of gnuplot over Excel. Python is much more extensible than VBA. SQLite and python really helped me clean data for my professional paper, as well.

    Granted, I'm using Microsoft Office in addition to the aforementioned (except LateX).

    --
    PS: I don't reply to ACs.
    1. Re:not entirely sys admin related by penguinchris · · Score: 1

      I think what makes the OSS alternative better in your case (and in the cases of most slashdot readers including myself) is that you can more easily get it to do exactly what you want, not just accept the defaults. For example I use LaTeX as well because I like the output, but I also highly customize the output for my purposes. Meanwhile, I've never seen a document made in MS Word that looked particularly nice, no matter how much the author had tried.

      However, it's more difficult to use LaTeX if all you ever do is just type something simple up. In that case, MS Word is good enough. For most people in the world, then, MS Word is good enough and even overkill for 99.99% percent of the times they need to word process something.

      So it's a good analogy to the GUI vs. CLI debate - in most cases for most people the GUI lets you do something that's good enough. For anything else, one hopes the CLI is good enough to let you do what you want to do. But software authors understand that most people will never use them. A different story entirely from the gist of TFA, which is GUIs in a sysadmin context, of course :)

    2. Re:not entirely sys admin related by ThorGod · · Score: 1

      "A different story entirely from the gist of TFA, which is GUIs in a sysadmin context, of course"

      Yep! It's a different context, but at some level they're related. You hit the nail on the head. All too often I wind up in a battle of the wits with Word and Excel. They both break or act inconsistently all too often.

      --
      PS: I don't reply to ACs.
    3. Re:not entirely sys admin related by bingoUV · · Score: 1

      I agree and I was very happy to learn its reason one day. I was working on a software product and had a meeting with the product manager (the guy who meets the customers and tells their requirements and points of view to us developers). It was quite a revelation that us developers wanted to give more and more features to the customer, and it was the product manager who is sort of the representative of customers, refused for the features. Reason?

      "If you give this feature, I will have to explain this feature to the customers. They will ask so and so questions. In fact one customer that I talked to recently asked me . That is how stupid the customers are, hence no need to add this feature or that."

      This was for a reasonably big software company. The most stupid customer drives the requirement. Proprietary software companies never respect the customer. On the other hand, OSS developers respect the customer because they are their own customer. Hence if they can add a feature in reasonable effort, they do.

      Exception to this is software for professional use. E.g. pro-engineer / photoshop etc. Professional users of such software rarely know enough about software to be open source software developers in their free time.

      --
      Bingo Dictionary - Pragmatist, n. A myopic idealist.
  8. /etc/resolv.conf by kharchenko · · Score: 2, Interesting

    Agreed. For instance, I've been trying to figure out how to add a simple "search" entry into resolv.conf in Fedora .. it keeps overwriting it on boot no matter what level scripts I modify (e.g. going up to DHCP config, etc.) - because some genius came up with a new admin tool and thought that something as basic as resolv.conf doesn't need to be followed.

    1. Re:/etc/resolv.conf by cheater512 · · Score: 4, Informative

      Usually there will be resolv.conf.head and resolv.conf.tail files somewhere which get stuck at the beginning and end of the generated resolv.conf.
      That way you get a semi-dynamic and semi-static config.

    2. Re:/etc/resolv.conf by 0123456 · · Score: 1

      vi /etc/resolv.conf
      chattr +i /etc/resolv.conf

      I had to do that on Ubuntu a couple of years back because it kept overwriting resolv.conf and the GUI wouldn't accept the configuration I wanted to use.

    3. Re:/etc/resolv.conf by Anonymuous+Coward · · Score: 1
      I'm not using Fedora, but it's usually dhclient-script(8) that is overwriting resolv.conf.

      RTFM, it can be fixed.

    4. Re:/etc/resolv.conf by arth1 · · Score: 4, Informative

      /etc/init.d/NetworkManager stop
      chkconfig NetworkManager off
      chkconfig network on
      vi /etc/sysconfig/network
      vi /etc/sysconfig/network-scripts/eth0

      At least they named it NetworkManager, so experienced admins could recognize it as a culprit. Anything named in CamelCase is almost invariably written by new school programmers who don't grok the Unix toolbox concept and write applications instead of tools, and the bloated drivel is usually best avoided.

    5. Re:/etc/resolv.conf by MSDos-486 · · Score: 1

      I F'n hate NetworkManager.

      Why is it such a hard thing to grasp that a machine can have multiple interfaces on different networks (I work in a networking testing lab were this is very common) simultaneously. I refuse to help anyone with network problems if their using NetworkManager on Linux.

    6. Re:/etc/resolv.conf by IICV · · Score: 5, Insightful

      And to drive the point of this article home: how long would your post have been if you'd had to describe how to do this through the GUI? Would it have even been possible without screenshots?

    7. Re:/etc/resolv.conf by turbidostato · · Score: 1

      "chattr +i /etc/resolv.conf
      I had to do that on Ubuntu a couple of years back because it kept overwriting resolv.conf and the GUI wouldn't accept the configuration I wanted to use."

      No. You had to do it that way because you didn't know any better (it probably was the case that your DHCP client was dinamically editing your /etc/resolv.conf file and using values given by the DHCP server, behaviour that is, of course, configurable once you know how to do it).

      That was the parent post's point: you can't know everything about everything and there GUIs can come to your help.

      My point (and that from the article's) is that while that's true, the long term inconveniencies of a GUI-focused environment doesn't compensate for the short term advantages, not at least on a professional environment.

    8. Re:/etc/resolv.conf by ion.simon.c · · Score: 1

      man 5 resolvconf.conf
      ?

    9. Re:/etc/resolv.conf by Nethead · · Score: 1

      Thanks for reminding me why I use BSD for servers.

      --
      -- I have a private email server in my basement.
    10. Re:/etc/resolv.conf by Anonymous Coward · · Score: 0

      You mean like me telling a windows user "start>settings>network connections>right click>properties" ?

    11. Re:/etc/resolv.conf by dfgchgfxrjtdhgh.jjhv · · Score: 1

      click the system menu, then administration, then network
      configure your network devices

      click the system menu, then administration, then services
      disable & stop NetworkManager, then enable & start network

    12. Re:/etc/resolv.conf by Anonymous Coward · · Score: 0

      To be fair, he didn't discuss what changes were to be done in vi. The last two lines are the gui equivalent of saying "set up your -foo- using the gui"

    13. Re:/etc/resolv.conf by sjames · · Score: 1

      The nice thing about the Unix way is that you can shoot such things in the head and do it the old reliable way instead.

    14. Re:/etc/resolv.conf by Anonymous Coward · · Score: 0

      However, if one has never performed this task before, the GUI method is much easier to figure out. In contrast, coming up with those 5 lines from scratch is very difficult if you are not familiar with the process.

    15. Re:/etc/resolv.conf by RajivSLK · · Score: 1

      The easy way to debug something like this is as follows:

      Make the edit you want to the file... then start and stop suspect services until you figure out what is overwriting the file (or use auditing to see what is making changes to a file). When you have figured that out it's easy... disable the package, read the man page or google for help.

      In this case you probably need to add something like:
        supersede search foo.bar;

      to dhclient.conf

      For the record out of sheer curiosity I just google "something is overwriting resolv.conf help" and the answer was in the first few results...

    16. Re:/etc/resolv.conf by Anonymous Coward · · Score: 0

      At least they named it NetworkManager, so experienced admins could recognize it as a culprit.

      I'm a user, not an admin at all (unless you count my two computers at home) and I don't let NetworkManager control my connections. It's been a while so I don't even remember what it was doing, but it was certainly screwing my connection up, which I could only solve by not using it. I assumed I just didn't know enough to use it properly, good to know the experts turn it off too. Now I feel über-smart instead of incompetent!

    17. Re:/etc/resolv.conf by Anonymous Coward · · Score: 0

      If you have /etc/rc.d/rc.inet1, edit it and add -R to dchpcd option list. If you don't have the file, look in /var/log/messages /var/log/syslog etc for actual dhcp client invocation and find which rc script is doing it. Now figure out if that client has an option equivalent to -R of dhcpcd (don't overwrite resolv.conf).

    18. Re:/etc/resolv.conf by AlexiaDeath · · Score: 2, Interesting

      You missed last two steps. I have a kid sister with ubuntu laptop. She is OK with computers as a user, but even then nothing beats being able to paste a few lines through MSN to fix whatever. The talk-throughs Ive had to do for windows users have been HORRIBLE experiences. Ive managed to talk her through things I wouldn't even dream of doing on windows including building a wireless driver from source, installing 3rd party kernel and modifying grub config.

    19. Re:/etc/resolv.conf by Anonymous Coward · · Score: 0

      ...and NetworkManager only exists in the first place so you can manage the network with a GUI. It is the first thing I disable in Fedora.

    20. Re:/etc/resolv.conf by Anonymous Coward · · Score: 1, Interesting

      Make the edit you want to the file... then start and stop suspect services until you figure out what is overwriting the file (or use auditing to see what is making changes to a file).

      situations like that makes me wish dtrace was also available on linux.

    21. Re:/etc/resolv.conf by Anonymous Coward · · Score: 0

      I've not touched fedora, but the mechanism should be similar to Ubuntu and Debian.
      The first line of my resolf.conf is...
      # Generated by NetworkManager
      So, I go looking for NetworkManager processes and find... /sbin/dhclient ... .../NetworkManger/... ... .../nm-dhclient-eth1.conf ...
      And at the top of that file...
      # Created by NetworkManager
      # Merged from /etc/dhcp3/dhclient.conf
      And after reading that file I see the

      #supersede domain-name "fugue.com home.vix.com";
      #prepend domain-name-servers 127.0.0.1;
      And I read the manpage and see "Oh, I can do a prepend or an append for domain-name-servers"
      prepend domain-name "my-other-domain ";

      Granted, it's a whole lot messier for NetworkManager as it has yet to ship with documentation on the config files.

      Oh and Red Hat has been having scripts edit /etc/resolv.conf for you around for over a decade now...

    22. Re:/etc/resolv.conf by pjt33 · · Score: 1

      Why not talk her through installing sshd and do the rest yourself? That's what I've done with my sister.

    23. Re:/etc/resolv.conf by AlexiaDeath · · Score: 1

      Because we both are usually in networks that are unreachable from outside. Its a laptop that moves a round after all. For my aunts desktop I set up both sshd and VNC she can start with a click from desktop so I could see what she was having trouble with.

    24. Re:/etc/resolv.conf by penguinchris · · Score: 1

      Just curious... if your kid sister who isn't a linux wiz needs to install kernels, compile drivers, and modify grub configs, is an ubuntu laptop really the best choice for her? ;)

      Of course I encourage it and it sounds like she probably learns a lot along the way, but it seems like an awful lot of hassle for someone to deal with if they aren't doing anything too complicated on a day-to-day basis with the computer.

    25. Re:/etc/resolv.conf by AlexiaDeath · · Score: 1

      She doesn't need to do this day to day basis, only approximately twice a year, in April and in October. There is often a round of administering needed once she has carelessly clicked the upgrade to next release button when I'm not around. Otherwise there's less trouble with her laptop than any other running windows and she has no problems using as a rule. And even if she has, I can help her out without much hassle by pasting back and forth some text in MSN.

    26. Re:/etc/resolv.conf by dfgchgfxrjtdhgh.jjhv · · Score: 1

      I didn't miss any steps, there is no need to edit any configuration files to achieve that goal, the GUI does it all. Why would your sister need to install a 3rd party kernel, or build wireless drivers from source? I've been using Linux professionally for 10 years, since before grub was even around, the only time I needed to edit grub.conf was to do a dual boot with Windows.

      Why put your sister through all that hassle when you could just use a modern well configured Linux distro?

    27. Re:/etc/resolv.conf by AlexiaDeath · · Score: 1

      And that was my point. Telling someone what needs to be changed in GUI is a lot more painful than telling someone to just find line in a file, alter it and save. IT gets even worse, if the person helped has a totally different UI language. My oldest sister has windows in Finnish, because she lives in Finland. I had to help her once. I can understand a fair bit of finnish, but fins have a nasty habbit of never using loans and inventing new words for tech terms. So it degraded to me describing icons and she hunting for them. It sucked. My ubuntu using sister needed to all of those things because the damn driver for her wireless in ubuntu kernel is broken every other version for some reason. And its not some rare picece of hardware either. An EEEPC 1000h.

  9. The line isn't that sharp by hackwrench · · Score: 1

    I think in some GUI's (if not then it is posible) you can select a bunch or machines, save that configuration, then every time you have to make a change you click on a file the GUI comes up and there all the machines already selected are for you.

    1. Re:The line isn't that sharp by sjames · · Score: 1

      In a CLI, if the tool doesn't anticipate my need for that, it can be scripted together using nothing that isn't standard on the system. OTOH, if it's GUI, it will do whatever the developer wanted and all you can do is complain bitterly.

    2. Re:The line isn't that sharp by hackwrench · · Score: 1

      This might help with that:
      http://www.autohotkey.com/

    3. Re:The line isn't that sharp by sjames · · Score: 1

      That's helpful (except that I have avoided things that are GUI only), but it looks like a fair amount of work to get around an inappropriate interface. I have experience ages ago with simulating interactive human input in DOS, and found that all such things tended to be brittle.

  10. More and more... by Darkness404 · · Score: 5, Insightful

    There are more and more small businesses (5, 10 or so employees) realizing that they can get things done easier if they had a server. Because the business can't really afford to hire a sysadmin or a full-time tech person, its generally the employee who "knows computers" (you know, the person who has to help the boss check his e-mail every day, etc.) and since they don't have the knowledge of a skilled *Nix admin, a GUI makes their administration a lot easier.

    So with the increasing use of servers among non-admins, it only makes sense for a growth in GUI-based solutions.

    --
    Taxation is legalized theft, no more, no less.
    1. Re:More and more... by Svartalf · · Score: 1

      Ah... But the thing is... You don't NEED the GUI with recent Linux systems- you do with Windows.

      --
      I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    2. Re:More and more... by oatworm · · Score: 5, Insightful

      Bingo. Realistically, if you're a company with less than a 100 employees (read: most companies), you're only going to have a handful of servers in house and they're each going to be dedicated to particular roles. You're not going to have 100 clustered fileservers - instead, you're going to have one or maybe two. You're not going to have a dozen e-mail servers - instead, you're going to have one or two. Consequently, the office admin's focus isn't going to be scalability; it just won't matter to the admin if they can script, say, creating a mailbox for 100 new users instead of just one. Instead, said office admin is going to be more focused on finding ways to do semi-unusual things (e.g. "create a VPN between this office and our new branch office", "promote this new server as a domain controller", "install SQL", etc.) that they might do, oh, once a year.

      The trouble with Linux, and I'm speaking as someone who's used YaST in precisely this context, is that you have to make a choice - do you let the GUI manage it or do you CLI it? If you try to do both, there will be inconsistencies because the grammar of the config files is too ambiguous; consequently, the GUI config file parser will probably just overwrite whatever manual changes it thinks is "invalid", whether it really is or not. If you let the GUI manage it, you better hope the GUI has the flexibility necessary to meet your needs. If, for example, YaST doesn't understand named Apache virtual hosts, well, good luck figuring out where it's hiding all of the various config files that it was sensibly spreading out in multiple locations for you, and don't you dare use YaST to manage Apache again or it'll delete your Apache-legal but YaST-"invalid" directive.

      The only solution I really see is for manual config file support with optional XML (or some other machine-friendly but still human-readable format) linkages. For example, if you want to hand-edit your resolv.conf, that's fine, but if the GUI is going to take over, it'll toss a directive on line 1 that says "#import resolv.conf.xml" and immediately overrides (but does not overwrite) everything following that. Then, if you still want to use the GUI but need to hand-edit something, you can edit the XML file using the appropriate syntax and know that your change will be reflected on the GUI.

      That's my take. Your mileage, of course, may vary.

    3. Re:More and more... by devent · · Score: 1

      And the huge amount of spam and bot nets reflects that. That they don't need to know what they are doing, it's all nice pretty GUI and they are paying a few $ to MacAfee or Symantec. No wonder the anti virus companies can afford the biggest buildings in the city.

      --
      http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
    4. Re:More and more... by sleeper0 · · Score: 1

      Windows server 2008 and 2008R2 both support no GUI installations called "server core" and can be managed with CLI tools (minus a few exceptions).

    5. Re:More and more... by YrWrstNtmr · · Score: 1

      You don't NEED the GUI with recent Linux systems- you do with Windows.

      No you don't. Powershell.

    6. Re:More and more... by Martin+Blank · · Score: 1

      As pointed out elsewhere, no, you don't have to have a GUI with Windows. PowerShell now comes by default on all versions of Windows. Windows Server 2008 Core even comes without any GUI on the system at all -- it's all PowerShell, nothing else (though you can administer it remotely with GUI-based tools). If you want to do anything local, you must be able to use PowerShell.

      --
      You can never go home again... but I guess you can shop there.
    7. Re:More and more... by h4rr4r · · Score: 1

      Not true. There is still a GUI, sure it might be limited but it is still there.

    8. Re:More and more... by h4rr4r · · Score: 0

      It still has a GUI, otherwise you would only get a VGA text console. You are either ill informed or astroturfing.

    9. Re:More and more... by Anonymous Coward · · Score: 0

      No, you don't. Powershell can do everything a GUI can do and more. It's easily better than anything Linux has to offer (This coming from someone who has used linux since the early 2.2 days across many different machines, and also a fair amount of openbsd and freebsd mixed in.)

      The linux CLI is all about parsing text and printing out text, sometimes with options to configure how its output. As a result you have a lot of hackery involving splitting things by spaces or byte-lengths, text replacing the output you dont need, etc. It's only powerful because there are so many nice tools that you don't mind jumping through hoops to get data from one to the other.

      Powershell is all about passing objects. For example:

      Get-Process | where-object { $_.Handles -gt 200 }

      Get-Process returns all the processes as objects, where-object filters for objects with a Handles value thats over 200. How do you do that in linux?

      I don't even want to think about the full process, but it would involve either invoking lsof for each line that was output in ps, or invoking it once and doing line counts based on a regexp matching linecounts, or something equally painful.

    10. Re:More and more... by DAldredge · · Score: 2

      Don't you think you are splitting hairs just a little too fine?

      http://www.youtube.com/watch?v=fVU1FOLnu_E

    11. Re:More and more... by Thing+1 · · Score: 1

      Like your other responder noted, Microsoft botched the "no GUI server" by requiring a video card that could do graphics. Linux "GUI-less" only requires a video card that can display text-only modes -- not one that can also do graphics. Linux wins here, but Windows still sells more. :)

      --
      I feel fantastic, and I'm still alive.
    12. Re:More and more... by turbidostato · · Score: 1

      "There are more and more small businesses (5, 10 or so employees) realizing that they can get things done easier if they had a server. Because the business can't really afford to hire a sysadmin or a full-time tech person, its generally the employee who "knows computers""

      Which is, again, a Microsoft sin: it was Microsoft the one that told once an again the bussiness owner that "Windows is easy" and that showed him that their server products just looked like their desktop/home/whatever you want to call them, so it must be true that a savvy user can be overloaded with admin tasks.

      That and the case that, specially for minor environments and certainly even for big ones most part of its history, administering Windows was a case of going to the computer's console and locally do the thing.

      For the last 10~15 years with common high speed Internet connectivity the answer to that scenario was not having "the employee who knows computers" doubling as local system administrator, but outsourcing it to someone knowledgeable that remotely works on the server through ssh and shows by the office once a month basically for the warm fuzzy feeling of human interaction. If the bussiness owner would have known any better, that is.

    13. Re:More and more... by Martin+Blank · · Score: 1

      How many video cards are sold these days that cannot do graphics? How many are even manufactured? I suspect that number is very small, and largely dedicated to the embedded realm. If you're running an OS that has a minimum requirement of 512MB of RAM, how likely are you really to have a video card that doesn't even do minimal graphics?

      --
      You can never go home again... but I guess you can shop there.
    14. Re:More and more... by turbidostato · · Score: 2, Insightful

      "Realistically, if you're a company with less than a 100 employees [...] it just won't matter to the admin if they can script, say, creating a mailbox for 100 new users instead of just one."

      Well... it won't matter till the day your single server dies and you learn that, being a little drop in the sea, you don't have a "gold support contract" and it takes you one week to get a new spec'ed server (if only I weren't such a cheap ass and I'd buy two...). And when you turn on the new server you learn that you don't have the slightest idea about how it was exactly configured with all the tweaks you added through the years.

      "The trouble with Linux, and I'm speaking as someone who's used YaST in precisely this context, is that you have to make a choice - do you let the GUI manage it or do you CLI it?"

      Your problem is YaST, not your approach.

      "The only solution I really see is for manual config file support with optional XML"

      I'll tell you a better one (XML for configurations is almost never the answer).

      1) Proper engineering practices. Most of them are quite simple, once you get them. Just an example that it would be quite apt to this case: Debian favours as much as possible having configurations for complex services in its own directory, '/etc/complexservice.d/' where you drop "config snippets" instead of a big /etc/complexservice.conf file. If Suse did the same, YaST could be able to tweak the config snippets you allow it and you could manage by hand the ones you wanted/needed. But ask yourself why are you still using Suse and you probably will have to answer yourself "because YaST". Suse has no interest on making YaST a proper configuration tool because YaST is a lock-in tool instead. For the "easy" things you go with YaST, so you don't learn how to do it "by hand" on the cases where it makes more sense, the easy ones; by the time YaST gets short you don't know how to fully do it "by hand" and you can't manage it partly "by hand" because YaST will overwrite it. Net result: you end up locked in Suse.

      2) Today, almost any "workgroup-graded" server has enough horsepower to handle virtualization. Fire up a virtual guest, test your new configs in the test environment, making use of the GUI tools if needed, and then go analyze the resultant configuration and replicate it by hand in your production environment. This will bring you the best of both worlds: fast entry path for new things by means of the GUI while retaining full customization abilities on production (and the analysis part will make you learn a lot at a very fast pace).

    15. Re:More and more... by Anonymous Coward · · Score: 0

      The only thing worse than configuration with a GUI is configuration using XML. It may be machine-friendly but it's only barely human readable and a huge pain to write or edit.

    16. Re:More and more... by MightyMartian · · Score: 1

      If you can get hardware that doesn't require a video card, Linux will work quite happily with an RS-232 port. A video card is not a requirement of the operating system, but I think most BIOS's would scream if one wasn't present during post.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    17. Re:More and more... by Anonymous Coward · · Score: 0

      The trouble with Linux, and I'm speaking as someone who's used YaST in precisely this context, is that you have to make a choice - do you let the GUI manage it or do you CLI it? If you try to do both, there will be inconsistencies because the grammar of the config files is too ambiguous; consequently, the GUI config file parser will probably just overwrite whatever manual changes it thinks is "invalid", whether it really is or not. If you let the GUI manage it, you better hope the GUI has the flexibility necessary to meet your needs. If, for example, YaST doesn't understand named Apache virtual hosts, well, good luck figuring out where it's hiding all of the various config files that it was sensibly spreading out in multiple locations for you, and don't you dare use YaST to manage Apache again or it'll delete your Apache-legal but YaST-"invalid" directive.

      The problem here is that its a 3rd party tool trying to provide a GUI. If the 3rd party tool simply left directives alone that it didn't understand, that'd be cool, but then again, it could no longer be confidant of its own changes. Apache should make the Apache GUI. ISC (or whoever it is these days) should make the BIND GUI. And yes, the GUI should simply generate concise scripts (make them accessible - teach a man to fish type of thing).

    18. Re:More and more... by jcam2 · · Score: 1

      The trouble with Linux, and I'm speaking as someone who's used YaST in precisely this context, is that you have to make a choice - do you let the GUI manage it or do you CLI it?

      Or you can use a GUI tool that can parse manually created config files and not break settings in them that it doesn't understand, such as Webmin. YaST has its own separate configuration database that it generates the Apache config files from, so any manual changes you make will either be ignored or over-written.

    19. Re:More and more... by sjames · · Score: 1

      When they find out the guy who "knows computers" doesn't actually know that much (or he moves on), they'll want to hire someone part time (perhaps someone who admins for 5 or 6 different companies). HE will charge more if he has to click and drool through the process rather than using his fast and efficient box of CLI based tools.

      The best bet is to go with Linux with X and the GUI admin tools installed. Those have the good sense to be overlaid on the CLI and text file system rather than replacing it. Best of both worlds.

    20. Re:More and more... by oatworm · · Score: 1

      Well... it won't matter till the day your single server dies and you learn that, being a little drop in the sea, you don't have a "gold support contract" and it takes you one week to get a new spec'ed server (if only I weren't such a cheap ass and I'd buy two...). And when you turn on the new server you learn that you don't have the slightest idea about how it was exactly configured with all the tweaks you added through the years.

      How does that change with scripting? If you lose the scripts, forget about them, or just do a one-time thing that you don't really think much of at the time, you're still in the same boat. I will note, though, that even small shops have backups (really!), many of them have image-based ones that can moderately conveniently handle hardware independent restores (dd is better than nothing; StorageCraft or Acronis or something similar will get the job done on Windows), and you can get 4-hour support contracts on single servers for a modest fee, so, scripts or otherwise, it shouldn't be that big of a deal.

      Your problem is YaST, not your approach.

      Yes, though I noticed similar behavior in older versions of Ubuntu with the /etc/network/interface files and gconf. If there's anything better than having the GUI think the file says one thing, me knowing it says something else because I just edited it, then having the GUI reset the file to a "consistent" state (i.e. what it thought it said to begin with).

      1) Proper engineering practices. Most of them are quite simple, once you get them. Just an example that it would be quite apt to this case: Debian favours as much as possible having configurations for complex services in its own directory, '/etc/complexservice.d/' where you drop "config snippets" instead of a big /etc/complexservice.conf file. If Suse did the same, YaST could be able to tweak the config snippets you allow it and you could manage by hand the ones you wanted/needed. But ask yourself why are you still using Suse and you probably will have to answer yourself "because YaST". Suse has no interest on making YaST a proper configuration tool because YaST is a lock-in tool instead. For the "easy" things you go with YaST, so you don't learn how to do it "by hand" on the cases where it makes more sense, the easy ones; by the time YaST gets short you don't know how to fully do it "by hand" and you can't manage it partly "by hand" because YaST will overwrite it. Net result: you end up locked in Suse.

      Not if YaST doesn't do the job. Besides, Debian's "config snippets", great as they might be, can get just as inconsistent whenever dpkg-configure is thrown in the job. Why? Because unstructured text files is very human-friendly and very machine-unfriendly. Files can change between polling cycles, grammar can be inconsistent, spacing is all over the map, and on and on. It's precisely because of the problems with ambiguous grammars, file-based race conditions and the inconsistent error handling that results from automatically dealing with these issues that Windows used a database-driven registry. Granted, the registry created far more problem than it solved, but it doesn't mean the problems don't exist. A happy middle ground that lets you edit configurations by hand if the system goes down but requires consistent grammar would solve a ton of those problems.

      2) Today, almost any "workgroup-graded" server has enough horsepower to handle virtualization. Fire up a virtual guest, test your new configs in the test environment, making use of the GUI tools if needed, and then go analyze the resultant configuration and replicate it by hand in your production environment. This will bring you the best of both worlds: fast entry path for new things by means of the GUI while retaining full customization abilities on production (and the analysis part will make you learn a lot at a very fast pace).

      Yep - I agree with you there.

    21. Re:More and more... by maitai · · Score: 1

      Linux doesn't require any video card at all. It'll boot up happily without one. And if you want your console to be over a 38400,N81 serial connection it'll be just happy with that too. Or none at all.

    22. Re:More and more... by Corporate+Troll · · Score: 1
      Try this.... Basic x86 hardware, makes great little servers/routers/whatchagot. Graphics card? I don't need no stinking graphics card.

      As others have said, Linux will work with a serial console and that's really all you need if you're CLI based.

    23. Re:More and more... by jschrod · · Score: 1

      Debian favours as much as possible having configurations for complex services in its own directory, '/etc/complexservice.d/' where you drop "config snippets" instead of a big /etc/complexservice.conf file. If Suse did the same, YaST could be able to tweak the config snippets you allow it and you could manage by hand the ones you wanted/needed.

      YaST does this for its Apache configuration. It has even files/directories that are meant to be edited by hand. That's why the OP wrote about "lots of files lying around", instead of one big beavy httpd.conf. I assume that he would be even more disturbed by Debian's available/enabled scheme.

      The point is: If one wants to use both the automated tools of a distribution and edit files manually, be it with YaST or a2{en,dis}{mod,site}, one needs to understand the structure. And then one should RTFM and skim the configuration files. Both Debian's scheme and SUSE's scheme (as employed by YaST) are documented there.

      --

      Joachim

      People don't write Manifestos any more -- what's going on in this world? [Frank Zappa]

    24. Re:More and more... by Anonymous Coward · · Score: 0

      If you try to do both, there will be inconsistencies because the grammar of the config files is too ambiguous; consequently, the GUI config file parser will probably just overwrite whatever manual changes it thinks is "invalid", whether it really is or not.

      Ugh... so you're saying that the grammar of files which are used to configure software is too complex to be read by software?

    25. Re:More and more... by turbidostato · · Score: 1

      "[your single server has died]
      How does that change with scripting?"

      Scripting leads naturally to testing and automation. You will either promote temporarily your test box to production and/or you automate your installation so you just reapply the scripts in order to get your configuration in place again (think, i.e. Puppet or CFengine). Even without automation, CLI+text config files tends naturally to source management: you have your modified by hand config files within, say, Subversion, so you reapply your last config or, even if you lose the repo with the server you still have your current sandbox in your local PC.

      As a general matter, CLI+config files makes config management so much easier it opens up a complete new world of possibilities that goes absolutly ignored by the GUI advocates. It's not only the obvious advantages but a lot of things they even don't hint (but due to this, you don't grasp all the CLI advantages from day one, you need to get accustomed to it and learn from experience).

      "then having the GUI reset the file to a "consistent" state"

      There's a "mental state" shared both by the GUI developer and the end user that "GUIs are so easy" nobody would want or need anything else so the developer, when facing the problem of supporting direct user edits naturally tends to *not* support them in an obvious manner: rewriting the file from scratch each time.

      And it is not that the config file is dificult to parse, think that the app using the config is *already* parsing it properly (or it wouldn't work), it is that is more complex than just rewriting the file and, after all, using the GUI is so easy and desirable that nobody would want to hand edit it, wouldn't it?

      "Net result: you end up locked in Suse.
      Not if YaST doesn't do the job."

      The problem here is the 80/20 law. YaST does the job... for the beginner, most of the time. It shares kind of a Windows user mentality: if it's not obviously doable from the GUI, is not doable; we will just need to buy that other app that will do it for us from its own shiny added GUI.

      "great as they might be, can get just as inconsistent whenever dpkg-configure is thrown in the job. Why? Because unstructured text files is very human-friendly and very machine-unfriendly."

      dpkg-configure and relatives, is *not* a config management tool no matter this issue rising from time to time. It is just a helper for first time configuration. And it works sanely most if not all of the time (if the config file has not been edited by hand, displace it with a new version; if it's been edited, tell the user).

      And with the human/machine friendliness... well, if the text-based config file is so machine-unfriendly, how is it that the app itself manages to use it? And for the most part it is not unestructured: they are mostly idempotent variable->value or the same within a config block (after all, that's why quite a lot of programs have managed to use them as a configuration backend). No: the problem for the config GUI developer is usually not that it can't handle the config file but that the GUI developer is more insterested about the framework (say, YaST) than about the configured app, so he really doesn't want to deal with the miriad of the different config styles: it's easier to just stick with a limited subset of the config options, without having to write a more or less complex parser; I'll just rewrite it (and, by the way, wreaking havoc to any file system check tool you might happen to use: dare mind using something like Samhain on Suse and cry when most of the time you just fire YaST it will rise a ton of false positives because it will touch most of your config files).

      "A happy middle ground that lets you edit configurations by hand if the system goes down but requires consistent grammar would solve a ton of those problems."

      XML has the advantage that you can incorporate a grammar along the file (by means of the DTD definition). Such an advantage is *only* needed when two partners, unknowin

    26. Re:More and more... by sciurus0 · · Score: 1

      The config file format shouldn't need to be modified. Obviously they're already machine-readable! The problem is that people write myopic GUI config tools. They should be using something like augeas.

      Augeas is a configuration editing tool. It parses configuration files in their native formats and transforms them into a tree. Configuration changes are made by manipulating this tree and saving it back into native config files.

      Augeas is:
      An API provided by a C library
      A command line tool to manipulate configuration from the shell (and shell scripts)
      Language bindings to do the same from your favorite scripting language
      Canonical tree representations of common configuration files
      A domain-specific language to describe configuration file formats

      Augeas goals:
      Manipulate configuration files safely, safer than the ad-hoc techniques generally used with grep, sed, awk and similar mechanisms in scripting languages
      Provide a local configuration API for Linux
      Make it easy to integrate new config files into the Augeas tree

    27. Re:More and more... by Bigjeff5 · · Score: 1

      No, you don't.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    28. Re:More and more... by Martin+Blank · · Score: 1

      That's also well outside of what Windows Server is intended to run on. The minimum CPU for Server 2008 is 1GHz, and Server 2008 R2 doesn't run on 32-bit processors.

      There are some exceptions, as I said in my post. But any hardware on which you're going to consider running Windows will have the requisite basic graphics.

      --
      You can never go home again... but I guess you can shop there.
    29. Re:More and more... by Corporate+Troll · · Score: 1

      It is expected that the future Soekris boards will have 1.6GHz Atom CPUs. I also have had (normal) boards that work just fine without a graphics card, if the BIOS supports redirection to serial.

  11. Config files. by Timmmm · · Score: 2, Insightful

    Config files are one of the problems with linux. Most of them are far too hard to parse and modify so there aren't any GUI tools to do so. For example, how do you change the PATH in linux through the GUI? As far as I know there is no way. In windows it is (fairly) simple.

    Of course there's no reason why you can't have the best of both worlds - every program can be abstracted into a CLI and GUI on top of the same base library.

    1. Re:Config files. by Svartalf · · Score: 3, Informative

      Really? Ever heard of editing /etc/profile and changing the PATH statement there? No, there's no GUI tool- but under Windows it's not wholly clear like you make it out to be where it is. Yeah you can change it- but then so can I under Linux in as much of an easy way as you can under Windows- it's just different and if you're unfamiliar with one or the other, you're not going to be doing it on EITHER.

      --
      I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    2. Re:Config files. by Anonymous Coward · · Score: 0

      For example, how do you change the PATH in linux through the GUI?

      Before I tell you how to do this, please tell me *why* it's necessary to use a GUI to change a CLI parameter? If you're going to use the CLI (which you are) why not just use the CLI to change the PATH?

    3. Re:Config files. by devent · · Score: 1, Troll

      Why should you? Under Linux you never have to change the PATH. The applications will be installed in pre-defined directories and the path is already set. It's only in Windows where you just install applications in random places and need to change the PATH in this horrible small dialog, plus you need to restart Windows to make it work.

      In Linux it's just works, but if you really need to change the path you should be knowing what you do.

      --
      http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
    4. Re:Config files. by Anonymous Coward · · Score: 0

      Eh, no. I had to change the path fairly often to have things like custom compiled versions of Mono to work, and other things like for ccache to play automagically. On Windows, never had to change it of course, the setup did it for me.

    5. Re:Config files. by Anonymous Coward · · Score: 0

      When it comes down to it, all environment variables and system configuration details are stored in some configuration file somewhere on a system. Any system. Yes, even Windows. Though, in the case of Windows, the system itself is dependent upon the wonderfully-clear, well-documented, well-commented configuration files that make up the Registry.

    6. Re:Config files. by Anonymous Coward · · Score: 0

      In Linux I have had to change path directories hundreds of times, adding in new locations.

      You see this application was designed by a debian user but packaged in an RPM for Fedora, but to run it under mandrake you have to edit the path as the install script doesn't see that change.

      This application was designed for Ubuntu, but under debian standard the paths are different, under fedora the paths are different.

      Only OS X has had a consistent file location schema over the past 10 years. Every linux distro uses their own file paths and unless the programmer explicitly modifies their application for said distribution you have to edit you profile paths, and system wide paths to fix such things.

      Before you say Linux just works I suggest you actually use more than one distro. I still have hardware (monitor) that no current linux distro supports. The drivers were released by the manufacturer 3 years ago under a BSD license. Things like randr only partially support it. Meaning I can get the monitor work only under static settings however I live with dynamic monitors and don't feel like rebooting my computer 3 times a day as I swap out monitors. dropping into vi 3 times a day to modify x.config just for the privellage of using what I have.

      Oh and windows and OS X have had those abilities for the last decade.

      posted Anonymously to preserve moderations

    7. Re:Config files. by jd · · Score: 1

      I've mentioned them above, but you can do damn-near anything that Windows can do via either LinuxConf (for older distros) or Webmin/Usermin. (The option for file paths is in Usermin under "Operating System and Environment" and, frankly, I consider it infinitely superior to the way Windows displays the path.)

      Yes, these are not "standard". Almost nothing in Linux is "standard" and that is a Good Thing. It allows you to have the system set up to match how you think rather than force how you think to match the system.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    8. Re:Config files. by mirix · · Score: 2, Interesting

      Yeah, instead of flat text conf files, why don't we put a whole bunch of config in some obscure place in the registry somewhere...

      i entirely fail to see the point as to why you would want a gui to do something that is integral to the cli.

      --
      Sent from my PDP-11
    9. Re:Config files. by Anonymous Coward · · Score: 0

      hardware (monitor) that no current linux distro supports

      A monitor. What type of monitor? I always hear about people needing a "driver for their monitor" when they really mean video card. "dynamic monitors"? Does that mean you have a laptop and are plugging and unplugging the monitor?

      As far as file paths go, "/usr" seems pretty standard. I've seen some variations on "/usr/local/" vs "/opt/" for installing things non-package manager things, but that is about the only thing I've seen. Things like Googlearth (I don't think I did this) added a link pointing from "/usr/local/bin/googleearth" to "/opt/google-earth/googleearth". Acrobat reader did the same thing, but stuck the link into "/usr/bin." But as you see, it installed under /opt/APPNAME/, but added something in my normal path to get to it.

      As far as modifying my path, I think I've had to adjust it maybe 1 or 2 times in the last 4 years. Like I said, most apps install into the standard directories or add links into the standard directories.t
      (And yes, I have used several distros, Slackware in the late 90s, RedHat early 2000s, and Debain for the last 4 years or so. Have played with Gentoo and Ubuntu, but only in VMs). With the exception of adding my home dir to the path, I've almost never had to adjust my path.

    10. Re:Config files. by JonySuede · · Score: 1

      and this also create jobs security... standards enable you to replace peoples the way you replace cogs and screw

      --
      Jehovah be praised, Oracle was not selected
    11. Re:Config files. by turbidostato · · Score: 1

      "Only OS X has had a consistent file location schema over the past 10 years."

      Wrong.

      Debian has had a consistent file location schema over the past 10 years.
      Red Hat has had a consistent file location schema over the past 10 years.
      Suse has had a consistent file location schema over the past 10 years.

      Should I continue?

    12. Re:Config files. by MrCrassic · · Score: 1

      setenv $PATH=[add-path]:$PATH.

    13. Re:Config files. by turbidostato · · Score: 1

      "I've mentioned them above, but you can do damn-near anything that Windows can do via either LinuxConf (for older distros) or Webmin/Usermin."

      No. Linuxconf, Webmin and any other GUI-based high level configuration abstraction tools in Linux have a big drawback that you won't find in Windows: The former are created on top of the tools to be managed while Microsoft controls theirs bottom up.

      Take Jaques Gelinas' Linuxconf (Webmin is the same): the tool framework was good, but each configuration module had to be developed *on top* of the tool/program to be managed. Being Linuxconf basically a Red Hat only tool, the programs developers didn't have or feel the need to produce the Linuxconf modules for themselves (after all, their apps already had their own documented config files) so Jaques himself ended up being the one having to develop Linuxconf modules for Sendmail, Bind, networking etc. As such, modules tended not to cover new versions/obscure options of the programs and, in the end, that made Linuxconf to fade away. Except for the fact that Webmin has managed to stay longer, all the same can be told of it.

      On the other hand, Microsoft is the single party for all the core of the OS so it can offer up-to-date configuration GUI tools (even if they were not so up to date, you probably wouldn't know it, since you wouldn't use options you ignore that even exist) and, on top to it, the Registry is offered from bottom up to third party developers so all of them end up using the same common infrastructure (imagine that all unix apps were somehow forced to use, say, the Apache config file syntax. It would make a common configuration GUI framework much more easy to acomplish, wouldn't it?).

    14. Re:Config files. by TapeCutter · · Score: 1

      "plus you need to restart Windows to make it work"

      No, you only need to restart your cmd window.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    15. Re:Config files. by cynyr · · Score: 1

      use gvim(a gui for editing files) to modify ~/.bash_profile to include "PATH="$PATH:/PATH/YOU/WANT/TO/ADD/"

      for that mater "echo 'PATH=$PATH:/some/new/path/' >> ~/.bash_profile" on a command line does the same thing. Config files are easy to parse most are in the form of "var=value" it's easy in python, and doable in bash with arrays.

      As for your intent, it's more that most are so easy to hand edit, that hand editing is the preferred method. As for finding where/how to modify PATH Google is your friend.

      --
      All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
    16. Re:Config files. by cynyr · · Score: 1

      only thing i ever need to add is an addition of ${HOME}/local/bin so i can keep my own scripts(or links to them) there and have them tab complete.
      As for distros for me, RH62 RH7.2,7.3,8,9 Suse8,9, gentoo, and i've dabbled with fedora and ubuntu/debian. but yea, most stuff just works now. man has it gotten a lot better in the last 10 years.

      --
      All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
    17. Re:Config files. by Anonymous Coward · · Score: 0

      yeah and now you lend your account to someone you trust (but has evil intentions) or your account got hacked
      and everytime you execute *ls* in shell it creates a backdoor
       
        left-to-right precedence is something to consider here, also
      either you have a syntax fault (i'm assuming you use a c-shell) or you have a weird shell because that seems incorrect

    18. Re:Config files. by FrankieBaby1986 · · Score: 1

      Since when is gedit not a GUI?

      --
      ERROR: SIG NOT FOUND (A)bort, (R)etry, (F)ail?:
    19. Re:Config files. by Anonymous Coward · · Score: 0

      Many of us must change append applications to the path to make new software usable --the kind that is a Unix unfriendly port, and fits all in one huge folder, of course. If you download the firefox betas, for example, how else you have to extract it to your home folder, but won't drop the whole mess inside ~/bin, and subfolders won't automatically inherit path searchability.

      Avoid PATHs and you'll be stuck with Unix's hostile default behavior: googling why your executable and our own scripts won't run unless triggered from the GUI. It's unintuitive that though you already have the file ownership privileges correctly the script will not run. We must then type a local directory scope "./script" every single time before everything you want to run.

      Remember also that the Windows behavior begets programmers and users accostumed to the Windows behavior, so it's a neverending cycle.
      For Windows, allow me to correct you: no reboot is needed. You just start your DOS shell over, or nest it by tiping CMD in your current command line, and the new PATH parameter will be loaded into that subshell. At the very most, you'll have to log off. Restarting is so... win98.

    20. Re:Config files. by monkyyy · · Score: 1

      "${HOME}/local/bin" inst that already included?

      --
      warning pointless sig
    21. Re:Config files. by Anonymous Coward · · Score: 0

      Config files are the strenght of GNU/Linux. Usually they're self documenting and you're one bit flip away from the desired effect. Use emacs or use vi or fucking open office if that's how you swing.

      Why the funk would anybody ever want to change a path via GUI? And if that really is what you want, it would take like 15 minutes to write a silly GUI program to do it. Feel free to. Oh boy.

  12. Bad GUIs and bad CLIs by Anonymous Coward · · Score: 0

    If your idea of a GUI is that you have to connect to each machine and make changes manually, then why would you expect a CLI which allows you the flexibility to make the necessary changes automatically? There are bad GUIs and there are bad CLIs. A good management GUI allows you to make changes and apply them to a bunch of systems. A good CLI has consistent naming and syntax, autocompletion and powerful control flow statements. If you're stuck with a bad CLI, you're not going to be any faster than with a bad GUI.

  13. Programmers suck at making GUIs by Anonymous Coward · · Score: 0

    Just because the GUIs written by most programmers suck doesn't mean they all do.

  14. Developer vs. user by Anonymous Coward · · Score: 0

    "GUI isn't that necessary." said the software developer.

    "GUI is necessary." said everyone else on the planet.

  15. Webgui? Just use cUrl by icebraining · · Score: 5, Interesting

    I have a cheap router with only a web gui. I wrote a two line bash script that simply POSTs the right requests to URL.

    Simply put, HTTP interfaces, especially if they implement the right response codes, are actually very nice to script.

    1. Re:Webgui? Just use cUrl by owlstead · · Score: 1

      My cheap router has about 20% of the functionality in the thin client GUI that it provides though. The rest is (proprietary but simple) scripting and SNMP. And telnet is at least as easy, if not easier to script than HTML. At least you don't have to filter all the tags to get to the results of the commands.

    2. Re:Webgui? Just use cUrl by turbidostato · · Score: 1

      "I have a cheap router with only a web gui. I wrote a two line bash script that simply POSTs the right requests to URL.
      Simply put, HTTP interfaces, especially if they implement the right response codes, are actually very nice to script."

      Yes. Then you upgrade the firmware because of a security-related bug and all your scripts fail at once.

      URL managing is just slightly not as bad as screen scrapping.

      Oh, and you probably don't POST the requests, you GET them.

    3. Re:Webgui? Just use cUrl by icebraining · · Score: 1

      Yes. Then you upgrade the firmware because of a security-related bug and all your scripts fail at once.

      Yes, it's not as good as an actual CLI, but it's easy to write - that was my point.

      Oh, and you probably don't POST the requests, you GET them.

      No, I actually send POST requests using the -d parameter; the webgui uses POST for every action (as in, changing some parameter).

  16. And the whole GUI overhead by devent · · Score: 1

    Why Windows servers have a GUI is beyond me anyway. The servers are running 99,99% of the time without a monitor and normally you just login per ssh to a console if you need to administer them. But they are consuming the extra RAM, the extra CPU cycles and the extra security threats.

    I don't now, but can you de-install the GUI from a Windows server? Or better, do you have an option for no-GUI installation? Just saw the minimum hardware requirements. 512 MB RAM and 32 GB or greater disk space. My server runs with 260 MB RAM and 2.1 GB disk space, and I have Php, Apache, MySQL, Redmine, Rails, ISPConfig, Tomcat6 installed. Really, 512 MB RAM and 32 GB or greater disk space as a minimum requirement? I guess there is already ASP.NET, IIS, MSSQL installed, plus a few tools like remote desktop. But really, 512 MB RAM and 32 GB? My whole server takes just 7% of the minimum requirements of MS Server 2008.

    --
    http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
    1. Re:And the whole GUI overhead by sirsnork · · Score: 4, Informative

      it's called a "core" install in Server 2008 and up, and if you do that, there is no going back, you can't ever add the GUI back.

      What this means is you can run a small subset of MS services that don't need GUI interaction. With R2 that subset grew somwhat as they added the ability to install .Net too, which mean't you could run IIS in a useful manner (arguably the strongest reason to want to do this in the first place).

      Still it's a one way trip and you better be damn sure what services need to run on that box for the lifetime of that box or you're looking at a reinstall. Most windows admins will still tell you the risk isn't worth it.

      Simple things like network configuration without a GUI in windows is tedious, and, at least last time i looked, you lost the ability to trunk network poers because the NIC manufactuers all assumed you had a GUI to configure your NICs

      --

      Normal people worry me!
    2. Re:And the whole GUI overhead by YrWrstNtmr · · Score: 1

      Or better, do you have an option for no-GUI installation?

      Mostly. Server2008 server core.

    3. Re:And the whole GUI overhead by Martin+Blank · · Score: 1

      Being able to ssh into a Windows server without installing a third-party SSH service is news to me. There is a version called Server 2008 Core that does not have a GUI, and the installation can be automated.

      --
      You can never go home again... but I guess you can shop there.
    4. Re:And the whole GUI overhead by Anonymous Coward · · Score: 0

      From Windows Server 2008 you can have a no GUI installation for certain server roles.

    5. Re:And the whole GUI overhead by shutdown+-p+now · · Score: 2, Informative

      it's called a "core" install in Server 2008 and up, and if you do that, there is no going back, you can't ever add the GUI back.

      Win2008 Core still has a GUI. It's just that it's a GUI that only has a single graphical terminal window open by default, but nonetheless there's a window manager and all the other stuff. And you can open more terminals, and run GUI apps which open their own windows as well (if I remember correctly, it does have Notepad out of the box which can be used that way).

      That said, resources consumed by such a thing are so tiny that they won't be noticed even on a mid-range modern desktop, much less an actual server. And it does make life somewhat easier when you actually have to work with it directly (e.g. because ssh is failing for some mysterious reason).

    6. Re:And the whole GUI overhead by h4rr4r · · Score: 1

      You can't add it later?

      Windows needs to just go ahead and steal apt-get anyday now.

    7. Re:And the whole GUI overhead by Anonymous Coward · · Score: 0

      I'm not especially surprised that Windows Servers have GUIs.

      I'm surprised that on a server I seem to have no way of getting into it that doesn't require the GUI. The first two things that are going to happen to a program that goes out of control are 1) CPU is going to flatline at 100% and 2) Memory usage is going to ramp up. If the program is doing anything network-wise it will also most likely 3) Eat all the network bandwidth.

      So if something goes wrong, I have to RDP into a box that has no time to run my session, no memory to put my session into and quite possibly not enough bandwidth to show me the session anyway.

      I may just have never come across the appropriate tools but I don't know of any way of shutting off a rogue process on a remote Windows box. You either have to hard reset or wait until the process gives you an opening, neither of which I look forward to.

    8. Re:And the whole GUI overhead by cynyr · · Score: 1

      while they are at it, just port office and exchange to BSD and call it windows 8...

      --
      All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
    9. Re:And the whole GUI overhead by psionski · · Score: 1

      Yeah, they recommend that you have a normal GUI server somewhere in your network, so that you can manage the Core servers through the MMC (it supports remote servers).

    10. Re:And the whole GUI overhead by devent · · Score: 1

      In a Linux server you have the ability to turn GUI on and off, as you wish. All services are running and can be configured by CLI anyway.

      512 MB RAM as the minimum requirements is a lot for a bunch of services. How much do you waste it for a GUI that you almost never see?

      And, as I said, it's not only the resources, but the security threats. A GUI have a few millions SLOC more then just a command line. There are some like about 15 - 50 errors per 1000 lines of [...] code. And if you run/configure services with it some of it have to be running as root/Administrator rights, which increases the threats dramatically.

      --
      http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
    11. Re:And the whole GUI overhead by Bigjeff5 · · Score: 1

      All you need for that is a normal Windows PC, the admin tools can be installed on any Windows machine. A second server is not necessary. You can also run most server command line commands remotely as well.

      Frankly, most of the GP's issues are bullshit. How is netsh harder to use than any Linux config tool? And all the major windows services run without the GUI. They have gui tools to manage them, but the services themselves are completely GUI-free. .Net can be installed without a GUI if you have a basic understanding of MSI command line switches (granted, MS is no help there, they pop them up in a message box instead of at the command prompt), and that has been possible since .net was released.

      Really, the only thing I'll give him a slight bit of credit for is NIC trunking. Windows doesn't have a built-in config (command line or gui) for that, so if your NIC manufacturer is a dipshit that didn't think about remote configuration options, then you should probably not buy NICs from them. It shows incredible lack of forethought. Even then, big names like Dell and HP have complete remote configuration packages that do not even require you be at the machine you're managing, let alone using the Windows GUI.

      The point is generally moot.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
  17. Yes by prichardson · · Score: 2, Insightful

    This is also a problem with Max OS X Server. Apple builds their services from open source products and adds a GUI for configuration to make it all clickable and easy to set up. However, many options that can be set on the command line can't be set in the GUI. Even worse, making CLI changes to services can break the GUI entirely.

    The hardware and software are both super stable and run really smoothly, so once everything gets set up, it's awesome. Still, it's hard for a guy who would rather make changes on the CLI to get used to.

    --
    Help I'm a rock.
    1. Re:Yes by avatar139 · · Score: 1

      This is also a problem with Max OS X Server. Apple builds their services from open source products and adds a GUI for configuration to make it all clickable and easy to set up. However, many options that can be set on the command line can't be set in the GUI. Even worse, making CLI changes to services can break the GUI entirely.

      The hardware and software are both super stable and run really smoothly, so once everything gets set up, it's awesome. Still, it's hard for a guy who would rather make changes on the CLI to get used to.

      Prior to Snow Leopard I'd agree with that sentiment, but even though it was billed as an incremental release on the client side, the vast majority of fixes and improvements went into server and with the release and support for Mini so IMHO it's really the best (and cheapest) solution for the SMB market right now. In the interests of full disclosure I should probably add that I'm posting this from my home Mac Mini Server though. This maybe an age issue on my part but I'll never understand why people have such a hard time letting go of CLI? I mean a lot of programmers seem to love to rant about this subject and how "lazy" it makes everyone, but frankly I've never understood how typing cd ~/Desktop/ToBeInstalled/GIMP/Docs/ is supposed to be more efficient than pointing and clicking four times with a mouse? Trying to Admin a network sitting around typing in obscure commands all the time strikes me as way more lazy than using a quick get in and get out approach via a GUI but good luck trying to convince the hardcore programmer crowd of that. Don't get me wrong, CLI is a necessity on the client side as it prevents users from getting in and royally screwing up stuff that they shouldn't be trying to play around with, but on the server side, if someone could get all the necessary settings and tools necessary to admin into a well designed GUI (and OS X Server is getting there) I'd start using it in a heartbeat as it saves me a bunch of time from having to script everything out! Considering even Linus Torvalds expressed concern over the fact that easy to use is too often equated as dumbed down, perhaps it's important to remember that while they can overlap at times, those two adjectives can be worlds apart...

      --
      I'm honest enough to admit I lie to myself.
    2. Re:Yes by 99BottlesOfBeerInMyF · · Score: 1

      ...but frankly I've never understood how typing cd ~/Desktop/ToBeInstalled/GIMP/Docs/ is supposed to be more efficient than pointing and clicking four times with a mouse?

      I'm one of those people who lives in both worlds, GUI and CLI depending upon my needs... but I actually can navigate that directory structure faster using the CLI than the UI. Hitting a few characters then a tab and a slash is really, really fast compared to moving a mouse cursor and clicking, even assuming a responsive GUI (and GUI's still slow down a lot under load on most systems).

      Trying to Admin a network sitting around typing in obscure commands all the time strikes me as way more lazy than using a quick get in and get out approach via a GUI but good luck trying to convince the hardcore programmer crowd of that.

      Executing commands and changing configurations either using the CLI or GUI can be frustrating due to the obscurity of many commands and interfaces. Switching between various versions of Windows and trying to find even basic configuration settings can be extremely painful... just as painful as trying to parse slightly out of date man pages using a very unintuitive text editor that doesn't support scrolling text, from within a terminal window. GUI interfaces tend to be more learnable because there are fewer permitted combinations (only so many many things to click on instead of combinations of letters to type). CLI interfaces tend to be more portable across OS versions and even OS's (install the right shell on Windows and the "ping" command will work on most any OS you can find).

      Don't get me wrong, CLI is a necessity on the client side as it prevents users from getting in and royally screwing up stuff that they shouldn't be trying to play around with

      I disagree. I don't think obscurity is a good mechanism for protecting users from making poor decisions. Making interfaces easier and more informative is the key, but that's hard so most people punt and make things hard to use instead.

      easy to use is too often equated as dumbed down, perhaps it's important to remember that while they can overlap at times, those two adjectives can be worlds apart...

      Absolutely! Usability and functionality can certainly co-exist.

    3. Re:Yes by avatar139 · · Score: 1

      ...but frankly I've never understood how typing cd ~/Desktop/ToBeInstalled/GIMP/Docs/ is supposed to be more efficient than pointing and clicking four times with a mouse?

      I'm one of those people who lives in both worlds, GUI and CLI depending upon my needs... but I actually can navigate that directory structure faster using the CLI than the UI. Hitting a few characters then a tab and a slash is really, really fast compared to moving a mouse cursor and clicking, even assuming a responsive GUI (and GUI's still slow down a lot under load on most systems).

      Trying to Admin a network sitting around typing in obscure commands all the time strikes me as way more lazy than using a quick get in and get out approach via a GUI but good luck trying to convince the hardcore programmer crowd of that.

      Executing commands and changing configurations either using the CLI or GUI can be frustrating due to the obscurity of many commands and interfaces. Switching between various versions of Windows and trying to find even basic configuration settings can be extremely painful... just as painful as trying to parse slightly out of date man pages using a very unintuitive text editor that doesn't support scrolling text, from within a terminal window. GUI interfaces tend to be more learnable because there are fewer permitted combinations (only so many many things to click on instead of combinations of letters to type). CLI interfaces tend to be more portable across OS versions and even OS's (install the right shell on Windows and the "ping" command will work on most any OS you can find).

      Don't get me wrong, CLI is a necessity on the client side as it prevents users from getting in and royally screwing up stuff that they shouldn't be trying to play around with

      I disagree. I don't think obscurity is a good mechanism for protecting users from making poor decisions. Making interfaces easier and more informative is the key, but that's hard so most people punt and make things hard to use instead.

      easy to use is too often equated as dumbed down, perhaps it's important to remember that while they can overlap at times, those two adjectives can be worlds apart...

      Absolutely! Usability and functionality can certainly co-exist.

      While I'm glad we can find some common ground here, I stand by my point regarding security through obscurity. If you've ever worked tech support for any given length of time (and god knows I wish more FLOSS advocates have seeing as how they do seem to like going on and on about the users should be "educated" about everything), you would know that most are not interested in learning about the details of technology and will not retain any specific information that you give them about it due to that fact.

      Regarding CLI file system navigation, setting aside the speed issue (which I think I'll agree to disagree on that barring a race :) while that's great for *NIX systems, using Windows CLI is a bit of a different story.

      Actually the main point about GUI administration on servers I was making was really more dealing with OS X server as I strongly agree that using a GUI on any other platform is even more painful than trying to use and administer it on a regular basis in general (and with Windows Server that's really saying something ;).

      Don't get me wrong, as I believe I said in my original post, I don't think that even OS X server is ready to be administered using just the GUI but I guess my point is if the GUI gets to the pont where it is designed well enough to be able to duplicate the majority of the functionality of the CLI then I don't see the inherent evil in switching and sticking with using just a GUI.

      --
      I'm honest enough to admit I lie to myself.
    4. Re:Yes by Bigjeff5 · · Score: 1

      ...but frankly I've never understood how typing cd ~/Desktop/ToBeInstalled/GIMP/Docs/ is supposed to be more efficient than pointing and clicking four times with a mouse?

      Apparently you've also never understood how the tab key works in any OS CLI for at least the last decade, either.

      If you're familiar with your task, there is absolutely nothing faster than the CLI. If your task is not familiar, however, it can be torture. That's the real tradeoff between CLI and GUI - familiar, repetative tasks can be several orders of magnitude faster in a CLI, but unfamiliar tasks can be orders of magnitude slower (until the start to become familiar, of course).

      This is why highly experienced admins tend to prefer the CLI over the GUI (regardless of the OS, Linux just forces you into it where Windows doesn't), whereas inexperienced admins will hunt the GUI until they find it. If they're smart, they'll then find out how they can do the same thing in the CLI.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    5. Re:Yes by avatar139 · · Score: 1

      ...but frankly I've never understood how typing cd ~/Desktop/ToBeInstalled/GIMP/Docs/ is supposed to be more efficient than pointing and clicking four times with a mouse?

      Apparently you've also never understood how the tab key works in any OS CLI for at least the last decade, either.

      If you're familiar with your task, there is absolutely nothing faster than the CLI. If your task is not familiar, however, it can be torture. That's the real tradeoff between CLI and GUI - familiar, repetative tasks can be several orders of magnitude faster in a CLI, but unfamiliar tasks can be orders of magnitude slower (until the start to become familiar, of course).

      This is why highly experienced admins tend to prefer the CLI over the GUI (regardless of the OS, Linux just forces you into it where Windows doesn't), whereas inexperienced admins will hunt the GUI until they find it. If they're smart, they'll then find out how they can do the same thing in the CLI.

      Yes, but again my response regarding tab completion remains the same as I still have found that navigating to the directory ( not to mention actually doing basic tasks) is much faster (and way the hell more intuitive for everyone besides programmers) than typing a bunch of repetitive and obscure CLI commands.

      Regarding your point concerning the higher efficiency of repetitive tasks using the CLI I disagree completely.

      Troubleshooting aside, most basic admin tasks can be accomplished quickly and easily on OS X Server right now using the GUI and I fully expect the ease of use and functionality to get better as time goes on.

      Again on other platforms that don't have a decent GUI I can understand the CLI point of view.

      But for me personally, when I'm using OS X Server I'd appreciate it if instead of being so quick to blame people who are newer to System Administration for being "lazy" for not wanting to waste their time hunting around to be able to learn a bunch of obscure commands if they can already get most of what they need to be done with a GUI especially if it allows them the ability to gain the time they need to accomplish the many other things that need to be done in the course of their massively overworked and underpaid day!

      --
      I'm honest enough to admit I lie to myself.
    6. Re:Yes by 99BottlesOfBeerInMyF · · Score: 1

      While I'm glad we can find some common ground here, I stand by my point regarding security through obscurity. ...you would know that most are not interested in learning about the details of technology and will not retain any specific information that you give them about it due to that fact.

      You misunderstand me. I don't think "educating users" is a viable alternative to obscuring functionality. I'm talking about improving interfaces so that they actually tell the user in plain english (or whatever language) what the ramifications of selecting an option are, and those selections are actually granular and well formed so that one of them is the option the user wants (like run the software but don't trust it, let it start serving e-mail or look at my address book, or overwrite my files, or use all my network bandwidth, or modify my OS).

      Regarding CLI file system navigation, setting aside the speed issue (which I think I'll agree to disagree on that barring a race :) while that's great for *NIX systems, using Windows CLI is a bit of a different story.

      I created the directories you mention and timed myself. I'm about twice as fast using the CLI for that task. As for your argument about the difference between Windows and UNIX CLI's, that's not an argument that GUIs are superior, simply that CLI's (like any interface) can be done poorly. Heck you could make the same argument about trying to use Vista via the GUI and thus conclude GUI's suck compared to OS X's CLI.

      Actually the main point about GUI administration on servers I was making was really more dealing with OS X server...

      I actually like OS X's integration of GUI and CLI, like that when I move a directory via the GUI, my terminal windows figure it out immediately. Still, for rapid completion of tasks, a CLI interface is usually going to be faster for significant subset of tasks, even if there is more of a learning curve to figure it out.

      I guess my point is if the GUI gets to the pont where it is designed well enough to be able to duplicate the majority of the functionality of the CLI then I don't see the inherent evil in switching and sticking with using just a GUI.

      Both interfaces have their advantages, but for users that perform tasks highly skewed towards one interface or another, certainly there's nothing wrong with using that interface. I don't think many people would argue it is evil to not use a CLI, just that for some tasks it's painful because of the limitations of that type of interface.

    7. Re:Yes by avatar139 · · Score: 1

      You misunderstand me. I don't think "educating users" is a viable alternative to obscuring functionality. I'm talking about improving interfaces so that they actually tell the user in plain english (or whatever language) what the ramifications of selecting an option are, and those selections are actually granular and well formed so that one of them is the option the user wants (like run the software but don't trust it, let it start serving e-mail or look at my address book, or overwrite my files, or use all my network bandwidth, or modify my OS).

      You're right, and I apologize as that was something of a knee jerk response on my part as I do agree with you on that point.

      I created the directories you mention and timed myself. I'm about twice as fast using the CLI for that task. As for your argument about the difference between Windows and UNIX CLI's, that's not an argument that GUIs are superior, simply that CLI's (like any interface) can be done poorly. Heck you could make the same argument about trying to use Vista via the GUI and thus conclude GUI's suck compared to OS X's CLI.

      Again let me state the need for a race here, as I got the opposite results on my end, LOL!

      In response to your other point let me just say that I could make that argument but I didn't because my point was that I view GUIs as a way more intuitive UI method for most people than any CLI.

      I actually like OS X's integration of GUI and CLI, like that when I move a directory via the GUI, my terminal windows figure it out immediately. Still, for rapid completion of tasks, a CLI interface is usually going to be faster for significant subset of tasks, even if there is more of a learning curve to figure it out.

      Honestly, I guess the best concession I could make about that argument is that it maybe it is better that way for someone else, but I think that for me and other folks who aren't programmers, I don't view that as the case.

      Both interfaces have their advantages, but for users that perform tasks highly skewed towards one interface or another, certainly there's nothing wrong with using that interface. I don't think many people would argue it is evil to not use a CLI, just that for some tasks it's painful because of the limitations of that type of interface.

      Absolutely, by all means, please understand I'm not saying that CLI use is inherently evil!

      I think the bottom line of my post is that I get really sick of people saying that GUI use inherently evil (or lazy, or stupid) because you're absolutely right when you say that people should be able to use whatever method is the least painful to get whatever they need to do done and there are limitations for both methods so people should use whatever UI that they feel is the best suited for whatever they need to do.

      --
      I'm honest enough to admit I lie to myself.
  18. ITT: "Get off my lawn" by MrEricSir · · Score: 1

    Just because you're used to a CLI doesn't make it better. Why would I want to read a bunch of documentation, mess with command line options, then read whole block of text to see what it did?

    I'd much rather sit back in my chair, click something, and then see if it worked. Don't make me read a bunch of man pages just to do a simple task.

    In essence, the question here is whether it's okay for the user to be lazy and use a GUI, or whether the programmer should be too lazy to develop a GUI.

    --
    There's no -1 for "I don't get it."
    1. Re:ITT: "Get off my lawn" by Anonymous Coward · · Score: 0

      Nice post. Almost half of one sentence is relevant to the discussion.

      Try reading the article.

    2. Re:ITT: "Get off my lawn" by ak_hepcat · · Score: 4, Interesting

      Probably because it's also about the ease of troubleshooting issues.

      How do you troubleshoot something with a GUI after you've misconfigured?
      How do you troubleshoot a programming error (bug) in the GUI -> device communication?
      How do you scale to tens, hundreds, or thousands of devices with a GUI?

      CLI makes all this easier and more manageable.

      --
      Support FSF: Stop thinking with your wallet, and think with your imagination. (cc/non-commercial)
    3. Re:ITT: "Get off my lawn" by arth1 · · Score: 2, Insightful

      Why would I want to read a bunch of documentation, mess with command line options, then read whole block of text to see what it did?

      I'd much rather sit back in my chair, click something, and then see if it worked. Don't make me read a bunch of man pages just to do a simple task.

      Because then you'll be stuck at doing simple tasks, and will never be able to do more advanced tasks. Without hiring a team to write an app for you instead of doing it yourself in two minutes, that is.

      The time you spend reading man pages is an investment which pays off in the long run. But if you belong to the instant gratification generation, that may not be what you want, no...

    4. Re:ITT: "Get off my lawn" by fandingo · · Score: 3, Interesting

      I don't think you really understand systems administration. 'Users,' or in this case admins, don't typically do stuff once. Furthermore, they need to know what he did and how to do it again (i.e. new server or whatever) or just remember what he did.
      One-off stuff isn't common and is a sign of poor administration (i.e. tracking changes and following processes).

      What I'm trying to get at is that admins shouldn't do anything without reading the manual. As a Windows/Linux admin, I tend to find Linux easier to properly administer because I either already know how to perform an operation or I have to read the manual (manpage) and learn a decent amount about the operation (i.e. more than click here/use this flag).

      Don't get me wrong, GUIs can make unknown operations significantly easier, but they often lead to poor process management. To document processes, screenshots are typically needed. They can be done well, but I find that GUI documentation (created by admins, not vendor docs) tend to be of very low quality. They are also vulnerable to 'upgrades' where vendors change the interface design. CLI programs typically have more stable interfaces, but maybe that's just because they have been around longer...

    5. Re:ITT: "Get off my lawn" by h4rr4r · · Score: 1

      FAIL!

      If your the sysadmin you would be reading documentation either way.

    6. Re:ITT: "Get off my lawn" by Shadow99_1 · · Score: 2, Informative

      'admins don't typically do stuff once' WTF world do you live in...? I administered a 500 user network a bit over a year ago and very few things were repeated. I set up servers once, and then unless I needed to change something I didn't need to reconfigure them. Now some things like new user accounts is common and repeatable... But those take 2 or 3 minutes and it's done, unless you really cycle massive amounts of employees this should never be more than a half hours work... And a GUI is easily adept at simple repeated tasks. In my 4 years I found little need for scripted anything outside an oracle database and maybe some rare cases with exchange (of all things). Everything else was usually taken care of from a centralized system once, and rarely if ever done again.

      --
      we are all invisible unless we choose otherwise
    7. Re:ITT: "Get off my lawn" by Johnny+Mnemonic · · Score: 2, Insightful


      GUIs can make unknown operations significantly easier

      IMO, this is the biggest advantage that GUIs have over CLI: they allow you to see all of the legal choices at once, and as you make a change in one field you can see which other fields are now made illegal. Good "help" in a CLI can help, but it's much more trial and error. Esp if the help isn't good, and you combine illegal choices.

      --

      --
      $tar -xvf .sig.tar
    8. Re:ITT: "Get off my lawn" by Anonymous Coward · · Score: 0

      As an Admin of a 10 ppl company, i must disagree.

      Most things in fact are done once, at least in a product lifecycle.

      Example:
      Our data server broke down (hardware damage) recently, it was an ubuntu server, which was set up about 5 years ago. I had to replicate data (once) and set up the new NAS (once). I was perfectly happy with the features provided in the NAS, and thankful about not to worry about the endless settings of a samba server. More precisely, I'm not at all interested about the various codepage/iocharset settings to get the special characters equal on both the server filesystem and the clients XP machines, regarding the time wasted about doing something exactly ONCE and never again, I'm perfectly happy if it just works.

      Setting it up took no more than 1 hour. If I imagine what it would have taken to find out which settings were in which file, in this specially deployed Linux-variant, about all bugs in that samba version it uses, I'd say not less than one day.
      And the result would have been the same (a working file-server), and that's what counts for my boss at the end of the day.

      If that NAS crashes (I guess some years from now), I have to look for another (new) one, upgrade the hard disks by the way. What use would it make to fully understand the way the NAS works internally if that knowledge is rendered useless anyway?

      And for that, I'd rather use GUI for my mostly basic need, instead of grinding through tens of man-pages.

    9. Re:ITT: "Get off my lawn" by CAIMLAS · · Score: 1

      I don't think you really understand systems administration. 'Users,' or in this case admins, don't typically do stuff once. Furthermore, they need to know what he did and how to do it again (i.e. new server or whatever) or just remember what he did.

      Are you kidding? In a small business environment (several hundred users) I rarely get to do the same thing twice. Every day it's on to something else - something different.

      Yes, there is a subset of things which I do repetitively on a daily basis. But that is a very small subset. Usually, I'm trying to redo or redesign something done poorly, or fix a problem in some exotic application. Never a dull day!

      One-off stuff isn't common and is a sign of poor administration (i.e. tracking changes and following processes).

      If I have to make the same configuration multiple times, I am administering poorly.

      I should not have to create the same user more than once for different platforms or applications: I create them in the directory, assign attributes, and I am done.

      I should not have to edit a dozen different hosts to change the location of my DNS servers. I should not have to do repetitive shit: repetitive shit is why we have scripting and hundreds of management tools to reduce the amount of repetition.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    10. Re:ITT: "Get off my lawn" by Bigjeff5 · · Score: 1

      How do you troubleshoot something with a GUI after you've misconfigured?

      Read the error logs and re-configure it.

      How do you troubleshoot a programming error (bug) in the GUI -> device communication?

      Read the error logs and harass the vendor for a fix. You're not advocating re-writing the app are you? Daaamn you've got some time on your hands!

      How do you scale to tens, hundreds, or thousands of devices with a GUI?

      Ctrl-A. Just kidding. This is the job for a script, which is a whole different beast. Bash and Powershell do alright as command line scripting options, but really what you want is a dedicated scripting language for this sort of thing.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    11. Re:ITT: "Get off my lawn" by FrankieBaby1986 · · Score: 1

      I'm just diving into Active Directory on a 2k3 server, and setting some policies to make the network at my new job a little easier to manage and add new workstations to.

      I'd like to be able to document my changes well, if only to be able to undo things that turn out to be mistakes.

      I found myself really wishing all this was just flat files, so I could just add comments like "CHANGED mm/dd/yyyy for X purpose" and the settings would be self-documenting.

      --
      ERROR: SIG NOT FOUND (A)bort, (R)etry, (F)ail?:
  19. This, from the journal "Duh." by Anonymous Coward · · Score: 0

    Why is this newsworthy?

  20. Well there's another side to that by Sycraft-fu · · Score: 5, Insightful

    I find it rather disturbing the UNIX ideal that sysadmins should be programmers. The opinion seems to be that it is perfectly ok for someone to need to do a fair bit of programming work to solve a system problem. Ok but the thing is programming and systems administration are not identical skills any more than say being a musician and being a recording engineer are. They are related, but proficiency in one is not the same as the other. I know more than a few programmers that are abysmal at system administration, and I know sysadmins that can't program. There is nothing wrong with this.

    While I realize a simple (emphasis on simple) script isn't quite the same thing, this attitude smacks of the "People should just get down and code what they need," thing. No, not really. Not everyone should have to learn that skill, and you could well be excluding people you want by requiring it.

    Also there's the simple matter that GUIs work better for unfamiliar situations. While it might be easy to just say "Well a good admin should know about this," that is rather stupid. Nobody knows everything, you never get someone with limitless experience. Part of systems administration is being able to solve novel problems. Ok well GUIs help in that regard, at least when well designed. They show you your options, and how they flow, what ones exclude and influence others and so on. That can make it much faster to deal with something you are not familiar with. This is important and useful in real IT work.

    They also can help prevent errors. For example I can't count the number of times our DNS has been temporarily broken by a student messing up the file. If you do the formatting incorrect, screw up the serial number, etc and suddenly things stop working (we have it in a versioning system so it can be undone easily, of course). In Windows? Not a problem. The GUI keeps you from screwing things up. You can still make a bad entry or whatever, but you can't go and break the entire server.

    I'm not saying there's anything wrong with the command line, or that it should go away. However the idea that everything should be CLI based is silly.

    1. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      I wholeheartedly thank you for your post. That has been my argument for a long, long time.

    2. Re:Well there's another side to that by h4rr4r · · Score: 0

      GUIs are limiting period. How do you call some other tool from a gui? You don't.
      The sheer lack of pipe does that.

    3. Re:Well there's another side to that by arth1 · · Score: 1

      While it might be easy to just say "Well a good admin should know about this," that is rather stupid. Nobody knows everything, you never get someone with limitless experience.

      What I expect from a sysadmin is the ability and willingness to read man pages.

      Part of systems administration is being able to solve novel problems. Ok well GUIs help in that regard, at least when well designed. They show you your options, and how they flow, what ones exclude and influence others and so on

      The "and so on" part is by the very nature of GUIs limited, not unlimited, like in a CLI.
      I prefer someone who uses an analytical approach to someone clicking around to see whether that could solve the problem or possibly give enough information.

      Yes, GUIs can be useful. But they can't be a replacement. Sure, it's easier to see a problem in a GUI monitoring program. But then you have to monitor the monitoring program, and you have to take on faith that those who wrote it (or the plugins for it) covered all the bases. I've been through enough situations where GUIs said everything was fine, while a minute in a shell not only showed the problem, but also fixed it. That doesn't make the GUI programs worthless, but they won't replace good scripting.

    4. Re:Well there's another side to that by Zadaz · · Score: 1

      I couldn't agree with this more. I'll add to it and say a big part of the reason that admin GUI's stink is that they're designed by admins and not interface designers. Making a good interface is hard work that even specialists can't reliably do. Give the task to admin programmers who think that 'interface design' is just calling APIs and you get something that obviously is garbage.

    5. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      You sound like a Windows admin

    6. Re:Well there's another side to that by Anonymous Coward · · Score: 2, Insightful

      I find it rather disturbing the UNIX ideal that sysadmins should be programmers. The opinion seems to be that it is perfectly ok for someone to need to do a fair bit of programming work to solve a system problem. Ok but the thing is programming and systems administration are not identical skills any more than say being a musician and being a recording engineer are.

      A recording engineer should be musically literate, though. He should know keys, tempos, styles, and so on, in order to be able to have a productive session with the recording artist. He may not be the best player in the world but he had better know his shit.

    7. Re:Well there's another side to that by hedwards · · Score: 1

      I don't agree. Writing a script is something which is only for times when you have a set procedure and you're typing the same thing each time as a way of cutting down on repetition. And it is reasonable to expect somebody to do that if they want to be a sysadmin.

      I mean, do you really want to be hiring somebody that has to manually sit down at each terminal and set up each computer, or do you want somebody that values their time enough to script it? Sysadmins rarely if ever have the problem of too much time on their hands and as such, being able to script things which are only necessary on that site is a practical necessity.

      Unless said admin happens to be working for one of those companies which has too much money on its hands.

    8. Re:Well there's another side to that by Klync · · Score: 1

      Thank you for saying this! You're exactly right: A GUI only sysadmin is like a tone-deaf recording engineer. Sure, their face doesn't go on the cover of the album, but if they don't understand what they're handling, they can wreck the entire product.

      --

      ----
      Not to be confused with Col.
    9. Re:Well there's another side to that by icebraining · · Score: 1

      Also there's the simple matter that GUIs work better for unfamiliar situations. While it might be easy to just say "Well a good admin should know about this," that is rather stupid. Nobody knows everything, you never get someone with limitless experience. Part of systems administration is being able to solve novel problems. Ok well GUIs help in that regard, at least when well designed. They show you your options, and how they flow, what ones exclude and influence others and so on. That can make it much faster to deal with something you are not familiar with. This is important and useful in real IT work.

      Anyone who messes with a complex, mission critical system without having RTFM in a dangerous fool. A GUI only gives them confidence to incur in even more mistakes.

      They also can help prevent errors. For example I can't count the number of times our DNS has been temporarily broken by a student messing up the file. If you do the formatting incorrect, screw up the serial number, etc and suddenly things stop working (we have it in a versioning system so it can be undone easily, of course). In Windows? Not a problem. The GUI keeps you from screwing things up. You can still make a bad entry or whatever, but you can't go and break the entire server.

      That's nothing inheritend to GUIs: the app just needs to have a configuration file validator you run before using it. If Awesome can have one, there's no excuse for a enterprise app not to have one.
      Besides, that may protect you from insane values, but it doesn't protect you from sane but wrong values, which can screw things up.

      That's a flaw in your company's workflow, not the tool: if there are junior developers with little experience configuring them, they shouldn't have write permissions to those paths. They should send the version to a senior admin for reviewing.

      I'm not saying there's anything wrong with the command line, or that it should go away. However the idea that everything should be CLI based is silly.

      Every real app should have a text/cli interface. GUI as an addition is fine, but not required.

    10. Re:Well there's another side to that by pmarcondes · · Score: 1

      Also there's the simple matter that GUIs work better for unfamiliar situations. While it might be easy to just say "Well a good admin should know about this," that is rather stupid. Nobody knows everything, you never get someone with limitless experience. Part of systems administration is being able to solve novel problems.

      Documentation should exist. And should cover those unfamiliar situations.
      Ergo any good admin should be an habitué at manual reading, then he/she would be able to solve any unfamiliar examples.

      Or, how the heck should one work on a remote server over a 500ms ping-time satellite connection??? Remote desktop?

    11. Re:Well there's another side to that by __aarhwn4941 · · Score: 2, Interesting

      I'm a "technical support guy" whose job is basically to support engineering users at our company. Recently, when working with a "system administrator" who was charged with cleaning up a mess that was made by his team's failure to oversee a contractor, I had to listen to this: "we don't really have any scripters on our team". Yup, all they have are administrative functionaries or people who know how to enter single commands. Not a one of them has taken the initiative to cultivate skills beyond the minimum that is in "the contract". Guess what? "Engineering" (myself and my engineering customers) cleaned up the mess.

    12. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      As a former programmer (now management overhead) I agree 100% with this comment, it sounds like the programmers want their hard won skill appreciated. How about a GUI that lets you select the machines you want to change and then lets you choose the action to be performed.
      Hundreds of millions of people do what ever they need everyday through a GUI.

      Can a CLI let you do something quick and easy sure something like type in "rm -rf *" and watch your entire drive disappear.

      It is sort of like saying all children should learn to play in the street with frequent traffic.

    13. Re:Well there's another side to that by turbidostato · · Score: 5, Insightful

      "I find it rather disturbing the UNIX ideal that sysadmins should be programmers."

      That should be the case, but it isn't firstly because becoming a good sysadmin is a full time activity as it is being a good programmer and secondly because of subtle character differences between the people that choose one role or the other.

      "I know more than a few programmers that are abysmal at system administration, and I know sysadmins that can't program. There is nothing wrong with this."

      Yes, there is, and very wrong. Maturity of current IT systems is still far away to what's needed to be able to work in aisles. A programmer doesn't need to be a top notch sysadmin nor the other way around, but they both need to have very clear ideas about the other's trade because is needed both to understand where your program is going to be run and how and what would make proper practices to acomodate the programs within a wider and partially peculiar local environment (and in order to recognize properly engineered programs from lame intents).

      "Not everyone should have to learn that skill, and you could well be excluding people you want by requiring it."

      And, in fact, not everyone needs to learn that skill, it's only sysadmins that need it. And take for granted you are not excluding interesting people to fill a sysadmin role if they don't have at least clear foundations on programming.

      "Also there's the simple matter that GUIs work better for unfamiliar situations."

      Quite true (but proper man pages with examples and tutorials work almost as well).

      "Part of systems administration is being able to solve novel problems. Ok well GUIs help in that regard, at least when well designed. "

      But don't forget a *very* critical point: a new thing is only novelty the first time you do it. Do not let a bit of easiness for your first time getting in your way for the subsequent 10.000 times you will do it again from then on.

      And that's exactly why GUIs sell so good. When you are "buying" something new (it might mean literarilly exchanging money, but it means commiting yourself to the effort that will require work with new thingie) it usually will be to do new things, which is the kind of situation when GUIs (and "wizards", for that matter) will help, so the GUI by itself will be a very valuable agent to sell the app/services. By the time you understand that the shiny GUI gets in the middle you have invested too much in the app (money, time and effort) to get away from it. Microsoft, for instance, has learnt that leson very, very well.

      "They also can help prevent errors. For example I can't count the number of times our DNS has been temporarily broken by a student messing up the file."

      That's not an argument, it only seems to. While "manual handling" is prone to syntax failures, GUIs are prone to knowledge failures which are, by the way, much, much more dificult to debug. For each time you had a student making a severe syntax error on a DNS zone file, I can show you a self-called sysadmin making horrible design choices that led to situations dificult to repair and problems dificult to debug because the GUI allowed for an action on Windows environments (which was not a failure of the GUI itself, because the action was correct under the proper circumnstances, but because the GUI allowed for someone without enough knowledge on the consecuences of their acts to do "something" resulting in an "OK" message: a case of "garbage in, garbage out").

      So it's a stalemate on this.

      "In Windows? Not a problem"

      Now that you mention the text config files vs. GUIs on a multiple admins (some of them students) environment, here comes a hugh problem with the vast majority of GUIs:

      You get at work early in the morning and something is not working properly. You summon your minions and tell them "something is broken; what have you messed up since yesterday?"

      On a text files-based environment the answer is easy and you already advanced it: "we have it in a versioning system so

    14. Re:Well there's another side to that by 10101001+10101001 · · Score: 3, Insightful

      I find it rather disturbing the UNIX ideal that sysadmins should be programmers. The opinion seems to be that it is perfectly ok for someone to need to do a fair bit of programming work to solve a system problem.

      I'd presume this comes about from the fact that [administration] software used to be very expensive so it was normally cheaper to hire a sysadmin/programmer than to hire a sysadmin and seperate software. The fact that most sysadmins used to be at least minimally programmers (ie, they could write a shell script) certainly helped in that.

      Ok but the thing is programming and systems administration are not identical skills any more than say being a musician and being a recording engineer are. They are related, but proficiency in one is not the same as the other. I know more than a few programmers that are abysmal at system administration, and I know sysadmins that can't program. There is nothing wrong with this.

      Quite true. Meanwhile, most companies demand the equivalent of musician/recording engineers for the price of slightly more than a musician. And that tends to drive down the wages of those who are the equivalent of just recording engineers. That's just economics at play.

      While I realize a simple (emphasis on simple) script isn't quite the same thing, this attitude smacks of the "People should just get down and code what they need," thing. No, not really. Not everyone should have to learn that skill, and you could well be excluding people you want by requiring it.

      Yes, and that's why Windows System Administrators tend to be paid less than UNIX/Linux System Administrators. And where Windows can be said to excel is in providing for common tasks for very small businesses (ie, they only have one or two IT staff) in a GUI format so no programmer is needed.

      Also there's the simple matter that GUIs work better for unfamiliar situations. While it might be easy to just say "Well a good admin should know about this," that is rather stupid. Nobody knows everything, you never get someone with limitless experience.

      No, I think it would be said that a good admin should know how to learn in an unfamiliar situation. GUIs can certainly facilitate this, but GUIs don't magically remove the need to understand.

      Part of systems administration is being able to solve novel problems. Ok well GUIs help in that regard, at least when well designed. They show you your options, and how they flow, what ones exclude and influence others and so on. That can make it much faster to deal with something you are not familiar with. This is important and useful in real IT work.

      I think that heavily depends on your use of the word "novel". Most problems in system administration aren't really novel. They're merely new to the system administrator. In that regard, GUIs are great for helping prove the mechanism to do useful IT work. But, once you step into areas which are actually novel, GUIs by definition can rarely be of help. But, then, CLIs may be of little help either. At that point, you really do need to program, be it a script or an actually C/Java/whatever program.

      They also can help prevent errors. For example I can't count the number of times our DNS has been temporarily broken by a student messing up the file. If you do the formatting incorrect, screw up the serial number, etc and suddenly things stop working (we have it in a versioning system so it can be undone easily, of course). In Windows? Not a problem. The GUI keeps you from screwing things up. You can still make a bad entry or whatever, but you can't go and break the entire server.

      Very true, much like how client-side javascript can aid people in validating their input before it's actually used. That's certainly good strength of a GUI when it's dealing with well-understood, common content.

      --
      Eurohacker European paranoia, gun rights, and h
    15. Re:Well there's another side to that by Shadow99_1 · · Score: 2, Interesting

      All I have to say is: Amen! (in a nonreligious sort of way)

      I'm a not very good programmer who is a good system admin. I've been fighting the general apathy to anyone who can't read the source for the linux kernel in the linux world for going on a decade now! I'm always being told 'write it yourself' when I bump into a wall in administering linux systems that would be a simple button press in Windows... I don't want to reinvent the wheel! I'd frankly suck at it! That A) doesn't mean I'm a bad admin and B) Isn't something I even have time for in my day.

      I can just see my last employer waiting as I read through 10k lines of source code to figure out why X isn't working with Y. Those above me want things to 'just work' and when they don't and it takes time to fix it's the end of the world. I'll take tracking down the idiot on the campus who plugged the network cable into the same switch twice over writing my own app any day.

      --
      we are all invisible unless we choose otherwise
    16. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      Using a CLI and programming are, as you say, related but far from identical. Using a CLI isn't really harder than using a GUI. Both are types of interfaces and both require some getting used to.

      I have recently worked in an environment where everyone, including many non-programmers, was taught to use a CLI because that was the only interface for many of the systems. Every single one of them got the hang of it and became very productive. Some went further and picked up basic programming skills via bash/tcsh scripts, and later Perl and Python. Everyone unserstood the power of the UNIX command line compared to GUI environments.

      An interface can be instructive and help avoid errors whether it is graphical or not. This isn't really a matter of GUI vs. CLI but of good interface design. An interface that can recognize erroneous or dangerous user actions and warn/instruct the user is a good interface. The same goes for how much power the user is given: any interface can give a user the power to take down an entire system. There's nothing inherent to GUI interfaces that makes them safer.

    17. Re:Well there's another side to that by arth1 · · Score: 2, Insightful

      "They also can help prevent errors. For example I can't count the number of times our DNS has been temporarily broken by a student messing up the file."

      That's not an argument, it only seems to. While "manual handling" is prone to syntax failures, GUIs are prone to knowledge failures which are, by the way, much, much more dificult to debug.

      Never mind the things that the GUI just can't do, because the GUI is limited by the knowledge of the person who wrote it. Try entering an rdata_44 record in the DNS through a GUI -- chances are it won't let you. Or set up logging for a single client. Or remove all entries from the zone that has an expiration of a certain number of minutes (which is something you might want to do when replacing a DHCP server or similar). The limitations are endless, unless the UI simply integrates a text editor, in which case the question is why bother?

    18. Re:Well there's another side to that by grcumb · · Score: 1

      Also there's the simple matter that GUIs work better for unfamiliar situations.

      Ah, therein lies the rub.

      In the Unix/Linux world, there are no unfamiliar situations. Not once you're done with them. I mean this in the sense that you are expected to:

      • Know, or find out, which commands/utilities/configurations apply to your problem.
      • RTFM. (Gripe all you like about the so-called arrogance of admins who have no patience for those who haven't read the manual. Then settle down and Read The Fucking Manual.)
      • Test.
      • Test.
      • Test.
      • Then -and only then- script the steps to be taken (to make them replicable) and begin to deploy.

      Yes, it's expensive and time consuming. Once. Every subsequent time it's cheaper and more effective than any off-the-shelf solution.

      GUIs, contrarily, encourage the user to explore a limited set of options which might or might not actually help. Wizards are worst of all, because you're often well down the garden path before you discover that you can't do what you intended to.

      Nothing will protect an organisation from an incompetent sysadmin. The problem with GUIs is that they often encourage people (and by people I mean managers) to believe that they can get by with a nominally trained admin who becomes downright dangerous the minute the system needs to do something the wizard didn't foresee.

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    19. Re:Well there's another side to that by Culture20 · · Score: 1

      I find it rather disturbing the UNIX ideal that sysadmins should be programmers.

      You know, even the Windows ideal is that sysadmins should be programmers. Want to do some stuff on hundreds of windows desktops?
      for /f %FOO in ('type LISTofMACHINES.txt') do start "%FOO" cmd /c psexec \\%FOO -c blahbittyblah.bat ^& sleep -m 100

      I bet you think that can be done in Active Directory. Sometimes it can't. Like if you're joining hundreds of recently imaged machines to AD:
      for /f %FOO in ('type LISTofMACHINES.txt') do start "%FOO" cmd /c netdom join %FOO ad.domain /ud:foobar /pd:password ^& sleep -m 100

      I challenge any non-programmer to understand what's going on with those commands. Sure, no data structures or anything, but without even a basic understanding of programming, a loop is a scary thing; a magic tool of the devil.

    20. Re:Well there's another side to that by MrCrassic · · Score: 1

      Completely true. I've met some really smart and savvy sysadmins who have no issues setting up enterprise-grade systems, but have not the slightest idea of how to script or program. Scripting and systems administration aren't mutually exclusive, but they're not dependent on each other. Nonetheless, automation is really important because there are plenty of times where rote procedures will crop up and automating them away makes the difference between a reasonable time frame and a cancelled project. Thus, it makes sense to get people who know how to script (not necessarily program) to handle those bits instead of having to carry the burden of learning that too.

      The good thing about scripting on Windows is that VBscript and PowerShell make it really easy to automate things. Not as easy as AppleScript, but easy enough for busy people to pick up the basics without sacrificing too much time (like Perl and Python, to an extent, do). Of course, thinking like a programmer helps a lot, but it's certainly not a requirement.

    21. Re:Well there's another side to that by Nemilar · · Score: 1

      I agree that a good GUI for configuration is necessary in foreign environments. I recently had to setup a redhat cluster, and there was no way I was going to get anywhere (in any reasonable amount of time) reading the specifications and modifying the configuration XML by hand. So having the GUI (primitive though it may be) at hand was a life-saver.

      But the every step of the way, when I made a configuration change in the GUI, I looked at the XML to see what it was doing. I did this for more than just curiosity, I did it to learn how the system works. Understanding the configuration files gives you an insight into the software that you simply can't get from a GUI. Speed of configuration aside (I think the author of TFA makes a good point here), the CLI is about learning and understanding.

      I have to disagree with you about your main point, though. Admins had better be proficient with their shell of choice. Let's assume it's bash -- find me a sysadmin that doesn't know basic bash (for/while, if/else, variables, various conditionals, etc...), and I'll show you someone who's faking it. You don't have to be a full-on programmer, but these are the building blocks of a sysadmin's bash script, and you need to know them.

      --
      Nemilar http://www.techthrob.com - Visit Me!
    22. Re:Well there's another side to that by codepunk · · Score: 2, Informative

      "I find it rather disturbing the UNIX ideal that sysadmins should be programmers."

      Funny, nobody finds it disturbing when I interview for a job. Usually they just say holy crap
      you are a experienced and accomplished programmer as well as a crack administrator, hired.

      --


      Got Code?
    23. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      I think power users in general should know some BASICs of programming (pun intended). I don't mean learning C, that might be the Unix way but it is hardly an easy first language. When I hear non-programmers tell me about computer problems often I think about how easy that would be to solve with a little scripting. It really is limiting if you don't know programming.

      There is no way of getting away from programming. This was the dream at one time with software. Moving towards COBAL, CASE tools and GUIs so people don't have to program. But programming is fundamental to the computational roots of computers. You cannot take computing away from computers and expect something that is nearly as useful. There is only so much you can do with shrink-wrap software. As complex as Microsoft Word is, it doesn't suite my needs as well writing custom processing for a markup language -- which is faster to use as well.

    24. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      Part of systems administration is being able to solve novel problems.

      If you can't reason through a novel problem logically, you can't really solve it effectively, no matter what tools you have at your disposal.

      I find it rather disturbing the UNIX ideal that sysadmins should be programmers.

      If you're able to reason through a novel problem logically, you're able to program a solution. The rest is simply a matter of having suitable tools, such as knowledge of a programming language, at your diposal.

    25. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      Yah, not so much.

      If you can't program then you can't really understand computers. And if you don't understand computers, you've got little business pretending to be qualified to admin them in any serious capacity.

      GUIs have their place (diagnostics for example) but generally administration just isn't one of them. BTW, any safety checks you can do behind a GUI interface you can do just as easily or more so in CLI/config file.

    26. Re:Well there's another side to that by deek · · Score: 1

      Not everything should be CLI based, but all administration programs should definitely be.

      A good administrator should have the ability to do simple script work. This means that a good administrator would need something CLI based. They don't have to be a programmer as such, but doing simple script work is essential to efficient administration.

      I'm all fine for GUIs to exist for admin use. They have their use, as you've outlined. I just require a CLI ability as well.

    27. Re:Well there's another side to that by Rantastic · · Score: 2, Interesting

      I find it rather disturbing the UNIX ideal that sysadmins should be programmers. The opinion seems to be that it is perfectly ok for someone to need to do a fair bit of programming work to solve a system problem.

      Not only have I spent over 10 years as a professional *nix system administrator, I currently work training professional system administrators. I don't know *anyone* who thinks that a system administrator should be a programmer. That being said, shell scripting is a tool of the skilled system administrator. Writing simple scripts is nothing like programming. While shell scripts can be quite complex, most that a system administrator would write are very simple. Really just a series of commands.

      I know more than a few programmers that are abysmal at system administration...

      And how! The vast majority of developers I know are terrible system administrators. There is a reason we keep them as far from the production systems as possible. The problem is that they think they do know system administration, but they have a completely different mindset.

      ...this attitude smacks of the "People should just get down and code what they need," thing. No, not really. Not everyone should have to learn that skill, and you could well be excluding people you want by requiring it.

      Again, I don't know anyone who thinks this. People should learn the tools they are being paid to work with. That includes shell scripting. Now, some shops like to write a lot of in house tools in perl or python and will look for people skilled in system administration as well as those languages. Most big shops have a small number of sys admins who can write such tools. Don't confuse the tools team with the rest of the sys admins. This is a specialized role.

      Also there's the simple matter that GUIs work better for unfamiliar situations. While it might be easy to just say "Well a good admin should know about this," that is rather stupid. Nobody knows everything, you never get someone with limitless experience. Part of systems administration is being able to solve novel problems.

      I could not disagree more. While a GUI might help someone plod through without really understanding what they are doing, this is not a good thing. I agree that no one knows everything. However, a skilled sys admin can research and learn new things when needed. Most GUIs just get in the way of learning and deeply understanding. Then when something doesn't work as expected, you are SOL. Or you miss a subtle issue that bites you in the ass later.

      I'd like to point out that I use GUI tools all the time. However, I make a point of learning the technology I am paid to understand. When I use a GUI it is because it is the best or most convenient way to get something done. I can also tell you all the places on the system that GUI changed and what to do if something went wrong.

      That can make it much faster to deal with something you are not familiar with. This is important and useful in real IT work.

      I have worked in IT for long enough to know this isn't true. The simple reality is that most people working in IT suck. Seriously. I have interviewed and worked with more than enough of them. They use GUIs as crutches. They are over worked and have no time to learn anything even if they were so inclined. They have a very shallow understanding of the technology they are paid to understand. They choose "easy" tools instead of tools that require learning. It is the sad state of things that truly skilled system administrators are a rare find.

      Should everything be CLI? Of course not. Should everything be GUI, of course not. However, to say that GUI tools are better because you don't have to be familiar with them is a very scary attitude if you ask me.

      --
      Ask Slashdot: Where bad ideas meet poor googling skills.
    28. Re:Well there's another side to that by Anonymous Coward · · Score: 1, Interesting

      They use GUIs as crutches. They are over worked and have no time to learn anything even if they were so inclined. They have a very shallow understanding of the technology they are paid to understand. They choose "easy" tools instead of tools that require learning. It is the sad state of things that truly skilled system administrators are a rare find.

      So a good sysadmin that knows GUI is cheaper on the payroll than say, a sysadmin that can master a CLI. Good to know that when standing in the unemployment line. Learn your freaking GUI for a job!

    29. Re:Well there's another side to that by Rantastic · · Score: 1

      So a good sysadmin that knows GUI is cheaper on the payroll than say, a sysadmin that can master a CLI. Good to know that when standing in the unemployment line. Learn your freaking GUI for a job!

      Yes, you will find that vast majority of small companies looking to hire a "computer guy" to click on the GUI are not going to pay very much and they are going to get exactly what they pay for. If they do manage to hire someone with real skills, that person will be gone within a year or two because they can get a hiring paying job once they have some experience.

      --
      Ask Slashdot: Where bad ideas meet poor googling skills.
    30. Re:Well there's another side to that by raylu · · Score: 1

      I'm a not very good programmer who is a good system admin.

      I disagree.

      I can just see my last employer waiting as I read through 10k lines of source code to figure out why X isn't working with Y.

      Have you heard of grep?

      --
      Maurice Wilkes, debugging, 1949
    31. Re:Well there's another side to that by sjames · · Score: 2, Insightful

      If you type a question mark in the IOS CLI, it will show you all of your possible options from that point. Tab completion is another way to accomplish that, some CLIs use that.

      In Unix, you have the tab completion, man and apropos to help you out.

      Shell languages are designed with an emphasis on very simple "programming" tasks such that a sysadmin can easily use it for simple string substitutions and such while it remains a turing complete language (meaning anything that can be expressed to a computer can be expressed in the shell language)

      It's really sad watching some poor schlep clicking and typing all day when a simple "for i in" one-liner could have done the job in 30 seconds.

      Now, you have a problem that has brought the network to it's knees. What do you want swimming upstream to your terminal so you can fix the problem, a GUI desktop pixel by pixel or a # character? (we'll presume at this point you have a senior admin rather than an intern working the problem).

      BTW, if you do DNS right, you will at most break one zone. The log output will tell you what is wrong and you can fix it quickly. If it's a big change, try it out on a test box first, then just push the debugged files to production when ready. BTW, it was possible to put your DNS under change management because it was in the form of text files rather than an undocumented binary blob produced from a GUI app.

      You can set up a really simple ability to back a change out as well. cp pz/example.com back/; vi pz/example.com. If it really messes up and going back is your best bet, cp back/example.com pz.

      If you MUST have a GUI, why not an app that loads in the text file, presents it as a GUI and allows editing, then writes it back out as the text file again?

      A key takaway from this is exactly what TFA was talking about. File and CLI based configuration can easily have GUI, change management, etc overlaid on top of it, but if you start with a GUI, you're pretty much stuck there.

      Meanwhile, why is a student making changes directly to a production box? Let them mess around on the test boxes for a while until they become comfortable with the process, then they'll make a lot less mistakes.

    32. Re:Well there's another side to that by randallman · · Score: 1

      You need not be disturbed. Look at mature professions like engineering and medicine. Both encompass learning a fair amount about related fields. I completed a mechanical engineering program which required a good deal of math and physics. Nearly enough to get a minor in them, but I'm neither a mathematician nor a physicist. Also a good deal of chemistry and EE classes too. If you want to be competent engineer, you need to know the fundamentals for the entire field before you specialize. As for medicine, you cover every main area of medicine both in the classroom and in clinic before you specialize.

      A professional administrator should be able to do some programming. Programming is what computers are really all about. You give instructions to a machine to carry out a task, and often this must be automated, hence the need for programming (scripting in this case). My opinion: If you can't script, you're an operator, not an administrator, at least speaking professionally. Scripting is not hard and is way too powerful of a tool to brush off.

      The only people I see arguing against scripting are people that only use Windows. MS made the mistake of having weak and too often absent scripting capabilities, and for some reason, users want to make excuses for them. Even MS realized their mistake and came out with Monad/PowerShell and Unix Services for Windows (or something similarly named).

    33. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      if children never learn how to navigate traffic, they're going to make terrible adults, whose jobs consist of clicking on shiny ... buttons ... oh, I see what you've done there. Bravo.

    34. Re:Well there's another side to that by starfishsystems · · Score: 1

      You can't be a good sysadmin without being a reasonably competent programmer.

      The ability to think algorithmically is the main quality that distinguishes good system administrators from mediocre ones. People who assert that it's an optional skill are the worst of all, because they don't even know that they don't know!

      I see it all the time. The same thing happens with people who learn a programming language without learning programming principles. Sure, they can write simple programs that compile, and that even behave as expected. That's great. Everyone has to go through this stage. But you do not want to have to maintain their code.

      God knows there are a lot of mediocre system administrators who think they're great. But if they can't even program, any site they design will turn into a nightmare, whether they recognize it or not. I should know. I've made a lot of good money cleaning up after them.

      --
      Parity: What to do when the weekend comes.
    35. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      I can just see my last employer waiting as I read through 10k lines of source code to figure out why X isn't working with Y.

      Have you heard of grep?

      Grep can go through 10k of source code and _figure_out_ why "X isn't working with Y"?

      With posts like that I think fortune(1) can replace you.

    36. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      oops I mean fortune(6).

    37. Re:Well there's another side to that by Reteo+Varala · · Score: 1

      Writing simple scripts is nothing like programming. While shell scripts can be quite complex, most that a system administrator would write are very simple. Really just a series of commands.

      I don't understand. What exactly do you think programming is? Yes, there are loops, conditionals, and functions, but at its heart, programming is just a list of instructions for the computer to perform on your behalf.

    38. Re:Well there's another side to that by SharpFang · · Score: 1

      "While I realize a simple (emphasis on simple) script isn't quite the same thing, this attitude smacks of the "People should just get down and code what they need," thing. No, not really. Not everyone should have to learn that skill, and you could well be excluding people you want by requiring it."

      If your business is anything else than a direct copy of some other existing business, 1:1 exact, you WILL need creativity, customization, uniqueness. That means no pre-existing solution will match your needs in a drop-in fashion.

      It may not be programming you'll be needing. It may be setting technological line elements in the right order and uploading right recipes. It may be drawing pretty pictures. But it may be also some IT solution, that requires something else from the software than what is purchaseable from the market. The difference may be like 5 lines of code. It may be well within configurable parameters of a pre-existing solution - but finding these parameters may be a challenge. Anyway, you might need some clever thinking, some smart and difficult procedures.

      And either you hire a programmer-admin team, or you can depend on your admin to have a little programming to write these 5 lines of code which make or break your business.

      This is based on my real experience. 5 lines of code upon which pushed my job ahead of a whole line of identical competitors, gave the company an edge, something none of the others had.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    39. Re:Well there's another side to that by Tragedy4u · · Score: 1

      "Yes, there is, and very wrong. Maturity of current IT systems is still far away to what's needed to be able to work in aisles. A programmer doesn't need to be a top notch sysadmin nor the other way around, but they both need to have very clear ideas about the other's trade because is needed both to understand where your program is going to be run and how and what would make proper practices to acomodate the programs within a wider and partially peculiar local environment (and in order to recognize properly engineered programs from lame intents)."

      I disagree that all sysadmins require programming knowledge to be successful at their jobs, while it certainly helps to have this knowledge, it really depends upon the their role, the company they work for and the scope of their duties. Some companies use almost entirely pre-canned, purchased software applications to run in their environment without an inhouse dev team and support is a phone call away. Horses for courses after all, just my two cents.

    40. Re:Well there's another side to that by Shadow99_1 · · Score: 1

      Yes yes, disagree asshole (my opinion just like yours).

      Grep is oh so helpful on a mixed windows and linux set of servers, especially when alot of things, in the linux side especially, are often cryptic. Not to say windows doesn't have cryptic things, but they tend more toward edge cases being cryptic. Fairly 'normal' stuff is often cryptic in linux unless you've been doing it for years and no simply running linux at home is not the same thing. It's a very different thing when the linux server has to server 10k active connections to at home with 1 to 4 and usually not concurrent ones. Heck with the sheer number of different potential packages that can be used to do 'X' in linux that's a huge number of potential things you'd have to be a near expert in, figure in different versions even which slightly alter the way things work and outside experience becomes even less.

      I understand hardware a heck of a lot better though than alot of programmers. I understand networks better than alot of programmers. So what if I can't code the frikkin' linux kernel? What the heck does that have to do with making sure hardware and the network work right? The only possible argument is that the linux kernel is so shit it will screw things up. We know that's crap though, so what's the real issue? I think it's time linux finally makes simple things simple with a CLI core under the easily used GUI (that is *shock* actually user friendly!).

      --
      we are all invisible unless we choose otherwise
    41. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      They also can help prevent errors. For example I can't count the number of times our DNS has been temporarily broken by a student messing up the file. If you do the formatting incorrect, screw up the serial number, etc and suddenly things stop working (we have it in a versioning system so it can be undone easily, of course). In Windows? Not a problem. The GUI keeps you from screwing things up.

      so basically you want a vibind (8)

    42. Re:Well there's another side to that by smcdow · · Score: 1

      With all due respect, I'd like to go on record as disagreeing with every point in your entire post. Instead of making what I think your point is, your post points out the fundamental faults associated with the path the industry has taken over the last 15-20 years.

      --
      In the course of every project, it will become necessary to shoot the scientists and begin production.
    43. Re:Well there's another side to that by CAIMLAS · · Score: 1

      I agree: the "sysadmins should be programmers" assumption is not only a flawed one, but the assumption leads to poor system processes.

      Yes, you should be able to write basic system and backup scripts. But programming as an activity is an intrinsically time-consuming task. Sysadmin work, however, often requires "improvements per hour". They are fundamentally incompatible and such a shared role results in your 'programming admin' not doing either job well.

      If you hire a programmer to do your sysadmin work (or one who does heavy programming) you are substantially increasing your management responsibilities with every program they write. Those tools have to be maintained or replaced. This costs money, and increases the cost of actually going forward from these 'elite admins'.

      What's worse: most of these idiots don't document their code or even their tools in a document repository. They might use cvs or the like to manage them, but chances are they're "good" and just keep a revision or two at a time of a thousand+ line program. They'll write lots of 'glue' programs like this, resulting in inter-dependence amongst your hosts and systems - none of which will likely be documented well, and none will be anything near 'standard'.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    44. Re:Well there's another side to that by Anonymous Coward · · Score: 0

      The problem comes with dropping all operator work onto admins and expecting to be able to pay admins what a system operator was paid.
      You end up with systems operators with title sysadmin, and admins with an extortionist bent with the title 'consultant'.

      An operator should be able to follow a set of procedures, and work out a new piece of software to do the job of handling day to day needs from users and day to day minor fires with systems. Most importantly they should know when they are over their heads.

      A admin should be willing to get dirty with the day to day stuff when the operators are swamped. A good admin should know enough about programming to realize when certain portions of config belong in a source control system instead of managed through backups. A good admin should have a basic understanding of debugging and tracing and side effects of the common API calls to be able to give bad developers some pointers when their code is trashing the system.
      And a good admin should have enough programming skill to be able to write clear procedures and okay automation code.
      And most importantly a good admin knows to structure a process to minimize the amount that operations can screw up.
      So for DNS, that may well have the standard front end be a web app that manipulates a database or a corporate directory.
      But when management declares "We're setting up a new farm of 1000 boxes with the following naming scheme," there is a CLI option to load the spreadsheet the boss' assistant created, or even better generate names from the pattern and put them in. Because you know there will be screwups when someone feeds in each hostname by hand.

    45. Re:Well there's another side to that by Bigjeff5 · · Score: 1

      You've obviously never used Windows Administrator Tools.

      Sheer lack of knowledge does that.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    46. Re:Well there's another side to that by jwhitener · · Score: 1

      "I find it rather disturbing the UNIX ideal that sysadmins should be programmers."

      You don't need to be an expert, but you'd better be moderately proficient in at least the basic concepts. Vice versa for the programmer. I'm on the programming side of things, and I can't imagine how I could do my job without understanding the hardware, memory configurations, various quirks of different operating systems, backup limitations, etc...

      Likewise, my sys admin knows enough about programming to understand when a certain patch may affect something I've done, what types of memory sizes are required for various java heaps in different programs, what global variables are important to keep in certain user profiles, etc...

      Much of that knowledge is just a transfer over time as we work together. When I come across a sys admin who has zero programming knowledge, I know he's one that either isn't interested in learning, doesn't talk to his users/programmers at all, or is just plain bad at IT.

    47. Re:Well there's another side to that by lennier · · Score: 1

      this attitude smacks of the "People should just get down and code what they need," thing. No, not really. Not everyone should have to learn that skill, and you could well be excluding people you want by requiring it.

      Right. Not only that, there's a Zen thing here: NOT writing a single line of code that you don't have to is a fundamental programmer's virtue. It saves effort (which is what automation is about in the first place, right?) and it ensures correctness. There is nothing to be gained by repeating work already done by another, and a lot of potential bugs to be introduced.

      So the first thing a programmer should look to do is to avoid writing as much code as possible. The programmer's besetting sin, pride, may tempt you to 'just hack up something yourself, it's not that hard' but that can easily be a trap. Do it once, do it right, don't do it again, and if someone else has already done it once and done it right then for goodness sakes DON'T TRY TO DO IT YOURSELF.

      The interesting thing is that if you look at it this way, programming and system administration aren't so far apart after all. Both are now about - or should be - putting together modules already written by others. And both should be about using the best, most powerful tools and languages to describe the task at hand and how to construct it out of those prewritten modules.

      The difference is that programmers are given those tools and sysadmins aren't, and that programmers look down on sysadmins as feeble-minded fools who can't code - and sysadmins look down on programmers as pampered prima donnas who think writing an application means they own the whole network.

      In Windows? Not a problem. The GUI keeps you from screwing things up. You can still make a bad entry or whatever, but you can't go and break the entire server.

      I'm not saying there's anything wrong with the command line, or that it should go away. However the idea that everything should be CLI based is silly.

      Not really, that all depends how you define 'CLI'.

      There's absolutely no reason, for instance, why there can't be a CLI created which has an exact 1:1 correspondence to the dialogs presented and actions accepted by any arbitrary GUI interface. Such a CLI would provide exactly the same guarantees of correctness that the GUI does, but it would be scriptable and allow repeatable provably correct configurations.

      MMC was baby steps toward this, PowerShell I think is a further step. Eventually Microsoft may come back full circle to having a GUI/CLI hybrid which is actually useful.

      One could argue that they're well ahead of Unix in this regard, since KDE and GNOME have been chasing the old-school GUI world where there's no exact CLI equivalent of many GUI tools.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    48. Re:Well there's another side to that by turbidostato · · Score: 1

      "I disagree that all sysadmins require programming knowledge [...] Some companies use almost entirely pre-canned, purchased software applications to run in their environment without an inhouse dev team and support is a phone call away."

      That's not a system administrator, that a system operator. And, well, yeah, a system operator doesn't need programming knowledge.

    49. Re:Well there's another side to that by Tragedy4u · · Score: 1

      I haven't seen the title of System or computer operator used since the late 80's. Maybe it's common in your neck of the woods? However most of the places I have traveled System Administrator is the standard title. You want to know what really gets me angry? Most companies use the title Network Administrator for what really is a Windows System Administrator role, my ability to setup VPN, OSPF and BGP has nothing to do with exchange or active directory.

    50. Re:Well there's another side to that by bingoUV · · Score: 1

      I find it rather disturbing the UNIX ideal that sysadmins should be programmers.

      There is no such ideal. I guess you are being confused between programming and scripting. Learn the difference and you won't have such disturbing thoughts anymore.

      --
      Bingo Dictionary - Pragmatist, n. A myopic idealist.
    51. Re:Well there's another side to that by turbidostato · · Score: 1

      "I haven't seen the title of System or computer operator used since the late 80's"

      That's another "gift" we owe Microsoft (do you think is per chance the date coincidence?).

      Of course, "system operator" seems derogatory when compared to "system administrator" and that's right, since a system operator is lower ranked than a sysadmin. If all you do is following already layed out menus, click on already programmed radio buttons, make use of functionality already provided from an internal or external third party and all you need to know is the user manual for the application/system whitout need to know the underlying protocols and architectural choices, then you certainly are an *operator* of such application/system.

      Now, tell me how many Windows "system administrators" are able to debug a SMTP or HTTP session from a telnet prompt, how many know how to detect what's the blocking factor for a system underperforming, if it's memory, networked or disk-based I/O; if it's a delay in name resolution or if the system is exhausting its networking sockets. How many Windows "system administrators" know how to properly dimension a new environment on paper, how many servers it will need, what are the advantages/disadvantages of competing topologies, etc?

      But, of course, they prefer to be known as "system administrators": it looks better and makes Microsoft systems to look more tweakeable than they are. No wonder that under the "new" deprived definition for "system administrator" you end up declaring that "not all system administrators require programming knowledge". Well, if you downsize "civil engineer" to mean "the guy that puts the bricks", you would end up declaring that "not all civil engineers require structural calculus knowledge" too.

      "Most companies use the title Network Administrator for what really is a Windows System Administrator role, my ability to setup VPN, OSPF and BGP has nothing to do with exchange or active directory."

      That "role inflation" is expectable on "soft" parts of the company like marketing. But now we need to welcome our new overlords of inflated roles even on the technical side of the company.

    52. Re:Well there's another side to that by einhverfr · · Score: 1

      Agreed. The fact is that a sysadmin who is good at scripting may cost 1.5x as much as one who is not. However, that same sysadmin might be able to do 3x as much work over a long period.

      Per person, the cheap sysadmin is cheaper. Per unit of work accomplished, the cheap sysadmin is really expensive. At best, you can delegate the simple, repetitive, manual tasks to the cheap guy and have most of the real work done by the more expensive guy.

      --

      LedgerSMB: Open source Accounting/ERP
  21. Each in their place by Kaboom13 · · Score: 1

    CLI's are great for scripting, but they also make it very easy to make errors of omission. If you don't know about a command, you don't use it. If there's an important security setting for example, you might see it poking through the GUI, but not know you need to add it when starting from a blank config file. Of course in theory no one should be admin for a system they didn't know and fully understand, but we all know in reality that is not what actually happens, especially in smaller operations. A good system uses both to do what they are best at, and a good admin should be familiar with both. Even MS finally got on this bandwagon, with Powershell and server 2008, anything you can do in the gui can be done with powershell, and a lot of rarely used commands are powershell only (keeps you from overly complicating the gui which is a good thing).

    1. Re:Each in their place by maxwell+demon · · Score: 2, Insightful

      OTOH, I'd say if there's an important security setting, and it's not set to the secure value by default (or, if that is not possible, gives an error when not set explicitly), that's a design error in the application.
      Also, empty configuration files IME are rare nowadays; usually they are pre-filled with (mostly commented-out) example-settings with explanations in comments. Which often allows you to just uncomment the settings you want, instead of writing the complete command by hand.

      BTW, comments are another advantage of config files vs. GUIs. Not only because you can state the reason why you put a certain setting right at the setting itself, but also because when you change a setting you can just comment out the previous setting, and therefore easily undo whatever you changed (another option for that is, of course, to make a backup copy of the original config file). I don't see how you can do that with a GUI.

      --
      The Tao of math: The numbers you can count are not the real numbers.
  22. No by idle12 · · Score: 1

    > 'If you have to make significant, identical changes to a bunch of Linux servers, is it easier to log into them one-by-one and run through a GUI or text-menu tool, or write a quick shell script that hits each box and either makes the changes or simply pulls down a few new config files and restarts some services? And it's not just about conservation of effort -- it's also about accuracy. If you write a script, you're certain that the changes made will be identical on each box. If you're doing them all by hand, you aren't.'" If you are using a bad GUI tool. Nothing says you can't have one GUI that connects to all servers and has a mutlti list select. Select the ones you want, run the command. It'll be the same command across all servers. That doesn't mean shell script is better, it means you suck at writing GUI interfaces. Anything you can do in shell scripting you can do in a system language.

    Instead of a ssh script that logs into each server, you can create a GUI program that logs into each server the exact same way.

    1. Re:No by h4rr4r · · Score: 1

      No, because none of the servers have X installed.

    2. Re:No by Bigjeff5 · · Score: 1

      GUI on the admin side, not the server side. Duh.

      It's rare to actually have to log in directly to a server unless you have one-off apps running on it which, in turn, tend to be command line friendly and therefore GUI friendly for an able programmer.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
  23. Exchange 2007 and Powershell by maotx · · Score: 3, Insightful

    That's one thing Microsoft did right with Exchange 2007. They built it entirely around their new powershell CLI and then built a GUI for it. The GUI is limited in compared to what you can do with the CLI, but you can get most things done. The CLI becomes extremely handy for batch jobs and exporting statistics to csv files. I'd say it's really up there with BASH in terms of scripting, data manipulation, and integration (not just Exchange but WMI, SQL, etc.)

    They tried to do similar with Windows 2008 and their Core feature, but they still have to load a GUI to present a prompt...

    --
    I'm a virgo and on Slashdot. Coincidence? Yes.
    1. Re:Exchange 2007 and Powershell by shutdown+-p+now · · Score: 3, Informative

      There has been a steady transition to PowerShell for all Microsoft server products, precisely so as to enable CLI scripting with full feature coverage, similar to what has been enjoyed on Unix for a long time. It had started with Exchange 2007, but the most recent addition (to the best of my knowledge) is SharePoint 2010.

    2. Re:Exchange 2007 and Powershell by Anonymous Coward · · Score: 0

      If you're talking about bash built-in commands, sure powershell looks like a _distant_ 4th or 5th place...

      but if we allow the full cli tools in a typical linux distro, even a minimalist distro, it utterly destroys powershell.

      they aren't even in the same universe.

    3. Re:Exchange 2007 and Powershell by Anonymous Coward · · Score: 0

      actually I find the reverse, bash is actually a little behind, the cmdlets combined with the object oriented nature of powershell make it far more flexible in speed to get things done, don't get me wrong I love bash, but you would have to be pretty biased to rate it as better.

    4. Re:Exchange 2007 and Powershell by Anonymous Coward · · Score: 0

      unixunsSomeone on slashdot being prejudiced with bias and ignorance? Say it ain't so.

      I do find the universe of cmdlets that come with a powershell install to be pretty limited compared to the toolchain that comes with a linux or even bsd install, but I agree, the fundamentals of powershell are much better. And unixes have *nothing* like Powershell Analyzer.

    5. Re:Exchange 2007 and Powershell by cynyr · · Score: 1

      use python as your shell then... subprocess.call(foo) and such to your hearts content.

      --
      All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
  24. Sorry, I just banged my head on something. by sootman · · Score: 1

    Is it 1998?

    I think half of the readers here could have written that article (natural aversion to articles in general notwithstanding) if any of them thought that the topic hadn't been thoroughly addressed a decade or so ago.

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    1. Re:Sorry, I just banged my head on something. by ThorGod · · Score: 1

      I hear you. I expected to see many people complaining about exactly that when I loaded the comments.

      But, at some point it says something that this is still true in 2010. Many would love to see the CLI go the way of the dinosaur, but that seems pretty naive.

      --
      PS: I don't reply to ACs.
    2. Re:Sorry, I just banged my head on something. by dbIII · · Score: 1

      No, it's 1988 and I've got pissed off at my GUI only Atari ST interface and installed a program that gives me a command line and an ability to run batch files.

  25. There is no real difference by Pharago · · Score: 1

    If your GUI dosn't offer the same advantages than a console/terminal text interface, then your GUI is lacking some features and is a GUI for some but not all your needs, very common in the nix world btw, someone makes a gnome app to control some program or to provide an interface to some utility, and when you try it, you find out it lacks the most important stuff and you are better off writing things inside a terminal. That dosn't make all GUI apps any worser that any other text app, if it lacks it, code it yourself.

    1. Re:There is no real difference by h4rr4r · · Score: 1

      Some things a gui cannot do, for instance how would you deal with pipe in a gui, how could you pipe the output of one to the other?

    2. Re:There is no real difference by Lehk228 · · Score: 1

      i don't know of any OS environments that do this, but the GUI application psycle does just that by allowing you to right click / drag from one object to another.

      --
      Snowden and Manning are heroes.
    3. Re:There is no real difference by Pharago · · Score: 1

      GUIs are just a graphical interface for something, they are harder to code basically because you have to draw stuff in the screen making it visually appealing without becoming meaningless to the user, or even cumbersome. You can do everything with a good GUI, that's what it is for, to make things simple and easy.

    4. Re:There is no real difference by turbidostato · · Score: 2, Insightful

      "If your GUI dosn't offer the same advantages than a console/terminal text interface, then your GUI is lacking some features and is a GUI for some but not all your needs, very common in the nix world btw"

      Now, please, tell me how well a GUI-oriented environment copes with:
      * Repeatability (I want exactly the same you did yesterday on server A, now on server B)
      * Auditory (what did change in this server from yesterday, who did it?)
      * Automation (remember what you did yesterday on server A? I want you to do it again on server B; but do it tonight at 2AM -no, no extra hours payment allowed)
      * Conformance (now that we know how exactly it has to be done from our working on the test environment, let's do it -without mistakes, in our 100 production servers)
      * Orchestration (let's do changes a, b and c on servers A, B and C as fast as possible, without mistakes, in proper order and each step only after being sure the previous one is properly working -oh, and let's do it at 2AM -why do you ask it again? No, no extra hours payment allowed)

      For I know all of them are virtually trivial on text-based CLI-oriented systems.

    5. Re:There is no real difference by colinrichardday · · Score: 1

      And if you have to do it for 100 machines? Or if you have to pipe 5 commands together? Or if you have to set flags for the commands? Indeed, can you simply drag one executable onto another and have it work that way?

    6. Re:There is no real difference by Bigjeff5 · · Score: 1

      You have to remember that in a GUI "piping 5 commands together" equals selecting five check boxes. Setting flags is just setting sub-options. Doing it for 100 machines is simply selecting from a list.

      If you can't do that in your GUI, it is simply lacking. It does not mean the GUI concept is any worse than the CLI, just that particular application of it doesn't meet your needs.

      The CLI tends to be better for mass updates because the GUI programmers still don't seem to understand that people often want to administer these things in large numbers, and so they have not built in the capability. There is absolutely no reason it can't do everything the CLI can do and do so significantly easier (though I still think the CLI will always be faster). It's just that the GUI's aren't written like that. So they tend to be best for unfamiliar or infrequent tasks.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    7. Re:There is no real difference by colinrichardday · · Score: 1

      You have to remember that in a GUI "piping 5 commands together" equals selecting five check boxes.

      Hmm. . . My path has at least 100 distinct commands that could be piped together. There would be about 10 billion ways to get a pipeline of length 5. To be able to get that many combinations by using checkboxes, one would need at least 23 checkboxes. As for flags, some commands have 10 possible flags. Do you really want all of those checkboxes in a GUI?

    8. Re:There is no real difference by Anonymous Coward · · Score: 0

      how do you measure that, when using a factorial i get 14 checkboxes not 23 ?

    9. Re:There is no real difference by colinrichardday · · Score: 1

      100x99x98x97x96=9,034,502,400. 2^33=8,589,934,592. So I was off by 2^10 (actually, 10^3). So you would need 33 check boxes. And I'm pretty sure that the 100 commands was a gross underestimate. If you have n checkboxes, you only have 2^n different ways of marking them, not n!.

  26. Just say no... by ManiaX+Killerian · · Score: 1

    ... to crap like web control panels and GUIs. They might be great for some brain-dead users and other office furniture, but when your actual work is in making sure something works, the CLI is just better - fast to work with (everyone has tab completion these days, and if you haven't learned to type, go sit in irc for a while), can be easily scripted and automated (even windows has something useful right now), can easily be scheduled, and you can see the results pretty easy.

    All GUIs I've seen plainly suck. There's ONE general idea that the programmer had how everything should be used, and that's wrong all the time. There's never something like "do this to these N selected objects", there's nothing like pipes, they're slower (navigation-wise) and they tend to fuck up horribly, having to restart the whole interface (I've managed to break too many of these).

    Long live SSH :)

  27. Do this with your GUI by fishbowl · · Score: 2, Insightful

    In a directory hierarchy, find files with the extension ".ftl" that have been modified since the last SVN revision, and containing the expression "${inventoryItem.qoh}", and for each of these, substitute "${inventoryItem.atp}".

    I'd love to see GUI's that can facilitate the kinds of work I do on a constant basis, but since there's no such thing, I've become something of a Unix shell power user over the past couple of decades.

    --
    -fb Everything not expressly forbidden is now mandatory.
    1. Re:Do this with your GUI by IICV · · Score: 1

      I used to get requests like that at work sometimes. Given a directory structure containing a couple thousand folders, with each folder containing a few files and/or subfolders, find me the most recent pdf file in any sub-sub folder that contains an excel file named something like "xyz[date]".

      Put that in your GUI and suck it.

    2. Re:Do this with your GUI by grumbel · · Score: 1

      That's trivial with Windows98. Go to the directory, hit F3, search for files matching "*.pdf" and containing "xyz[date]". Sort the list of files you get by clicking the date column and you are done. Now of course in more recent Windows they have crippled the search dialog, so things are a little more complicated now, but I think all the options are still available.

      Now of course there are more complicated cases where that won't work, but you really can get far more done with a GUI then some CLI freaks want you to believe.

    3. Re:Do this with your GUI by IICV · · Score: 1

      How, pray tell, do you export that to a CSV file?

    4. Re:Do this with your GUI by Nethead · · Score: 2, Funny

      How, pray tell, do you export that to a CSV file?

      Print Screen and OCR, then write a perl script.

      --
      -- I have a private email server in my basement.
    5. Re:Do this with your GUI by PPH · · Score: 1

      And that GUI stuff is all fine if its creator envisioned every possible attribute one might want to search/sort/filter on. But the power of the command line is that custom application-specific filters can be incorporated into a command line pipe just as easily as the standard O/S tool suite (grep, find, sort, ....).

      Yeah, I'm sure there's an API one can integrate into one's custom app to make it play with the Windows search tool. But becoming (and staying) familiar with the moving target of GUI APIs is a profession unto itself.

      --
      Have gnu, will travel.
    6. Re:Do this with your GUI by Anonymous Coward · · Score: 0

      Sort your life out and say "No".

    7. Re:Do this with your GUI by grumbel · · Score: 1

      You don't because you don't need to. You just drag&drop the files you searched for into whatever app you want them to process with and yes, that can even be a shell script if needed and yes, you can bind that shell script easily to a right-click menu item.

      Also its not like getting the output of find or ls in CSV is easy or getting computer readable output from command line tools in general. Half the tools don't really care about computer readable output and just give you line based output separated with spaces or tabs, which easily breaks once you have a filename that uses a newline or another special character. And while -print0 helps for find, many other don't support it and for multiple fields it wouldn't work anyway.

    8. Re:Do this with your GUI by Anonymous Coward · · Score: 0

      And that GUI stuff is all fine if its creator envisioned every possible attribute one might want to search/sort/filter on.

      That's hardly different from CLI, as every new attribute requires a new tool as well, just using 'ls' won't give you a svn revision for example, on the other side TortoiseSVN will give you a svn revision in the regular Windows explorer.

      But the power of the command line is that custom application-specific filters can be incorporated into a command line pipe just as easily as the standard O/S tool suite (grep, find, sort, ....).

      GUI people just copy&paste their data into Excel and process it there.

      But becoming (and staying) familiar with the moving target of GUI APIs is a profession unto itself.

      On the CLI side the situation is more static, but it is also a hell of a lot behind the times. Try to process a CSV with awk for example, should be simple as the tool was kind of build for things like that, right? Nope, doesn't work, awk can't properly read a CSV as its field separation logic is to primitive for that. Getting computer parsable output of many CLI apps isn't easy either, sure you can quickly fudge something together, but half the script out there will just explode when you pass them something that has a whitespace in the wrong place. An in general CLI is just full of in-band signaling, even just calling 'ls' on the wrong filename will make your terminal go crazy and require a reset, not exactly what I call good software engineering.

    9. Re:Do this with your GUI by multipartmixed · · Score: 1

      > Also its not like getting the output of find or ls in CSV is easy

      ls > dirlist.csv

      --

      Do daemons dream of electric sleep()?
    10. Re:Do this with your GUI by PPH · · Score: 1

      And that GUI stuff is all fine if its creator envisioned every possible attribute one might want to search/sort/filter on.

      That's hardly different from CLI, as every new attribute requires a new tool as well, just using 'ls' won't give you a svn revision for example, on the other side TortoiseSVN will give you a svn revision in the regular Windows explorer.

      New tool? Just the text editor of your choice (and the man page for the new cli) and you're set.

      svn revision in Windows explorer is useless if I need to automate the process (i.e pipe that output to the input of another tool). I don't want to have to cut and paste a few hundred (or thousand) lines from one place to the next. And repeat that on dozens (or hundreds) of systems.

      On the CLI side the situation is more static, but it is also a hell of a lot behind the times. Try to process a CSV with awk for example, should be simple as the tool was kind of build for things like that, right? Nope, doesn't work, awk can't properly read a CSV as its field separation logic is to primitive for that.

      It works just fine if one knows how to write the proper RE for the delimiter. That's a problem that most competent sys admins, developers and such have solved at about week two on the job. The cli situation is as static as the application domain. Which is to say oldies like awk, grep and find work just fine with the cli interface to the state of the art knowledge base. And nobody has to re-engineer the interface every time the marketing department in Redmond decides that its time for a new API.

      An in general CLI is just full of in-band signaling, even just calling 'ls' on the wrong filename will make your terminal go crazy and require a reset, not exactly what I call good software engineering.

      So you're saying that you don't know how to redirect stderr, check exit codes and handle interrupts in a script?

      This whole GUI paradigm is symptomatic of the old school of computing. Where there's got to be a human in the loop to get anything done. Some day, we're going to have these machines that can do the drudge work for us. And they won't have a lot of punch cards, blinking lights and sci-fi display screens flashing all over the place. They'll just do the work and not bother us with the details.

      --
      Have gnu, will travel.
    11. Re:Do this with your GUI by Bigjeff5 · · Score: 1

      Windows Search can do everything but the replace, and there are a plethora of GUI apps that do all of it.

      Seriously, where the hell have you been? That's been possible since Windows 98.

      Unless you're talking exclusively about Linux, then yeah, there's no GUI equivalent. There's no GUI equivalent for 80% of the stuff you'd want to do in Linux. Linux GUI's suck ass.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    12. Re:Do this with your GUI by Bigjeff5 · · Score: 1

      Your response isn't valid if you completely ignore the reasons given for why it is difficult.

      ls > dirlist.csv is going to give you worthless junk that will need to be heavily edited to be useful at all.

      The answer, of course, is to save it as a .tsv or .tab. Then it's nice and clean.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    13. Re:Do this with your GUI by Bigjeff5 · · Score: 1

      You've apparently never heard of the "text box". They are quite common in GUIs. You should look it up.

      P.S. You just typed in one!

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    14. Re:Do this with your GUI by PPH · · Score: 1

      Xemacs is a GUI. So what's your point?

      The brains of the process is still in the command line, not the tool used to enter it. Typing the occasional command line into a 'Run' box isn't going to get me to drink the KoolAide of the check box, menu oriented, point and drool UI.

      --
      Have gnu, will travel.
    15. Re:Do this with your GUI by goarilla · · Score: 1

      on issue 3, what i think he means is that if you
      ls a file which has terminal control codes in its name
      or you cat something like a binary

      your terminal can go haywire and suddenly
      have something that looks like klingon as font

      PS: if someone knows how to restore from that situation
      (tput reset doesn't work) i would greatly appreciate it.

    16. Re:Do this with your GUI by PPH · · Score: 1

      PS: if someone knows how to restore from that situation
      (tput reset doesn't work) i would greatly appreciate it.

      reset (see man tset) or on an xterm: Ctrl - middle button | 'Do Full Reset', works for me.

      --
      Have gnu, will travel.
  28. Couldn't agree more by starfishsystems · · Score: 1

    This seems to be a message doomed to be endlessly repeated. That's because every person who has grown up surrounded by a GUI environment becomes unconsciously resistant to the idea that any alternative that isn't graphical could possibly have distinct advantages.

    The distinct advantage of a CLI comes from the L in the acronym. It stands for language, and languages when implemented according to accepted design principles have valuable characteristics like composability and parameterization.

    Languages give us the ability to create tangible things which can be named and shared and pointed at and talked about constructively. Thus we become ever more literate. How can we refer to an elaborate series of mouse gestures, except by precisely reconstructing the gestures? All we gain from that is practice in rote memorization.

    I have a similar concern about opaque configuration. A system which is based on a configuration language lets you talk about configuration in a tangible way. You can save and copy and restore and manipulate and annotate configuration values.

    But what happens if the system stores those values opaquely, so that you can't ever know what they are, or refer to them as something distinct from the system itself? Let me tell you. What you have then is a maintenance nightmare. And they abound. No two systems behave in quite the same way, and yet nobody can say exactly what makes them different.

    --
    Parity: What to do when the weekend comes.
    1. Re:Couldn't agree more by value_added · · Score: 2, Insightful

      But what happens if the system stores those values opaquely, so that you can't ever know what they are, or refer to them as something distinct from the system itself?

      The Windows registry.

      Apparently, it's fully documented, and much easier to understand, parse, manipulate, backup and restore than those nasty "config files" that need to be "edited manually" using "cryptic commands".

      Or so I'm told. ;-)

      Your comment on the "rote memorization" aspect of using GUIs I found particularly astute. When I see official documentation that consists of a little other than a series of screenshots, I wonder how it came to be that behaving like a monkey, or more charitably, aspiring to ignorance, became not only widespread, but acceptable.

    2. Re:Couldn't agree more by shutdown+-p+now · · Score: 1

      The distinct advantage of a CLI comes from the L in the acronym. It stands for language, and languages when implemented according to accepted design principles have valuable characteristics like composability and parameterization.

      CLI = Command-Line Interface.

      Otherwise your points are still spot on.

    3. Re:Couldn't agree more by Follis · · Score: 1

      The L in CLI stands for line:) Command Line Interface. What you're talking about is an interpreter.

    4. Re:Couldn't agree more by starfishsystems · · Score: 1

      I'm probably showing my politics here. I prefer the contemporary term "command language interface", because it's expected to support an actual language, one capable of spanning multiple lines of text. Python, Tcl, and even VMS use this term.

      You're right that "command line interface" was the original term, and it's still in use, but it really became obsolete 30 years ago.

      --
      Parity: What to do when the weekend comes.
    5. Re:Couldn't agree more by starfishsystems · · Score: 1

      Actually, I wanted to draw attention to the matter of language in general, not any particular implementation. Whether compiled or interpreted or both, it's the expressive power of the language that is significant to the discussion.

      You're right and wrong about the acronym. The term has evolved since the original days. Very few environments which support a CLI today are confined to line interpretation, so for the sake of correctness the term has gradually been replaced with "command language interpreter".

      About the only true line interpreter in common use is in Cisco IOS, and that's because it's used for configuration rather than scripting. (Just between us, I don't think the Cisco engineers wanted to give network admins that much rope.)

      --
      Parity: What to do when the weekend comes.
    6. Re:Couldn't agree more by starfishsystems · · Score: 2, Insightful

      It wouldn't have been so bad if Microsoft had just supplied a generalized configuration parser for application developers to use. Then it could be applied to files, streams, digitally signed blobs, whatever.

      But no, they had to build another way to lock you in, didn't they? So you don't get the security controls or network transparency of the file system. You're not reusing the file system, so you have added another source of complexity and another attack surface for security. You don't get composability or scope control where one subsystem can feed live configuration data to another.

      And if the Registry breaks, you're kind of hooped. Sure, there's regedit, but it's off to the side, not part of the main paradigm. Mostly it serves to remind you of what you're missing. It's far from common practice to track changes to the Registry in order to monitor how an application has been configured. And that's because the application has not necessarily used the Registry. So tracking it is in general neither necessary nor sufficient.

      Ooh. Don't get me going.

      --
      Parity: What to do when the weekend comes.
    7. Re:Couldn't agree more by Follis · · Score: 1

      Huh, learn something new every day. I stand corrected. As far as compiled vs interpreted, I'd have to respectfully disagree, to an extent (in general I consider your points are valid). A critically important part of any shell or Command Language Interface is user binding of names/late-binding/re-binding, which can't be done at compile time.

    8. Re:Couldn't agree more by starfishsystems · · Score: 1

      Agreed. You can't just compile and call it an interactive language. Where's the interaction then? Usually it's implemented as both. The compiler produces intermediate code which can be efficiently interpreted.

      --
      Parity: What to do when the weekend comes.
    9. Re:Couldn't agree more by Rockoon · · Score: 1

      A critically important part of any shell or Command Language Interface is user binding of names/late-binding/re-binding, which can't be done at compile time.

      Late-Binding can be handled by code generated at compile time (VB6 for instance, supported late-binding in compiled code...) So now I am doubting the veracity of your other claims.

      Certainly its not very efficient to use late-binding, and in VB6's case (which exclusively uses COM objects), this involved the compiler generating a call to QueryInterface() to get the method and property tables and whatnot (this is a method on IUnknown, an interface that all COM objects inherit from) ..

      If an interpreter can do it, so can a compiler. Maybe you have been corrupted by the C++ way of thinking, where objects are simply structures and methods associated with it are called with a 'this' pointer (loaded into the ecx register in VC, and passed on the stack in GCC.) In most other languages, objects have a pre-defined minimum of information to support late binding.

      --
      "His name was James Damore."
  29. the only excuse for a lack of a good GUI is profit by PJ6 · · Score: 1

    Admins and developers we may be, but we're end users, too, and we get fatigued and annoyed by the same design no-no's as everyone else. Honestly I'm tired of just having to suck it up when I have to use a product that had no thought to usability put into it. It's waste multiplied a thousandfold over every unfortunate user that had to wade through a thicket of XML and poor documentation to do the most basic of tasks.

  30. Paul Venezia's keen grasp of the obvious by rlh100 · · Score: 2, Insightful

    Duhh... He does show a keen grasp of the obvious. And for people who use command lines he is preaching to the choir.

    On the other hand for the GUI based people, they will miss it entirely. They will talk about add on GUI replay tools that allow one set of mouse clicks to be replayed to many different servers, or configuration management tools that do the work for you. I believe they truly do not understand that someone could get 20 mouse clicks on 40 different servers wrong. "Why would someone ever click the wrong check box?" They also believe that screen shots are valid ways to store configuration information off line.

    Only half in jest.

    RLH

    1. Re:Paul Venezia's keen grasp of the obvious by h4rr4r · · Score: 1

      He is talking about sysadmins, you are talking about users.

      Most windows "sysadmins" are really just users.

  31. Another example by Estanislao+Mart�nez · · Score: 2

    A few other people have mentioned UIs that do precisely this, but to add another example: a lot of database administration GUI tools allow you to graphically create tables, indexes and other schema objects, and export the SQL script to recreate them automatically.

  32. remote admin by ouachiski · · Score: 1

    If the equipment is remote and not easily accessible you had better have good CLI skills. If your system looses data connectivity and you have to dial in through Iridium or a dial up modem a GUI is of no use. GUIs dont work very well at 19200 baud.

    --
    sorry for my comments, I'm drunk
  33. Why I moved to FreeBSD by Charles+Dodgeson · · Score: 3, Insightful

    Probably Debian would have been OK, but I was finding admin of most Linux distros a pain for exactly these reasons. I couldn't find a layer where I could do everything that I needed to do without worrying about one thing stepping on another. No doubt there are ways that I could manage a Linux system without running into different layers of management tools stepping on each other, but it was a struggle.

    There were other reasons as well (although there is a lot that I miss about Linux), but I think that this was one of the leading reasons.

    (NB: I realize that this is flamebait (I've got karma to burn), but that isn't my intention here.)

    --
    Prime numbers are exactly what Alan Greenspan says they are -S. Minsky
    1. Re:Why I moved to FreeBSD by Gazzonyx · · Score: 1

      Have you tried Slackware? It's got BSD style init and no tools that don't play nice (you make your own tools).

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    2. Re:Why I moved to FreeBSD by KozmoStevnNaut · · Score: 1

      Slack is good, but I prefer Arch.

      BSD-style init and the only admin tool installed by default is Pacman, the package manager, which is sort of like pkg_add, but better. It stays out of your way and you're meant to admin stuff either by hand or by installing just the tools you need.

      --
      Eat the rich.
    3. Re:Why I moved to FreeBSD by CAIMLAS · · Score: 0, Flamebait

      Probably Debian would have been OK, but I was finding admin of most Linux distros a pain for exactly these reasons. I couldn't find a layer where I could do everything that I needed to do without worrying about one thing stepping on another.

      You should've gone with Debian. Unlike Debian, FreeBSD will walk all over you when it comes to upgrading your ports. You have 'multiple layers' of software.

      freebsd-upgrade is nice, but unfortunately it only does GENERIC. Guess what? GENERIC sucks, so unless you can 'get by' with the support it provides you're going to have to be doing kernel upgrades manually, too.

      The best way to upgrade ports in FreeBSD is to not have to.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
  34. Its even worse under Windows... by LMahesa · · Score: 1

    ... where Microsoft seems to have progressively gone out of their way to deliberately obscure elements in the GUI since Windows 98. It is now such a chore that the search feature in the start menu and in control panel is a REQUIREMENT for most users. How many of you know where to change the DPI in Windows 7? You can add to that their guidelines promoting the criminal waste of screen real estate (nVidia drivers, 800x600 window, one checkbox in the middle?!).

    --
    Look, no SIG!
    1. Re:Its even worse under Windows... by Anonymous Coward · · Score: 0

      DPI? Do you mean resolution? If so maybe your problem is not calling something by the same term that everyone else does.

    2. Re:Its even worse under Windows... by Spad · · Score: 1

      How many of you know where to change the DPI in Windows 7?

      Well I've never had to find it in Win 7 before, but just typing "dpi" into the start menu search box bought it up straight away.

    3. Re:Its even worse under Windows... by Bigjeff5 · · Score: 1

      By DPI does he mean the resolution? It's rarely referred to like that for a monitor, because the DPI will vary based on how big the screen is (i.e. 1920x1080 is significantly higher DPI on a 15" screen than a 20").

      If so, right click - properties. It's always been that way. Not exactly hard.

      If not, then I don't know what the hell he's talking about.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
  35. Article summary: by sstamps · · Score: 1

    "Use the right tool for the job".

    GUIs are perfectly fine for the jobs they are designed to handle, just as CLIs are perfectly fine for the jobs THEY are designed to handle. No one tool paradigm is overall better than the other in all (or even most) cases.

    This is, of course, assuming that the tools in question of both paradigms are quality tools. You can most certainly have a PoS CLI tool, just like a PoS GUI tool.

    --
    -SS "Teach the ignorant, care for the dumb, and punish the stupid."
  36. News at 11 by Anonymous Coward · · Score: 0

    This was obvious, like, 20 years ago.

  37. got this from Fyodor's Good Reading List by sp0tter · · Score: 2, Interesting

    http://www.insecure.org/stf/scoville_unix_as_literature.txt Sums up my feelings very nicely. Sure the GUI is good for some things, but after hours it leaves me lacking in understanding, since I have been essentially reacting to my computer instead of telling it when I want it to do.

    --
    you don't eat crackers in the bed of your future--or else you'll get all scratchy
  38. wevtutil.exe by Culture20 · · Score: 1

    I was happy to learn about wevtutil.exe on windows machines until I learned that it was considerably harder to parse info than with eventquery.vbs. Why should I have to open a GUI to form a query string, then copy/paste that into a command prompt to use wevtutil.exe?

  39. My experience by gagol · · Score: 1

    I used to assist a IT director for a medium business and I had to manage Cisco routers at some point. I tried the Web Based gui at some point, but ended up dumping the config file and modify it, found it more easier. Eventually I learned the basic of their CLI and it was WAY more efficient. And their "engineers" working from Mexico was about as useful as monkeys with user manuals and typewritters.

    --
    Tomorrow is another day...
  40. BAD GUI described. by Tjp($)pjT · · Score: 1

    He writes, 'If you have to make significant, identical changes to a bunch of Linux servers, is it easier to log into them one-by-one and run through a GUI or text-menu tool, or write a quick shell script that hits each box and either makes the changes or simply pulls down a few new config files and restarts some services? And it's not just about conservation of effort — it's also about accuracy. If you write a script, you're certain that the changes made will be identical on each box. If you're doing them all by hand, you aren't.'

    Bad GUI. Should have a checkbox next to each server and a select all /toggle selection action. Then make the change once. It is a way people think and too many GUI front-ends are written by hard core CLI people or others with little GUI design experience. I do advocate a well written backend setup for such tools and then a CLI front-end, a GUI one, and a programmable API that is user friendly (may be the same as the normal backend.)

    Each mode has its own uses and its own fans, but in this day and age the GUI has proved useful more than enough. There are bad CLIs to systems as well. Having to use --help or man often is a sign maybe something is wrong.

    --
    - Tjp

    I am in wallow with my inner money grubbing capitalistic pig. ... Oink!

  41. That is entirely irrelevant by Tharsman · · Score: 1

    The curse of late posting, this is likely not going to be read by anyone but I can't help it:

    The CLI (command Line Interface) does not make things any easier than the GUI. What makes the CLI easier is the existence of things like .bat files (in windows) that will be interpreted as a sequence of commands.

    At the end of the day, the one that goes on writing some script that tells the OS to execute a list of commands is not a virtue of the CLI but just result of a programmable operative system. Throughout the years I have done the same thing with a lot of different systems. All the way to 1997 doing Apple Scripts that would run on every machine in my network to configure all machines identically, making VBS scripts to do updates, or even making user friendly Excel sheets with VBA that allow users to easily change programmable cells and then execute VBA across a whole network or huge list of replicating SQL servers.

    In sake of redundancy: this has nothing to do with the interface and all to do with the OS providing users/administrator with quick and easy to use scripting tools that allow programmable automation of common processes, without forcing them to jump into compiled languages.

    1. Re:That is entirely irrelevant by ghostdoc · · Score: 1

      Well I read it :)

      I tend to agree...this debate isn't really about GUI vs CLI, it's more a desire for a third type of tool altogether.

      CLI's are good for all the reasons everyone's been saying they're good (mainly scripting, which incidentally helps with documentation and auditing)
      GUI's are good when you need to do a completely new task in a limited time without messing it up (no time for man pages, just do it!) or when you're unfamiliar with the system.

      If we could produce a fully-scriptable interface that provided a complete and exhaustive list of all the possible options, with their acceptable parameter values, and a 'warning! are you sure you want to do this?' mechanism, then we'd be getting to what people really need.

      --
      Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
    2. Re:That is entirely irrelevant by Tharsman · · Score: 2, Interesting

      Only that you went back to mention Scripting under CLI. True, every OS I seen that implements it allows for it to be scripted, but this is not necessarily true.

      An application can be written with dual interfaces, GUI + CLI (at least in windows) and [arguably] bad design can lead the CLI to require a user to confirm actions without allowing the confirmation to be scripted.

      On a similar line, I have seen GUI programs that have designed CLI equivalents for every menu and button with confirmation bypass parameters.

      As you said at first, in the end, it's just a third tool, one meant for programmers or at least power users with at least minimal programming experience.

      This will sound odd, but there are users that can work a CLI but can never ever program a single line of code. I worked in a company that has a completely CLI collection software. Not only is it impossible to script, but everyone uses it yet these are people that can't get the difference between shutdown and hibernate.

  42. And nothing changes by Anonymous Coward · · Score: 0

    http://www.catb.org/esr/writings/cups-horror.html

    Look at the postscripts, particularly "Are there settings you can do from the command line or hand-editing config files that cannot be done from the GUI? Are they documented anywhere? Does using the GUI erase these settings?"

    Anyone who has ever dealt with SuSe's 'yast' tool knows that their tools overwite text configuration setting. X configuration tools are almost as bad, and don't speak to me about what RedHat's 'authconfig' tool does to PAM and nsswitch.conf.

    Fortunately for other tools, "webmin" is an excellent example of a tool that Does Things Right. Most of its modules are cleanly written, deal with odd cases, and don't blow away existing settings. I highly recommend it for the education of new GUI authors. No Java based graphics: no pretending that the client is the server: just light, text processed information between client and server.

  43. Lack of vision by bertok · · Score: 1

    The windows solution to this is to set a policy in the GUI, and apply it to a group of severs. No need to give up the speed and intuitiveness of the GUI, but all the machines get an identical configuration.

    Linux is decades behind in enterprise management. Writing scripts is an order of magnitude slower than just ticking a checkbox. Also, declarative administration has other benefits over procedural scripting. For example, with big pools of servers, what happens if one of the servers is down for maintenance when you run a script? It's skipped, that's what! What if you add a new server to a cluster? How do you make sure it has every script applied, in order? With group policy, a new Windows server will catch up to the current desired configuration every few hours. If it misses an update for whatever reason, it will get it next time around automatically.

    Oh, and most group policy settings take effect live -- there's no need to "simply" restart services!

    1. Re:Lack of vision by Capt_Morgan · · Score: 1

      HAHAHAHA Decades behind? Really? You clearly have no experience with "real" enterprise management. If Linux is so far behind why are linux/unix admins almost always paid significantly more and able to manage WAY more systems than their windows equivalents?

      --
      It takes a big man to cry, but it takes a bigger man to laugh at that man.
    2. Re:Lack of vision by bertok · · Score: 1

      HAHAHAHA

      Decades behind? Really? You clearly have no experience with "real" enterprise management. If Linux is so far behind why are linux/unix admins almost always paid significantly more and able to manage WAY more systems than their windows equivalents?

      "paid more" = it's a harder job to do, and requires more expensive people. That's my point. Policy based management is easier, and hence cheaper. You just made my point for me.

      I haven't seen Linux administrators manage more machines per person than Windows administrators, unless they're farms of identical web servers or something. It's not like you can't script Windows machines if you need to, I've done that for 100+ server clusters before, managed by just one admin.

      The point I was making though is that it's silly to dismiss GUI management by claiming that multi-machine control necessarily involves repeating the same button clicks, when it clearly doesn't, and there are practical systems deployed that manage thousands of machines. It's irrelevant if Linux admins are cheaper, or more expensive, the point is that the poster of the article made a stupid assumption which isn't valid. It's a straw man argument: "GUI administration is bad if done naively". Well duh. That doesn't imply scripting is necessarily better in all cases.

      That reminds me: there's Windows deployments where just a few administrators manage over 100,000 desktops using policy based GUI management (AD+Group Policy+System Centre Configuration Manager). Name me even a few Linux-based enterprises anywhere near that big, where Linux saved money by being easier to administer. You might find a couple that claim lower licensing costs, but I doubt you'll find even one that claims lower administration costs.

  44. You do not understand the job by dbIII · · Score: 1

    We are also expected to second guess developers and identify, workaround or fix their mistakes. That often requires programming skills. Not necessarily skills on par with the developers, but enough to have an idea of what is going on.
    The argument is really not about the CLI at all, but really that the idea that everything should be GUI based is silly. The GUI often can only be there when you have devised a standard operating proceedure for something and have no need of flexibility.

  45. Grow up kid by dbIII · · Score: 1

    It's not a failure if you succeed. Why does it matter that I read documentation that I've written myself just to make sure I've got it exactly the same as when I did it the last time?

  46. Meh by Anonymous Coward · · Score: 0

    CLI is for the pretentious.

  47. Doesn't apply to all software.... by PablosBrain · · Score: 0

    That concept only makes sense in certain situations... What about video or photo editing. Sure you can process photos programatically, but what about making someones arm pop out of focus or rotoscoping and the like. A great GUI with a the capabilities to record actions such as in Adobes Photoshop definitely make for a powerful tool when the user doesn't have to learn or write any code or scripts whatsoever...

    1. Re:Doesn't apply to all software.... by colinrichardday · · Score: 1

      I've had the opposite experience. I have used a C program to generate a bunch of single-page LaTeX files, which I then convert to jpegs, and then make an mpeg file.

  48. CLI when you want to be efficient by deadcyclo · · Score: 0

    It's amazing how much more efficient one can be when one really knows ones CLI. I've allways tried my darndest to be as efficient as possible when using a computer and over the last ten years I've started to rely on CLI more and more, and the more I rely on CLI the faster I get. These days I actually only need GUI for web browsing, and even there I use conkeror. Everything else is done in CLI.

    1. Re:CLI when you want to be efficient by deadcyclo · · Score: 0

      Ps. I'm not saying CLI is for everyone, but if you like the idea of being as efficient as possible you definitely want to learn how to use a CLI.

  49. config files allow for version control by Anonymous Coward · · Score: 0

    I work as a *nix sysadmin at a college. One of the first things I did many years ago, when I was hired, was install subversion. Any *nix system, router, switch, or firewall config change goes into SVN.

    I (and anyone else in our group) can tell who did what and why going back many years.

    A change caused issues for a tiny subset of students a full year after the change. I looked through past changes, and could see what was changed, why it was changed, who made the change (me; although I did not remember it), instantly revert it, and have a jumpstart on coming up with a new fix for the issue of a year ago.

    Then we have the windows folks... "did you change something?" "I don't know. What are you seeing." "Hmmmm. I don't remember." "Reboot." etc.

    So GUIs have no place in my preferred admin work flow. The only GUI that does not completely break the work flow is one that generates plain-text configs, but even then, unless you can edit those configs directly (no obscure interactions between many xml files for instance), then you still lose with a GUI. Besides, click, click, click... is tedious.

  50. Re: Bad GUI and no CLI: Linux is 2 decades behind by drdrgivemethenews · · Score: 1

    > What would be nice is if the GUI could automatically create a shell script doing the change.

    It IS nice: AIX has been doing this for 2 decades in "SMIT".

    And BTW, GUIs that allow changing settings on multiple boxes at once have been around for a long time too--SMOP.

  51. Refusing to feed the beast is not mindless by jabberw0k · · Score: 2, Interesting

    The last Microsoft product I bought was Windows 98, so I have mercifully missed the whole disaster since then. All my clients are just now starting to switch from XP to Windows 7, because I advised against Vista. And in all these years of supporting dozens of computers I have never heard of PowerShell until this article. It's nice to hear that Microsoft is starting to do what I did on Unix in 1980. Too bad they did not build on Xenix, and save everyone much grief. Imagine where Apple could have been in the 90s, had they switched to Unix a decade earlier.

    1. Re:Refusing to feed the beast is not mindless by Anonymous Coward · · Score: 1, Insightful

      There are a number of features in powershell that unix CLI environments would do well to adopt. It's okay to admit ignorance, but please stop trying to cover for it with pontification.

    2. Re:Refusing to feed the beast is not mindless by Gadget_Guy · · Score: 2, Insightful

      The last Microsoft product I bought was Windows 98, so I have mercifully missed the whole disaster since then. All my clients are just now starting to switch from XP to Windows 7, because I advised against Vista.

      I was like you. I advised people to avoid Vista without having tried it too. Then I did try it and found that most of the bad things people said about it were just outright lies. There were some problems, but it was nowhere near as bad as everyone claimed.

      And in all these years of supporting dozens of computers I have never heard of PowerShell until this article.

      I'm not surprised since your clients were taking your advice and you hadn't heard of it. It stands to reason that they wouldn't be using it. Powershell has been around for 4 or 5 years now, and it does appear in everyone's Windows Update list as an optional download. No offense, but I'm not sure how you support Windows users with only knowledge of Windows 98.

      Too bad they did not build on Xenix, and save everyone much grief. Imagine where Apple could have been in the 90s, had they switched to Unix a decade earlier.

      The problem with Windows isn't with the core technology. The NT kernel is quite solid. The problem is what they did on top of that. ActiveX in a browser was just asking for trouble. Leaving ports open and services running by default might make it easy for plebs to run programs and network services without having to configure them, but it is suicide for security. Even if it had Xenix underneath, they still would have been up the creek with idiotic decisions like that.

    3. Re:Refusing to feed the beast is not mindless by colinrichardday · · Score: 1

      Too bad they did not build on Xenix, and save everyone much grief. Imagine where Apple could have been in the 90s, had they switched to Unix a decade earlier.

      Bill Gates realized that you'll never make the big money selling someone else's OS. However brilliant a technical achievement Xenix might have been, it would never have made him the world's richest person.

    4. Re:Refusing to feed the beast is not mindless by jschottm · · Score: 2, Insightful

      I'm a little puzzled why your clients pay you for advice on Windows when you don't use or pay attention to it. PowerShell has close to 4 million hits with a Google search and was much discussed on slashdot.

      NT derived Windows have some amazingly powerful command line tools that in some cases are far better than *nix tools. Check out Ed Skoudis' many articles and podcasts on command line kung fu.

      Too bad they did not build on Xenix, and save everyone much grief.

      As someone else noted, the NT kernel is really pretty good. It was buggy third party drivers and bad non-kernel decisions that created the vast majority of the problems. Any OS that allows a wide range of hardware is going to be vulnerable to buggy drivers.

      Imagine where Apple could have been in the 90s, had they switched to Unix a decade earlier.

      They did.

      http://en.wikipedia.org/wiki/A/UX

    5. Re:Refusing to feed the beast is not mindless by dupeisdead · · Score: 1

      Technology is a moving target. You did your clients a huge disservice by advising them without knowing what you were talking about fully. Regardless of your personal tastes or your biases you should always advise clients the best course of action for THEM. If you can't, then say it. You also might want to keep yourself upto date on current technology - powershell has been been out since 2006 and created quite a buzz by both windows and *nix people. I feel this is one of the main issues with people in the computer industry charging money for their services.....

      --
      move along, nothing to see here.
    6. Re:Refusing to feed the beast is not mindless by tehcyder · · Score: 3, Insightful

      The last Microsoft product I bought was Windows 98, so I have mercifully missed the whole disaster since then. All my clients are just now starting to switch from XP to Windows 7, because I advised against Vista.

      You are not qualified to advise people on using Windows XP, Vista or 7 if your knowledge stops at Windows 98.

      If I said Linux was a shitty desktop OS, because when I used it in 1998 the sound didn't work properly, everyone would just laugh.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    7. Re:Refusing to feed the beast is not mindless by jedidiah · · Score: 2, Insightful

      This would sound a bit convincing if you actually mentioned a feature by name rather than spouting something that sounds like vague marketing propaganda.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    8. Re:Refusing to feed the beast is not mindless by jedidiah · · Score: 1

      The problem with Windows is that it fails to adequately progress.

      Despite all of these claims of progress, it still manages to suffer from 20 year old problems even in it's current incarnation.

      XP is not a reflection of 1998. It's a reflection of 2008 when it was last pre-installed on OEM hardware.

      If XP was trapped in amber then that's Microsoft's problem.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    9. Re:Refusing to feed the beast is not mindless by DAldredge · · Score: 1

      What 20 year old problems? The entire know universe will not come to screeching halt if you tell us, I promise.

    10. Re:Refusing to feed the beast is not mindless by DAldredge · · Score: 1

      Do you normally give advice to paying customers on topics you know little about?

    11. Re:Refusing to feed the beast is not mindless by forkazoo · · Score: 1

      The last Microsoft product I bought was Windows 98, so I have mercifully missed the whole disaster since then. All my clients are just now starting to switch from XP to Windows 7, because I advised against Vista. And in all these years of supporting dozens of computers I have never heard of PowerShell until this article. It's nice to hear that Microsoft is starting to do what I did on Unix in 1980. Too bad they did not build on Xenix, and save everyone much grief. Imagine where Apple could have been in the 90s, had they switched to Unix a decade earlier.

      Re: Apple switching to Unix a decade earlier. Apple HAd A/UX out by 1988, so that would have required them releasing a Unix for their machines by 1978, prior to releasing the Apple II+.

      Depending on where exactly you considered it "released," OS-X was out by 2001. A decade earlier would have meant they needed to make a user friendly Unix Desktop run on a 68030 with 1 MB RAM and a 40 MB Hard drive, with plenty of room left for running Applications, and full compatibility for the existing Mac software.

      Yes, NeXT had Unix workstations performing admirably in that era, but for thousands of dollars more than a Macintosh, with much higher base system configurations, and ultimately it proved to be a flop. Nobody needed what NeXT was selling at that point.

      For better or worse, the personal computer revolution was made possible by really shitty operating systems. They did the things that people needed at the time, and they did so with sufficiently modest system requirements that you still had plenty of RAM left over for your word processor or flying toasters or whatever. It took a long time before "staying out of the way" was no longer the primary technical selling point for the OS in a personal computer. Once we all had tens of Megabytes of RAM, the benefits of a more sophisticated kernel (whether Linux, Be, NT, or the Mach/OS-X kernel, or any other sensible favorite you might have) suddenly seemed obvious and outweighed the cost of making some of the traditional hacks impossible. (Ordinary user programs writing directly to hardware, one application trivially modifying data in the address space that belonged to another app, etc., all became obsolete.)

      Honestly, Apple couldn't have migrated from classic Mac OS to Mac OS X much faster than it did without killing itself. In retrospect, it seems so obviously the right thing that it seems like it shouldn't have been difficult or scary. In some sense, it's kind of amazing that they pulled it off as well as they did. Of course, the great irony of the fact that Apple spent so long hampered by the fact that they weren't really shipping machines that made migrating to more sophisticated technologies practical, is the fact that they ultimately released a telephone running the same OS that was so hard to put in place on the desktop. (With the benefit of not needing to migrate ancient software from a legacy platform -- the problem that ultimately killed Palm when they tried to engage in an analogy of the success of OS-X.)

      As for PowerShell, I'm surprised you haven't heard of it. I'm not surprised you haven't run into anybody using it. Classic MS "NIH" + "Make it More Sophisticated" syndromes. They took the OCD-ish elegance of piping text around on the Unix style command line, added some .Net, and made something so much more sophisticated than Bash, and so much more conceptually interesting than Bash, that it's not particularly convenient to use, and a lot of people are just sort of expecting MS to invent yet another new technology to replace it in a few years as part of a marketing campaign, which they tend to do ever now and then.

    12. Re:Refusing to feed the beast is not mindless by Anonymous Coward · · Score: 0

      The last Microsoft product I bought was Windows 98, so I have mercifully missed the whole disaster since then *so I know fuck all about the subject and probably shouldn't be debating it.*

      Fixed That For You

    13. Re:Refusing to feed the beast is not mindless by Anonymous Coward · · Score: 0

      Powershell is vastly better than standard Unix shells. It is not text oriented like the 1970's, but object oriented, with a lot more usability as a result. Read up on it.

    14. Re:Refusing to feed the beast is not mindless by tibman · · Score: 1

      I read up on it. PS using objects is very neat but appears limited to PS aware programs, obviously. I picture the object outputs as being used together like basic tools to build more complex ones. But ultimately, most output will need to be .ToString() to be useful to the user. Output to an external program can't be an object either as it needs to be converted to argv.

      It's possible to bring this structured output to a bash type environment but i don't think it will improve anything as all the tools already exist. Unless converting the output between cmds into objects will speed things up or reduce the ammount of steps needed.

      There are other things you should take into account when comparing PS to linux CLI. For linux you aren't restricted to one language or style of doing things. There are many shells and many different languages that can be used for scripting. You obviously can make your own scripting language for PS and bash, but being able to use something like php and python in CLI can be interesting. It might be possible to pass entire objects using one of these languages, now that i think about it.

      --
      http://soylentnews.org/~tibman
    15. Re:Refusing to feed the beast is not mindless by Taibhsear · · Score: 1

      If I said Linux was a shitty desktop OS, because when I used it in 1998 the sound didn't work properly, everyone would just laugh.

      Don't worry, it still doesn't work.

    16. Re:Refusing to feed the beast is not mindless by DAldredge · · Score: 2, Informative

      http://en.wikipedia.org/wiki/Windows_PowerShell

      Another concept used by PowerShell is that of a pipeline. Like Unix pipelines, PowerShell pipelines are used to compose complex commands, allowing the output of one command to be passed as input to another. A pipeline is set up by piping the output of one command (or pipeline) to another command, using the | operator. But, unlike its Unix counterpart, the PowerShell pipeline is an object pipeline; that is, the data passed between cmdlets are fully typed objects, rather than character streams. When data is piped as objects, the elements they encapsulate retain their structure and types across cmdlets, without the need for any serialization or explicit parsing  of the stream, as would be the need if only character streams were shared. An object can also encapsulate certain functions that work on the contained data. These also become available to the recipient command for use.[13][14] For the last cmdlet in a pipeline, PowerShell automatically pipes its output object to the Out-Default cmdlet, which transforms the objects into a stream of format objects and then renders those to the screen.[15][16]

      Because all PowerShell objects are .NET objects, they share a .ToString() method, which retrieves the text representation of the data in an object. Windows PowerShell uses this method to convert an object to text. In addition, it also allows formatting definitions to be specified, so the text representation of objects may be customized by choosing which data elements to display, and how. However, in order to maintain backwards compatibility, if an external executable is used in a pipeline, it receives a text stream representing the object, and does not integrate with the PowerShell type system.

      The PowerShell Extended Type System (ETS) is based on the .NET type system, but with extended semantics (e.g. propertySets and 3rd party extensibility) . For example, it enables the creation of different views of objects by exposing only a subset of the data fields, properties, and methods, as well as specifying custom formatting and sorting behavior. These views are mapped to the original object using XML-based configuration files.[17]

    17. Re:Refusing to feed the beast is not mindless by Some+Bitch · · Score: 1

      It's nice to hear that Microsoft is starting to do what I did on Unix in 1980.

      I said that too, then I learnt that Powershell lets you throw objects through a pipe and realised this wasn't just a jumped up rehash of csh. Powershell is good kit, very good.

    18. Re:Refusing to feed the beast is not mindless by Bigjeff5 · · Score: 1

      The last Microsoft product I bought was Windows 98, so I have mercifully missed the whole disaster since then.

      Are you kidding? 98 was a nightmare compared to XP. My latest experience with Linux (about a year ago I gave it up) fell somewhere between 98 and XP. In other words, I'd gladly take Linux over 98, but I'll take XP over Linux any day. Vista sucked at launch, but by SP2 was better than XP (the reputation was destroyed, however, and rightly so). I'd take 7 over the lot. OSX it's hard to say, I've only had limited experience with it but that experience has generally been good. I hate Apple on principle though, so it's out.

      Powershell has been around for half a decade now, you are out of the loop man. Did you say you're supporting Windows users but don't use Windows yourself? I feel sorry for your clients then, one generally expects intimate knowledge of a system from their service professionals.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    19. Re:Refusing to feed the beast is not mindless by Bigjeff5 · · Score: 1

      How would he know? He doesn't use Windows, and only listens to Windows problems experienced by those who also don't use Windows.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    20. Re:Refusing to feed the beast is not mindless by samwichse · · Score: 1

      Hello, the last Windows I bought was Windows 95.

      Yet I have experience working in and troubleshooting Windows 98, ME, 2000, XP, Vista, and 7.

      How? Magic! Or maybe working at a job.

      Sam

  52. OS X automation framework. by Anonymous Coward · · Score: 0

    It's the best automation framework I've ever seen. I really envy it, a lot. It's almost enough to put a candle to Ubuntu and our built-in app store. Once we copy that too, we'll be all set :P

  53. tools by Anonymous Coward · · Score: 0

    We weren't all born as system admins, we all started somewhere. GUIs can be built to create, store, and call scripted functions, so the "make GUI mistakes by hand on lotsa boxes" arguement is pretty thin. The "really understand your systems" arguement is also pretty weak. I've seen *nix admins who had no clue and Windows admins who actually understood Bind (gasp!).

    The truth is that the various tools we all use have their strengths and their weaknesses, largely dependent on who built them, and how well-built and extensible they are.

    I've been at a backtrack (esp earlier versions) command prompt thinking, ok, wth now? Yeah, I slogged through man pages, but there were items where a GUI would have been tremendously handy for visually vaulting on up the learning curve.

    On the other side, I've sat at a GUI thinking, what freaking moron designed this PoS that will not allow me to perform an incredibly basic function (search/grep) on GUI output.

    He grew up at a command line...ok. He likes command lines...ok. Command lines are inherently better than GUIs.....only in the hands of those who have an idea what they are doing. Command lines are a pretty freaking unforgiving place to learn....and I've seen more systems completely mangled from mistyped command-line arguements than I ever did from a GUI. Yeah, yeah, I know. That's why we script and test. But everyone isn't born with 3-10 years experience or an excellent mentor, and sometimes all you really need (can afford) for a 6-person family business is the 17-year old neighbor kid. Don't mock it, the CFO is an ex-stripper and it works.

  54. In Google's World by ALimoges · · Score: 2, Insightful

    If you were to read a how-to on a blog about configuring a router using a GUI, it would take a few pages. If it were about configuring a router using a CLI, it would fit in one page. Bottom line: in today's world where a forgotten command can be remembered quickly using our friend Google, I much prefer CLI because it makes me read less, and do more.

    --
    iTx Technologies: Open source development in Montreal
  55. Real Servers by codepunk · · Score: 1

    Real servers don't have gui's installed on them!

    --


    Got Code?
  56. Tiresome by tpstigers · · Score: 0, Troll

    I am so damn tired of this kind of geek-cred bullshit. With today's computers, there's no good reason not to have a GUI. Unless, of course, you think girls will be impressed by your CLI skills.

    1. Re:Tiresome by Arker · · Score: 1

      I am so damn tired of this kind of geek-cred bullshit. With today's computers, there's no good reason not to have a GUI.

      GUIs as a class make horrible interfaces for a great number of tasks. There's no reason to use a GUI when you have a better UI for the task available. Yes, it depends on the task - no question I want a GUI when doing photo-editting for instance (though even there some sorts of tasks are better done through a CLI - I can sit here all day applying a filter to a thousand photos individually with the GUI or I can spend 5 minutes working out the command line, then start the batch and go do something else while it runs instead.) But the attitude you seem to be espousing, the unwarranted assumption that a GUI is ipso facto better, is dangerously wrong and quite annoying. GUIs are not the be-all and end-all of UI design, they can do some things well but others... not.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    2. Re:Tiresome by petrus4 · · Score: 1

      I am so damn tired of this kind of geek-cred bullshit. With today's computers, there's no good reason not to have a GUI. Unless, of course, you think girls will be impressed by your CLI skills.

      This isn't about bragging rights. This is about the way some of us think, and interact with a computer. As someone else said, the vision impaired and people with various other disabilities need CLIs, as well. I saw a video recently which showed a man who didn't have use of his arms, who instead used a stick held in his mouth to type. A CLI was thus vastly easier for him to use, because he could not scroll or move a mouse pointer.

    3. Re:Tiresome by tpstigers · · Score: 1

      This is an argument against a GUI? So what you're saying is that it would be easier for a guy using a stick in his mouth to type "sudo apt-get install" than it would be for him to click on a button? And he can't use a mouse? Really? You'd think someone could give the poor guy a laptop.

    4. Re:Tiresome by tpstigers · · Score: 1
      The only real argument against a GUI (these days) is that there are bad GUIs. In theory, all a GUI is supposed to be is a front end. If it is a well-constructed front-end, there is real reason to call a CLI 'better'. If you happen to like a CLI more, then that's simply a matter of personal preference and has nothing at all to do with 'better' or 'worse'.

      And Dude - 'Dangerously' wrong? Really? There are lives at stake over this?

  57. It has been said by Anonymous Coward · · Score: 0

    that GUIs are more user friendly. I disagree. CLIs are just more careful about who their friends *ARE*!

  58. I'd be happy with just... by kannibul · · Score: 1

    I'd be happy with documentation that gives all the CLI commands and what they do in plain english (or your language of choice)... Nothing worse than getting a new piece of equipment that upper-management was sold on as the best thing "evah!", only to discover that you have to use the GUI for part of it, the CLI for another part, and then call the manufacturer (whom, without a maintenance/support agreement would otherwise charge a rediculous fee), whom requests remote access (lol-right...) or uses the CLI via remote-desktop-web-session and uses undocumented commands...and can't speak (your language here) well enough to explain what they just did and why. As for the article - Exchange 2007 does this pretty well - it gives you the exchange powershell command script when doing things with the GUI as part of the last step - kind of like holding one's hand and saying, here, try this as a script next time (not that I do)...there's some things that you can't do with Ex2007 without using the powershell - such as exporting a mailbox to PST, or changing SSL certificate info...

  59. Not a GUI problem by Dhalka226 · · Score: 1

    Look, I loooove CLIs. It's why I love Linux so much and it's why I prefer Mac to Windows, even when I don't spend as much time in a shell there as I do on Linux.

    But this is not a GUI problem. There's nothing that says that a GUI can't update multiple machines identically and from one location. In fact we know they can, with Active Directory on Windows servers being probably the best example. They simply need to be written to do so. There are certainly valid discussions to be had as to whether or not a good GUI with people intimately familiar with it could ever be as fast to perform tasks as a good CLI with people intimately familiar with it, how much time each solution takes to develop and even the possibility that a CLI doesn't need to pre-plan such support when a GUI probably does, but most are not inherent limitations -- they are design choices.

    Of course, being a CLI lover I prefer the CLI. I love the idea of scripting something up, or how you can chain tools designed to do exactly one thing and do it well together to have a ridiculous amount of power at your fingertips. At the same time, if I were asked which to do for a product that was being released (sold or otherwise) I would choose a GUI. Or better yet, have the best of both worlds: A CLI that the GUI sits on top of, Windows 3.1 style. You can even have a little "Import configuration file" button that would make this guy's example sync perfectly, which it sounds like he suggests at the end. His other complaints seem to be about how the GUI is actually designed, which is once again not a GUI problem but rather a problem with a particular GUI.

    Beyond that, if you really have to pick one or the other it's little more than a "know your audience" and solve for success, whether you define that as profit or adoption or otherwise.

    1. Re:Not a GUI problem by Junta · · Score: 1

      It is a GUI problem. You can do spot manipulations with GUI, but if you have a complex mass update, that's not particularly feasible in a GUI. Try changing all the spaces to underscores in a directory tree with 2,000 files. With GUI, possible eventually, with cli, trivial. For AD, mass script updates are very common.

      Just as programming is textual due to the complexities required, sometimes administration exceeds the complexity a GUI can represent.

      --
      XML is like violence. If it doesn't solve the problem, use more.
  60. False Choice by Anonymous Coward · · Score: 0

    The author presents a false choice. The right way is to write a management api and then write cli/gui/web interfaces as needed or desired.

  61. YaST works in CLI by houghi · · Score: 2, Interesting

    Funny the article singles out YaST as an example of GUI work. YaST works great in CLI. here an example. I have used it both as GUI and CLI (over e.g. ssh) and alongside 'normal' CLI commands for e.g. the firewall and editing things by hand and what not.

    This means that if you want standard options, you can easily use YaST (in GUI or CLI after ssh) or use anything else if you want. So it is very strange that he uses YaST as an example for GUI only ways of doing things.

    --
    Don't fight for your country, if your country does not fight for you.
    1. Re:YaST works in CLI by Junta · · Score: 2, Insightful

      YaST over SSH in not CLI, it's TUI. The important difference is CLI is scriptable, TUI has the lack of scriptability of a GUI, but the bandwidth characteristics of CLI.

      I think it's a nice example of how something running in a text-only mode is not necessarily a sufficient improvement over GUI.

      --
      XML is like violence. If it doesn't solve the problem, use more.
  62. Scripting, bah, humbug by Thrupp · · Score: 1

    I'm a windows admin and I use scripts when I absolutely positively definitely can't use anything else (or for things I want to do once). Scripts are bad for you, they go in to organisations and sit around, quietly working for years until the admin who wrote them left, everyone who knew what it did left and everyone else has to puzzle it out and guess at what it is doing. So I keep it simple. Group policy where possible, little batch files on login if GP won't work, and, after that I will resort to scripting. It should not be ancouraged as a standard practice. As for powershell, I'll use it when nothing else works.

    1. Re:Scripting, bah, humbug by Culture20 · · Score: 1

      Group policy where possible, little batch files on login if GP won't work, and, after that I will resort to scripting.

      What makes you think batch files aren't scripting? And do you ever use GP to run startup/shutdown/logon/logoff scripts?

  63. Repetition by hand is error prone by badger.foo · · Score: 1

    Repetition by hand, even by a skilled operator, is error prone. I think that's the main message in this article, and I couldn't agree more. The task at hand doesn't even have to be that complex. That's why, in a system administration context, tools like puppet (http://www.puppetlabs.com/) and cfengine (http://cfengine.com) make so much sense. Tools like those help you make sure that items that need to be the same stay the same, and make sure changes happen in sync across systems when need be (courtesy of your version control system). And of course, local variations can be catered to in a number of ways and maintained across global reconfigurations. If you're lucky enogh to be working on a Unix or BSD, that is. Not sure what's available in Cisco or Windows space.

    --
    -- That grumpy BSD guy - http://bsdly.blogspot.com/
  64. So Linux wins for 90s era graphics cards by judeancodersfront · · Score: 1

    glad we have that covered

  65. From a GUI you say? by CrashNBrn · · Score: 1

    Let's see, since I can do a Regex search from Total Commander's GUI, use any of it's file-system plugins - from a GUI to add more rules to the Search requirements. Then feed the Results to TC Tab, Select them all... from a GUI and then Click a button to feed them to a one liner script to move them where they need to go -- of which the Script can take the destination input (From a GUI).

  66. You've missed the obvious CLI/GUI... by Anonymous Coward · · Score: 0

    ... that you are using right now. The Internet and more specifically the web is a command line interface we use everyday without really realising it. Through urls, google, other search features. It's nice and easy to use for novices with search suggestions and instant search in google, even correcting spelling and (sometimes horrendous) grammar to guess what you mean. But, the interenst also harbors more advanced functions in a nice layered manner.

    Oh and you can easily learn HTML, CSS whatever, it's all there in the 'view source' feature. Prime example of how to bridge dumbed down interfaces to the technical underpinnings and oh gee I don't know, spark a technology revolution?

    The whole CLI vs GUI argument is highly tired and in the post-hyperlink world a debate that's been invalid since 1992. Obviously the most productive tool is one that hybridizes the ability of GUIs to present complex information and not require detailed study and memorizing of the system commands to be productive.

    CLIs while traditionally powerful (though not always ie DOS) are epic usability and discover ability fail, have always been so. Before you argue, go type something obvious like 'help' in a bash shell, it doesn't work, it's always been that way as far as I can remember. Now try that in Google, the Firefox awesome bar or even the Window Vista/7 start menu, you get suggestions within a split second. That's the difference between a couple decades of progress vs adhering religiously to kludgey once perhaps relevant design decisions in the late 1980s. I hate the *nix command line, I spent years supporting with it. I went to web development and left OS mayhem to those who love self-torture :D

    CLIs are still all around us, they have merged with GUIs. Old dumbed down GUIs have now moved off to touchscreen iStuff.

    1. Re:You've missed the obvious CLI/GUI... by petrus4 · · Score: 1

      CLIs while traditionally powerful (though not always ie DOS) are epic usability and discover ability fail, have always been so.

      You had actually written an intelligent post, but then you had to go and use the word, "fail," as a noun. Sad.

  67. Idiot by Anonymous Coward · · Score: 0

    Curret Linux, Freebsd, etc CLI's fail *HORRIBLY* when you're restricted to bash, coreutils and friends. Processing different output from different programs all with differing switches is a complete and utter waste of time compared to just grabbing a library for ruby, python, whatever and doing programming it. But then we would be hiring a programmer and not a system administrator to fill this job, what's needed is a concise system based on a dynamic language (meta programming) so a simple say (if it was object orientated) VideoPlayer.play('somecontainer'). Remember dynamic doesn't have to mean slow it's just a lot harder to make fast, but the tradeoff of ease of use and complete 'fluidity' if you will is much much better.

    1. Re:Idiot by petrus4 · · Score: 1

      Curret Linux, Freebsd, etc CLI's fail *HORRIBLY* when you're restricted to bash, coreutils and friends.

      No, they don't; you just don't know how to use them.

  68. GUIs are a management requirement by SpaghettiPattern · · Score: 5, Insightful

    GUIs usually are a management requirement. The common misconception is that sysadmin GUIs make you more productive. Well, they don't. On the contrary, they slow you down, cause repetitive and boring activities where the human factor thrives (E.g. copy paste from spreadsheet.) GUIs look good on presentations but are crap to operate.

    But it's not only the god forsaken Windows platform that has them. Ever tried configuring network interfaces and the DHCP server on OpenSolaris? Ever tried getting a readable manual on how to do either by editing files or through command line? That for me was the practical reason for discarding OpenSolaris and continuing with FreeBSD.

    In an ideal world, configuration files adhere to a specific syntax. Libraries are available and convenience tools and utilities (CLI and GUI) should be based on them and are equally effective.

    Cheerfully ignore comments stating that scripts for changing configuration files can screw up production. Hobbyists stating such manure apparently don't know you should run unit and integration tests before deploying any change whatsoever in a production environment. Nowadays any half professional organisation can afford multiple test environments to minimise production failures caused by untested software.

    --

    I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    1. Re:GUIs are a management requirement by Anonymous Coward · · Score: 0

      In an ideal world, configuration files adhere to a specific syntax.

      in this world that would mean standardising on xml or some other markup-language for everything, i wouln't like that!

    2. Re:GUIs are a management requirement by lennier · · Score: 1

      Cheerfully ignore comments stating that scripts for changing configuration files can screw up production. Hobbyists stating such manure apparently don't know you should run unit and integration tests before deploying any change whatsoever in a production environment. Nowadays any half professional organisation can afford multiple test environments to minimise production failures caused by untested software.

      I'm curious. How exactly do you run a 'unit and integration test' on a Cisco router or an Active Directory server?

      Are there such things as test harness frameworks for LDAP, DNS, DHCP, TFTP, SSH, WiFi, Cisco IOS, PXE boot, MSI, SCCM, SQL Server, Windows Registry, user profile, Group Policy, VMWare ESX vSphere, and the enterprise tape backup system of your choice? How precisely do you replicate the server-to-screen configuration and physical cable patch information for a 2,000 PC and 200 server campus into a representative 'test environment'? Can it be done in a single product with text serialisation to a unified version control database for all those changes?

      Cause if there exists such a product I want to know about it!

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    3. Re:GUIs are a management requirement by SpaghettiPattern · · Score: 1

      In an ideal world, configuration files adhere to a specific syntax.

      in this world that would mean standardising on xml or some other markup-language for everything, i wouln't like that!

      Nah, hate XML for configuration files too. The syntax can be specific to the configuration file type. For instance, /etc/passwd has its own syntax (which is pretty much straight forward) and the bind configuration files in have a different one (slightly more complex.)

      The bitch about XML is that you have to adhere to XML syntax and to a schema. Good for automated processes, not too good for humans to read or edit.

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    4. Re:GUIs are a management requirement by SpaghettiPattern · · Score: 1

      Cheerfully ignore comments stating that scripts for changing configuration files can screw up production. Hobbyists stating such manure apparently don't know you should run unit and integration tests before deploying any change whatsoever in a production environment. Nowadays any half professional organisation can afford multiple test environments to minimise production failures caused by untested software.

      I'm curious. How exactly do you run a 'unit and integration test' on a Cisco router or an Active Directory server?

      Are there such things as test harness frameworks for LDAP, DNS, DHCP, TFTP, SSH, WiFi, Cisco IOS, PXE boot, MSI, SCCM, SQL Server, Windows Registry, user profile, Group Policy, VMWare ESX vSphere, and the enterprise tape backup system of your choice? How precisely do you replicate the server-to-screen configuration and physical cable patch information for a 2,000 PC and 200 server campus into a representative 'test environment'? Can it be done in a single product with text serialisation to a unified version control database for all those changes?

      Cause if there exists such a product I want to know about it!

      The products you use for testing are irrelevant. The most important thing is recognising that you need unit and integration testing. Practically, you then initially perform tests with the means at hand and then you consider expanding the means.

      In my experience you divide data -parameters which drive changes- and logic -programs that execute changes.
      Most effort goes into testing logic, trying to run through every single branch of the programs and forcing all possible exceptions to occur.
      A little less effort usually goes into testing the data for integrity. Data is usually either generated by logic and therefore correct, it has a very simple syntax and/or relationships between objects are very simple. If this is not the case then you probably need a subsystem to derive the data you use.

      You seem to work in the networking department. Running a unit test for a Cisco router requires that you set up a network in your lab resembling your productive network -I know, it's not quite as straight forward as I make it sound, especially if you need a specific context like routing tables- and that you run your tests. With this you should be pretty sure anything further down the line should run smoothly. Integration tests on (networking)-infrastructure are usually much harder because, by definition, you simply don't have an environment resembling the production infrastructure -e.g. imagine testing BGP changes- and which you are allowed to potentially screw up, so you wind up in a Catch 22 situation. Usually, and for most cases, you can negotiate a service window with the responsible manager, where you will be allowed to run your tests.
      What I described for your Cisco router applies for most other systems/environments you mention. The Cisco router is probably the most tricky to test cleanly.

      However, getting managers to understand, appreciate and invest in decent testing environments is hard. Usually the requirements for testing are there, testing frameworks will be deployed and bean counters will be appointed to check the boxes. You may even get budget for a testing infrastructure, although here it already starts to get tough. A manager that understands that most of your work consists in exception handling and the testing thereof, is very rare to say the least.

      Decent testing costs loads of dedication, effort and money. It doesn't completely prevent disasters but minimise the probability and makes the developer, supporter and organisation more aware of the environment they operate in and the risks involved. The level of testing is one parameter in measuring professionalism. That's the reason why I referred to hobbyists in my previous post.

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  69. I think "concordant" is the word you want by Anonymous Coward · · Score: 0

    I think "concordant" is the word you want instead of "Integrity". Your use of it is more like "integral" as in they bind closely with little translation. Concordant is the right word, I think.

  70. Windows ? by DaveDerrick · · Score: 1

    So what your saying is "Bring back DOS & make Windows run on top of it." - Check.

  71. Take and Shove It by Anonymous Coward · · Score: 0

    I'm sorry, shove where?

  72. CLI still needed (especially for the blind) by proudhawk · · Score: 1
    hello everyone.

    I agree that GUI's are nice eye candy and can visually organize a space. but... they are not blind friendly.

    I still use cli for editing scripts and modifying system settings (including editing configuration files for custom settings). I don't see a lot of this in GUI interfaces (I use orca under gnome and believe me, a lot of options for settings in some system settings are simply not there). in OS X, I have also found that knowing how to modify settings on the CLI is a very powerful skill to have. anyone that thinks the GUI is the only way to go is severely limiting what they can really do.

    how many of you can setup a true firewall script in linux using strictly a few guy tools and have it do some really powerful stuff? I know of perhaps 2 apps that might give you something approaching what you can create using VI in a command line. its the same with a lot of other deep level items in Linux (and OS X as well).

    even though I am speaking from the P.O.V of a blind person, the same holds true for everyone. having a command line ability to make/modify/create scripts, documents and configuration files is definitely a useful (and powerful) alternative that should not be discounted.

    --
    Understanding is much like a 3-edged-sword. in this: there are always 2 sides and the truth.
  73. The short version .. by Anonymous Coward · · Score: 0

    "The moral of this particular story is that GUI interfaces are fine and necessary in many cases. But they need to be built after a complete CLI is already in place, and they cannot interfere with the use of the CLI, only complement it. Otherwise, all you've done is make easy things easy and hard things much harder"

  74. Tyranny of the discontinuous mind. by Burnhard · · Score: 1

    If you can do it with a GUI and prefer to use a GUI, then use a GUI. If you can do it with a CLI and prefer to use a CLI, then do it with a CLI. What you shouldn't do is write an article about it, because it's an unbelievably banal observation to make.

    1. Re:Tyranny of the discontinuous mind. by Junta · · Score: 1

      I would normally agree, but it bears loud repeating in the face of many development groups wanting to emphasize cli capability being overriden by marketing departments that seem to think a CLI is an obsolete thing from the 70s no one wants in their modern product. These marketing types dictate where effort is invested, and some even go so far as to forbid a CLI. It is important that people loudly proclaim their preference and need for a CLI in the face of such an environment.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    2. Re:Tyranny of the discontinuous mind. by petrus4 · · Score: 1

      I would normally agree, but it bears loud repeating in the face of many development groups wanting to emphasize cli capability being overriden by marketing departments that seem to think a CLI is an obsolete thing from the 70s no one wants in their modern product. These marketing types dictate where effort is invested, and some even go so far as to forbid a CLI. It is important that people loudly proclaim their preference and need for a CLI in the face of such an environment.

      This in itself is a clue as to the CLI's real value. I've tended to find that whenever marketing executives want to get rid of something, that is usually a very strong indication that with the thing in question, the appropriate action is the direct opposite.

  75. CLI doesnt guarantee same changes by 192939495969798999 · · Score: 1

    " If you write a script, you're certain that the changes made will be identical on each box. If you're doing them all by hand, you aren't.'"

    No... if you write a script, you're certain that the change ATTEMPT made is the same. The changes may very well not be the same, if one of the boxes is messed up, but you can be certain it wasn't because you did it differently on that box. That's the difference between a GUI and a CLI... you get a same attempt guarantee, which allows you to blame the box instead of yourself when management comes asking why it failed.

    --
    stuff |
  76. Grandpa, Really? by TheNetAvenger · · Score: 2, Insightful

    Wow, I can't believe that this is just accepted.

    With the advances in GUI design and beyond GUI design technology, a CLI should be obsolete, even if it is not obsolete in practice on the specific examples.

    There is no reason a written script should be necessary, when an object constructed visual script could also be generated that is just as specific and functional. Again, just because the tools and technology are not common does not mean it is the standard and will always be a truth.

    There was a time that writing software required 'writing code' as well, and today we have technologies that let graphic designers put together robust applications without writing a single line of code. (MS Blend for a simple example of XAML based GUI development.)

    By nature Unix based OS models are CLI dependent(textual pipes and generic I/O constructs); however, this is not true of all OS models(NT is an object based OS, where a CLI is counter intuitive which makes PowerShell a brilliant CLI model that came years after the OS, and uses the object nature of the OS design).

    Even with some imagination this isn't a 'truth' in a UNIX OS model either. There is no reason that all constructs have to derive or remain at a CLI level with a GUI strapping onto the CLI. Replace the CLI constructs with GUI based interactions and instead of textual pipes, object and graphical piping could be the model that replaces the CLI nature of UNIX.

    This line of thinking is a failure of imagination and factually incorrect when viewed from an object based OS design like NT where the CLI(PowerShell) was an achievement to harness objects at a regressed CLI level.

    1. Re:Grandpa, Really? by Culture20 · · Score: 0

      This line of thinking is a failure of imagination and factually incorrect when viewed from an object based OS design like NT where the CLI(PowerShell) was an achievement to harness objects at a regressed CLI level.

      Translated: This line of thinking is a failure of imagination and factually incorrect when viewed from a GUI design like NT where cmd.exe was so woefully underpowered that sysadmins were using stupid DOS tricks to facilitate good loops and conditionals, piping data from one program to another, sometimes having to use temporary files. Of course there was a reason why they were trying to use cmd.exe: it was far better than using the GUI crap the OS designers wrote, where there was no way to do loops or conditionals or pipe data (although saving files and opening them in another GUI does work). Then they used vbscript, and it was good enough. The pimply faced new "sysadmins" who thought that computing was about Graphix!, not crunching numbers, decided that they wanted to become factory workers, repeatedly doing a task 10,000 times using a GUI until they were done (or contract out the creation of a GUI that would do the task to the highly venerated "programmer" class of IT society). Sysadmins who can't program in pseudocode should be fired (or not hired).

    2. Re:Grandpa, Really? by petrus4 · · Score: 1

      Wow, I can't believe that this is just accepted.

      With the advances in GUI design and beyond GUI design technology, a CLI should be obsolete, even if it is not obsolete in practice on the specific examples.

      I could live with this type of attitude, on its' own. The element of it that is so upsetting, is insisting on obsolescence, and that anyone who wants to do things via the CLI should simply die.

      Why is my use of the CLI a threat to you? I would not attempt to convert you to it, even if the author of the article was. An allowance of co-existence, and diversity in approaches, would be appreciated.

    3. Re:Grandpa, Really? by TheNetAvenger · · Score: 2, Insightful

      Sadly you don't even understand how silly your response is.

      NT and piping are opposites in how the OS is designed. NT deals with objects and object passing and referencing, not generic I/o and piping.

      Nt is specifically not designed like unix, which was my point and what you do not understand.

      An OS that deals with an object model instead of generic I/o has no need for textual passing or piping.

      More slashdot peeps truly should take a minute to learn why makes NT different and unique from standard unix OS models.

      *posted from my droid...

    4. Re:Grandpa, Really? by TheNetAvenger · · Score: 1

      I have no problem with anyone using a cli, even I like more than the majority of the population.

      I do have a problem with the assertion that a base cli is needed for an os and other operations should be structured from the cli or a cli model. In unix this seems more of a accepted idea and this is because of the definition of the unix model and it textual nature and file generic principles.

      Powershell on nt is great too, but, because it brings a cli interface that natively works with nt's object model, a first for a cli to deal with objects inherently, that was needed to deal with an object based os.

      *back to swype for next post, hate physical droid keyboard... typos will not be fixed :)

  77. "save script" option... by bodland · · Score: 1

    AIX's SMIT was pretty cool back in the day. You could do most things via a GUI but save your commands to use in shell scripts to automate routine tasks outside of the GUI. MS-SQL DBA admin tools as well as Oracle Enterprise Manager all give the ability to generate scripts of GUI action....

  78. I understand OSX has an XML for this by pugugly · · Score: 1

    Never having used OSX I can't speak to how it works in practice, but conceptually the concept of an XML config file that has it's GUI embedded, yet is also viable to access by things like sed/awk/gedit (No, I don't use emacs/vi. Ubuntu: Linux for wimps. **** off - {G}) seems like an awfully cool method to combine the CLI and GUI concepts as two aspects of a common interface.

    Pug

    --
    An Invisible Entity of Vast Power whose existence must be taken on faith alone: Liberal Media
  79. What is scary... by petrus4 · · Score: 1

    ...is the number of comments to this article, which insist that the CLI should die completely, is obsolete, should be obsolete, and should never, ever be used again.

    Without saying anything about the CLI or GUI specifically, I will simply say this. I have observed on a consistent basis that there is a connection between a person's level of intelligence, and their level of willingness to tolerate diversity. Intelligent people tend to advocate and believe in multiple different approaches to solving a given problem. It is overwhelmingly the unintelligent or narrow minded, in my experience, who seek monoculture, or only a single option which everyone is then forced to use; primarily so that they themselves can avoid having to think.

    I understand that the target audience for this request are probably the least likely to actually listen to this, but if you do have the above attitude, I would diplomatically request that you examine your level of broad mindedness in general. Narrow mindedness, a desire to minimise available options, and an insistence on monoculture are not positive or desirable mental characteristics.

  80. A few hundred? by phorm · · Score: 2, Informative

    Eh? We've got several thousand users, a working master/slave replication setup, and very few issues with our LDAP. Usually if something goes awry it's indicative of another problem that also has side-effects on LDAP....

    1. Re:A few hundred? by Bigjeff5 · · Score: 0, Troll

      ...which is in itself generally too unstable for production use once you pass a few hundred users.

      An n=1 counter is not going to disprove that argument, sorry pal.

      Also, are you the guy who designed that system? I'd wager you're not. More than likely the guy who did really knew his shit, and was able to mitigate the weaknesses of OpenLDAP.

      If you are the guy who did it, then my apologies. You're one lucky bastard.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
  81. It isn't 1997 by judeancodersfront · · Score: 1

    Windows Server 2008 only requires 512 mb of RAM

  82. Automation by The_jos · · Score: 1

    The problem isn't GUI vs CLI.
    The main problem is automation.

    If you need to do something once a day a GUI will do just fine.
    Do the same thing 100 times a day and you scream for an automated process.
    CLI often has more possibilities for automation.

    Having said this, the solution is not providing a CLI for those tasks but a way to interact with the system that requires the least human interaction as possible.
    This can be CLI, but also some kind of listening process that picks up a file or data in a message queue.

  83. Hotmail admin's don't GUI by carkb · · Score: 1

    I remember a few years back when Microsoft took over Hotmail and converted all those FreeBSD servers to Windows Servers, they had an article interviewing one of the lead admin's for hotmail. He stated that there was no way they could GUI their way through all those hotmail servers, so they scripted everything at cmdline for the Windows Servers. I think their experience lead to more cmdline options within Windows to cover stuff that formerly only been GUI.

    See, even Microsoft does CLI.

  84. people didn't have to use vista by Anonymous Coward · · Score: 0

    to understand what a mess it was. just being well read was enough.

  85. with a script you can do a lot wrong, too by allo · · Score: 0

    rm -rf $somevar/*

    have a lot of fun, if your system does not have $somevar set.

  86. GUI and CLI from the same code! by Anonymous Coward · · Score: 0

    I've said this quite a number of times, but it doesn't seem to be catching on.

    We need a toolkit of some sort that will allow you to write a single code base, that gives you both a GUI and a CLI from the same code.

    I mentioned this to a Microsoft guy when I was onboarding during a Microsoft acquisition of a Linux company; he seemed quite interested. And yet when I took this idea to a GTK+ mailing list, I don't know that anything happened.

  87. I say no but they say yes by Murdoch5 · · Score: 1

    I GUI is bad idea when you don't know the CLI. A CLI is a true interface to the system, a GUI is a covered up point to access the system. So what I'm I say, never run a Desktop, NO of course not. A GUI is great but only when you don't relie on the GUI to be your life line. If you see a bash prompt and give up and reinstall then you aren't ready to even run a GUI.

    This term we had to get Linux put on our machines at school. It took 3 weeks for IT to install Ubuntu. Before we had a Ubuntu install ready, I had an Arch install ready to go. When I told my prof all we had to do was to pacman -S xorg-server gnome. He said NO because were not going to work on the CLI and it's to much control to give the other students in my class.

    People have become so reliant on the fact there nice comfy GUI will be there, they don't want to even see a "localhost>", Even when the solution can take 10 min there are people who will reject it so they can see a GUI. It goes even more then this though.

    When I tell my profs I made a Graphic Interface for our robot project the first thing they were concered about was that it could be compiled and used in a graphic enviroment. When I said no it can't and they have to deal with it they didn't want to use it.

    I'm not saying they don't know how to work the command line but there not willing to use it when it makes there job so easy. There is very little that can't be done from a command line but there is a ton that can't be easily done from a GUI. If you shy away from the command line your really shying away from the operating system.

  88. "clown" is accurate by Anonymous Coward · · Score: 0

    you must not have a very good skill set if you can't design, test and deliver a script without breaking things.

  89. Mixing it up just a tad. by enven · · Score: 0

    Some tools I've used only need the CLI, others need a gui...Nagios for one...Great with a web interface...Same with Cacti. You can have a myriad of tools to help, whatever works for your institution is what the standard should be (for that inst.).

  90. nutstrut by nutstrut · · Score: 1

    Huge improvement, still not optimal but never the less an improvement.

    --
    /category/virtual-server-hosting/
  91. CLI vs. GUI by perspectoff · · Score: 1

    I agree 1000%.

    GUI is nice sometimes as an overlay, but let me do my scripting to keep down errors and speed repetitive tasks.