Linux Distribution Recommendations

From Info Wiki
Jump to navigationJump to search

For Beginners

Selection

One size does not fil all. Some key differentiators to evaluate include:

  1. the functionality/style of "Control Panel" and that is best asssesed by trying various live CD from the suggestions below
  2. look-and-feel of the various Desktop enviroments
    • Unity
    • KDE
    • Gnome
    • LXDE
  3. Applications
    • this should not be a "show-stopper"
    • whilst > 700 MB won't fit on a CD, most Distributions have large, on-line repositories from which many applications can be installed quite simply

Suggestions from PCUG's Linux SIG depend on perspective:

for best support from the SIG

  1. Linux Mint
  2. openSUSE
  3. Ubuntu

for Windows/MacOS like experience

  1. KDE variants of the above

uncomplicated/mobile computing

  1. Peppermint

for netbooks and low spec hardware

  1. Peppermint
  2. PC Linux OS LXDE
  3. Puppy
    • limited network security

for PCUG members having a dearth of download quota, the following are unmetered download from TIP

  1. Ubuntu
    • an Ubuntu download should be redirected automatically to TIP server - but check your usage stats before & after


Distribution Specific Notes

All distributions have some "quirks" which might not be covered in installation & usage guides

openSUSE

Locale
  • essentilal that this be set correctly at installation stage
  • correct settings for Australia are UK language plus US keyboard
    1. first select via F2 on the opening installation screen
    2. verify & correct if necessary on final pre-installation summary scrreen
  • following installation go to Start->System Settings->locale
    1. set to Australia and language EN-GB
Repositoiries

openSUSE handles differently from many other Linuxes

  • has hundreds of online repositiories
    • only "installation media", update, oss and non-oss are set by default
    • change last three to local mirrors (preferably unmetered)
    • additional repositories should not be required by beginners
    • any that are set require a higher priority (lower number) than the defaults
Printer Setup
  • several of the printer setup routines are broken
  • http://localhost:631 in a browser gives the most reliable for initialy setting up each printer
    • printers must be powered up and connected to the local PC or network
    • root password is required
  • Start->System->Configuration->Print Settings provides good control of parameters after initial setup

For Intermediate Users

for continual upgrade to latest software releases

  1. openSUSE with Tumbleweed repository enabled
  2. Ubuntu with Universe repository enabled

for fewest upgrades

  1. Ubuntu (& derivatives) based on Long Term Support (LTS) core

for PCUG members having a dearth of download quota, the following are unmetered download from TIP

  1. Ubuntu
  2. Debian
    • an Ubuntu/Debian download should be redirected automatically to TIP server - but check your usage stats before & after

for netbooks and low spec hardware

  1. Peppermint
  2. PC Linux OS LXDE
  3. the new razorqt desktop
    • www.qtdesktop.org
    • available for most major distributions

Specialised Distributions

utility CD

  1. PartedMagic
    • small fee payable online
  2. SystemRescueCD

firewall/gateway/router

  1. Smoothwall Express
  2. IPFire
    • only one supporting ARM-based hardware
  3. IPCop no longer recommended
    • release 1.4.x is stable, but no longer maintained
    • release 2.x less reliable

For Geeks

the following are generally regarded as not suited to beginners.

  1. Arch
  2. Gentoo
  3. Slackware


Arch Linux

Advantages

  • continuously updated
  • robust
  • tailerable to compact installations
  • usable on low-end hardware
  • supports many ARM based devices

Disadvantages

  • requires much additional, manual setup

--Rod 13:59, 19 August 2012 (EST)

Basic Installation

First select the swap partition, sda5 (say). If you are using an SSD and have sufficient RAM, consider doing without a swap partition:

# mkswap /dev/sda5
# swapon /dev/sda5

Then you will need to format the root partition, which (say) is sda7, using (say) the ext4 filesystem:

# mkfs -t ext4 /dev/sda7

If you are uncomfortable with using command-line disk partitioning and formatting tools, it's best if you prepare your disk using external tools like gparted. But once you have prepared a root partition for Arch Linux, mount it on /mnt:

# mount /dev/sda7 /mnt

If you want to have separate partitions for /home and /boot, mount them as well in appropriate directories such as to /mnt/home, and /mnt/boot. (Use mkdir /mnt/home, mkdir /mnt/boot first)

Configuring the network shouldn't be an issue if your network has a router that hands out IP address via DHCP, as the Arch install CD has a DHCP service already enabled. If you don't use DHCP, you'll have to manually setup an IP address. Arch can assist you with various tools, such as netctl and wifi-menu to setup the Wi-Fi network. (Again start with https://wiki.archlinux.org/index.php/Beginners_Guide).

Now edit the file that lists Arch mirrors to select a preferred mirror for downloading packages:

# nano /etc/pacman.d/mirrorlist

Copy your preferred mirrors (eg iinet or internode) to the top of this file to ensure they are searched first (they have "free" arch mirrors for their customers).

The main packages can be viewed in /etc/pacman.conf, which is where you can add special ones if required. For example, add the following lines to this file if you want to use a zfs file system:

# zfs

[demz-repo-core] SigLevel = Optional TrustAll #Required Server = http://demizerone.com/$repo/$arch


