システムメンテナンス

提供: ArchWiki
2020年12月26日 (土) 18:43時点におけるKgx (トーク | 投稿記録)による版 (→‎ファイルシステムの掃除: 壊れたシンボリックリンクを翻訳して追加)
ナビゲーションに移動 検索に移動

関連記事

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

エラーの確認

systemd サービスの失敗

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

$ systemctl --failed

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

ログファイル

/var/log

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

Systemd journal

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

# journalctl -p 3 -xb

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

Xorg のエラーについては Xorg#トラブルシューティングを見てください。

バックアップ

重要なデータのバックアップを定期的に作成します。ケースにより適した多くの代替アプリケーションについては、同期およびバックアッププログラム を参照してください。その他の興味深い記事については カテゴリ:システムリカバリ を参照してください。

バックアップは systemd/タイマー で自動化できます。

構成ファイル

構成ファイルを編集する前に、問題が発生した場合に作業バージョンに戻すことができるようにバックアップを作成してください。 vimemacs のようなエディターはこれを自動的に行うことができ、 etckeeper のようなツールは /etcバージョン管理システム (VCS) に保持します。 :詳細については、 gitignore を使う を参照してください。

インストールされているパッケージのリスト

インストールされているすべてのパッケージのリストを維持して、完全な再インストールが避けられない場合に、元の環境を簡単に再作成できるようにします。

詳しくは リストからパッケージをインストールする をご覧ください。

Pacman データベース

pacman データベースをバックアップ を参照してください。

暗号化メタデータ

Backup for disk encryption scenarios を参照してください。

システムおよびユーザーデータ

システムバックアップ を参照してください。

パッケージ関連の作業

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

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

稀に 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 環境変数のデフォルトになっています。違うパスを使っている場合は設定を確認してください。詳しくは XDG Base Directory サポートを参照。

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

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

壊れたシンボリックリンク

古い、壊れたシンボリックリンクがシステムの周りにある可能性があります。 それらを削除する必要があります。 これを達成するための例は、 こちら および こちら ただし、壊れたシンボリックリンクはすべて目的を果たしているため、やみくもに削除しないでください [1]

システムの壊れたシンボリックリンクをすべてすばやく一覧表示するには、次を使用します。

# find / -xtype l -print

次に、このリストから不要なエントリを調べて削除します。

その他の掃除

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

Mimetype の関連付け

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

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

  • mimeapps.list
  • mimeinfo.cache

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

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

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

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

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

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

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

ヒントとテクニック

以下のヒントは通常は必要ありませんが、特定のユーザーはそれらが役立つと感じるかもしれません。

実績のあるソフトウェアパッケージを使用する

Arch のローリングリリースは、最新の機能を試し、できるだけ早くアップストリームの更新を取得したいユーザーにとっては朗報ですが、システムのメンテナンスをより困難にする可能性もあります。メンテナンスを簡素化し、安定性を向上させるには、最先端のソフトウェアを避け、成熟した実績のあるソフトウェアのみをインストールするようにしてください。このようなパッケージは、主要な構成の変更や機能の削除など、難しいアップグレードを受け取る可能性が低くなります。問題が発生した場合のサポートを簡素化するために、強力で活発な開発コミュニティと多数の有能なユーザーがいるソフトウェアを優先します。

テストからの個々のパッケージであっても、テストリポジトリの使用は避けてください。これらのパッケージは実験的なものであり、安定したシステムには適していません。同様に、アップストリームの開発ソースから直接ビルドされたパッケージは避けてください。これらは通常 AUR にあり、devdevelsvncvsgit などの名前が付いています。

linux-lts パッケージをインストールします

linux-lts パッケージは代替の Arch カーネルパッケージであり、 core リポジトリで入手できます。この特定のカーネルバージョンには、セキュリティ修正や一部の機能バックポートなど、アップストリームからの長期サポート (LTS) があります。頻度の低いカーネル更新と安定性が必要な場合、または新しいカーネルバージョンで問題が発生した場合に備えて、フォールバックカーネルが必要な場合に役立ちます。

ブートオプションとして使用できるようにするには、 ブートローダ の構成ファイルを更新して LTS カーネルと RAM ディスクを使用する必要があります: vmlinuz-linux-ltsinitramfs -linux-lts.img

参照