A /g/uide to GNU/Linux
Version 1.1
1. What is GNU/Linux
2. Is GNU/Linux right for you?
3. Which Distribution Should I Choose?
4. Getting Started
5. The Package Manager
6. The Terminal
7. Giving Back
8. 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, [Link] , or use an interactive chooser at
[Link] or [Link]
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 Name: Arch
LiveCD: Yes Difficulty: Intermediate
Release Model: Point release about every 2 years; LiveCD: No
Rolling release of unstable branch Release Model: Rolling
Description: A community driven distribution that Description: A user-centric distribution that aims to
provides a stable experience of supports for many give users up-to-date software and easily control
different architectures. Also renowned for it's their system. Users of this distribution usually are a
dedication to free software. bit more “edgy” and “hip” than those of any other.
Related Distros: Ubuntu, Mint, MEPIS 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 internetpraesident@[Link] 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 [Link] or send a letter to
Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.