Arch Linux is a GNU/Linux distribution that's always in the newest version of software packages, differing it from versionated distributions as Ubuntu and Debian, which updates all package's major/minor only in new releases. Another good point of Arch is that all configurations are the default ones, so you don't get Canonical's or RedHat's opinions in your operating system.
Although, not everything is flowers. Arch's installation isn't graphical, that's why I've created dsome time ago a sequence of commands to help friends to get Arch Linux with GNOME with the setup I consider the best for everyone.
After creating a boot thumb drive and boot it (download in https://www.archlinux.org/download/) just follow the following steps:
WARNING: You need to boot in UEFI mode (disable the CSM mode in your "BIOS" setup)
DISCLAIMER: These commands will erase all your disk contents
## PARTITIONING - ERASE AND SETUP THE DISK FOR INSTALL
> lsblk # will list all your disks
> fdisk /dev/sdX # where X is the disk you want to install on
g<enter>
n<enter>
<enter>
<enter>
+500M<enter> # if it asks something, reply Y
n<enter>
<enter>
<enter>
+60G<enter>
n<enter>
<enter>
<enter>
+2G<enter>
n<enter>
<enter>
<enter>
<enter>
t<enter>
1<enter>
1<enter>
w<enter>
> mkfs.vfat /dev/sdX1
> mkfs.xfs /dev/sdX2
> mkfs.xfs /dev/sdX4
> mount /dev/sdX2 /mnt
> mkdir /mnt/boot
## BASE SYSTEM - INSTALL THE BASE OPERATING SYSTEM
> mount /dev/sdX1 /mnt/boot
> pacstrap /mnt base base-devel
> arch-chroot /mnt
> pacman -S gnome networkmanager sudo vim
> bootctl install
> cp /usr/share/systemd/bootctl/loader.conf /boot/loader/loader.conf
> cp /usr/share/systemd/bootctl/arch.conf /boot/loader/entries/arch.conf
> vi /boot/loader/entries/arch.conf
<esc>:r! blkid /dev/sdX2 # keep "options" like "options root=PARTUUID=xxxxx rw"
<esc>:wq
> vim /etc/locale.gen # uncomment en_US.UTF-8
> locale-gen
> vim /etc/fstab
<esc>:r! blkid /dev/sdX4
# format the text to be like "PARTUUID=xxxxxx /home xfs rw 0 0" (no quotes on PARTUUID)
> exit
> reboot # should restart the computer on the text interface
## FINAL SETTINGS - CONFIGURE AND START THE GRAPHICAL ENVIRONMENT
# login with user "root", without password
> localectl set-locale LANG=en_US.UTF-8
> hostnamectl set-hostname <your-hostname>
> systemctl enable gdm NetworkManager
> useradd -m -G wheel <your-username>
> vim /etc/sudoers # and uncomment wheel permissions
> passwd # set a password for "root" user
> systemctl start gdm NetworkManager
After executing this steps, you should see the GNOME login screen.
There are more useful stuff you will probably want:
> pacman -S gst-plugins-good gst-pugins-bad gst-plugins-ugly gst-libav # various codecs
> pacman -S gnome-tweak-tool # change system themes, font size, etc
> pacman -S gnome-boxes # better than virtual box
INFO: It's possible to add all packages in a single
pacman -S
, you don't need to run every line
Other nice thing on Arch Linux is the Arch User Repository (or AUR). To install a pacman wrapper that also installs packages from AUR (needed for Google Chrome, for example):
> curl -L https://aur.archlinux.org/cgit/aur.git/snapshot/package-query.tar.gz
> curl -L https://aur.archlinux.org/cgit/aur.git/snapshot/yaourt.tar.gz
> tar xvzf package-query
> tar xvzf yaourt
> cd package-query
> makepkg -si
> cd ../yaourt
> makepkg -si
From now you can replace pacman
by yaourt
. To install Google Chrome:
> yaourt -S google-chrome
More useful stuff on AUR:
> yaourt -S wps-office ttf-wps-fonts # a microsoft office compatible clone
> yaourt -S telegram-desktop-bin # telegram desktop client
> yaourt -S tilix # the best terminal application
> yaourt -S zoom # the video conference tool
> yaourt -S nasc-git # text editor like calculator
> yaourt -S watchman # useful for improving webpack file watcher