Jump to content

Windows Vs. Linux


chibineku
 Share

Recommended Posts

I have had no end of trouble trying to work with MySQL on my Vista machine, and I am sick of it. Every fix is for linux and every problem is on Windows. Are there any drawbacks to Linux? We have another Vista machine in the house, so I can always use it for, say, Photoshop if it won't run on Linux or some version thereof. How do I even go about swapping? Does anyone have experience of Linux/Ubuntu excelling over Vista when it comes to running things like MySQL? Any info at all would be appreciated, because it is a lot of hassle, surely, to swap OS, but I just can't get MySQL to work. I would rather get it to work on my current setup, of course, for ease, and welcome suggestions to make that work, but every time I get to the last section of the Instance Config Wizard, it fails to start the service, and the one time it did start it, it failed to setup my security protocols and threw up errors, as documented in my other thread in this forum.I am at the end of my tether with this.

Link to comment
Share on other sites

Are there any drawbacks to Linux you ask?Well, for most distributions, you'll need to compile your programs from source. A lot of the closed source programs you know and love (e.g. Photoshop) don't work on Linux and their creators don't have Linux versions either. Others are available for Linux (e.g. Opera, Skype), but depending on your distributions of choise, their stability may be questionable.It's possible that some of your devices won't have drivers for your Linux distribution of choise. Or there may be drivers, but ones that are not from the manufacturer, and are thus less stable.Setting up LAMP (Linux, Apache, MySQL, PHP)... if you think setting up WAMP (Windows, Apache, MySQL, PHP) is difficult, just wait until you try the same on Linux - there's a ton of documentation you need to read on how to adjust your network properly, how to compile and run the latest versions of Apache, MySQL and PHP, and possibly even more.It has a whole different interface (the differences between Windows XP, Windows Vista and Windows 7 pale in comparrison to those between Windows Vista and any Linux distribution) - if you're lucky enough to get a GUI distribution, prepare for a whole new experience (and prepare to enter the command line often). If you get a command line only distribution, practice in entering stuff like "?" and "help", as those are the commands you'll be using most often.-------------------Have you installed MySQL manually or via its installer on Windows? If the manual installation, remove it, and try the installer. If the installer, remove it from "Programs and Components", remove any MySQL related data left in program files, restart (this is important), then go to the services control panel (a search for "Services" on the start menu should lead you right there) and check if there are any "MySQL" services laying around still.BTW, are you using a 64 bit version of Vista or 32 bit version? This is important, as there are some additional things to worry on the 64 bit version (other than the fact that you need the 64 bit installer).

Link to comment
Share on other sites

