The Good And Bad Lessons Ubuntu Taught Me About Linux And Windows

A long-time Windows user and an avid gamer, I never felt the need to install Linux on any of my systems. That was until I required a server box to handle automated build compilation, source control and backups for my programming work. The idea of buying another copy of Windows for a machine I'd never be in front of seemed ludicrous and so a copy of Ubuntu was installed instead. Having used Windows and Linux side-by-side for almost a year has given me an entirely new perspective on both operating systems.

Image: Adam Dachis

It would be impossible to cover the major differences between Windows and Linux and having only used the latter seriously for 10 months, I'm not qualified to. What I can do is talk about the two biggest points that have stood out for me.

Good: Tools In Linux... Well, Linux Has Them

With Windows, when you need to accomplish something beyond copying files or firing up Notepad to edit a text file, the first place you turn is the internet for a program that does what you need (or for me, whether I can quickly code a solution up in C#).

In Ubuntu, there's usually a command-line app that will get the job done. You just need to find it. If you can't find it, Synaptic, the GUI package manager, makes it easy to grab precisely what you need from a trusted source.

The best example for me was setting up regular, simple backups. My Windows configuration involved downloading 7z, running it from a batch file and sticking it into Task Scheduler. I tried following a similar path and got it working in Ubuntu, but found the Linux version of 7z absolutely slaughtered my quad-core, 4GB server box, even using "nice" to change the process and I/O priorities.

When I looked for an in-built option -- something I'm not used to doing -- "tar" came up as a popular choice and not only did it run flawlessly, it even supported "xz" compression, which is effectively the LZMA2 algorithm used in 7z.

Bad: Security In Linux... Treats You Like An Idiot

This is something that, from a technical standpoint, I completely understand. Lock down the operating system as much as possible by requiring root permissions to do tasks that alter the fundamentals. But coming from a Windows background, having to constantly type in a root password to do what I consider the most basic activities, like copying files, remains annoying to this day.

Windows isn't much better, with Vista's nefarious User Access Control dialogue proving just as frustrating, if not more so, but at least that can be turned off and it's something most experienced users recommend. On the other hand, every article I found about giving yourself root access on a permanent basis said it was a bad idea and so, I put up with typing in "sudo" or waiting for the inevitable prompt from GNOME.

Again, I understand that it's to protect against accidental deletions and to stop malicious users from toasting a machine, but for the day-to-day stuff, especially when you know what you're doing, it just slows you down.

Ultimately...

Linux and Windows are different beasts, and trying to apply the same logic and usage patterns to both of them just won't work. As I've come to understand it, setting yourself up as an administrator in Windows is something most power users sort out immediately, but it's not something you should be do in Linux.

Windows will remain my production OS, but I'm happy to recommend Linux now, whereas before it was a topic I had little knowledge of. Now I just need to find the courage to crack open another distro...


Comments

    "linux treats you like an idiot" if you prefer, you could just log-in as superuser (su)... which is essentially equivalent to you logging in to windows and with UAC turned off.... you'd be pretty crazy to do that though. I am far happier being an "idiot".

    in ubuntu you can gain root access for a terminal window by entering "sudo -s" or "sudo su" and when you are done with it just type exit or CTRL+D to go back to a non-root terminal or simply exit the terminal, if you were using a linux terminal you should atleast learn basic tricks to make it easier.

    It's very easy to configure sudo not to require a password. (see http://goo.gl/Qk9q9 for example) but it's also a security risk. You ave to way up the risks of your environment versus the convenience of not entering a password.

    Ubuntu is probably not the best Linux distro to use for judging Linux.

      Yeah, he should have taken RedHat with their 'Secure Linux' setup. That's even more annoying!

    Good article but very, very short. More in depth in future please :)

    If you're having to use the root password to copy files then you're doing something wrong. Could just be you've not sorted out permissions to give your users access properly.

      Exactly, shouldn't need those root passwords.

    If you're confidant that you know what you're doing, there's no reason you can't type sudo bash to start a new shell with root permissions and just use that. Good luck not accidently trampling anything :)

    Administrative tasks in Ubuntu GNU/Linux can be done using sudo. By default, the first user created on Ubuntu is added to the adm group, which already has sudo capabilities. But if you need to set it up, you can either google for sudoers or see https://help.ubuntu.com/community/Sudoers
    Also, a great thing about GNU/Linux is that you can do almost everything from the command line, which means you can automate things rather easily. This is great from a build environment standpoint.

    It would probably be better to compare two unix based systems, than two completely different ones ie Windows (NT) with Linux (unix-based), i think you'll find OSX will bridge the large discrepancies between the two operating systems. Just try and avoid the avid haters/fanboys and you'll be alright.

    the equivalent of 'disabling UAC' for linux is running as root. It's disabled by default in ubuntu, but you can get around that. just type 'sudo su' in the terminal, enter the password once, and any commands after that run with root access.

    If you're feeling brave, you can also completely enable the root account with two quick commands: https://help.ubuntu.com/community/RootSudo#Enabling_the_root_account

    I've been using Arch linux. I couldn't recommend it for everyone - but a tech writer should be able to figure it out. There's a beginners guide that'll get you up and running on Lifehacker somewhere.

    It's incredible and leagues ahead of Ubuntu - but it does take a little more to get it working right.

    It's hard to describe why it's so much better, but I think mainly it's FAST, default (so feels consistant) and super pretty with Gnome3.

      This is why Arch rots in dungeons filled with pimply faced so called Linux losers geeks while Ubuntu soars ahead. The only alternative to Windows that can be easily introduced to someone who has never ever used Linux is Ubuntu, Arch will permanently shut the doors for people like that. Its a insecure, rolling release model disaster, enough said.

        I beg to differ. I would say that the only real alternative to Windows is Mint Linux. They just do it better =)

          What other distribution has the huge number of apps "included" that come with Debian? What other distribution has the stability that comes with Debian or even the number of eyeballs digging through it for security issues that need fixed? Is there really another package management system out there better than apt? Debian's flaw is that all of this stability and widely supported "in distribution" apps means that their apps tend to be older revisions. To fix that, you could run the unstable version (which is about as stable as everyone else's "stable") or you could run Ubuntu which is based of Debian with a lot of the same underpinnings.

    Also consider "sudo -i" for long sessions as root, when those are needed. Linux remembers quite clearly the power of being root, and actively discourages it. Normally, you should be running everything as a user, with only infrastructure chances as root.

    I find it strange you chose to use User Account Control Vista which became more refined in Windows 7. Windows Vista has less than 8 percent market share.

    Others have already mentioned it, so I'll tackle it from a different angle.
    To copy a file, you need to either 1)be the owner, or 2)have permission from the owner. If you're moving around files owned by "root" then you need to be logged in as root or use "sudo". To move files owned by a normal user, you need to be logged in as that user.
    I wonder what files you're moving around that require root access.
    If you accidently created the files as "root" and want to change the ownership to a normal user, look up the command "chown" which is short for "change owner".

    Another option to consider for moving around files that belong to different users is the concept of "groups".

    Classic Linux filesystems grant 3 sets of permissions for each file or folder - one set for the owner, one for everybody else, and then one for those who are members of the group to which the file belongs.

    If you create and add yourself to a new group (say, "copiers" for example), change the group of the files you need to copy about to "copiers", and grant "copiers" read and write access, then you will be able to copy the files about without sudo and without granting global write permissions.

    Since you didn't explain why you're trying to copy files about, I can't tell if this approach would be beneficial or not, but it's another tool in Linux' exceptionally well-stocked tool belt that you should consider.

    A couple of thoughts on backup. First, if the files you are protecting aren't especially sensitive, consider enabling UbuntuOne sync for them. This provides a virtually instant off-site backup (and convenient Internet-accessible copy), and the first 5 GB is free - but note that these files are password protected but NOT encrypted.

    You might also check out Flyback, Back in Time, or Déjà Dup from the Ubuntu Software Center. Did I mention an exceptionally well-stocked tool belt? ;-)

    Hope these ideas help you mature your knowledge of Linux and Ubuntu.

    "most basic activities, like copying files"?
    If you, as user created the files and they are located in your home directory you should have full access to them. If you created the files "higher in the directory tree ie /" then you are placing them in the wrong place to begin with.
    If you do need to copy these files from a "protected" directory, the easiest way is to open a terminal, type "sudo nautilus" (the file manager with full super-user rights), so you can move/copy/delete these files.
    Close nautilus when finished.
    Then close the terminal by typing "exit" (this forces closure of the superuser account as a security measure if you are running a server)

    Doing "maintenance" like this also makes it very easy to change ownership and grouping of files, by just r/click on files you want to modify and using the properties tag you can change the permissions

    And for simple backups, a simple script run fom cron (look for "scheduled task" in the repository for an easy to use GUI")..

    #!/bin/sh
    rsync --verbose --whole-file --ignore-existing --dir/to/copy/* place/to/copy/to
    notify-send -t 150 "BACKUP" " backup completed"

    exit 1

    Place it in a dir called admin or something inside your home dir, change it to an executable file and then call it from cron

    PS again, using the above nautilus instructions to change the file to an executable script is far easier than doing it on a command line

    Hope this helps.

    it treats you coz you are one. if you are not then you wouldn't have said that. :-)

    First thing I do when installing Ubuntu is "sudo passwd root", which not only allows me a full terminal session wtih "su -", but also makes remote ssh'ing into the box as root possible. It also means that the duff "Type root password for maintenance" prompt when you have problems with your filing systems during a boot means you *do* actually have a root password to type in!

    After a year of using Ubuntu as a primary workstation / home desktop ? All I found was that it's not a very good UI and there just isn't any killer application that makes it stand out. Ultimately, it's just a better and more productive user experience for everyone I've observed who has a need for linux, to go OSX or Windows with a linux VM.

    For my mum's netbook that she uses for browsing and playing music? Linux is a fine option. But for anyone who actually uses their computer for more than accessing web browser apps? Meh.

    If you don't want to type a password everytime you use sudo, you can edit your /etc/sudoers file to specify a No Password option for single, multiple, or all commands. Not a big fan of doing this sort of thing, but It is possible, and not difficult to setup. Go to Google and Search "Modify sudoers NOPASSWD"

    You can customize Ubuntu and Linux to skip the password part easily (http://www.linuxandlife.com/2012/01/make-sudo-stop-asking-for-password-when.html) although I never recommend anybody to do that.

    dude. get rid of the ANNOYING black box on the right hand side. FAIL.

    I'm curious as to what it is you are copying on a daily basis that is requiring you to use sudo all the time? I'm not a developer so I don't know how you have your system setup. However the only time I've ever needed to use sudo to copy anything is when I'm copying stuff from out side my home directory I normally wouldn't have permission to copy.

    The problem you are running up against is proper separation of users within the file system. Something Windows desktop clients were berated for, for years. I think it's much better to have that separation than not to have it. You can solve this problem by setting up your permissions and file system properly. The default Ubuntu setup (for the desktop version at least) assumes you are a desktop user and is setup as such.

    It's not stupid and it's not treating you as though you are stupid. It's just not what you're used to and by the sounds of it not exactly setup for the way you want to work.

    @jonny rocket: Completely agree. Damn that black box ANNOYS the hell out of me!!

    How it follows you like that... almost as bad (if not worse!) than those flaming flashing animated banners you used to see in 1990s websites.

    Lifehacker eds, Angus Kidman, please do not treat your readers like idiots. When we first land on a page, we can see that the black box on the right.

Join the discussion!