Difference between revisions of "Beginners' Guide/Post-Installation"

From ArchWiki
Jump to: navigation, search
(Check the network: There is only netinstall now. If network is not ok. Installation can not be done. So when a user reached here, the network must be ok.)
(39 intermediate revisions by 10 users not shown)
Line 1: Line 1:
#REDIRECT [[Beginners' Guide/Installation]]
[[Category:Getting and installing Arch]]
[[Category:About Arch]]
[[es:Beginners' Guide/Post-Installation]]
[[hr:Beginners' Guide/Post-Installation]]
[[hu:Beginners' Guide/Post-Installation]]
[[it:Beginners' Guide/Post-Installation]]
[[ko:Beginners' Guide/Post-Installation]]
[[nl:Beginners' Guide/Post-Installatie]]
[[ru:Beginners' Guide/Post-Installation]]
[[sr:Beginners' Guide/Post-Installation]]
[[zh-CN:Beginners' Guide/Post-Installation]]
{{Tip|This is part of a multi-page article for The Beginners' Guide. '''[[Beginners' Guide|Click here]]''' if you would rather read the guide in its entirety.}}
{{Article summary start}}
{{Article summary text|This section will cover various must-do procedures after installation such as updating your new system and adding a regular, non-root user.}}
{{Article summary end}}
'''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.
Login with the root account. We will configure pacman and update the system as root.
{{Note|Virtual consoles 1-6 are available. You may switch between them with {{Keypress|Alt+F1...F6}}}}
====Update, Sync, and Upgrade the system with pacman====
Now we will update the system using [[pacman]]. Pacman is the '''pac'''kage '''man'''ager 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 will now be used to download software packages from remote repositories and install them onto your system.
====Get familiar with pacman====
Pacman is the Arch user's best friend. It is highly recommended to study and learn how to use the '''pacman''' tool. Try:
{{bc|$ man pacman}}
{{Tip|If you find the lines of text to be too long and going all the way across your screen, you can export the {{ic|$MANWIDTH}} environment variable: {{bc|1=# export MANWIDTH=80}}}}
For more information, have a look at the [[pacman]] wiki entry at your own leisure, or check out the [[pacman rosetta]] entry for a comparison to other popular package managers.
To make any changes to your repository selections or pacman options, edit {{ic|/etc/pacman.conf}}.
Repositories are described below; enable all desired repositories by removing the # in front of the 'Include =' and '[repository]' lines.
{{Note|<nowiki>When choosing repos, be sure to uncomment both the repository header lines in [brackets] as well as the 'Include =' lines. Failure to do so will result in the selected repository being omitted! This is a very common error.</nowiki>}}
=====Package Repositories=====
A [[Wikipedia:software repository|software repository]] is a storage location from which software packages may be retrieved and installed on a computer. Arch Linux [[Package Maintainer|package maintainers]] (developers and [[Trusted Users]]) maintain a number of official repositories containing software packages for essential and popular software, readily accessible via [[pacman]]. This article outlines those officially-supported repositories. See [[Official Repositories]] for more information including details about the purpose of each repository.
Most people will want to use [core], [extra] and [community]. If you want to run 32-bit applications on Arch x86_64, enable the [multilib] repository by adding the lines below to {{ic|/etc/pacman.conf}}:
Include = /etc/pacman.d/mirrorlist
The '''[[Arch User Repository]]''' (AUR) holds the [community] and [unsupported] branches. Unlike the other branches, [unsupported] contains no binary packages and cannot (by design) be accessed directly by pacman. This branch is a collection of [[PKGBUILD]] bash scripts written by Arch users to build packages from source using the [[Arch Build System]]. Software in [unsupported] is generally not available in the other branches. When an [unsupported] package acquires enough popular votes, it may be moved to the [community] binary repository if one of the [[Trusted Users]] is willing to adopt and maintain it there.
{{Note|There are a number of pacman wrappers ('''[[AUR Helpers]]''') available that provide seamless access to the AUR.}}
Same Arch packages are stored on multiple servers across the world. Selected mirrors are listed in {{Ic|/etc/pacman.d/mirrorlist}}, ordered by priority. Initially {{Ic|/etc/pacman.d/mirrorlist}} contains list of all known mirrors, some of which should be enabled to proceed any further.
{{Note|If your installation medium is old, your mirrorlist might be outdated, which might lead to problems when updating Arch Linux with pacman (see {{Bug|22510}}). Therefore it is advised to obtain the latest mirror information as described below.}}
=====Choosing up-to-date mirrors=====
[https://archlinux.org/mirrors/status/ 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. [https://archlinux.org/mirrorlist/ Mirrorlist Generator] uses this information to automatically rank mirrors close to your location by how up-to-date they are. Generated list can be simply inserted in {{Ic|/etc/pacman.d/mirrorlist}}. You obviously can uncomment other mirrors based on your own guesses (remove the '#' in front of entry to uncomment it).
=====Using faster mirrors=====
To sort mirrors in the mirror list by speed one may use [[Mirrors#List by speed|rankmirrors]]. {{ic|rankmirrors}} is a bash script which will attempt to detect uncommented mirrors specified in {{ic|/etc/pacman.d/mirrorlist}} which are closest to the installation machine based on latency. Faster mirrors will dramatically improve pacman performance, and the overall Arch Linux experience. This script may be run periodically, especially if the chosen mirrors provide inconsistent throughput and/or updates. Note that {{ic|rankmirrors}} does not test for throughput. Tools such as {{ic|wget}} or {{ic|rsync}} may be used to effectively test for mirror throughput after a new {{ic|/etc/pacman.d/mirrorlist}} has been generated.
{{ic|cd}} to the {{ic|/etc/pacman.d/}} directory:
{{bc|# cd /etc/pacman.d}}
Backup the existing {{ic|/etc/pacman.d/mirrorlist}}:
{{bc|# cp mirrorlist mirrorlist.backup}}
Edit {{ic|/etc/pacman.d/mirrorlist.backup}} and uncomment mirrors for testing with {{ic|rankmirrors}}.
Optionally run the following {{Ic|sed}} line to uncomment every mirror:
# sed '/^#\S/ s|#||' -i /etc/pacman.d/mirrorlist.backup
Run the script against the mirrorlist.backup with the {{Ic|-n}} switch and redirect output to a new {{Ic|/etc/pacman.d/mirrorlist}} file:
{{bc|# rankmirrors -n 6 mirrorlist.backup > mirrorlist}}
{{Note|{{ic|-n 6}} will rank the 6 closest mirrors}}
{{Tip|For a script that automates the process of getting and installing a {{ic|mirrorlist}} file from the Pacman Mirrorlist Generator, see [[Mirrors#Script to automate use of Pacman Mirrorlist Generator|Mirrors]].}}
=====Refreshing mirror list=====
Force pacman to refresh all package lists with the new mirrorlist in place:
{{bc|# pacman -Syy}}
Passing two {{ic|--refresh}} or {{ic|-y}} flags forces pacman to refresh all package lists even if they are considered to be up to date. Issuing {{ic|pacman -Syy}} ''whenever a mirror is changed'', is good practice and will avoid possible headaches.
{{Note|1=Some issues have been reported in the [https://bbs.archlinux.org/ Arch Linux forums] regarding network problems that prevent pacman from updating/synchronizing repositories (see [https://bbs.archlinux.org/viewtopic.php?id=68944] and [https://bbs.archlinux.org/viewtopic.php?id=65728]). When installing Arch natively, these issues have been resolved by replacing the default pacman file downloader with an alternative (see [[Improve Pacman Performance]] for more details). When installing Arch as a guest OS in [[VirtualBox]], this issue has also been addressed by using "Host interface" instead of "NAT" in the machine properties.}}
==== Initialize package verification ====
To initialize the verification of signatures of the packages, you can [[http://www.archlinux.org/news/having-pacman-verify-packages/ follow the steps below]]. See [[Pacman-key]] for more information.
{{bc|$ pacman-key --init}}
To generate the master-key, [[Pacman-key#Initializing_the_keyring|entropy is needed]]. You should press random keys on your keyboard, move your mouse around, or switch to another console and run e.g. {{ic|ls -R /}}. After this command completes, run the following command to setup the keys. Take time to verify the [https://www.archlinux.org/master-keys/ Master Signing Keys] when prompted as these are used to co-sign (and therefore trust) all other packager's keys.
{{bc|$ pacman-key --populate archlinux}}
====Update the System====
{{Warning|1=System updates should be performed with care. It is very important to read and understand [https://bbs.archlinux.org/viewtopic.php?id=57205 this] before proceeding.}}
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:
* [https://archlinux.org/news/ Arch news]. For examples, as of 16 April, 2012, the following two news items are required reading:
** https://archlinux.org/news/initscripts-update-manual-intervention-required/
** https://archlinux.org/news/filesystem-upgrade-manual-intervention-required/
* [https://archlinux.org/pipermail/arch-announce/ Announce mailing list].
{{Note|If you are using the old core release (2011.08.19), you can find instructions [http://allanmcrae.com/2012/07/updating-arch-linux-from-a-core-install/ here] on how to correctly update your system.}}
Sync, refresh, and upgrade your entire new system with:
{{bc|# pacman -Syu}}
{{bc|# pacman --sync --refresh --sysupgrade}}
Pacman will now download a fresh copy of the master package list from the server(s) defined in {{ic|/etc/pacman.conf}} and perform all available upgrades. You may be prompted to upgrade pacman itself at this point. If so, respond by entering yes, and then reissue the {{ic|pacman -Syu}} command when finished.
Reboot if a kernel upgrade has occurred.
{{Note|Occasionally, configuration changes may take place requiring user action during an update; read pacman's output for any pertinent information. See [[Pacnew and Pacsave Files]] for more details.}}
Pacman output is saved in {{ic|/var/log/pacman.log}}.
See [[FAQ#Package Management|Package Management FAQ]] for answers to frequently asked questions regarding updating and managing your packages.
=====Ignoring Packages=====
After executing the command {{ic|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 {{ic|--ignore}} switch ({{ic|pacman -S --help}} for details) or permanently indicate the package(s) to skip in the {{ic|/etc/pacman.conf}} file in the {{ic|IgnorePkg}} array. For more information, please see the [[pacman]] wiki entry.
Please note that the power user is expected to keep the **whole** system up-to-date with {{ic|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 {{ic|IgnorePkg}} in {{ic|/etc/pacman.conf}} is therefore discouraged, and should only be used sparingly, if you know what you are doing. Use of {{ic|IgnorePkg}} is analogous to "voiding the warranty".
=====The Arch rolling release model=====
Keep in mind that Arch is a '''rolling release''' distribution. This means the user is not required to reinstall or perform elaborate system rebuilds to upgrade to the newest version. Issuing {{ic|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. Remember to '''reboot''' if a kernel upgrade has occurred.
===Adding a User===
{{Warning|Linux is a multi-user environment. You should not perform everyday tasks using the root account, it is very poor practice and extremely dangerous: the root account should be used for administrative tasks only.}}
Add a normal user account instead, using one of the two following methods, both creating the user ''archie'' as an example:
====Interactive method====
{{bc|# adduser}}
You will be asked to enter some information in an interactive way:
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 [[Groups#User groups]].
Now you will be presented with a preview of your new account, and the ability to cancel or continue operations: after pressing {{Keypress|Enter}} 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.
====Non-interactive method====
{{bc|# useradd -m -g users -G audio,games,log,lp,optical,power,scanner,storage,video,wheel -s /bin/bash archie}}
You will have to set a password using {{ic|passwd}}. To enter additional information you can use the {{ic|chfn}} command.
====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 {{ic|userdel}}:
{{bc|# userdel -r [username]}}
The {{ic|-r}} option will remove the user's home directory and its content, along with the the user's mail spool.
====More information====
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 {{ic|usermod(8)}} and {{ic|gpasswd(8)}}.<noinclude>
{{Beginners' Guide navigation}}</noinclude>

Revision as of 13:25, 2 October 2012