システムメンテナンス

提供: ArchWiki
2020年12月26日 (土) 19:07時点における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 は、ファイルを追跡する上であなたよりもはるかに優れた仕事をします。手動でインストールすると、遅かれ早かれ、何をしたかを忘れたり、インストールした場所を忘れたり、競合するソフトウェアをインストールしたり、間違った場所にインストールしたりします。

  • パッケージのインストール セクションの方法を使用して公式リポジトリからパッケージをインストールします。
  • ご希望のプログラムがない場合は、 AUR で誰かがパッケージを作成していないか確認してください。その記事の方法に従ってインストールしてください。
  • 最後に、必要なプログラムが公式リポジトリまたは AUR にない場合は、そのプログラムのパッケージの作成方法を学習してください。

不適切にインストールされたファイルをクリーンアップするには、ファイルがどのパッケージにも含まれていないことを確認を参照してください。

オープンソースドライバーを選択してください

プロプライエタリドライバに頼る前に、常にオープンソースドライバを試してください。ほとんどの場合、オープンソースドライバーはプロプライエタリドライバーよりも安定していて信頼性があります。オープンソースドライバーのバグは、より簡単かつ迅速に修正されます。プロプライエタリドライバーはより多くの機能を提供できますが、これには安定性が犠牲になる可能性があります。このジレンマを回避するには、完全な機能を備えた成熟したオープンソースドライバーをサポートしていることがわかっているハードウェアコンポーネントを選択してみてください。オープンソースのLinuxドライバーを備えたハードウェアに関する情報は、 linux-drivers.org で入手できます。

非公式パッケージに注意してください

AUR または 非公式ユーザーリポジトリ のパッケージを使用する場合は注意が必要です。ほとんどは通常のユーザーによって提供されているため、公式リポジトリの標準と同じ基準ではない場合があります。 AUR パッケージのインストールを自動化する AUR ヘルパー は避けてください。 常にパッケージをビルドおよび/またはインストールする前に、 PKGBUILD の正常性、間違いまたは悪意のあるコードの兆候を確認してください。

メンテナンスを簡素化するために、使用する非公式パッケージの量を制限してください。実際に使用されているものを定期的にチェックし、他のものを削除(または公式の対応物と交換)します。便利なコマンドについては、 Pacman メンテナンス を参照してください。

ミラーリストを更新します

ミラーの品質は時間の経過とともに変化する可能性があり、一部がオフラインになったり、ダウンロード速度が低下したりする可能性があるため、pacmanのミラーリストを更新してください。

詳細については、 ミラー を参照してください。

ファイルシステムの掃除

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

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

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.py が存在します。

rmlintAUR を使用して、重複ファイル、空のファイル、再帰的な空のディレクトリ、および壊れたシンボリックリンクを検索し、オプションで削除することもできます。

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

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

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

# find / -xtype l -print

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

ヒントとテクニック

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

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

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

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

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

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

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

参照