Difference between revisions of "Arch Linux Install Guide"
Line 222: | Line 222: | ||
'''From the official repos''' | '''From the official repos''' | ||
− | $ pacaur -S gnome-calculator unrar zip evince catfish mlocate | + | $ pacaur -S gnome-calculator unrar zip evince catfish mlocate p7zip keepass bc rsync pkgstats wget conky-manager grsync htop whois gnome-nettool hexchat |
$ pacaur -S shotwell inkscape python2-numpy python-lxml gcolor2 veracrypt dia shutter variety simplescreenrecorder pidgin nmap | $ pacaur -S shotwell inkscape python2-numpy python-lxml gcolor2 veracrypt dia shutter variety simplescreenrecorder pidgin nmap | ||
Line 237: | Line 237: | ||
$ pacaur -S engrampa-thunar | $ pacaur -S engrampa-thunar | ||
− | |||
== Printing == | == Printing == |
Revision as of 21:45, 28 November 2016
Contents
- 1 How to install Arch Linux
- 1.1 Intro
- 1.2 IMPORTANT
- 1.3 Download the latest release
- 1.4 Partition the drive
- 1.5 Format the filesystem
- 1.6 Mount the filesystem
- 1.7 Install the base packages
- 1.8 Generate fstab
- 1.9 Chroot
- 1.10 pacman.conf
- 1.11 Set the Locale
- 1.12 Networking
- 1.13 Configure bootloader
- 1.14 Set root password
- 1.15 Exit chroot, unmount, and reboot
- 1.16 Set hostname
- 1.17 Configure timezone
- 1.18 Video Driver
- 1.19 Install X
- 1.20 Install Desktop Environment
- 1.21 Sound
- 1.22 Create a user and add to groups
- 1.23 Enable wheel group in sudoers file
- 1.24 Reboot and log in as your user and launch XFCE
- 1.25 Install a display manager
- 1.26 Multimedia
- 1.27 First applications
- 1.28 Installing from AUR
- 1.29 Customizing the look
- 1.30 Using NTP
- 1.31 Other Applications and Useful Utilities
- 1.32 Printing
- 1.33 Tweaks
- 2 Really brief instructions
- 3 Acknowledgments
How to install Arch Linux
Intro
I wrote this guide to help me anytime I need to install Arch Linux. This guide is specific to my needs and may not be good for everyone, but can be helpful for those struggling with the Arch Linux install. I prefer XFCE, so that's what the conclusion of this guide will give you.
I've been running Linux off and on since 1998, but I am no expert with it. Arch Linux is my preferred distro, as I like the 'I only get what I want' approach, it runs great on not the most modern of computers, and it is a rolling release.
If you find any errors or would like to make suggestions for my guide, feel free to write me.
IMPORTANT
- I cannot provide any support for those who choose to follow this guide. You will be installing at your own risk.
- This guide is based on installing to a computer running a standard BIOS and not UEFI. Since I recently installed on a computer with UEFI, I will work on a guide specific for that, but for now use the same resource I used, gloriouseggroll [blog] [youtube].
Download the latest release
This guide will be updated to reference any changes in the install procedure.
Currently written for version: 2016.11.01
Download here: https://www.archlinux.org/download/
Partition the drive
# cfdisk
I create 2 partitions. A Swap partition and the rest of the drive dedicated to /.
Important: Make note of your partitions. Based on the way I do it, my / partition will is /dev/sda1 and the swap partition is /dev/sda2. If you do it differently, you will need to adjust the next steps based on what they are.
Format the filesystem
# mkswap /dev/sda2
# swapon /dev/sda2
# mkfs.ext4 /dev/sda1
Mount the filesystem
# mount /dev/sda1 /mnt
Install the base packages
# pacstrap /mnt base base-devel grub-bios
Generate fstab
# genfstab -p /mnt >> /mnt/etc/fstab
Chroot
# arch-chroot /mnt
pacman.conf
# nano /etc/pacman.conf
First, in the # Misc Options section * Uncomment #Color * Add line IloveCandy Then uncomment the Multilib repo
# Misc options #UseSyslog Color ILoveCandy #TotalDownload CheckSpace #VerbosePkgLists
[multilib] Include = /etc/pacman.d/mirrorlist
Set the Locale
# nano /etc/locale.gen
Uncomment your locales. For me, I uncomment en_US.UTF-8 UTF-8
# locale-gen
Networking
# ip link
# systemctl enable dhcpcd@enp2s0.service
Configure bootloader
# grub-mkconfig -o /boot/grub/grub.cfg
# grub-install /dev/sda
Set root password
# passwd
Exit chroot, unmount, and reboot
# exit
# umount /mnt
# reboot
Set hostname
# hostnamectl set-hostname myhostname
Configure timezone
# timedatectl set-timezone America/Chicago
Video Driver
Determine the card type
# lspci | grep VGA
For the system I'm using to generate this guide, I use the intel driver. Use the output from the above command to determine what driver you need.
# pacman -S xf86-video-intel
If you're installing as a guest OS using Virtualbox, use these commands to get video drivers
# pacman -S virtualbox-guest-utils Choose option '2'
Install X
# pacman -S xorg-server xorg-server-utils xorg-xinit xorg-apps
Install Desktop Environment
I prefer XFCE
# pacman -S xfce4 xfce4-goodies gvfs ttf-liberation xdg-user-dirs opendesktop-fonts firefox
Sound
# pacman -S alsa-utils pavucontrol pulseaudio-alsa
Create a user and add to groups
# useradd -m -g users -G video,audio,network,optical,storage,disk,wheel -s /bin/bash username
# chfn username
# passwd username
Enable wheel group in sudoers file
# nano /etc/sudoers
Uncomment this line in that file
## Uncomment to allow members of group wheel to execute any command # %wheel ALL=(ALL) ALL
Reboot and log in as your user and launch XFCE
# reboot
$ startxfce4
Install a display manager
$ yaourt -S lxdm lxdm-themes xorg-server-xephyr accountsservice
$ sudo systemctl enable lxdm.service -f
Modify the config
sudo nano /etc/lxdm/lxdm.conf
LXDM theme location: /usr/share/lxdm/themes/
Multimedia
Codecs
$ sudo pacman -S gst-plugins-base gst-plugins-base-libs gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gstreamer0.10 gstreamer0.10-plugins
Audio Player
$ sudo pacman -S rhythmbox
First applications
$ sudo pacman -S git bash-completion xscreensaver
Installing from AUR
Pacaur
I am currently using pacaur as my main package management tool. Here is how to install it.
First install dependencies Note: sudo should already be installed and configured, if not, add it to the install below.
$ sudo pacman -S expac yajl --noconfirm
Create a temp directory for building the needed packages
$ mkdir ~/temp $ cd ~/temp
Install cower first
$ gpg --recv-keys --keyserver hkp://pgp.mit.edu 1EB2638FF56C0C53 $ curl -o PKGBUILD https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=cower $ makepkg -i PKGBUILD --noconfirm
Now install pacaur
$ curl -o PKGBUILD https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=pacaur $ makepkg -i PKGBUILD --noconfirm
Cleanup and remove the temp directory
$ cd ~ $ rm -r ~/temp
Pamac-aur
This is a nice GUI front end for pacaur that also includes a notification icon
$ pacaur -S pamac-pacaur
Customizing the look
Arch Menu Icons
http://gabriela2400.deviantart.com/art/Arch-Linux-Start-Icons-175557586
Numix Frost Theme
$ gpg --keyserver http://pgp.mit.edu:11371 --recv-keys CDBD406AA1AA7A1D
$ pacaur -S numix-themes
Better Icons
$ pacaur -S oranchelo-icon-theme-git
Mouse theme
$ pacaur -S xcursor-vanilla-dmz
XFCE time display
I like to do a custom format for the date/time display
%a, %h %e %l:%M%p
Using NTP
$ pacaur -S ntp
$ sudo timedatectl set-ntp true
Other Applications and Useful Utilities
From the official repos
$ pacaur -S gnome-calculator unrar zip evince catfish mlocate p7zip keepass bc rsync pkgstats wget conky-manager grsync htop whois gnome-nettool hexchat
$ pacaur -S shotwell inkscape python2-numpy python-lxml gcolor2 veracrypt dia shutter variety simplescreenrecorder pidgin nmap
From the Arch User Repository (AUR)
$ pacaur -S mugshot
$ pacaur -S archlinux-artwork
$ pacaur -S pamac-aur
systemd-manager-git netdata-git gtk-theme-config
$ pacaur -S engrampa-thunar
Printing
$ pacaur -S cups gtk3-print-backends
$ sudo systemctl enable org.cups.cupsd.service
$ sudo systemctl start org.cups.cupsd.service
$ sudo gpasswd -a username sys
Tweaks
Preventing the webcam from becoming the default soundcard
$ sudo nano /etc/modprobe.d/alsa-base.conf
Paste the contents below in to the that file and reboot.
options bt87x index=-2 options cx88_alsa index=-2 options saa7134-alsa index=-2 options snd-atiixp-modem index=-2 options snd-intel8x0m index=-2 options snd-via82xx-modem index=-2 options snd-usb-audio index=-2 options snd-usb-caiaq index=-2 options snd-usb-ua101 index=-2 options snd-usb-us122l index=-2 options snd-usb-usx2y index=-2 # Keep snd-pcsp from being loaded as first soundcard options snd-pcsp index=-2 # Keep snd-usb-audio from beeing loaded as first soundcard options snd-usb-audio index=-2
Really brief instructions
# timedatectl set-ntp true # cfdisk # mkswap /dev/sda2 # swapon /dev/sda2 # mkfs.ext4 /dev/sda1 # mount /dev/sda1 /mnt # pacstrap -i /mnt base # genfstab -U /mnt > /mnt/etc/fstab # arch-chroot /mnt # ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime # nano /etc/locale.gen # locale-gen # echo LANG=en_US.UTF-8 > /etc/locale.conf # echo LC_COLLATE=en_US.UTF_8 >> /etc/locale.conf # pacman -S grub os-prober # grub-install --recheck /dev/sda # grub-mkconfig -o /boot/grub/grub.cfg # passwd # exit # umount /mnt # reboot # ip link # systemctl enable dhcpcd@interface_name.service # systemctl start dhcpcd@interface_name.service
Acknowledgments
- This guide is derived form numerous resources on the net, most from the Arch Linux Wiki itself
- DBirks - for suggestions made to my pacaur installation section