# Arch Linux

I use Arch Linux (or the spinoff ARM version) on practically all my machines.
### Download 

You can [download Arch here](https://www.archlinux.org/download/)

### Basic commands and usage 
Before going through the install guide you really should know these.

Lower/upper case is important in linux.

You can use arrow keys to navigate through your previous commands.

CTRL+ALT+F1-F12 - key combination for switching between terminals

cd DIRECTORY - for example cd /home/baf/Downloads - chooses directory

nano FILE - edit a text file

CTRL + C - break from a command, for example a ping

lsblk - lists all your drives and their partitions.

elinks - tool you can use to view webpages from the CLI

irssi - IRC in the CLI in case you get lost, #archlinux on Libera should help you out if you ask nicely.

### Installing GPU proprietary drivers 
#### Nvidia 
**_sudo nano /etc/pacman.conf_** - uncomment _[multilib]_ and the line below it. This is required for 32bit applications.

**_sudo pacman -Syu_** - synchronize the repository databases and update the system's packages

**sudo pacman -S nvidia nvidia-libgl lib32-nvidia-libgl nvidia-settings**

**reboot**

#### AMD 
Do not use Catalyst. If you think you have to, rather get another GPU.

Table of hardware with needed drivers is [here](https://wiki.archlinux.org/index.php/Xorg#Driver_installation).

### Installing packages from AUR 
You can download user created PKGBUILDs from the [AUR.](https://wiki.archlinux.org/index.php/Arch_User_Repository)

### Package managers 
#### Pacman 
Usage: `tldr pacman` + the rest of this page:

-S has a useful \-\-ignore _packagename_ flag, which lets you ignore a broken package when doing a full update for example. Use multiple times when you want to avoid installing more packages.
 There's also a \-\-noconfirm flag, which ignores confirmation of actions.

**pacman -Qm** - List packages installed locally.(that includes AUR)

You can get to the package cache via this command **cd /var/cache/pacman/pkg/** and then use **pacman -U _packagename_** to downgrade/reinstall a package.