General troubleshooting
Related articles
This article explains some methods for general troubleshooting. For application specific issues, please reference the particular wiki page for that program.
Contents
Attention to detail
In order to resolve an issue that you are having, it is absolutely crucial to have a firm understanding of how that specific system functions. How it works, and what does it need to run without error? If you cannot comfortably answer these question then it is strongly advised that you review the Archwiki article for the function that you are having troubles with. Once you feel like you've understood the specific system, it will be easier for you to pin-point the problem.
Questions / checklist
The following gives a number of questions for you whenever dealing with a malfunctioning system. Under each question there are notes explaining how you should be answering each question, followed by some light examples on how to easily gather data output and what tools can be used to review logs and the journal.
- What is the issue(s)?
- Be as precise as possible. This will help you not get confused and/or side-tracked when looking up specific information.
- Are there error messages? (if any)
- Copy and paste full outputs that contain error messages related to your issue into a separate file, such as
$HOME/issue.log
. For example, to forward the output of the following mkinitcpio command to$HOME/issue.log
: -
$ mkinitcpio -p linux >> $HOME/issue.log
- Copy and paste full outputs that contain error messages related to your issue into a separate file, such as
- Can you reproduce the issue?
- If so, give exact step-by-step instructions/commands needed to do so.
- When did you first encounter these issues and what was changed between then and when the system was operating without error?
- If it occurred right after an update then, list all packages that were updated. Include version numbers, also, paste the entire update from pacman.log (
/var/log/pacman.log
). Also take note of the statuses of any service(s) needed to support the malfunctioning application(s) using systemd's systemctl tools. For example, to forward the output of the following systemd command to$HOME/issue.log
: -
$ systemctl status dhcpcd@eth0.service >> $HOME/issue.log
- If it occurred right after an update then, list all packages that were updated. Include version numbers, also, paste the entire update from pacman.log (
Be more specific
When attempting to resolve an issue, never approach it as:
Application X does not work.
Instead, look at it in its entirety:
Application X produces Y error(s) when performing Z tasks under conditions A and B.
Additional support
With all the information in front of you. You should have a good idea as to what is going on with the system. And you can now start working on a proper fix.
If you require any additional support, it can be found on the forums or IRC at irc.freenode.net #archlinux
Session permissions
First, make sure you have a valid local session within X:
$ loginctl show-session $XDG_SESSION_ID
This should contain Remote=no
and Active=yes
in the output. If it does not, make sure that X runs on the same tty where the login occurred. This is required in order to preserve the logind session. This is handled by the default /etc/X11/xinit/xserverrc
.
A D-Bus session should also be started along with X. See D-Bus#Starting the user session for more information on this.
Basic polkit actions do not require further set-up. Some polkit actions require further authentication, even with a local session. A polkit authentication agent needs to be running for this to work. See polkit#Authentication agents for more information on this.
Single user mode and friends
If you cannot boot due to errors caused by a daemon, faulty fstab, display manager or Xorg, you may be able to use the single user runlevel to fix your problem. Single user mode drops you into a root shell after booting minimally. Since Arch uses systemd, you do this by appending systemd.unit=rescue.target
to the kernel parameters. If that does not work for whatever reason (e.g. the rescue target depends on a target that fails), you can instantly drop to a root shell by adding init=/bin/sh
to the kernel parameters.
file: could not find any magic files!
Example: After an every-day routine update or following the installation of a package you are given the following error:
# file: could not find any magic files!
This will most likely leave your system crippled. And, any attempts made to recompile/reinstall the package(s) responsible for the breakage will fail. Also, any attempts made to try to rebuild the initramfs will result in the following:
# mkinitcpio -p linux ==> Building image from preset: 'default' -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img file: could not find any magic files! ==> ERROR: invalid kernel specifier: `/boot/vmlinuz-linux' ==> Building image from preset: 'fallback' -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect file: could not find any magic files! @==> ERROR: invalid kernel specifier: `/boot/vmlinuz-linux'
Solution
Typically a previously installed application had placed a configuration file within /etc/ld.so.conf.d/
or it had made changes to /etc/ld.so.conf
which are now invalid.
- Boot into the Arch Linux Live CD / Installation Media.
- Mount your root (
/
) partition to/mnt
and using arch-chroot, chroot into your system.
- Examine
/etc/ld.so.conf
and remove any invalid lines found. - Examine the files located inside the directory
/etc/ld.so.conf.d/
and remove all invalid files. - Rebuild the initramfs.
# mkinitcpio -p linux
- Reboot back to your installed system.
- Once booted, reinstall the package that was responsible for leaving your system inoperable using:
# pacman -S <package>
fuser
fuser is a command-line utility for identifying processes using resources such as files, filesystems and TCP/UDP ports.
fuser is provided by the psmisc package, which should be already installed as part of the base group.
Why I can't write on NTFS partitions?
In clear system you can only read from NTFS file system. If you want to write, install ntfs-3g package.
Spellcheck is marking all of my text as incorrect!
Have you installed an aspell dictionary? Use pacman -Ss aspell
to see available dictionaries for downloading.
If installing the dictionary files did not resolve the problem, it is most likely a problem with enchant
. Check for known dictionary files:
$ aspell dicts
en en_GB ...etc
If your respective language dictionary is listed, add it to /usr/share/enchant/enchant.ordering
. From the above example, it would be:
en_GB:aspell