Linux General FAQ

Discussion in 'Linux, BSD and Other OS's' started by Anti-Trend, Oct 6, 2005.

Thread Status:
Not open for further replies.
  1. Anti-Trend

    Anti-Trend Nonconformist Geek

    Likes Received:
    118
    Trophy Points:
    63
    "Linux... That's that DOS-like OS with no graphical interface, Right?"
    Nope. Linux is a modern, modular, UNIX-like operating system. Since UNIX systems were traditionally utilized via CLI (command line interface), Linux often is perceived to be a non-graphical operating system. It is true that, like UNIX, Linux does have an extremely powerful CLI from which virtually every system function can be carried out. So, you could do everything you needed to do from the CLI, even surf the Internet if you wanted to. But while Linux certainly can be used in such a fashion (which does have its uses - think servers), it is most commonly operated by a GUI (graphical user interface) similar to those found on Windows or Mac OS. In fact with Mac OS or Windows you are limited to only one GUI, you have no choice in the matter. With Linux however, you have your choice from literally dozens of user interfaces, each with their own strengths. The two most popular GUIs for Linux are KDE and Gnome, both of which are quite attractive-looking and packed full of useful features. There are also others which are lighter such as Xfce, Fluxbox, IceWM, and WindowMaker. While they sacrifice some features for their light weight and speed, the payoff is more than worth it on older hardware which would run a heavier interface such as KDE poorly or not at all.

    For reference, check out some screenshots of my KDE desktop. KDE is a very customizable interface, so if you don't like the way I have mine customized, don't fret -- you can configure yours to look and feel however you like!

    "Is Linux faster than Windows... say 98SE or XP?"
    Your question is more complicated than it seems. Windows is is more or less the way it is; there is very little flexibility, so its speed is determined by the raw power of the system on which it runs. Linux is a very modular operating system, so a large portion of its components are optional. As a result, it can be fine tuned, scaled down to run on very poor hardware, or scaled up to run on a 64-processor, 64GB-RAM behemoth. In other words, Linux can and will most likely be faster and generally perform better than any version of Windows, and it can potentially be slower as well, depending on how it's configured. Most mainstream Linux distributions perform better than Windows right out of the box, but it doesn't take much work to get even more performance out of them. All versions of Linux, in any configuration, handle multitasking much better than Windows. Linux also doesn't slow down over time, like Windows is known to do. It is also worth mentioning that using Samba, Linux performs about 250% better for Windows File & Print sharing than Windows itself could on the same hardware. That really says something about Linux's performance!

    "Can Windows programs run on Linux?"
    Yes and no. Linux is a very different system than Windows, so evidently Windows software is written quite differently than Linux software. They are not compatible by default unless specifically written in a cross-platform API, like JAVA or python. With WINE however, an API compatibility layer is provided to make programs 'think' they're running on Windows. This works with varying levels of success. Some programs work perfectly, some barely, some not at all. Cedega is a commercial version of WINE which specifically provides compatibility for games. Check out their massive supported game library. Still, the best way to run programs in Linux is when they're written for Linux in the first place. This isn't much of a problem though, because for instance Mandriva alone ships with more than 2,000 individual programs included.

    "Can I run DOS programs under LINUX?"
    LINUX contains a highly advanced DOS emulator. It will run almost any 16-bit or 32-bit DOS application. It runs a great number of 32-bit DOS games as well. The DOS emulator package for LINUX is called dosemu. It typically runs applications much faster than does normal DOS because of Linux's faster file system access and system calls. It can run in an X window just like a DOS window [would run] under Windows.*

    "Is there as much a variety of programs as Windows on Linux?"
    Like I mentioned above, there are tons. Not as many as on Windows, but a surprising amount. There are programs for every purpose, including games, multimedia and office software. And many programs you may be used to in Windows, like Mozilla Firefox, have Linux versions also. Until recently, the only program that existed in Windows that Linux had no equivalent for was Outlook's built-in network calendering software. Now though, the folks at Mozilla.org are working on Mozilla Sunbird, an open-source, cross-platform calendering program. There are also various other programs along these lines, such as KDE's 'Kontact'.

    "I have heard that LINUX does not suffer from virus attacks. Is it true that there is no threat of viruses with UNIX systems?"
    A virus is a program that replicates itself by modifying the system on which it runs. It may do other damage. Viruses are small programs that exploit social engineering, logistics, and the inherent flexibility of a computer system to do undesirable things. Because a UNIX system does not allow this kind of flexibility in the first place, there is categorically no such thing as a virus for it. For example, UNIX inherently restricts access to files outside the user's privilege space, so a virus would have nothing to infect. However, although LINUX cannot itself execute a virus, it may be able to pass on a virus meant for a Windows machine should a LINUX machine act as a mail or file server. To avoid this problem, numerous virus detection programs for LINUX are now becoming available. It's what is meant by virus-software-for-LINUX. On the other hand, conditions sometimes allow an intelligent hacker to target a machine and eventually gain access. The hacker may also mechanically try to attack a large number of machines by using custom programs. The hacker may go one step further to cause those machines that are compromised to begin executing those same programs. At some point, this crosses the definition of what is called a "worm." A worm is a thwarting of security that exploits the same security hole recursively through a network. At some point in the future, a large number of users may be using the same proprietary desktop application that has some security vulnerability in it. If this were to support a virus, it would only be able to damage the user's restricted space, but then it would be the application that is insecure, not LINUX per se. Remember also that with LINUX, a sufficient understanding of the system makes it possible to easily detect and repair the corruption, without have to do anything drastic, like reinstalling or buying expensive virus detection software.*

    See these two threads for another perspective on the matter.

    "Isn't UNIX antiquated? Isn't its security model outdated?"
    The principles underlying OS development have not changed since the concept of an OS was invented some 40+ years ago. It is really academia that develops the theoretical models for computer science--industry only implements these. There are a great many theoretical paradigms of operating system that vary in complexity and practicality. Of the popular server operating systems, UNIX certainly has the most versatile, flexible, and applicable security model and file system structure.*

    "If Linux is good and as easy to use as Windows, why isn't it bundled with the computer systems on store shelves?"
    Another deceptively complicated question, but a good one. Most hardware vendors, for instance HP and Dell, have very restrictive business deals which prohibit them from pre-installing Linux on their hardware in many circumstances. If they work closely with MS, they get the carrot (hint: $$$). If they install a competitor's OS on their hardware, they get the stick (no soup for you!).† However, some larger companies realize that there is a profit to be made on Linux also, so they are beginning to sell Linux-preinstalled PCs and laptops. For instance, Walmart and HP both have inexpensive Linux PCs and Laptops for sale now. And Dell is making tons of money selling servers with Linux preinstalled.

    "What makes Linux so much 'better' than Windows?"
    Here's a non-comprehensive list off the top of my head:
    • It's free as in "free lunch" -- the code is licensed so that it can be sold, but it must also be given away. That means companies can be capitalistic with it, yet it must always be freely available.
    • It's free as in "free speech" -- the source code can never be locked up and hidden away by any one company or individual, which guarantees both its continued growth and its free availability.
    • It's based on the UNIX design, which was originated by forward-thinking computer scientists, not a single company or individual. It has avoided many of the pitfalls of the popular OS while natively offering functionality unheard of in non-UNIX-like OSes.
    • It's flexible. Linux can handle everything from computing complex scientific algorithms in vast clusters to playing games and listening to music, or powering GPS features on a pocket-watch. Literally.
    • Scalability. Linux can easily be scaled down to run on a PDA, or scaled up to run on a supercomputer.
    • Stability. Linux's modular nature means that even if there is a problem with one part of the OS, it's not going to drag the whole system down with it. It also doesn't need to be rebooted unless you replace the actual kernel (the central-most part of an OS).
    • Security. Linux's default user privilege separation puts the defacto OS to shame. This means better security, better portability, easy backups of data, more privacy, and yet a very unrestricted feel for unprivileged users. Best of all, this means no viruses or other malware.
    • Industry backing. Linux is backed by some of the biggest players in the industry, including IBM, HP and Novell.
    • Linux is not tied to any one company. Due to the licensing, no matter what happens, no particular company or group can decide the fate or direction of Linux.
    • Rocks as a server -- Linux can do more with less. In fact, using Samba, Linux is actually 250% faster at, get this, Windows File and Print Sharing than an actual Windows server on the same hardware. Yes, really.
    • Memory management. Even wonder why when you listen to an audio CD in Windows, your HDD activity indicator is spiked? It shouldn't be, that's a design flaw in Windows' memory management. In fact no matter how much RAM you have, Windows will always lean heavily on virtual memory, also known as the swap file. Remember, "free RAM is wasted RAM". This slows your system and wears out the moving parts in your HDD. Linux on the other hand, uses all of the memory available to it, and it never swaps unless it is absolutely necessary to do so.
    • Contiguous journalized filesystems -- Linux gives you the choice of several fast, contiguous, journalized filesystems. That means that Linux can handle hard power-offs and adverse conditions (such as failing hardware) many times better than the popular OS without losing your data, and that it never requires defragmentation. In fact, the more you use a proper journalized filesystem, the less fragmented it becomes.
    • Choice of multiple GUIs -- Linux is not tied to any single graphical user interface, or 'GUI'. That means not only can you choose the one that suits you best from a long list of candidates (or swap between several), you can forgo the GUI altogether and do everything from the command line interface, or 'CLI'. That may not be appealing option from a desktop perspective, but there is no compelling reason for a dedicated server to waste resources on a GUI when nobody will be sitting in front of it.
    • Network portability -- Linux is capable of of remote use and administration that is every bit as powerful as sitting right in front of the remote machine, and it does this more securely than the badly implemented and barely usable remote administration mechanisms of the popular OS. In fact, Linux/UNIX is capable of easily and securely running remote applications natively in your GUI (i.e. ones that are installed on another computer, not on your own) -- even whole login sessions, should you desire. Just take a look at this screenshot; the window on the left is running from my wife's PC over our LAN, the window on the right is running from my own PC.
    • Tabs, multiple desktops, multiple concurrent sessions... very, very productive environment.

    Check out this article for more info on the subject.

    "Which is Better, Linux or BSD?"
    This is a subject of much debate and many flame-sessions on countless forums and mailing lists. So, I will try and be as objective as possible in presenting my opinions on the matter. Here is a list of the things I prefer about each operating system:

    Reasons I like Linux better than BSD:
    • Generally speaking, Linux can implement BSD code while BSD cannot implement Linux code (see BSD License Vs. GPL).
    • Linux has many fast, mature, enterprise-grade journalized filesystems such as XFS, JFS, Reiser and EXT3. BSD currently has no functional journalled filesystem.
    • Linux has superior threading.
    • SMP scalability is more mature.
    • Much faster development cycle in Linux.
    • Robust and powerful software RAID functionality.
    • Pagination only - Unlike BSD, no need to defragment memory and kernel patches can be applied without rebooting.
    • Proc directory lets you talk directly to the kernel.
    • Even well-tested and polished enterprise-grade distros are more current than the BSDs a good portion of the time.
    • Better and more complete hardware support.
    • Much easier to manage in the long-term, including unattended updating
    • Faster performance in many cases.
    • ALSA.
    • Massive vendor & support diversity.
    • Makes a better desktop.
    • GPL guarantees both the free nature of the code and a solid inflow of contribution to worthwhile/marketable code.
    • I can in good conscience recommend many Linux distros to complete n00bs
    • Good balance between relevance and stability.
    • SELinux.

    Reasons I like FreeBSD better than Linux:
    • Mostly flat config files.
    • PF Firewall is much easier to use than IPTables.
    • Code base is usually more polished, though not so much since version 5.
    • Faster performance in a few cases.
    • BSD license is more vendor-friendly to closed-source advocates.
    • Small yet dedicated core community with high technical competence and similar vision.
    • Stability and security over features, speed and ease of use.
    • More UNIX-like than most Linux distros.
    • Easier migration from a traditional UNIX platform.
    • More portability between UNICES.

    All that being said, I prefer Linux for most things but it is really a matter of personal preference. Linux usually takes much less work to get to the point of being 100% setup and self-maintaining, although both platforms are excellent and have massive uptimes. I am glad both platforms exists and that each license is open and yet vastly different in scope and purpose. Each has their place, or neither would exist.

    * From Rute User's Tutorial and Exposition (Version 1.0.0) by Paul Sheer
    See this arcticle for reference.
     
    Impotence, Someone28624 and Matt555 like this.
  2. Anti-Trend

    Anti-Trend Nonconformist Geek

    Likes Received:
    118
    Trophy Points:
    63
    "I'm installing Linux, which filesystem should I choose?"
    That depends on what you're going to be doing with the system, and how important the data is to you. For fairly modern desktop systems (~500MHz or better), I recommend the XFS filesystem for best performance. For older systems, I recommend ext3 or JFS for best performance. It's worth mentioning that Ext3 is a solid, well-tested filesystem with a lot of backwards compatibility. But I don't suggest using it on a system where speed is of key importance. ReiserFS was showing some promise, but the creator is quite eccentric and his latest exploits have spelled serious trouble for the future of ReiserFS. I'd avoid it, as XFS is a better choice for modern systems anyway. For laptop machines or those on less than trustworthy hardware, I would use the ext3 filesystem for best recoverability.

    Notes: If data integrity is your primary concern, go with Ext3. It's the toughest filesystem I'm aware of.

    Special note to GRUB users: You cannot currently boot directly to an XFS filesystem with GRUB; you may want to create a separate ext2 or Ext3-formatted /boot partition to overcome this limitation. Or, you could use LILO instead.

    "How many partitions should I be using for my new desktop Linux installation?"
    For a beginner's desktop, I generally recommend 3 partitions:
    1. / -- AKA the root filesystem. This is where your operating system, programs and global settings go. Make sure this is large enough to hold your OS, and in addition any software you'd like to install system-wide!
    2. swap -- Linux will need this, though don't expect it to be used often if you're not seriously low on RAM. It can be quite small, but some people recommend giving it 2x the amount of your system RAM. I would say that with 1GB of RAM or more, giving swap an equal amount to your RAM would be more than enough under most circumstances. On my workstation with 8gb of RAM, I only use a 1gb swap partition.
    3. /home -- Where your user-specific settings and documents go. This is where you keep your stuff, so it should be scaled appropriately for your lifestyle.

    I suggest having at least a separate /home partition, since that makes it extremely easy to make backups of your critical data. If you get bored with your existing Linux distro, you can even reformat your / (root) partition and install a new one, leaving your /home intact.
     
Thread Status:
Not open for further replies.

Share This Page