In reference to the above, my personal opinion is in most distributions there is a learning curve, but once you've done it and you're familiar with both systems. Things are a lot easier on Linux, compiling is trivial, and you don't have to for most recent distributions unless you want to do something peculiar. So when we're talking about LAMP, and someone says "most distributions would force you to compile those", that's just plainly wrong (I'm not sure if he just meant in his experience he eventually had to compile something, but more likely in those cases they couldn't find the right package in the repository for most distributions) (edit: in fact, even Gentoo lets you install pre-built packages, and that's the distro that's notorious for compiling everything from scratch :)).Most recent versions of Photoshop work well under wine (a program which converts Windows system calls into Linux equivalents, allowing you to run some Windows apps on Linux) after investment from Google and some Adobe engineers in that area. Opera and Skype both make use of static linking, making them pretty much completely distro-agnostic. More about wine, it has an application database which lets you check if any apps you have which don't work natively in Linux can be run under wine with a stable result.Command-line only distributions are pretty much non-existent, they almost all offer a sophisticated GUI (typically based on KDE or Gnome, the two main options, some opt for Xfce or alternatives), however that said, I would personally recommend you get used to the command line whether you are forced to use it or not, it's far too powerful to ignore if you have access to it. There are some things which are just so much faster to do from the command line, so I spend most of my time in a GUI, but I have yakuake a KDE application which provides a drop-down terminal when I press F12 (like the sort of terminals you get in games by pressing something like `).Drivers is a contentious issue, for a server or a desktop old enough to have gotten a little scuffed, the likelihood is that everything will work just as well, the actual truth is that Linux supports vastly more devices out of the box than Windows ever has, the issue is that some modern devices don't release drivers, and it takes some time to reverse engineer them for Linux, whereas those kinds of devices to tend to be safe on Windows (though - drivers in early Vista days anyone?). Linux is also sometimes the first to support anything, for example you can now build Linux with functional USB 3.0 support, well ahead of the crowd. So, given it's a different platform you should check all the hardware is fine, or post the specs here and I'll have a look. It is most likely that things will just work though.Having experience with both is always a plus, and I think it's at least worth a go. But make a proper go of it if you do, because some people go into it, get scared by the learning curve because it doesn't work like Windows and then claim that the whole paradigm is broken because of it. When you're familiar with it I would say you're likely to end up with a more solid/stable result. But I may be biased. :)EDIT: Oh, and more to the original OP question, well, I use Slackware (one of the least hand-holding, most old-fashioned and most stable distributions around), and setting up MySQL involves these steps: - activating it when I install the OS using a menu interface - copy/pasting two commands from /etc/rc.d/rc.mysqld (typical stuff, it's just the database setup step, most distributions probably automate this) - done, provided you don't need to configure anything, otherwise you're ready to start adding users/databasesNetwork stuff is pretty simple, I use iptables for a basic firewall, block all incoming (non loopback/requested and possibly non-local if you want) traffic except on the few ports I want open. Generally for local stuff that means I don't have anything but 80 open to local network machines.EDIT2: It is true that learning to read the documentation is something that will make almost all of your problems solvable without intervention, but there is a large and vibrant Linux community, who are happy to help. Forums, IRC (mostly on freenode), etc. It is worth being aware that they will often be there to help you find the relevant documentation (as it's better to teach a man to fish than give him fish), I think of that as a good thing, and if you can't work something out, they will explain it themselves.EDIT3: Added in reference links

Edited by AElliott
Link to comment
Share on other sites

Well yeah... as a developer, by definition the stuff I want to do is peculiar, so end up needing to compile programs. Besides, you can rarely (if ever) find any Linux binaries around the net (I mean other than those in repositories). Finding source codes is far more common.Newer desktop Linux distributions are indeed graphical, but some server ones are command line only in order to keep the RAM consumption low. And even if graphical, most manuals (AFAIK) deal only with the command line and rarely (if ever) with the GUI equivalents.Apache, PHP and MySQL are indeed available as packages for Ubuntu (and I have no idea if other distributions offer them too... I'd guess yes), but those are still non official compilations (i.e. not by the authors themselves), and only go as updated as the repository managers make it. In other words, it takes some time to update Apache, PHP and MySQL on the repository after the respective app is actually published by the authors. The only way you can immediatly get the latest versions is to get the source and compile it yourself.I'm not saying familiar Windows programs can't possbly run on Linux... I'm saying they don't have Linux versions, and that by default, they don't work. There's a difference.The fact that drivers are "reverse engineered" instead of "created by the manufacturer" makes the whole difference for the drivers in my point of view.I guess it goes down to one simple thing - I don't like "franken" builds of programs, I want to have my programs as their authors intended (being able to alter and recompile them is only a plus), not altered by someone else down the road, and most of all - I'd like to have some kind of assurance that "it will just work" and that if I encounter a problem that is definetly in the program, it would get fixed as soon as the author knows about it. Seeing if it works, and assuming it works doesn't mean it will keep working and it always will. Heck, some programs that are claimed as "stable on Windows" crash sometimes on Windows... then imagine if the OS isn't even accounted for by that same program's authors.

Edited by boen_robot
Link to comment
Share on other sites

I still find it unlikely that you commonly need to find things not included in say the Debian/Ubuntu repositories, most developers probably won't /need/ to, though they might choose to (except of course for the program they're actually developing if that's written in a typically compiled language, or if there's a requirement for a specific version of something - but that's not really anything to do with it being Linux, and more to do with their job).It's becoming more common to find binaries and source, as Ubuntu gains dominance in terms of Linux usage, you're starting to see a lot more .deb packages appear about the place.It's extremely rare for a distro to be GUI-only, in that it forces you to, you can quite often choose not to install X and a desktop environment, or you can usually install one later if you decide you want one later.It would shock me if the entire (L)AMP stack wasn't provided as packages on all of the major distributions around. There are in some cases downstream patches, intended to improve stability, but I would agree that I don't approve. This is one of the reasons I use Slackware as a distribution, as they compile the "vanilla" sources wherever possible, that is, they build it with the source provided, without alteration. You might choose to compile your own if you wanted, but this is as I said fairly trivial, it's not difficult to build your own packages with your own configure flags and most packaging systems streamline this process (check up with your chosen distro's documentation for more information, I don't claim to know how others work, but I know Slackware and Debian derived distros make this easy).More on drivers, is there anything in particular that you've had stability issues with? It's only problem manufacturers which force reverse engineering as I mentioned. All of my hardware (made by folk like Intel, nvidia, Canon etc) have drivers provided by the manufacturer, so that's fairly easy to render moot with a bit of planning.Apache, MySQL and PHP all have Linux very much in mind, it's probably their primary target in development, with Windows as a secondary. If you have an issue, you file a bug report for it, and they get it fixed ASAP.And, you did say in reference to Photoshop "(e.g. Photoshop) don't work on Linux", and I was clarifying that this is only true if you require "work" to be "working natively". Wine has a good track record for stable applications that would normally only work on Windows, so it's definitely worth a try in my view. In my read, I didn't think you were clear on this point (or making it seem like you have to compile most things on most distros, or making it seem like distros regularly don't support a GUI).So, well, I don't think most of your issues are really "Linux" issues, or in some cases still significant barriers to adoption. The issue of downstream patching to give builds that aren't as the software producers intended is a contentious issue, but not all distributions do it. You can find the ones that don't do it.Oh, and before I forget, as to waiting for repos to update to get modern versions in - they're typically very fast where there is a security advisory related to an update. So that's not a reason to avoid them in my view.

Edited by AElliott
Link to comment
Share on other sites

The compromise: turns out you can burn a disc with a DLed disc image from a variety of linux sources and run it right from the disc to try before you buy, as it were. I will do that, and see if I can acclimatise. I have, incidentally, fixed the problems I was having with mysql that started me down this path in the first place, but it can't be a bad thing learning another OS.

Link to comment
Share on other sites

I've got a laptop that came with Linux on it, which works fine, but the only things I've ever installed are the C developer tools, gcc and all that. Also, I did have to research and change various configuration things before the package installer would work, I can't remember specifically what I had to change.For what it's worth, when I wanted to add the PHP Zip extension to a dedicated server online, I was researching and trying things for about 3 or 4 hours trying to figure out how to do it. The main thing I dislike about Linux is the lack of binaries, I mean you think someone would have compiled the Zip extension for Intel Red Hat before, right? And that I could just download the binaries, put them where they need to be, maybe change some config files if necessary, and restart Apache, and there we go, Zip extension installed, right? Oh, no, not at all. After eventually reaching the conclusion that I was going to need to compile this, I started looking into the package manager and repositories and whatever else, and once I finally get it to download the thing and try to compile it then I start getting errors about not being allowed to compile programs in the directory it downloaded to. I was researching that and trying various things before I realized that my boss probably didn't want to pay my daily salary in order to get the Zip extension installed for PHP, so I put a trouble ticket in, told the host to do it, and went about my job. They said they ended up needing to recompile Apache in order to install the Zip extension for PHP.For reference, on Windows that means you 1) find a copy of php_zip.dll, assuming it didn't come in the download package for PHP (which it does), 2) copy it to the extension directory, if it's not already there (which it usually is), 3) edit php.ini to load the DLL, and 4) recycle the application pool in IIS, you don't even need to shut down IIS.I wouldn't exactly consider IIS the paragon of web servers, but if all you're looking for is to get an environment set up to learn PHP and MySQL, you'll probably just want to stick with Windows. If you go with Linux, you're going to end up learning how to use Linux instead of how to use PHP and MySQL. Not necessarily a bad thing, just not sure if that's your goal.Everything you'll find online works perfectly fine with XP, I can't say a lot about Vista because I don't have it installed on anything I use.

Edited by justsomeguy
Link to comment
Share on other sites

I don't use Red Hat, but what most distributions do in terms of extensions, is include all of them, and then just comment out the lines to include them in php.ini except for those they consider default. Typically you just delete one character from php.ini, and reload the server and it works. I don't know your situation, so I'm not saying that was the case, I'm just saying that at the moment that is the normal case for extensions, they are already compiled just not necessarily active.In some circumstances you need to grab a package which then includes that shared library (.so rather than .dll), and then follow those steps, but there shouldn't be necessary compiling. Also 99.99% of the time (made up statistic :)) the package manager will work out of the box.This would've been something (in my opinion) best asked in the official IRC channel for that distribution, they know the ins and outs of each system, and they'll tell you how to get things done the "Red Hat" way etc.Perhaps this is something that's changed since then, I don't know when that was, but I don't know of a modern distribution that doesn't do it the way I've described.

Link to comment
Share on other sites

I reckon it's worth my while messing with something like Ubuntu from the disc...until 2 days ago, I didn't even know what a binary was. And to think we've had computers for about 90% of my life (I mean in my house, not we as in mankind). I have mostly been an oblivious user, able to fix minor errors and comfortable adapting to any GUI, but without knowing any of the behind the scenes stuff. I am now interested in computing in a much deeper way, but a little lost where to start.

Link to comment
Share on other sites

I reckon it's worth my while messing with something like Ubuntu from the disc...until 2 days ago, I didn't even know what a binary was. And to think we've had computers for about 90% of my life (I mean in my house, not we as in mankind). I have mostly been an oblivious user, able to fix minor errors and comfortable adapting to any GUI, but without knowing any of the behind the scenes stuff. I am now interested in computing in a much deeper way, but a little lost where to start.
Learn C :)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...