「システムメンテナンス」の版間の差分
細 (1版 をインポートしました) |
|||
15行目: | 15行目: | ||
$ systemctl --failed |
$ systemctl --failed |
||
− | 詳しくは [[Systemd |
+ | 詳しくは [[Systemd#システムの状態を分析する]] を参照。 |
=== ログファイル === |
=== ログファイル === |
||
29行目: | 29行目: | ||
# journalctl -p 0..3 -xn |
# journalctl -p 0..3 -xn |
||
− | 詳しくは [[Systemd |
+ | 詳しくは [[Systemd#Journal]] を見て下さい。 |
== パッケージ関連の作業 == |
== パッケージ関連の作業 == |
||
37行目: | 37行目: | ||
最新のバグフィックスとセキュリティアップグレードを享受するために、また、一度に多数のパッケージの更新に対処することに迫られないように、最低でも一週間ごとくらいに、定期的なフルシステムアップグレードを行うことを推奨します。 |
最新のバグフィックスとセキュリティアップグレードを享受するために、また、一度に多数のパッケージの更新に対処することに迫られないように、最低でも一週間ごとくらいに、定期的なフルシステムアップグレードを行うことを推奨します。 |
||
− | 稀に [[SysVinit|SysV]] から [[ |
+ | 稀に [[SysVinit|SysV]] から [[systemd]] への移行のようなクリティカルな変更が Arch Linux に起こることがあります: このようなケースではコミュニティの人々が同時に対処するのが重要になります。問題が起こった時にドキュメントやヘルプを見つけやすくなるからです。 |
− | 詳しくは [[Pacman |
+ | 詳しくは [[Pacman#パッケージのアップグレード]] を参照。 |
− | [[ |
+ | [[AUR]] からパッケージをインストールしている場合は、注意してアップグレードを行なって下さい。 |
− | {{Note|システムのアップデートに関するベストプラクティスは[[ |
+ | {{Note|システムのアップデートに関するベストプラクティスは [[Arch Linux の安定化#システムをアップグレードする前に読むもの]]の記事に載っています。}} |
=== ミラーリストの更新 === |
=== ミラーリストの更新 === |
||
49行目: | 49行目: | ||
ミラーの質は段々と変わっていくことがあり、オフラインになったりダウンロードの速度が落ちたりすることがあるので、pacman のミラーリストは最新に保って下さい。 |
ミラーの質は段々と変わっていくことがあり、オフラインになったりダウンロードの速度が落ちたりすることがあるので、pacman のミラーリストは最新に保って下さい。 |
||
− | 詳しくは[[ |
+ | 詳しくは[[ミラー]]を参照。 |
=== 孤児になったパッケージの削除 === |
=== 孤児になったパッケージの削除 === |
||
55行目: | 55行目: | ||
無駄にディスク容量を浪費しないように孤児になった不必要なパッケージは削除します。 |
無駄にディスク容量を浪費しないように孤児になった不必要なパッケージは削除します。 |
||
− | 詳しくは [[Pacman |
+ | 詳しくは [[Pacman ヒント#孤立したパッケージの削除]] を参照。 |
=== 使用してないパッケージの削除 === |
=== 使用してないパッケージの削除 === |
||
61行目: | 61行目: | ||
ディスク容量を開けてメンテナンスを簡単にするために、使用していない、古いパッケージはシステムから削除します。 |
ディスク容量を開けてメンテナンスを簡単にするために、使用していない、古いパッケージはシステムから削除します。 |
||
− | 詳しくは [[Pacman |
+ | 詳しくは [[Pacman ヒント#使用していないパッケージの削除]] を参照。 |
=== パッケージキャッシュの掃除 === |
=== パッケージキャッシュの掃除 === |
||
67行目: | 67行目: | ||
ディスク容量を増やすために {{ic|/var/cache/pacman/pkg/}} から無駄な {{ic|.pkg}} ファイルは削除します。 |
ディスク容量を増やすために {{ic|/var/cache/pacman/pkg/}} から無駄な {{ic|.pkg}} ファイルは削除します。 |
||
− | 詳しくは [[Pacman |
+ | 詳しくは [[Pacman#パッケージキャッシュの削除]] を見て下さい。 |
− | この作業は [[ |
+ | この作業は [[systemd/タイマー]] を使うことで自動化できます。 |
=== pacman データベースの最適化 === |
=== pacman データベースの最適化 === |
||
75行目: | 75行目: | ||
pacman データベースへのアクセスを最適化することで pacman の操作を高速化できます。 |
pacman データベースへのアクセスを最適化することで pacman の操作を高速化できます。 |
||
− | [[ |
+ | [[Pacman パフォーマンスの向上#データベースのアクセス速度を向上させる]]を見て下さい。 |
− | この作業は [[ |
+ | この作業は [[systemd/タイマー]] を使うことで自動化できます。 |
== ファイルシステムの掃除 == |
== ファイルシステムの掃除 == |
||
83行目: | 83行目: | ||
削除するファイルを探すときは、一番ディスク容量を取っているファイルを見つけるのが重要です。この作業に役立つプログラムは以下に載っています: |
削除するファイルを探すときは、一番ディスク容量を取っているファイルを見つけるのが重要です。この作業に役立つプログラムは以下に載っています: |
||
− | * [[ |
+ | * [[アプリケーション一覧#ディスク使用量表示プログラム]]。 |
− | * [[ |
+ | * [[アプリケーション一覧#ディスクの消去]]。 |
=== どのパッケージにも含まれてないファイルの確認 === |
=== どのパッケージにも含まれてないファイルの確認 === |
||
90行目: | 90行目: | ||
pacman データベースに載っていない不要なファイルを削除します。これを行う理由は様々です。 |
pacman データベースに載っていない不要なファイルを削除します。これを行う理由は様々です。 |
||
− | [[Pacman |
+ | [[Pacman ヒント#ファイルがどのパッケージにも所有されていないことを確認]]を見て下さい。 |
=== /var の掃除 === |
=== /var の掃除 === |
||
96行目: | 96行目: | ||
{{ic|/var}} の古いファイルを削除してディスク容量を増やします。{{ic|/var}} はログやその他の不変のデータを保存するディレクトリです。 |
{{ic|/var}} の古いファイルを削除してディスク容量を増やします。{{ic|/var}} はログやその他の不変のデータを保存するディレクトリです。 |
||
− | 詳しくは [[ |
+ | 詳しくは [[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}} 環境変数のデフォルトになっています。違うパスを使っている場合は設定を確認してください。}} |
||
− | 詳しくは [[ |
+ | 詳しくは [[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 の関連付け === |
||
− | [[ |
+ | [[アプリケーション一覧#ファイルマネージャ|ファイルマネージャ]]をしばらく使用していると、もうインストールされていないアプリケーションに mimetype が関連付けられているということが起こります。また、同じような機能を持つアプリケーション (例: テキストエディタ) が複数存在していて、mimetype が使いたい方のアプリケーションに関連付けられていないというのもよくあることです。 |
mimetype のリストをリセットするには、{{ic|~/.local/share/applications/}} ディレクトリと、このディレクトリ内の以下のファイルを調べて下さい: |
mimetype のリストをリセットするには、{{ic|~/.local/share/applications/}} ディレクトリと、このディレクトリ内の以下のファイルを調べて下さい: |
||
127行目: | 127行目: | ||
無駄な関連付けを削除するには、ファイルを削除するか、ファイルの中の行を削除します。 |
無駄な関連付けを削除するには、ファイルを削除するか、ファイルの中の行を削除します。 |
||
− | 詳しくは [[ |
+ | 詳しくは [[デフォルトアプリケーション#MIME タイプとデスクトップエントリ]] を見て下さい。 |
=== 壊れたシンボリックリンクの消去 === |
=== 壊れたシンボリックリンクの消去 === |
||
145行目: | 145行目: | ||
重要なデータは定期的にバックアップを作成するようにしましょう。バックアップするべきディレクトリとしては {{ic|/etc}}, {{ic|/home}}, {{ic|/var}} が考えられます。サーバーとして使っているのなら {{ic|/srv}} も含めるべきでしょう。 |
重要なデータは定期的にバックアップを作成するようにしましょう。バックアップするべきディレクトリとしては {{ic|/etc}}, {{ic|/home}}, {{ic|/var}} が考えられます。サーバーとして使っているのなら {{ic|/srv}} も含めるべきでしょう。 |
||
− | [[ |
+ | [[バックアッププログラム]]を見てあなたの条件に合うプログラムを見つけて下さい。[[rsync によるフルシステムバックアップ]], [[tar によるフルシステムバックアップ]], [[ディスクのクローン]]などの記事も役に立つでしょう。 |
− | バックアップは自動で実行させることもできます、[[ |
+ | バックアップは自動で実行させることもできます、[[systemd#タイマー]] を見て下さい。 |
このガイドでは例として [[tar]] を使って {{ic|/etc}} をバックアップします。以下のコマンドを root で実行: |
このガイドでは例として [[tar]] を使って {{ic|/etc}} をバックアップします。以下のコマンドを root で実行: |
||
172行目: | 172行目: | ||
=== インストールしたパッケージのリスト === |
=== インストールしたパッケージのリスト === |
||
− | 完全な再インストールが必要になったときのために、インストールしたパッケージのリストを保存しておくと、元の環境を再現するのが簡単になります。この作業は [[ |
+ | 完全な再インストールが必要になったときのために、インストールしたパッケージのリストを保存しておくと、元の環境を再現するのが簡単になります。この作業は [[systemd/タイマー]] で自動化できます。 |
− | 詳しくは [[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 などのオフラインメディアに保存します。この作業は [[ |
+ | バックアップした 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 |
+ | {{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 からパッケージをインストールしている場合は、注意してアップグレードを行なって下さい。
ミラーリストの更新
ミラーの質は段々と変わっていくことがあり、オフラインになったりダウンロードの速度が落ちたりすることがあるので、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/
-- 古いファイルがここに保存されていることがあります
詳しくは 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
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