「システムメンテナンス」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(1版 をインポートしました)
15行目: 15行目:
 
$ systemctl --failed
 
$ systemctl --failed
   
詳しくは [[Systemd#システムの状態を分析する|systemd#システムの状態を分析する]] を参照。
+
詳しくは [[Systemd#システムの状態を分析する]] を参照。
   
 
=== ログファイル ===
 
=== ログファイル ===
29行目: 29行目:
 
# journalctl -p 0..3 -xn
 
# journalctl -p 0..3 -xn
   
詳しくは [[Systemd#Journal|systemd#Journal]] を見て下さい。
+
詳しくは [[Systemd#Journal]] を見て下さい。
   
 
== パッケージ関連の作業 ==
 
== パッケージ関連の作業 ==
37行目: 37行目:
 
最新のバグフィックスとセキュリティアップグレードを享受するために、また、一度に多数のパッケージの更新に対処することに迫られないように、最低でも一週間ごとくらいに、定期的なフルシステムアップグレードを行うことを推奨します。
 
最新のバグフィックスとセキュリティアップグレードを享受するために、また、一度に多数のパッケージの更新に対処することに迫られないように、最低でも一週間ごとくらいに、定期的なフルシステムアップグレードを行うことを推奨します。
   
稀に [[SysVinit|SysV]] から [[systemd|systemd]] への移行のようなクリティカルな変更が Arch Linux に起こることがあります: このようなケースではコミュニティの人々が同時に対処するのが重要になります。問題が起こった時にドキュメントやヘルプを見つけやすくなるからです。
+
稀に [[SysVinit|SysV]] から [[systemd]] への移行のようなクリティカルな変更が Arch Linux に起こることがあります: このようなケースではコミュニティの人々が同時に対処するのが重要になります。問題が起こった時にドキュメントやヘルプを見つけやすくなるからです。
   
詳しくは [[Pacman#パッケージのアップグレード|pacman#パッケージのアップグレード]] を参照。
+
詳しくは [[Pacman#パッケージのアップグレード]] を参照。
   
[[AUR|AUR]] からパッケージをインストールしている場合は、注意してアップグレードを行なって下さい。
+
[[AUR]] からパッケージをインストールしている場合は、注意してアップグレードを行なって下さい。
   
{{Note|システムのアップデートに関するベストプラクティスは[[Enhancing Arch Linux Stability#システムをアップグレードする前に読むもの|システムの安定化#システムをアップグレードする前に]]の記事に載っています。}}
+
{{Note|システムのアップデートに関するベストプラクティスは [[Arch Linux の安定化#システムをアップグレードする前に読むもの]]の記事に載っています。}}
   
 
=== ミラーリストの更新 ===
 
=== ミラーリストの更新 ===
49行目: 49行目:
 
ミラーの質は段々と変わっていくことがあり、オフラインになったりダウンロードの速度が落ちたりすることがあるので、pacman のミラーリストは最新に保って下さい。
 
ミラーの質は段々と変わっていくことがあり、オフラインになったりダウンロードの速度が落ちたりすることがあるので、pacman のミラーリストは最新に保って下さい。
   
詳しくは[[mirrors|ミラー]]を参照。
+
詳しくは[[ミラー]]を参照。
   
 
=== 孤児になったパッケージの削除 ===
 
=== 孤児になったパッケージの削除 ===
55行目: 55行目:
 
無駄にディスク容量を浪費しないように孤児になった不必要なパッケージは削除します。
 
無駄にディスク容量を浪費しないように孤児になった不必要なパッケージは削除します。
   
詳しくは [[Pacman Tips#孤立したパッケージの削除|Pacman のヒント#孤立したパッケージの削除]] を参照。
+
詳しくは [[Pacman ヒント#孤立したパッケージの削除]] を参照。
   
 
=== 使用してないパッケージの削除 ===
 
=== 使用してないパッケージの削除 ===
61行目: 61行目:
 
ディスク容量を開けてメンテナンスを簡単にするために、使用していない、古いパッケージはシステムから削除します。
 
ディスク容量を開けてメンテナンスを簡単にするために、使用していない、古いパッケージはシステムから削除します。
   
詳しくは [[Pacman Tips#使用していないパッケージの削除|Pacman のヒント#使用していないパッケージの削除]] を参照。
+
詳しくは [[Pacman ヒント#使用していないパッケージの削除]] を参照。
   
 
=== パッケージキャッシュの掃除 ===
 
=== パッケージキャッシュの掃除 ===
67行目: 67行目:
 
ディスク容量を増やすために {{ic|/var/cache/pacman/pkg/}} から無駄な {{ic|.pkg}} ファイルは削除します。
 
ディスク容量を増やすために {{ic|/var/cache/pacman/pkg/}} から無駄な {{ic|.pkg}} ファイルは削除します。
   
詳しくは [[Pacman#パッケージキャッシュの削除|pacman#パッケージキャッシュの削除]] を見て下さい。
+
詳しくは [[Pacman#パッケージキャッシュの削除]] を見て下さい。
   
この作業は [[systemd/Timers|systemd/タイマー]] を使うことで自動化できます。
+
この作業は [[systemd/タイマー]] を使うことで自動化できます。
   
 
=== pacman データベースの最適化 ===
 
=== pacman データベースの最適化 ===
75行目: 75行目:
 
pacman データベースへのアクセスを最適化することで pacman の操作を高速化できます。
 
pacman データベースへのアクセスを最適化することで pacman の操作を高速化できます。
   
[[Improve Pacman Performance#データベースのアクセス速度を向上させる|Pacman のパフォーマンスのアップ#データベースのアクセス速度を向上させる]]を見て下さい。
+
[[Pacman パフォーマンスの向上#データベースのアクセス速度を向上させる]]を見て下さい。
   
この作業は [[systemd/Timers|systemd/タイマー]] を使うことで自動化できます。
+
この作業は [[systemd/タイマー]] を使うことで自動化できます。
   
 
== ファイルシステムの掃除 ==
 
== ファイルシステムの掃除 ==
83行目: 83行目:
 
削除するファイルを探すときは、一番ディスク容量を取っているファイルを見つけるのが重要です。この作業に役立つプログラムは以下に載っています:
 
削除するファイルを探すときは、一番ディスク容量を取っているファイルを見つけるのが重要です。この作業に役立つプログラムは以下に載っています:
   
* [[List of Applications#ディスク使用量表示プログラム|アプリケーション一覧#ディスク使用量表示プログラム]]。
+
* [[アプリケーション一覧#ディスク使用量表示プログラム]]。
* [[List of Applications#ディスクの消去|アプリケーション一覧#ディスクの消去]]。
+
* [[アプリケーション一覧#ディスクの消去]]。
   
 
=== どのパッケージにも含まれてないファイルの確認 ===
 
=== どのパッケージにも含まれてないファイルの確認 ===
90行目: 90行目:
 
pacman データベースに載っていない不要なファイルを削除します。これを行う理由は様々です。
 
pacman データベースに載っていない不要なファイルを削除します。これを行う理由は様々です。
   
[[Pacman Tips#ファイルがどのパッケージにも所有されていないことを確認|Pacman のヒント#ファイルがどのパッケージにも所有されていないことを確認]]を見て下さい。
+
[[Pacman ヒント#ファイルがどのパッケージにも所有されていないことを確認]]を見て下さい。
   
 
=== /var の掃除 ===
 
=== /var の掃除 ===
96行目: 96行目:
 
{{ic|/var}} の古いファイルを削除してディスク容量を増やします。{{ic|/var}} はログやその他の不変のデータを保存するディレクトリです。
 
{{ic|/var}} の古いファイルを削除してディスク容量を増やします。{{ic|/var}} はログやその他の不変のデータを保存するディレクトリです。
   
詳しくは [[Filesystem Hierarchy Standard#/var: Variable files]] を見て下さい。
+
詳しくは [[Arch ファイルシステム階層#/var: 可変ファイル]] を見て下さい。
   
 
=== ホームディレクトリの掃除 ===
 
=== ホームディレクトリの掃除 ===
108行目: 108行目:
 
{{Note|上のパスはそれぞれ {{ic|$XDG_CONFIG_HOME}}, {{ic|$XDG_CACHE_HOME}}, {{ic|$XDG_DATA_HOME}} 環境変数のデフォルトになっています。違うパスを使っている場合は設定を確認してください。}}
 
{{Note|上のパスはそれぞれ {{ic|$XDG_CONFIG_HOME}}, {{ic|$XDG_CACHE_HOME}}, {{ic|$XDG_DATA_HOME}} 環境変数のデフォルトになっています。違うパスを使っている場合は設定を確認してください。}}
   
詳しくは [[Filesystem Hierarchy Standard#/home: User directories]] を見て下さい。
+
詳しくは [[Arch ファイルシステム階層#/home: ユーザーディレクトリ]] を見て下さい。
   
 
ホームディレクトリの掃除を長い目で考えると、定期的に必要ないファイルをリストアップして削除するのが良いでしょう。助けになるスクリプトが存在します: {{AUR|rmshit-git}} または [https://github.com/lahwaacz/archlinux-dotfiles/blob/master/Scripts/rmshit.py rmshit.py]。
 
ホームディレクトリの掃除を長い目で考えると、定期的に必要ないファイルをリストアップして削除するのが良いでしょう。助けになるスクリプトが存在します: {{AUR|rmshit-git}} または [https://github.com/lahwaacz/archlinux-dotfiles/blob/master/Scripts/rmshit.py rmshit.py]。
118行目: 118行目:
 
=== Mimetype の関連付け ===
 
=== Mimetype の関連付け ===
   
[[List_of_Applications#ファイルマネージャ|ファイルマネージャ]]をしばらく使用していると、もうインストールされていないアプリケーションに mimetype が関連付けられているということが起こります。また、同じような機能を持つアプリケーション (例: テキストエディタ) が複数存在していて、mimetype が使いたい方のアプリケーションに関連付けられていないというのもよくあることです。
+
[[アプリケーション一覧#ファイルマネージャ|ファイルマネージャ]]をしばらく使用していると、もうインストールされていないアプリケーションに mimetype が関連付けられているということが起こります。また、同じような機能を持つアプリケーション (例: テキストエディタ) が複数存在していて、mimetype が使いたい方のアプリケーションに関連付けられていないというのもよくあることです。
   
 
mimetype のリストをリセットするには、{{ic|~/.local/share/applications/}} ディレクトリと、このディレクトリ内の以下のファイルを調べて下さい:
 
mimetype のリストをリセットするには、{{ic|~/.local/share/applications/}} ディレクトリと、このディレクトリ内の以下のファイルを調べて下さい:
127行目: 127行目:
 
無駄な関連付けを削除するには、ファイルを削除するか、ファイルの中の行を削除します。
 
無駄な関連付けを削除するには、ファイルを削除するか、ファイルの中の行を削除します。
   
詳しくは [[Default_applications#Using_MIME_types_and_desktop_entries]] を見て下さい。
+
詳しくは [[デフォルトアプリケーション#MIME タイプとデスクトップエントリ]] を見て下さい。
   
 
=== 壊れたシンボリックリンクの消去 ===
 
=== 壊れたシンボリックリンクの消去 ===
145行目: 145行目:
 
重要なデータは定期的にバックアップを作成するようにしましょう。バックアップするべきディレクトリとしては {{ic|/etc}}, {{ic|/home}}, {{ic|/var}} が考えられます。サーバーとして使っているのなら {{ic|/srv}} も含めるべきでしょう。
 
重要なデータは定期的にバックアップを作成するようにしましょう。バックアップするべきディレクトリとしては {{ic|/etc}}, {{ic|/home}}, {{ic|/var}} が考えられます。サーバーとして使っているのなら {{ic|/srv}} も含めるべきでしょう。
   
[[Backup programs|バックアッププログラム]]を見てあなたの条件に合うプログラムを見つけて下さい。[[Full system backup with rsync|rsync によるフルシステムバックアップ]], [[Full System Backup with tar|tar によるフルシステムバックアップ]], [[Disk cloning|ディスクの複製]]などの記事も役に立つでしょう。
+
[[バックアッププログラム]]を見てあなたの条件に合うプログラムを見つけて下さい。[[rsync によるフルシステムバックアップ]], [[tar によるフルシステムバックアップ]], [[ディスクのクローン]]などの記事も役に立つでしょう。
   
バックアップは自動で実行させることもできます、[[systemd/Timers|systemd#タイマー]] を見て下さい。
+
バックアップは自動で実行させることもできます、[[systemd#タイマー]] を見て下さい。
   
 
このガイドでは例として [[tar]] を使って {{ic|/etc}} をバックアップします。以下のコマンドを root で実行:
 
このガイドでは例として [[tar]] を使って {{ic|/etc}} をバックアップします。以下のコマンドを root で実行:
172行目: 172行目:
 
=== インストールしたパッケージのリスト ===
 
=== インストールしたパッケージのリスト ===
   
完全な再インストールが必要になったときのために、インストールしたパッケージのリストを保存しておくと、元の環境を再現するのが簡単になります。この作業は [[systemd/Timers|systemd/タイマー]] で自動化できます。
+
完全な再インストールが必要になったときのために、インストールしたパッケージのリストを保存しておくと、元の環境を再現するのが簡単になります。この作業は [[systemd/タイマー]] で自動化できます。
   
詳しくは [[Pacman Tips#インストールしたパッケージのリストのバックアップと復旧|Pacman のヒント#インストールしたパッケージのリストのバックアップと復旧]] を見てください。
+
詳しくは [[Pacman ヒント#インストールしたパッケージのリストのバックアップと復旧]] を見てください。
   
 
=== Pacman データベース ===
 
=== Pacman データベース ===
182行目: 182行目:
 
$ tar -cjf pacman_database.tar.bz2 /var/lib/pacman/local
 
$ tar -cjf pacman_database.tar.bz2 /var/lib/pacman/local
   
バックアップした pacman データベースは USB スティックや、外付けハードディスク、もしくは CD-R などのオフラインメディアに保存します。この作業は [[systemd/Timers|systemd/タイマー]] で自動化できます。[[Pacman Tips#Systemd を使ってローカルデータベースをバックアップ|Pacman のヒント#Systemd を使ってローカルデータベースをバックアップ]] に他の方法が載っています。
+
バックアップした pacman データベースは USB スティックや、外付けハードディスク、もしくは CD-R などのオフラインメディアに保存します。この作業は [[systemd/タイマー]] で自動化できます。[[Pacman ヒント#Systemd を使ってローカルデータベースをバックアップ]] に他の方法が載っています。
   
 
{{ic|pacman_database.tar.bz2}} ファイルを {{ic|/}} ディレクトリに移動して以下のコマンドを実行することでデータベースをリストアできます:
 
{{ic|pacman_database.tar.bz2}} ファイルを {{ic|/}} ディレクトリに移動して以下のコマンドを実行することでデータベースをリストアできます:
188行目: 188行目:
 
# tar -xjvf pacman_database.tar.bz2
 
# tar -xjvf pacman_database.tar.bz2
   
{{Note|pacman データベースファイルが破損したとき、バックアップファイルが存在しなくても、pacman データベースを再構築するという望みは残っています。[[Pacman Tips#pacman のローカルデータベースを復元する|Pacman のヒント#pacman のローカルデータベースを復元する]] を見て下さい。}}
+
{{Note|pacman データベースファイルが破損したとき、バックアップファイルが存在しなくても、pacman データベースを再構築するという望みは残っています。[[Pacman ヒント#pacman のローカルデータベースを復元する]] を見て下さい。}}

2015年7月12日 (日) 13:52時点における版

関連記事

長期にわたって Arch を適切に機能させるには定期的なシステムメンテナンスが不可欠です。暇があるときにメンテナンスするのは多くのユーザーの習慣となっています。

エラーの確認

systemd サービスの失敗

systemd サービスが failed 状態になってないか確認:

$ systemctl --failed

詳しくは Systemd#システムの状態を分析する を参照。

ログファイル

/var/log

/var/log にあるログファイルにエラーが出てないか調べる。

Systemd journal

systemd の journal に優先度が高いエラーが出てないか確認:

# journalctl -p 0..3 -xn

詳しくは Systemd#Journal を見て下さい。

パッケージ関連の作業

システムの定期的なアップグレード

最新のバグフィックスとセキュリティアップグレードを享受するために、また、一度に多数のパッケージの更新に対処することに迫られないように、最低でも一週間ごとくらいに、定期的なフルシステムアップグレードを行うことを推奨します。

稀に SysV から systemd への移行のようなクリティカルな変更が Arch Linux に起こることがあります: このようなケースではコミュニティの人々が同時に対処するのが重要になります。問題が起こった時にドキュメントやヘルプを見つけやすくなるからです。

詳しくは Pacman#パッケージのアップグレード を参照。

AUR からパッケージをインストールしている場合は、注意してアップグレードを行なって下さい。

ノート: システムのアップデートに関するベストプラクティスは Arch Linux の安定化#システムをアップグレードする前に読むものの記事に載っています。

ミラーリストの更新

ミラーの質は段々と変わっていくことがあり、オフラインになったりダウンロードの速度が落ちたりすることがあるので、pacman のミラーリストは最新に保って下さい。

詳しくはミラーを参照。

孤児になったパッケージの削除

無駄にディスク容量を浪費しないように孤児になった不必要なパッケージは削除します。

詳しくは Pacman ヒント#孤立したパッケージの削除 を参照。

使用してないパッケージの削除

ディスク容量を開けてメンテナンスを簡単にするために、使用していない、古いパッケージはシステムから削除します。

詳しくは Pacman ヒント#使用していないパッケージの削除 を参照。

パッケージキャッシュの掃除

ディスク容量を増やすために /var/cache/pacman/pkg/ から無駄な .pkg ファイルは削除します。

詳しくは Pacman#パッケージキャッシュの削除 を見て下さい。

この作業は systemd/タイマー を使うことで自動化できます。

pacman データベースの最適化

pacman データベースへのアクセスを最適化することで pacman の操作を高速化できます。

Pacman パフォーマンスの向上#データベースのアクセス速度を向上させるを見て下さい。

この作業は systemd/タイマー を使うことで自動化できます。

ファイルシステムの掃除

削除するファイルを探すときは、一番ディスク容量を取っているファイルを見つけるのが重要です。この作業に役立つプログラムは以下に載っています:

どのパッケージにも含まれてないファイルの確認

pacman データベースに載っていない不要なファイルを削除します。これを行う理由は様々です。

Pacman ヒント#ファイルがどのパッケージにも所有されていないことを確認を見て下さい。

/var の掃除

/var の古いファイルを削除してディスク容量を増やします。/var はログやその他の不変のデータを保存するディレクトリです。

詳しくは Arch ファイルシステム階層#/var: 可変ファイル を見て下さい。

ホームディレクトリの掃除

$HOME ディレクトリの古いファイルを削除して設定やその他の有用なファイルを探しやすくします。以下のフォルダを確認してください:

  • ~/.config/ -- アプリケーションが設定を保存するフォルダ
  • ~/.cache/ -- プログラムのキャッシュによって巨大化することがあります
  • ~/.local/share/ -- 古いファイルがここに保存されていることがあります
ノート: 上のパスはそれぞれ $XDG_CONFIG_HOME, $XDG_CACHE_HOME, $XDG_DATA_HOME 環境変数のデフォルトになっています。違うパスを使っている場合は設定を確認してください。

詳しくは Arch ファイルシステム階層#/home: ユーザーディレクトリ を見て下さい。

ホームディレクトリの掃除を長い目で考えると、定期的に必要ないファイルをリストアップして削除するのが良いでしょう。助けになるスクリプトが存在します: rmshit-gitAUR または rmshit.py

その他の掃除

特定の行動をすると、Arch のシステムが散らかる特定の場所というのが存在します。このセクションではそうした不始末の後片付けを行います。

Mimetype の関連付け

ファイルマネージャをしばらく使用していると、もうインストールされていないアプリケーションに mimetype が関連付けられているということが起こります。また、同じような機能を持つアプリケーション (例: テキストエディタ) が複数存在していて、mimetype が使いたい方のアプリケーションに関連付けられていないというのもよくあることです。

mimetype のリストをリセットするには、~/.local/share/applications/ ディレクトリと、このディレクトリ内の以下のファイルを調べて下さい:

  • mimeapps.list
  • mimeinfo.cache

無駄な関連付けを削除するには、ファイルを削除するか、ファイルの中の行を削除します。

詳しくは デフォルトアプリケーション#MIME タイプとデスクトップエントリ を見て下さい。

壊れたシンボリックリンクの消去

古い、壊れたシンボリックリンクがシステムに居座っている場合、削除するべきです。削除する例はこここちらに載っています。

システムの壊れたシンボリックリンクを全て表示するには、次を使います:

 # find . -type l -! -exec test -e {} \; -print

このリストを調査して不必要なエントリを削除してください。

バックアップ

データ

重要なデータは定期的にバックアップを作成するようにしましょう。バックアップするべきディレクトリとしては /etc, /home, /var が考えられます。サーバーとして使っているのなら /srv も含めるべきでしょう。

バックアッププログラムを見てあなたの条件に合うプログラムを見つけて下さい。rsync によるフルシステムバックアップ, tar によるフルシステムバックアップ, ディスクのクローンなどの記事も役に立つでしょう。

バックアップは自動で実行させることもできます、systemd#タイマー を見て下さい。

このガイドでは例として tar を使って /etc をバックアップします。以下のコマンドを root で実行:

# tar -cjf /path/to/chosen/directory/etc-backup.tar.bz2 /etc
ヒント: (並列圧縮や SMP を使用して) 高速にバックアップしたいときは、pbzip2 (Parallel bzip2) を使うべきでしょう。

まず圧縮を使わずに普通の tarball にファイルをバックアップします:

# tar -cvf /path/to/chosen/directory/etc-backup.tar /etc

そして pbzip2 を使って並列圧縮します:

$ pbzip2 /path/to/chosen/directory/etc-backup.tar.bz2

etc-backup.tar.bz2 は USB スティックや、外付けハードディスク、もしくは CD-R などのオフラインメディアに保存します。ときどきオリジナルのファイル・ディレクトリとバックアップを比較してバックアップの整合性を確認してください。バックアップしたファイルのハッシュリストを作ることで素早く比較できます。

/etc ファイルを戻すには、etc-backup.tar.bz2 ファイルを一時的な作業ディレクトリに解凍して、必要なファイルやディレクトリを個々にコピーします。/etc ディレクトリ全体をバックアップでリストアするには、etc-backup.tar.bz2 ファイルを / ディレクトリに移動して、root で以下のコマンドを実行してください:

tar -xvjf etc-backup.tar.bz2

インストールしたパッケージのリスト

完全な再インストールが必要になったときのために、インストールしたパッケージのリストを保存しておくと、元の環境を再現するのが簡単になります。この作業は systemd/タイマー で自動化できます。

詳しくは Pacman ヒント#インストールしたパッケージのリストのバックアップと復旧 を見てください。

Pacman データベース

以下のコマンドを使うことでローカルの pacman データベースをバックアップできます:

$ tar -cjf pacman_database.tar.bz2 /var/lib/pacman/local

バックアップした pacman データベースは USB スティックや、外付けハードディスク、もしくは CD-R などのオフラインメディアに保存します。この作業は systemd/タイマー で自動化できます。Pacman ヒント#Systemd を使ってローカルデータベースをバックアップ に他の方法が載っています。

pacman_database.tar.bz2 ファイルを / ディレクトリに移動して以下のコマンドを実行することでデータベースをリストアできます:

# tar -xjvf pacman_database.tar.bz2
ノート: pacman データベースファイルが破損したとき、バックアップファイルが存在しなくても、pacman データベースを再構築するという望みは残っています。Pacman ヒント#pacman のローカルデータベースを復元する を見て下さい。