When you're done, use Arch's pacstrap script to download and install the core packages:

# pacstrap /mnt base base-devel

Once the core packages have been downloaded generate an fstab file to define how the storage devices will be mounted:

# genfstab -U -p /mnt >> /mnt/etc/fstab

You'll now have to chroot into the installed base to configure the other components of the Arch installation. Arch Linux wraps the standard chroot command inside a custom script called arch-chroot.

# arch-chroot /mnt

Congratulations, you're now inside your new Arch installation. You'll now set your hostname by placing it in the /etc/hostname file.

# echo yourchoice > /etc/hostname

Also symlink /etc/localtime to your timezone listed under /usr/share/zoneinfo, such as:

# ln -s /usr/share/zoneinfo/Australia/Canberra /etc/localtime

Then open the /etc/locale.gen file and uncomment the locale you wish to use, such as en_AU.UTF8 UTF8. A locale defines a user's language, country and other related parameters. Then run locale-gen to set it up.

# echo LANG=en_AU.UTF-8 > /etc/locale.conf
# locale-gen

Now you'll need to set the keyboard mapping with:

# localectl set-keymap us

The default is "us" anyway so this can be skipped in Australia.

You'll now have to create an initial ramdisk environment, which will load kernel modules and set up the environment before handing over the control of the initiation process. Arch uses the mkinitcpio script for this purpose. Experienced users would want to edit the /etc/mkinitcpio.conf file before creating the ram disk with:

# mkinitcpio -p linux

But you can skip this step if you accept the default.


The last step in setting up our basic Arch system is installing and configuring a bootloader. Arch supports the grub and syslinux bootloaders. In this example, we'll set up the lightweight syslinux bootloader, but you can setup grub by following instructions that can be found on the Arch wiki https://wiki.archlinux.org/index.php/Beginners_Guide.

First, grab the syslinux bootloader as well as the gptfdisk package to modify our GUID Partiton Table with:

# pacman -S syslinux gptfdisk

Then install the bootloader and mark the Arch partition as bootable with:

# syslinux-install_update -i -a -m

Finally, edit the /boot/syslinux/syslinux.cfg file to point to the Arch Linux partition (Here /dev/sda5. The cfg file sets it typically to /dev/sda3 so it is important to check this.

Before you log out of the chroot environment don't forget to set a password for the root user with passwd.

# passwd

<enter passwd (twice)>

Press Ctrl+D (or enter exit) to exit the chroot environment and unmount the Arch partition with umount -R /mnt. That's the end of the install process. You can now restart your computer and boot into your shiny new Arch installation.

If you have a wired ethernet connection (see the wiki for wireless) it may be necessary to set it up again using the following:

# ip link

Shows the ethernet link name. SystemD shows this as "enp3s0" on my system rather than "eth0".

# ip addr

Shows ip address assigned (in case you are interested).

Enable this:

# systemctl enable dhcpcd@enp3s0.service

This only has to be done the first time you start up the new system. Start it up.

# dhcpcd

See the wiki for a more detailed description of this process. To test that you are talking to the outside world, try:

# ping 8.8.8.8 (a Google DNS)

You should get a response if all goes well.


Post install customisations

Arch uses the systemd system and service manager. So it's a good idea to spend some time learning the basics of the systemctl command, which interacts with systemd. (It is not all that complicated. You do not need many of its options at this stage).

The installed base system only has a CLI. For graphics, install the base Xorg packages:

# pacman -S xorg-server xorg-server-utils xorg-xinit

(optionally) Install mesa for 3D support:

# pacman -S mesa

Before you can install a desktop environment you will need to install drivers for your video hardware. If you do not know which video chipset is available on your machine, run:

# lspci | grep VGA

Use pacman to search for a list of open source video drivers in Arch's repos with:

# pacman -Ss xf86-video | less

And install the one that matches your hardware. If appropriate, you can download and install a proprietary Nvidia driver with:

# pacman -S nvidia

You can then use pacman and begin to install components such as your preferred desktop environment, an office suite and a web browser etc. Do a google search starting with "arch" for availability/instructions

You can also set up a user with the useradd command:

# useradd -m -g users -G wheel -s /bin/bash myusername

(the wheel group membership facilitates using sudo).

Installing a fully featured desktop environment like kde will then provide most of what you need immediately to start up your desktop (kde-workspace installs its preferred login/display manager: kdm):

# pacman -S kde-base kde-workspace

(More recently the kde references have been replaced by the group name kde).


Restart the system. You should now be able to boot into your new system.

To boot into your desktop environment automatically see https://wiki.archlinux.org/index.php/Display_Manager#Loading_the_display_manager.


If you've chosen a display manager, say gdm then the following will set it up:

# sudo systemctl enable gdm

Otherwise reboot, login to the CLI and look for commands beginning with start....

Note on systemctl The manual is probably the best place to start, but another few useful associated uses are:

# sudo systemctl disable gdm  (if you want to subsequently enable say kdm)
# sudo systemctl restart sshd   (to restart ssh after configuration change)
#  journalctl   (to access runtime journal)


Getting a Working Desktop

Key functions not installed in the base installation include:

  • password manager (almost essential for KDE)
  • printing