「一般的なトラブルシューティング」の版間の差分
3行目: | 3行目: | ||
[[en:General troubleshooting]] |
[[en:General troubleshooting]] |
||
[[es:General Troubleshooting]] |
[[es:General Troubleshooting]] |
||
− | {{Related articles start |
+ | {{Related articles start}} |
{{Related|バグ報告ガイドライン}} |
{{Related|バグ報告ガイドライン}} |
||
{{Related3|Step By Step Debugging Guide|ステップバイステップデバッグガイド}} |
{{Related3|Step By Step Debugging Guide|ステップバイステップデバッグガイド}} |
||
15行目: | 15行目: | ||
== 注意事項 == |
== 注意事項 == |
||
− | 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 [[ |
+ | 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. |
== チェックリスト == |
== チェックリスト == |
||
51行目: | 51行目: | ||
== セッションのパーミッション == |
== セッションのパーミッション == |
||
− | {{Note|ローカルセッションを動作させるには init システムとして [[systemd |
+ | {{Note|ローカルセッションを動作させるには init システムとして [[systemd|systemd]] を使う必要があります。systemd は polkit のパーミッションや様々なデバイスの ACL を使うのに必須です ({{ic|/usr/lib/udev/rules.d/70-uaccess.rules}} や [http://enotty.pipebreaker.pl/2012/05/23/linux-automatic-user-acl-management/] を参照)。}} |
まず、X の中に有効なローカルセッションがあることを確認してください: |
まず、X の中に有効なローカルセッションがあることを確認してください: |
||
59行目: | 59行目: | ||
このコマンドの出力に {{ic|1=Remote=no}} と {{ic|1=Active=yes}} が含まれていなければなりません。含まれていない場合は、X がログインを行った tty と同一の tty で動作していることを確認してください。logind セッションを維持するために tty が同一である必要があります。このことはデフォルトの {{ic|/etc/X11/xinit/xserverrc}} によって管理されています。 |
このコマンドの出力に {{ic|1=Remote=no}} と {{ic|1=Active=yes}} が含まれていなければなりません。含まれていない場合は、X がログインを行った tty と同一の tty で動作していることを確認してください。logind セッションを維持するために tty が同一である必要があります。このことはデフォルトの {{ic|/etc/X11/xinit/xserverrc}} によって管理されています。 |
||
− | D-Bus セッションも X と一緒に起動する必要があります。詳しくは [[D-Bus |
+ | D-Bus セッションも X と一緒に起動する必要があります。詳しくは [[D-Bus#ユーザーセッションの起動|D-Bus#ユーザーセッションの起動]] を見て下さい。 |
− | 基本的な [[polkit |
+ | 基本的な [[polkit|polkit]] のアクションはそれ以上の設定を必要としませんが、ローカルセッションだけでなく他の認証を必要とする polkit アクションも存在します。認証するには polkit 認証エージェントを実行する必要があります。詳しくは [[polkit#認証エージェント|polkit#認証エージェント]] を見て下さい。 |
== シングルユーザーモード == |
== シングルユーザーモード == |
2015年1月14日 (水) 13:58時点における版
この記事では一般的なトラブルシューティングの方法を説明しています。特定のアプリケーションの問題については、そのプログラムの wiki ページを参照してください。
目次
注意事項
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.
チェックリスト
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 (
問題の特定
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.
他者のサポート
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
セッションのパーミッション
まず、X の中に有効なローカルセッションがあることを確認してください:
$ loginctl show-session $XDG_SESSION_ID
このコマンドの出力に Remote=no
と Active=yes
が含まれていなければなりません。含まれていない場合は、X がログインを行った tty と同一の tty で動作していることを確認してください。logind セッションを維持するために tty が同一である必要があります。このことはデフォルトの /etc/X11/xinit/xserverrc
によって管理されています。
D-Bus セッションも X と一緒に起動する必要があります。詳しくは D-Bus#ユーザーセッションの起動 を見て下さい。
基本的な polkit のアクションはそれ以上の設定を必要としませんが、ローカルセッションだけでなく他の認証を必要とする polkit アクションも存在します。認証するには polkit 認証エージェントを実行する必要があります。詳しくは polkit#認証エージェント を見て下さい。
シングルユーザーモード
If you cannot boot due to errors caused by a daemon, display manager or Xorg, you may be able use the single user runlevel:
- Boot to single-user mode. For GRUB 2:
- In the GRUB2 boot menu, select the Arch Linux entry, and press
e
to edit it. - Find the kernel line; it will start with
linux /boot/vmlinuz-linux...
- Appending
1
ors
to this line - Press F2 to start the boot process
- In the GRUB2 boot menu, select the Arch Linux entry, and press
- Then disable the systemd service that is causing the problem.
- Change to the multi-user mode systemd target.
- Then try to track down the issue by running the service manually.
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'
解決方法
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>