A /g/uide to GNU/Linux Version 1.1 1. 2. 3. 4. 5. 6. 7. 8. What is GNU/Linux Is GNU/Linux right for you? Which Distribution Should I Choose? Getting Started The Package Manager The Terminal Giving Back Troubleshooting/miscellaneous 1. What is GNU/Linux? The term 'GNU/Linux' is used in several different ways. Linux used as the name of a kernel initially written and still maintained by Linus Torvalds. It's also used as a general term for operating systems that use the Linux kernel and the GNU userspace, although there are operating systems that use GNU without Linux and Linux without GNU. So it is important to address what operating system you are using with the correct name. Most operating system distributions based on Linux as kernel are basically modified versions of the GNU operating system. Richard Stallman began developing GNU in 1984, years before Linus Torvalds started to write his kernel. His goal was to develop a complete free operating system. Of course, he did not develop all the parts ourselves—but he led the way. He developed most of the central components, forming the largest single contribution to the whole system. The basic vision was his too. In fairness, he and his effort ought to get at least equal mention. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux”, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux. Many users do not understand the difference between the kernel, which is Linux, and the whole system, which they also call “Linux”. The ambiguous use of the name doesn't help people understand. These users often think that Linus Torvalds developed the whole operating system in 1991, with a bit of help. Programmers generally know that Linux is a kernel. But since they have generally heard the whole system called “Linux” as well, they often envisage a history that would justify naming the whole system after the kernel. For example, many believe that once Linus Torvalds finished writing Linux, the kernel, its users looked around for other free software to go with it, and found that (for no particular reason) most everything necessary to make a Unix-like system was already available. Although the developers of Linux, the kernel, are contributing to the free software community, many of them do not care about freedom. People who think the whole system is Linux tend to get confused and assign to those developers a role in the history of our community which they did not actually play. Then they give inordinate weight to those developers' views. Calling the system GNU/Linux recognizes the role that our idealism played in building our community, and helps the public recognize the practical importance of these ideals. Enough about the name, what is GNU/Linux? GNU/Linux is a Unix-like operating system that consists primarily or completely of Free and Open Source Software(also known as FOSS). Unix-like means that it follows the same design principles as the UNIX operating system that was developed by Bell Labs. To grossly oversimplify it, the main idea is that everything is a file. Other operating systems following this design include FreeBSD, Solaris, Mac OS X, HP-UX, and AIX. Free and Open Source Software means two things: It is free to be distributed, and the source code is available for any developers to modify and redistribute. This allows for easier cooperation between different projects, prevents vendor lock-in, and allows developers with differing viewpoints to fork without losing compatibility with each other. Finally, there is a very important point to note for Windows users. GNU/Linux is NOT Windows. Many things function in a different way because Linux is not designed to be a Windows substitute. Projects of that nature exist in the form of FreeDOS and ReactOS 2. Is GNU/Linux Right for You? While GNU/Linux is a great solution for many people, some can't make the transition at this time and that is fine. Jumping into GNU/Linux when it's not the right fit for you can leave you hostile towards GNU/Linux, so only make the switch if you are willing. If you fall somewhere in between, Wubi or a virtual machine might be an option(for more details, see the Installation/miscellaneous section). Reasons why you may have a problem transitioning to GNU/Linux: • You play high-end PC games on a regular basis • You need to use specific program(s) for work, school, or personal usage that do not have a viable GNU/Linux alternative • You don't have the time to learn or troubleshoot a new system • • • • Your primary computer is shared or used for critical work Your hardware is currently unsupported or requires too much configuration for your time or level of experience You like to pirate software You hate freedom Reasons to choose GNU/Linux: • Most Linux distributions have native package managers, which make installation, removal, and upgrading of software easy and secure • A wide collection of desktop environments and window managers are available to choose from • GNU/Linux is easy to customize to fit your individual needs • You want an operating system that consists of free and open source software • You like to learn new things • You have an interest in programming and like the availability of source code in the tools you use daily • You like to have control over your operating system, and you like to be free. • You don't like to pirate software GNU/Linux is about control over your system and freedom, not "I WANT TO POINT AND CLICK!". If you like to be unfree, in both freedom and control, the distro for you would be called Windows, and all you need to do to have it is give away your freedom, your brain, and your wallet, to Microsoft. 3. Which Distribution Should I Choose? Word of advice: There really is no best distribution. There are only different distributions for different needs. Like with any tool, sometimes you need a complicated one, sometimes one that is simple as fuck. Sometimes you want or need to build your system from ground up, other times you would prefer a complete one. It happens just so, however, that among certain circles on the internet, your reputation is proportional to the amount of time spent setting your system up. The open nature of GNU/Linux has led to a myriad of different variations to choose from. However, the variety of choices can be quite daunting for new users. This guide will provide a brief overview of the most popular distributions(also called 'distros' by many GNU/Linux users). You can find more information at their respective websites, www.distrowatch.org , or use an interactive chooser at http://www.zegeniestudios.net/ldc/ or http://polishlinux.org/choose/quiz/. Notes on terms: -Rolling release: software in the repositories is upgraded to newer versions on a regular basis, meaning there are no explicitly defined versions of the distribution. This keeps the user up to date, but there is a larger risk of breaking the system. -Point release: software in the repositories is only upgraded for bug fixes and security patches, with some newer software being available through backporting. This has an advantage of further testing for stability, but leaves the software dated. -LiveCD/LiveDVD/LiveUSB: An operating system that can be booted directly from a CD, DVD, or USB. This requires no configuration or installation, and is very helpful for system recovery or testing your hardware. These discs typically allow for installation to a hard drive as well. Name: Ubuntu Difficulty: Very Beginner LiveCD: Yes Release Model: Point; every 6 months, extended support release every 2 years Name: OpenSuSE Description: A Debian-based distribution developedDifficulty: Beginner and supported by Canonical which aims to provide LiveCD: Yes a simple, easy to use, operating system. Most new Release Model: Point; One to two releases per year New GNU/Linux users usually start with Ubuntu at Description: A distribution by Novell that aims to first, before moving on to serious distributions, in provide the user with an easy install and the order to get things done. Also called: GNU/Linux centralized graphical setup tools of YaST. Makes with training wheels. no clear differentiation between propietary and free Related Distros: Debian, Mint software, and therefore is to be criticized by any freedom lover. Name: Mint Related Distros: SuSE Linux. PCLinuxOS, Difficulty: Ultimate Beginner OpenSuSE LiveCD: Yes Release Model: Point ; correlated with Ubuntu Name: Fedora releases Difficulty: Intermediate Description: An Ubuntu-based distribution aimed at LiveCD: Yes making codecs more easily available and providing Release Model: Point; about every 6 months the user with eye candy. An overly simplified Description: A community driven distribution Ubuntu, and not recommended for anyone wanting based on Red Hat that aims to be on the leading to learn something about GNU/Linux, as edge. Generally is the most up to date point release everything is already preconfigured. This distribution due to its leading nature. Often will distribution has made it clear in the past, that it have features before any other distro has them. supports Islam and dislikes the international Related Distros: RHEL, OpenSuSE, PCLinuxOS, jewdom. Therefore, it is the jewhaters distro of Mandriva choice, and because of its simplicity to the point of mindnumbing stupidity perfect for any racist troglodyte. Name: Puppy Related Distros: Ubuntu, Debian Difficulty: Beginner LiveCD: Yes Name: Mandriva Release Model: Point; about every year for new Difficulty: Beginner versions LiveCD: Yes Description: Puppy is excellent for a very Release Model: Point; about every 6 months lightweight GNU/Linux install, as it comes with Description: A distribution backed by the French practically everything one would need. A very Mandriva company that aims to be easy to use. small and sleek GNU/Linux distribution, to be used Derived from Red Hat GNU/Linux. Generally a purely as a LiveCD. Has the special ability to burn little behind in updates, just like Ubuntu. its session data to the media it is stored on, for Incorporates a central setup tool, like its brother continuous computing between shutdowns. Perfect OpenSuSE. Uses KDE as its standard desktop for people with no/broken harddisks. environment. Related Distros: Related Distros: PCLinuxOS, Fedora, OpenSuSE Name: Debian Difficulty: Intermediate LiveCD: Yes Release Model: Point release about every 2 years; Rolling release of unstable branch Description: A community driven distribution that provides a stable experience of supports for many different architectures. Also renowned for it's dedication to free software. Related Distros: Ubuntu, Mint, MEPIS Name: Arch Difficulty: Intermediate LiveCD: No Release Model: Rolling Description: A user-centric distribution that aims to give users up-to-date software and easily control their system. Users of this distribution usually are a bit more “edgy” and “hip” than those of any other. Related Distros: Frugalware Name: Gentoo Difficulty: Expert Name: Slackware LiveCD: Yes Difficulty: Advanced Release Model: Rolling LiveCD: No Description: A distribution aimed at giving the user Release Model: Point; One to two releases per year convenient tools to have complete control of their Description: One of the earliest distributions, aims system to optimize it as they see fit. Usually the to be simple in design and Unix-like. As a main fastest, but also the most complicated to maintain feature, it does not incorporate any package and keep stable of all distros. manager, the user has to hunt for the dependencies Related Distros: Sabayon him/herself. Related Distros: Zenwalk, SLAX 4. Getting Started If you've already decided that you want to try GNU/Linux and have decided which distribution is the best fit for you, the next step is installation. Mainstream distros have installation discs that can be bought or downloaded for free. You will typically have a choice of a direct download from the distros or a bittorrent download. There will often be a range of installation media to choose from, varying from a very small image for a network based install to a robust set of repositories spanning several DVDs. Make sure you select the proper disc for download. If you are running Windows on the computer you will install GNU/Linux on and intend to keep it(which is advised for new GNU/Linux users), it's a good idea to defragment your hard drive to make partitioning easier. There are also LiveCDs that may be a better choice for users who want a casual introduction to GNU/Linux without serious risks. If you encounter any problems, see the troubleshooting section or your distro's documentation • Download the disc image • Burn the image to a physical disc • Place disc in tray and reboot • Follow installation instructions and consult your distro's documentation (for advanced help with partitioning, see troubleshooting) • • Reboot your computer when installation is complete Choose GNU/Linux in the bootloader 5. The Package Manager One major difference with GNU/Linux distributions is that they almost all have a centralized package manager. Many package managers handle dependencies to ensure you have everything you need to run a program. Most of the time, if a program is available in the package manager, it will be the simplest solution, although you can do it yourself if you have advanced needs. Depending on your needs, many distros have both graphical and command line prompts, so choose the best option for you. 6. The Terminal One thing that often discourages new GNU/Linux users is being instructed to type a command. It is for many a realm of the unknown, which can be discomforting. While they are a useful tool, The purpose of this section is to give the user a basic understanding of how terminal commands work. Lets say there's a command called 'foo'. The first thing you will likely want to do is enter the following command: man [here command itself] So, for example if you want to know about the super-user authorization command, su: man su This will bring up the handbook pages, containing a description of the syntax and options. Commands will typically consist of three things, the program name, flags, and files. Here's an example with the copy command, cp. cp -u folder/files/file1 folder/backups/backup1 In this example, 'cp' is the command, '-u' is a flag, and 'folder/files/file1' is the source file, and 'folder/backup/backup1' is the target file. The source file will be copied to the location of the target file. '-u' is a flag for update and will only replace the target file if the source file is newer. The key to effective usage of the terminal is not in memorization of all the commands and flags, but rather in seeing the patterns and grasping the underlying concepts. Another important thing to note is the commands needed to perform administrative tasks. They are su and sudo. su will ask you for your password and give your root privileges(root is another word for the administrator) for subsequent commands. sudo will give you root privileges for a single command and prompt you to enter your password. It is advised that you use root privileges only when needed, as you can harm your computer through irresponsible use of root. 7. Giving Back If you've found that you've enjoy GNU/Linux and free software, there are several ways to give back to help improve GNU/Linux. You can donate to or buy support from one of your favorite projects, you can report bugs, try out beta versions of software, and offer suggestions. You can give technical support and guidance to others, seed torrents of free software, and share free software with our friends. If you have the necessary skills, you can contribute code or help in translation to other languages. 8. Troubleshooting/Miscellaneous Installation If your computer starts as normal after inserting the installation disc, your BIOS may not be set to boot from a CD/DVD. Press F2(the key or key combination may be slightly different for your computer, so if the specific key doesn't appear onscreen during startup, check for further details of your manufacturer and model) at startup to access the BIOS. Navigate through the menus and set your CD/DVD drive in a higher priority than your hard drive. Wubi Wubi allows you to install Ubuntu within a Windows partition. It makes installation somewhat safer to your Windows partition, but has a set of peculiarities, the most noticeable being that performance degrades if the Windows install is fragmented or full. Additionally, if your Windows partition fails, your Ubuntu is lost as well. Virtual Machines This is a viable option for those who are interested but can't risk compromising a critical system. It has the drawbacks of reduced performance and additional strain on system resources, although the installation process is generally simpler since there are limited amounts of hardware being emulated. VirtualBox and VMware are both well supported VMs. Unetbootin/LiveCDs LiveCDs allow you to boot Linux without installing anything. Knoppix is one of the most popular and robust LiveCDs, although many installation discs also function as LiveCDs. There are also LiveCDs for specific tasks such as music (dyne:bolic) and science (Quantian). A program called Unetbootin allows users to make LiveUSBs from many popular distros. Macs The installation process is somewhat different on Macs. You can use Boot Camp on an Intel Mac, and there is documentation of the specifics on the internet. If you have a PPC Mac, you will need to use different installation media. Debian, Yellow Dog Linux, and Fedora all have support for PPC. Windows Solutions Many Linux users may find themselves still in need of Windows-only software. There are various solutions with different strengths and weaknesses. Dual Booting Leaving a Windows install on the same hard drive is a common solution and fairly easy to set up. The biggest advantage is that all of your Windows applications will still run, but you will need to reboot to use them. You can also install Windows on a computer with Linux already installed, but this tends to cause complications with the bootloader(Windows installation will overwrite the Master Boot Record). During the installation process, options for partitioning will come up. Shrink the Windows partition, and create partition(s) for GNU/Linux is the freed space(If you don't know what you need, two partitions, one for the root directory and a smaller on for swap space would be a safe bet). Most distributions should either load GRUB or LILO automatically after installation is completed. Most distros have NTFS-3G installed by default, but if it isn't you should be able to get it through your package manager or build from source For Windows to access your Linux files, you will need to download Ext2IFS. If this solutions sounds difficult for you but you would still like to dual boot, the above Wubi solution may be a good option for you. WINE/CrossOver/Cedega WINE is an ongoing project to allow Windows programs to run on GNU/Linux via a compatibility layer. This lets you run apps without restarting and minimal overhead. Because this project involves reverse engineering, applications work to varying degrees(some work with comparable performance to Windows, some work significantly worse, and some don't functional completely or at all). Two commercial variants exist, one specifically for gaming, called Cedega, and another called CrossOver has a stable version targeted at office users and a more experimental build aimed at gaming. Crossover contributes their code back towards WINE while Cedega does not and does not use code since WINE changed to the LGPL. You can check an applications compatibility at the WINE AppDB Virtual Machines Allows you to run an operating system inside a window. It's more reliable than WINE and doesn't require rebooting, but it does take additional resources and hardware acceleration is not fully supported Additionally, installation media is required. Popular virtualization software includes VirtualBox (freely available in most repositories) and various products by VMware. 64-bit vs. 32-bit Many distros offer the choice of an install based on the x86_64 architecture in addition to the x86 architecture. If you are using an x86_64 processor(Anything currently offered by AMD and Intel that isn't on netbooks should be x86_64), then running a 64-bit release. x86_64 offers support for more RAM, some architectural improvements, and increased performance in some applications. Because of the free and open nature of GNU/Linux, most of the software has been ported to x86_64 and many other architectures, and 32-bit software can run with the appropriate libraries, although there may be certain obstacles. Proprietary software, such as Java, Flash, and certain hardware drivers were once a serious obstacle to x86_64 adoption, but Java has been ported, and a FOSS version exists. An alpha release of Adobe Flash 10 for x86_64 exists and is available here. Regarding hardware drivers, testing with a LiveCD is generally a good idea for finding out if your hardware is supported. Problem Solving If you need help for a specific problem, you should do the following steps in order 1. RTFM Many problems have solutions easily available to you through man pages or in the release notes of the distro or application's release notes or FAQ/Help section. If the help here is over your head, you should seek help elsewhere. 2. Google it. Using a search engine will often return a relevant answer. Good terms to include in your search are “GNU/Linux”, your distros name, and the application or hardware that is giving you trouble. 3. Go to the forums Try going to your distro's or program's forums for help. These forums are designed for help, and if you can show that you've made an earnest effort on your own, they will typically be helpful. Asking smart questions will prove generally prove more fruitful in getting a helpful reply, so reading (or at least skimming Eric S. Raymond's How To Ask Questions The Smart Way is highly advised. 4. Ask a friend If you have friends that use GNU/Linux or friends that are generally computer literate, they are a good resource for assistance. They will have patience with you, and can help you in a more direct way. 5. Linux User Groups These are groups of Linux users that gather on some kind of regular basis. They can be helpful to new users, but they meet on their time instead of yours and the nearest LUG may be too far away. You can find a LUG here. Based on the Linux /g/uide by King Neckbeard. Last modified December 19, 2009 Maintained by I'M GAY!NOHOMO7yCo and librenet. Send revisions, suggestion, questions, and complaints to
[email protected] along with how you would like to be accredited. This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.