Congratulations, and welcome to your new Arch Linux system!
Your new Arch Linux base system is now a functional GNU/Linux environment ready for customization. From here, you may build this elegant set of tools into whatever you wish or require for your purposes.
Go ahead and login with the root account, because we will configure pacman and update the system as root.
Familiarize yourself with the packaging system
Pacman is the package manager of Arch Linux. It manages your entire package system and handles installation, removal, package downgrade (through cache), custom compiled package handling, automatic dependency resolution, remote and local searches and much more. Pacman is the Arch user's best friend. It is highly recommended to study and learn how to use it.
A software repository is a storage location from which software packages may be retrieved and installed on a computer. Arch Linux package maintainers (developers and Trusted Users) maintain a number of official repositories containing software packages for essential and popular software, readily accessible via pacman.
For repository selections and pacman options, edit
# nano /etc/pacman.conf
Most people will want to use
If you want to run 32-bit applications on Arch x86_64, enable the
[multilib] repository, as well:
[multilib] Include = /etc/pacman.d/mirrorlist
See Official Repositories for more information, including details about the purpose of each repository.
For software unavailable directly through pacman, see Arch User Repository.
Mirrors are listed in
/etc/pacman.d/mirrorlist, ordered by priority.
- Arch Linux MirrorStatus reports various aspects about the mirrors such as network problems with mirrors, data collection problems, the last time mirrors have been synced, etc.
- Mirrorlist Generator uses the above to automatically sort mirrors by various criteria. Please use HTTP mirrors. They are faster because of something called keepalive. FTP is slower, because it sends out a signal each time pacman downloads a package, resulting in a brief pause. For other ways to generate a mirror list, see Sorting mirrors and Reflector.
Change them to your liking and force pacman to refresh all package lists even if they are considered to be up to date:
# pacman -Syy
Use this whenever a mirror is changed. This is considered to be good practice and will avoid possible headaches.
Update the system
Often the developers will provide important information about required configurations and modifications for known issues. The Arch Linux user is expected to consult these places before performing an upgrade:
- Arch news. If you did not read this before an upgrade and you encounter an error, check the news before you post a question on the forum!
- Announce mailing list.
Sync, refresh the package database, and upgrade your entire system with:
# pacman -Syu
Or, same thing:
# pacman --sync --refresh --sysupgrade
If you are prompted to upgrade pacman itself at this point, respond by pressing Template:Keypress, and then reissue the
pacman -Syu command when finished.
Reboot if thepackage (the Linux kernel) was updated.
Keep in mind that Arch is a rolling release distribution. This means the user doesn't have to reinstall or perform elaborate system rebuilds to upgrade to the newest version. Issuing
pacman -Syu periodically (and noting the above warning) keeps the entire system up-to-date and on the bleeding edge. At the end of this upgrade, the system will be completely current.
After executing the command
pacman -Syu, the entire system will be updated. It is possible to prevent a package from being upgraded. A typical scenario would be a package for which an upgrade may prove problematic for the system.
In this case, there are two options:
- Indicate the package(s) to skip in the pacman command line using the
# pacman -Syu --ignore libass
- Permanently indicate the package(s) to skip in
# nano /etc/pacman.conf
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup IgnorePkg = nvidia libass
Please note that the user is expected to keep the **whole** system up-to-date with
pacman -Syu, rather than selectively upgrading packages. You may diverge from this typical usage as you wish; just be warned that there is a greater chance that things will not work as intended and that it could break your system. The majority of complaints happen when selective upgrading, unusual compilation or improper software installation is performed. Use of
/etc/pacman.conf is therefore discouraged, and should only be used sparingly, if you know what you are doing. Use of
IgnorePkg is analogous to "voiding the warranty".
Add a user
Add a normal user account instead, using one of the two following methods, both creating the user archie as an example:
adduser command will prompt for information interactively:
Login name for new user : archie User ID ('UID') [ defaults to next available ]: Initial group [ users ]: Additional groups (comma separated) : audio,games,lp,optical,power,scanner,storage,video Home directory [ /home/archie ]: Shell [ /bin/bash ]: Expiry date (YYYY-MM-DD) :
As shown in the example, you are advised to enter values only for the Login name and the Additional groups, and leave empty all the other fields.
The list of Additional groups in the example is a typical choice for a desktop system, hence it is recommended especially for beginners:
- audio - for tasks involving sound card and related software.
- games - for write permission for games in the games group.
- lp - for managing printing tasks.
- optical - for managing tasks pertaining to the optical drive(s).
- power - for allowing interactions with power options (e.g. shutdown with power button).
- scanner - for using a scanner.
- storage - for managing storage devices.
- video - for video tasks and hardware acceleration.
For additional information about listed and other groups see User groups.
Now you will be presented with a preview of your new account, and the ability to cancel or continue operations: after pressing Template:Keypress the account will be created, and you will be prompted to enter additional, optional information for the new user (e.g. the full name). After that, you will be asked to enter the password for your account.
# useradd -m -g users -G audio,games,lp,optical,power,scanner,storage,video -s /bin/bash archie
You will have to set a password using
passwd. To enter additional information you can use the
Deleting the user account
In the event of error, or if you wish to delete this user account in favor of a different name or for any other reason, use
# userdel -r [username]
-r option will remove the user's home directory and its content, along with the the user's mail spool.
Read Users and Groups for further information. If you want to change the name of your user or any existing user, consult the Change username page. You may also check the man pages for
Template:Beginners' Guide navigation