Linux Distribution Recommendations: Difference between revisions

From Info Wiki
Jump to navigationJump to search
(→‎For Geeks: summary of Arch Linux)
(→‎Specialised Distributions: updated specialised distributions)
 
(22 intermediate revisions by the same user not shown)
Line 2: Line 2:


=== Selection ===
=== Selection ===

==== Functionality ====

One size does not fil all. Some key differentiators to evaluate include:
One size does not fil all. Some key differentiators to evaluate include:
#the functionality/style of "Control Panel" and that is best asssesed by trying various live CD from the suggestions below
#the functionality/style of "Control Panel" and that is best asssesed by trying various live CD from the suggestions below
Line 8: Line 11:
#*KDE
#*KDE
#*Gnome
#*Gnome
#*LXDE
#*LXQT/LXDE
#*MATE
#*XFCE
#*Enlightenment
#Applications
#Applications
#*this should not be a "show-stopper"
#*this should not be a "show-stopper"
Line 18: Line 24:
#Linux Mint
#Linux Mint
#openSUSE
#openSUSE
#*the derivative GeckoLinux is focused more on desktop/laptop use than servers and might better suit many users
#Ubuntu
#Ubuntu


Line 28: Line 35:
for netbooks and low spec hardware
for netbooks and low spec hardware
#Peppermint
#Peppermint
#PC Linux OS LXDE
#PC Linux OS LXQT
#Leeenux (minor cost for this distribution)
#Puppy
#Puppy
#*limited network security
#*limited network security


==== Support ====
for PCUG members having a dearth of download quota, the following are unmetered download from TIP
Support tends to follow one of three differing models:
#Ubuntu
*periodic release - major upgrades are typically annual or biannual
#*an Ubuntu download should be redirected automatically to TIP server - but check your usage stats before & after
**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 ===
=== Distribution Specific Notes ===
All distributions have some "quirks" which might not be covered in installation & usage guides
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:
<nowiki>/etc/pacman.d/mirrorlist</nowiki>
**bring required mirror to top of list
*minor, metered download still for the Angergos specific packages

==== openSUSE====
==== openSUSE====


===== Locale =====
===== Locale =====


*essentilal that this be set '''correctly''' at installation stage
*essential that this be set '''correctly''' at installation stage
*correct settings for Australia are UK language plus US keyboard
*correct settings for Australia are UK language plus US keyboard
*#first select via F2 on the opening installation screen
*#first select via F2 on the opening installation screen
*#verify & correct if necessary on final pre-installation summary scrreen
*#verify & correct if necessary on final pre-installation summary screen
*following installation go to Start->System Settings->locale
*following installation go to Start->System Settings->locale
*#set to Australia and language EN-GB
*#set to Australia and language EN-GB
Line 54: Line 95:
*has hundreds of online repositiories
*has hundreds of online repositiories
**only "installation media", update, oss and non-oss are set by default
**only "installation media", update, oss and non-oss are set by default
**change last three to local mirrors (preferably unmetered)
**change last three to local mirrors (preferably unmetered), to generally get faster download
**additional repositories should not be required by beginners
**additional repositories should not be required by beginners
**any that are set require a higher priority '''(lower number)''' than the defaults
**any that are set require a higher priority '''(lower number)''' than the defaults
Line 61: Line 102:


*several of the printer setup routines are '''broken'''
*several of the printer setup routines are '''broken'''
*http://localhost:631 in a browser gives the most reliable for initial;y setting up each printer
*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
**printers must be powered up and connected to the local PC or network
**root password is required
**root password is required
*Start->System->Configuration->Print Settings provides good control of parameters '''after''' initial setup
*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 Intermediate Users ==
Line 71: Line 114:
for continual upgrade to latest software releases
for continual upgrade to latest software releases
#openSUSE with Tumbleweed repository enabled
#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
#*#update installed product
#*#(optionally) download '''latest''' Tumbleweed DVD ISO
#*#*advisable for laptop/netbook because online conversion would take several hours
#*#(optionally) make bootable ISO on CD/DVD/SD
#*#from the '''running''', updated, already installed, periodic release:
#*#use Yast to change repositories to Tumbleweed equivalent (including DVD, if converting via that medium)
#*#from a '''console''' (eg CTL-ALT-F2)
#*##sudo zypper ref (might take several minutes to complete)
#*##sudo zypper dup (might take half-hour to several hours)
#*##*repeat this command if the upgrade is interrupted, for any reason
#Ubuntu with Universe repository enabled
#Ubuntu with Universe repository enabled
#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
for fewest upgrades
#Ubuntu (& derivatives) based on Long Term Support (LTS) core
#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
for users having a dearth of download quota, the following mirrors might be unmetered. Check your ISP's terms:

#Ubuntu
*mirror.internode.on.net/pub
#Debian
*mirror.aarnet.edu.au
#*an Ubuntu/Debian download should be redirected automatically to TIP server - but check your usage stats before & after


for netbooks and low spec hardware
for netbooks and low spec hardware
#4MLinux
#Peppermint
#Peppermint
#PC Linux OS LXDE
#PC Linux OS LXDE
Line 90: Line 149:
=== Specialised Distributions ===
=== Specialised Distributions ===


backup/migration
utility CD
*Clonezilla
#PartedMagic

#SystemRescueCD
utility/recovery CD
*PartedMagic
**small fee payable online
*SystemRescueCD
*4MLinux


firewall/gateway/router
firewall/gateway/router
*IPFire
#Smoothwall Express
**only one supporting ARM-based hardware
#IPFire
#IPCop no longer recommended
*IPCop no longer recommended
#*release 1.4.x is stable, but no longer maintained
**release 1.4.x is stable, but no longer maintained
#*release 2.x less reliable
**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 ==
== For Geeks ==
Line 119: Line 194:
'''Disadvantages'''
'''Disadvantages'''
*requires much additional, manual setup
*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


--[[User:Rpeters|Rod]] 13:59, 19 August 2012 (EST)
==== Basic Installation ====
==== 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


--[[User:Rpeters|Rpeters]] 13:59, 19 August 2012 (EST)
[[Category:Technical Info]]
[[Category:Technical Info]]
[[Category:Recommendations]]
[[Category:Recommendations]]

Latest revision as of 20:59, 13 November 2016

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