Linux Distribution Recommendations

From Info Wiki
Revision as of 20:59, 13 November 2016 by Rpeters (talk | contribs) (→‎Specialised Distributions: updated specialised distributions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

For Beginners

Selection

Functionality

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
    • LXQT/LXDE
    • MATE
    • XFCE
    • Enlightenment
  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
    • the derivative GeckoLinux is focused more on desktop/laptop use than servers and might better suit many users
  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 LXQT
  3. Leeenux (minor cost for this distribution)
  4. Puppy
    • limited network security

Support

Support tends to follow one of three differing models:

  • periodic release - major upgrades are typically annual or biannual
    • routine updates provided for about 2 years
  • LTS (long term support)
    • similar to periodic, but with updates for about 5 years
    • the least "bleeding edge" model
    • tends to be used for distributions oriented to commercial use
  • "rolling release"
    • updates provided continually and indefinitely
    • no requirement to ever do a major upgrade

Beginners could consider a LTS distribution, because it requires least intervention

  • many periodic releases have no process to implement an upgrade
    • necessitating complete re-installation at about 2 year intervals

Bandwidth

Installing and maintaining Linux requires a moderate amount of download bandwidth & quota. The following ISP provide unmetered download from their "mirror"

  • iinet & subsidiaries (via the Internode mirror)
  • Optus
  • Telstra

Both installation CD/DVD and routine updates are available from the mirrors. It is essential to use the exact URL for the ISP's mirror

  • in your browser for downloading ISO images of Installation media and
  • in your Update configurations. See the Control Panel in your distribution

The above mirrors have most commonly used distributions available

Distribution Specific Notes

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

Antergos

Antergos is a rolling release, while based on Arch, is well suited to beginners

Mirrors

installer will select mirror.anu.edu.au

  • if not your un-metered mirror then about 1 GB of quota will be used
  • changing mirror after installation requires manual edit of file:

/etc/pacman.d/mirrorlist

    • bring required mirror to top of list
  • minor, metered download still for the Angergos specific packages

openSUSE

Locale
  • essential 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 screen
  • 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), to generally get faster download
    • 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

ROSA

Key feature in this distribution is the tablet/Windows 8 style interface of the ROSA FRESH KDE R7 variant

  • has no local mirrors and will incur significant download quota

For Intermediate Users

for continual upgrade to latest software releases

  1. openSUSE with Tumbleweed repository enabled
    • also feasible to convert an up-to-date, periodic release of 13.2 or Leap to Tumbleweed
    • first read guidelines at en.opensuse.org/Portal:Tumbleweed
      1. update installed product
      2. (optionally) download latest Tumbleweed DVD ISO
        • advisable for laptop/netbook because online conversion would take several hours
      3. (optionally) make bootable ISO on CD/DVD/SD
      4. from the running, updated, already installed, periodic release:
      5. use Yast to change repositories to Tumbleweed equivalent (including DVD, if converting via that medium)
      6. from a console (eg CTL-ALT-F2)
        1. sudo zypper ref (might take several minutes to complete)
        2. sudo zypper dup (might take half-hour to several hours)
          • repeat this command if the upgrade is interrupted, for any reason
  2. Ubuntu with Universe repository enabled
  3. Antergos (an Arch derivative, having GUI)
    • initial install involves up to 1 GB of metered download
    • mirror can be configured after installation and used for all subsequent updates

for fewest upgrades

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

for users having a dearth of download quota, the following mirrors might be unmetered. Check your ISP's terms:

  • mirror.internode.on.net/pub
  • mirror.aarnet.edu.au

for netbooks and low spec hardware

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

Specialised Distributions

backup/migration

  • Clonezilla

utility/recovery CD

  • PartedMagic
    • small fee payable online
  • SystemRescueCD
  • 4MLinux

firewall/gateway/router

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

Home Server

  • 4MLinux
  • IPFire (with addons)
  • openSUSE (minimal text mode installation)
  • Arkos (runs ownCloud on some ARM devices)

Home Entertainment

  • openELEC
  • 4MLinux (for old hardware)

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
    • many emerging derivative distributions having graphical installation plus user interface
      • Manjaro appears to be the most robust
      • Angergos & Bridge also available
      • Arkos (in beta) is promising home server

--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