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

提供: ArchWiki
ナビゲーションに移動 検索に移動
(英語版と同期して情報を整理)
(Pkg/AUR テンプレートの更新)
(他の1人の利用者による、間の13版が非表示)
21行目: 21行目:
   
 
=== ログファイル ===
 
=== ログファイル ===
 
==== /var/log ====
 
   
 
{{ic|/var/log}} にあるログファイルにエラーが出てないか調べる。
 
{{ic|/var/log}} にあるログファイルにエラーが出てないか調べる。
 
==== Systemd journal ====
 
   
 
systemd の journal に優先度が高いエラーが出てないか確認:
 
systemd の journal に優先度が高いエラーが出てないか確認:
64行目: 60行目:
 
[https://wiki.archlinux.jp/index.php/Rsync_%E3%81%AB%E3%82%88%E3%82%8B%E3%83%95%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97 システムバックアップ] を参照してください。
 
[https://wiki.archlinux.jp/index.php/Rsync_%E3%81%AB%E3%82%88%E3%82%8B%E3%83%95%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97 システムバックアップ] を参照してください。
   
== ジ関連の作業 ==
+
== システムのアプグレ ==
   
  +
[https://wiki.archlinux.jp/index.php/Pacman#.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.81.AE.E3.82.A2.E3.83.83.E3.83.97.E3.82.B0.E3.83.AC.E3.83.BC.E3.83.89 パッケージのアップグレード] を介して定期的にシステム全体のアップグレードを実行し、最新のバグ修正とセキュリティ更新の両方を楽しんだり、一度に手動で介入する必要のあるパッケージのアップグレードが多すぎたりしないようにすることをお勧めします。コミュニティにサポートを要求する場合、通常、システムは最新であると見なされます。
=== システムの定期的なアップグレード ===
 
   
  +
更新後に問題が発生した場合にシステムを簡単に救出できるように、Archインストールメディアまたは別の Linux ''ライブ'' CD/USB を用意してください。 Arch を実稼働環境で実行している場合、または何らかの理由でダウンタイムを許容できない場合は、最初に、重要ではない複製システムで構成ファイルの変更とソフトウェアパッケージの更新をテストします。その後、問題が発生しない場合は、本番システムに変更をロールアウトします。
最新のバグフィックスとセキュリティアップグレードを享受するために、また、一度に多数のパッケージの更新に対処することに迫られないように、最低でも一週間ごとくらいに、定期的なフルシステムアップグレードを行うことを推奨します。
 
   
  +
システムに [[AUR]] のパッケージがある場合は、それらすべてを慎重にアップグレードしてください。
稀に [[SysVinit|SysV]] から [[systemd]] への移行のようなクリティカルな変更が Arch Linux に起こることがあります: このようなケースではコミュニティの人々が同時に対処するのが重要になります。問題が起こった時にドキュメントやヘルプを見つけやすくなるからです。
 
   
  +
''pacman'' は強力なパッケージ管理ツールですが、すべてのケースを処理しようとするわけではありません。ユーザーは用心深く、自分のシステムを維持する責任を負わなければなりません。
詳しくは [[Pacman#パッケージのアップグレード]] を参照。
 
   
[[AUR]] からパッケージインストールしている場合は、注意してアップグレードを行なって下さい
+
=== システムをアップグレードする前に読んでください ===
   
  +
アップグレードする前に、ユーザーは [https://www.archlinux.org/ Arch Linuxホームページ] にアクセスして最新ニュースを確認するか、[https://www.archlinux.org/feeds/news RSS フィード] を購読する必要があります、 または [https://mailman.archlinux.org/mailman/listinfo/arch-announce/arch-announce メーリングリスト] 更新に通常とは異なるユーザーの介入が必要な場合 (''pacman'' の指示に従うだけで処理できる以上の) 適切なニュース投稿が行われます。
{{Note|システムのアップデートに関するベストプラクティスは [[Arch Linux の安定化#システムをアップグレードする前に読むもの]]の記事に載っています。}}
 
   
  +
基本的なソフトウェア ([[カーネル]]、 [[xorg]]、 [[systemd]]、 {{Pkg|glibc}} など) を新しいバージョンにアップグレードする前に、適切な [https://bbs.archlinux.org/forum] で、問題が報告されているかどうかを確認します。
=== ミラーリストの更新 ===
 
   
  +
ユーザーは、パッケージをアップグレードすると、即時の介入が必要になる可能性のある ''予期しない'' 問題が発生する可能性があることにも同様に注意する必要があります。したがって、重要なタスクを実行するために必要になる直前に、安定したシステムをアップグレードすることはお勧めしません。アップグレード後の問題に対処できるように、代わりに十分な時間をとって待つことをお勧めします。
ミラーの質は段々と変わっていくことがあり、オフラインになったりダウンロードの速度が落ちたりすることがあるので、pacman のミラーリストは最新に保って下さい。
 
   
  +
{{Tip|{{aur|informant}} のような pacman フックを使用すると、前回の更新の実行以降に読んでいない新しい ArchNews がある場合に更新できなくなります。}}
詳しくは[[ミラー]]を参照。
 
   
  +
=== 特定の pacman コマンドを避けてください ===
=== 孤児になったパッケージの削除 ===
 
   
  +
[[#部分的なアップグレードはサポートされていません|部分的なアップグレード]] は避けてください。つまり、 {{ic|pacman -Sy}} を実行しないでください。代わりに、常に {{ic|pacman -Syu}} を使用してください。
無駄にディスク容量を浪費しないように孤児になった不必要なパッケージは削除します。
 
   
  +
通常、pacman で {{ic|--overwrite}} オプションを使用することは避けてください。 {{ic|--overwrite}} オプションは、 glob を含む引数を取ります。 pacman を使用すると、globに一致するファイルのファイル競合チェックがバイパスされます。適切に保守されたシステムでは、Arch 開発者によって明示的に推奨された場合にのみ使用する必要があります。 [https://wiki.archlinux.jp/index.php?title=%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9&action=submit#.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E3.82.92.E3.82.A2.E3.83.83.E3.83.97.E3.82.B0.E3.83.AC.E3.83.BC.E3.83.89.E3.81.99.E3.82.8B.E5.89.8D.E3.81.AB.E8.AA.AD.E3.82.93.E3.81.A7.E3.81.8F.E3.81.A0.E3.81.95.E3.81.84 システムをアップグレードする前に読んでください] セクションを参照してください。
詳しくは [[Pacman ヒント#孤立したパッケージの削除]] を参照。
 
   
  +
pacman で {{ic|-d}} オプションを使用することは避けてください。 {{ic|pacman -Rdd ''package''}} は、パッケージの削除中に依存関係のチェックをスキップします。その結果、重大な依存関係を提供するパッケージが削除され、システムが破損する可能性があります。
=== 使用してないパッケージの削除 ===
 
   
  +
=== 部分的なアップグレードはサポートされていません ===
ディスク容量を開けてメンテナンスを簡単にするために、使用していない、古いパッケージはシステムから削除します。
 
   
  +
Arch Linuxは [https://ja.wikipedia.org/wiki/%E3%83%AD%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9 ローリングリリース] ディストリビューションです。つまり、新しい [[Wikipedia:Library(computing)|library]] バージョンがリポジトリにプッシュされると、 [https://www.archlinux.org/people/developers/developers] と [https://wiki.archlinux.jp/index.php/Trusted_Users Trusted Users] がすべてを再構築します。ライブラリに対して再構築する必要があるリポジトリ内のパッケージ。たとえば、2つのパッケージが同じライブラリに依存している場合、一方のパッケージのみをアップグレードすると、ライブラリも (依存関係として) アップグレードされ、古いバージョンのライブラリに依存しているもう一方のパッケージが破損する可能性があります。
詳しくは [[Pacman ヒント#使用していないパッケージの削除]] を参照。
 
   
  +
そのため、部分的なアップグレードは '''サポートされていません''' です。 {{ic|pacman -Sy ''package''}} または {{ic|pacman-Sy}} の後に {{ic|pacman -S ''package''}} などの同等のものを使用しないでください。パッケージをインストールする前に、 ''常に'' アップグレード ({{ic|pacman -Syu}} を使用) エラーのために {{ic|pacman -Syu}} がアップグレードを実行しない場合、最終結果は{{ic | pacman-Sy}}の実行と同じになることに注意してください。したがって、エラーを解決し、アップグレード操作をできるだけ早く完了する必要があります。同じ理由で {{ic|IgnorePkg}} と {{ic|IgnoreGroup}} を使用する場合は十分に注意してください。システムにローカルでビルドされたパッケージ ([[AUR]]パッケージなど) がある場合、依存関係が [[Wikipedia:soname|soname]] バンプを受け取ったときに、ユーザーはそれらを再構築する必要があります。
=== パッケージキャッシュの掃除 ===
 
   
  +
部分的なアップグレードシナリオが作成され、バイナリがリンク先のライブラリを見つけられないために壊れてしまった場合、'''単にシンボリックリンクするだけで問題を ''修正'' してはいけません。''' ライブラリは '''下位互換性がない''' 場合に [[Wikipedia:soname|soname]] を受け取ります。正しく同期されたミラーへの単純な {{ic|pacman -Syu}}は、 ''Pacman'' が壊れていない限り、問題を解決します。
ディスク容量を増やすために {{ic|/var/cache/pacman/pkg/}} から無駄な {{ic|.pkg}} ファイルは削除します。
 
   
  +
{{pkg|pacman-contrib}} パッケージに含まれている bashスクリプト ''checkupdates'' は、システムアップデートを同時に実行せずに、インストールされたパッケージへのアップグレードをチェックする安全な方法を提供します。
詳しくは [[Pacman#パッケージキャッシュの削除]] を見て下さい。
 
   
  +
=== アップグレード中のアラートに対応 ===
この作業は [[systemd/タイマー]] を使うことで自動化できます。
 
   
  +
システムをアップグレードするときは、[[pacman]]が提供するアラート通知に注意してください。ユーザーが追加のアクションを必要とする場合は、すぐに対処してください。パックマンアラートがわかりにくい場合は、フォーラムと最近のニュース投稿で詳細な手順を検索してください。
=== pacman データベースの最適化 ===
 
   
  +
=== 新しい構成ファイルを迅速に処理する ===
pacman データベースへのアクセスを最適化することで pacman の操作を高速化できます。
 
   
  +
pacman を呼び出すと、 {{ic|.pacnew}} ファイルと {{ic|.pacsave}} ファイルを作成できます。パックマンはこれが発生したときに通知を提供し、ユーザーはこれらのファイルを迅速に処理する必要があります。詳細な手順については、 [https://wiki.archlinux.jp/index.php/Pacnew_%E3%81%A8_Pacsave_%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB Pacnew と Pacsave ファイル] wiki ページを参照してください。
[[Pacman のパフォーマンスの向上#データベースのアクセス速度を向上させる]]を見て下さい。
 
   
  +
また、コピーまたは作成した可能性のある他の構成ファイルについても検討してください。パッケージにホームディレクトリにコピーした設定例がある場合は、新しいパッケージが作成されているかどうかを確認してください。
この作業は [[systemd/タイマー]] を使うことで自動化できます。
 
  +
  +
=== アップグレード後に再起動 ===
  +
  +
{{Expansion|Mention ''checkservices'' from {{Pkg|archlinux-contrib}}}}
  +
  +
通常、アップグレードは既存のプロセスには適用されません。アップグレードを完全に適用するには、プロセスを再起動する必要があります。
  +
  +
カーネルは、再起動せずにパッチを適用するのが特に困難です。再起動は常に最も安全なオプションですが、これが非常に不便な場合は、 [[カーネルライブパッチ]] を使用して再起動せずにアップグレードを適用できます。
  +
  +
=== 壊れた更新を元に戻す ===
  +
  +
パッケージの更新によって問題が発生することが予想される/わかっている場合、パッケージャーは、パッケージが更新されたときに pacman が適切なメッセージを表示するようにします。更新後に問題が発生した場合は、 {{ic|/var/log/pacman.log}} を参照して、 pacman の出力を再確認してください。
  +
  +
{{Tip|{{AUR|wat-git}} などのログビューアを使用して pacman ログを検索できます。}}
  +
  +
この時点で、pacmanを通じて入手できる情報がないこと、https://www.archlinux.org/ に相対的なニュースがないこと、および更新に関するフォーラムの投稿がないことを確認した後でのみ、 [https://bbs.archlinux.org フォーラム]、 [[IRC]] 経由、または [https://wiki.archlinux.jp/index.php/%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E3%83%80%E3%82%A6%E3%83%B3%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89 パッケージのダウングレード] による問題のあるパッケージ。
  +
  +
=== 孤立したパッケージとドロップされたパッケージを確認します ===
  +
  +
アップグレード後、不要になったパッケージや公式リポジトリに存在しなくなったパッケージが存在する可能性があります。
  +
  +
{{ic|pacman -Qtd}} を使用して、依存関係としてインストールされたパッケージを確認しますが、現在、他のパッケージはそれらに依存していません。それでも孤立したパッケージが必要な場合は、 [https://wiki.archlinux.jp/index.php/Pacman#.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E7.90.86.E7.94.B1 インストール理由] を明示的に変更することをお勧めします。それ以外の場合、パッケージが不要になった場合は、削除できます。
  +
  +
さらに、一部のパッケージはリモートリポジトリに存在しなくなった可能性がありますが、ローカルシステムには存在している可能性があります。すべての外部パッケージを一覧表示するには、 {{ic|pacman-Qm}} を使用します。このリストには、手動でインストールされたパッケージが含まれることに注意してください (たとえば、 [[AUR]] から) AUR で (まだ) 利用可能なパッケージを除外するには、 {{AUR|ancient-packages}} ツールを使用します。
  +
  +
== パッケージマネージャーを使用してソフトウェアをインストールする ==
  +
  +
[[Pacman]] は、ファイルを追跡する上であなたよりもはるかに優れた仕事をします。手動でインストールすると、遅かれ早かれ、何をしたかを忘れたり、インストールした場所を忘れたり、競合するソフトウェアをインストールしたり、間違った場所にインストールしたりします。
  +
  +
* [https://wiki.archlinux.jp/index.php/Pacman#.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB パッケージのインストール] セクションの方法を使用して公式リポジトリからパッケージをインストールします。
  +
* ご希望のプログラムがない場合は、 [[AUR]] で誰かがパッケージを作成していないか確認してください。その記事の方法に従ってインストールしてください。
  +
* 最後に、必要なプログラムが公式リポジトリまたは AUR にない場合は、そのプログラムの[[パッケージの作成]]方法を学習してください。
  +
  +
不適切にインストールされたファイルをクリーンアップするには、[https://wiki.archlinux.jp/index.php/Pacman_%E3%83%92%E3%83%B3%E3%83%88#.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.8C.E3.81.A9.E3.81.AE.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.81.AB.E3.82.82.E5.90.AB.E3.81.BE.E3.82.8C.E3.81.A6.E3.81.84.E3.81.AA.E3.81.84.E3.81.93.E3.81.A8.E3.82.92.E7.A2.BA.E8.AA.8D ファイルがどのパッケージにも含まれていないことを確認]を参照してください。
  +
  +
=== オープンソースドライバーを選択してください ===
  +
  +
プロプライエタリドライバに頼る前に、常にオープンソースドライバを試してください。ほとんどの場合、オープンソースドライバーはプロプライエタリドライバーよりも安定していて信頼性があります。オープンソースドライバーのバグは、より簡単かつ迅速に修正されます。プロプライエタリドライバーはより多くの機能を提供できますが、これには安定性が犠牲になる可能性があります。このジレンマを回避するには、完全な機能を備えた成熟したオープンソースドライバーをサポートしていることがわかっているハードウェアコンポーネントを選択してみてください。オープンソースのLinuxドライバーを備えたハードウェアに関する情報は、 [http://www.linux-drivers.org/ linux-drivers.org] で入手できます。
  +
  +
=== 非公式パッケージに注意してください ===
  +
  +
[[AUR]] または [[非公式ユーザーリポジトリ]] のパッケージを使用する場合は注意が必要です。ほとんどは通常のユーザーによって提供されているため、公式リポジトリの標準と同じ基準ではない場合があります。 AUR パッケージのインストールを自動化する [[AUR ヘルパー]] は避けてください。 '''常に'''パッケージをビルドおよび/またはインストールする前に、 PKGBUILD の正常性、間違いまたは悪意のあるコードの兆候を確認してください。
  +
  +
メンテナンスを簡素化するために、使用する非公式パッケージの量を制限してください。実際に使用されているものを定期的にチェックし、他のものを削除(または公式の対応物と交換)します。便利なコマンドについては、 [https://wiki.archlinux.jp/index.php/Pacman_%E3%83%92%E3%83%B3%E3%83%88#.E3.83.A1.E3.83.B3.E3.83.86.E3.83.8A.E3.83.B3.E3.82.B9 Pacman メンテナンス] を参照してください。
  +
  +
=== ミラーリストを更新します ===
  +
  +
ミラーの品質は時間の経過とともに変化する可能性があり、一部がオフラインになったり、ダウンロード速度が低下したりする可能性があるため、pacmanのミラーリストを更新してください。
  +
  +
詳細については、 [[ミラー]] を参照してください。
   
 
== ファイルシステムの掃除 ==
 
== ファイルシステムの掃除 ==
119行目: 165行目:
 
* [[アプリケーション一覧#ディスクの消去]]。
 
* [[アプリケーション一覧#ディスクの消去]]。
   
=== どのパッケージにも含まれてないファイルの確認 ===
+
=== パッケージキャッシュ ===
   
pacman データベースに載っていない不要なファイルを削除します。これ行う理由は様々です。
+
{{ic|/var/cache/pacman/pkg/}} から不要な {{ic|.pkg}} ファイルを削除して、ディスク領域解放します。
   
  +
詳細については、 [https://wiki.archlinux.jp/index.php/Pacman#.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.82.AD.E3.83.A3.E3.83.83.E3.82.B7.E3.83.A5.E3.81.AE.E5.89.8A.E9.99.A4 パッケージキャッシュの削除] を参照してください。
[[Pacman ヒント#ファイルがどのパッケージにも所有されていないことを確認]]を見て下さい。
 
   
=== /var掃除 ===
+
=== (孤立) した未使用パッケージ ===
   
  +
システムから未使用のパッケージを削除して、ディスクスペースを解放し、メンテナンスを簡素化します。
{{ic|/var}} の古いファイルを削除してディスク容量を増やします。{{ic|/var}} はログやその他の不変のデータを保存するディレクトリです。
 
   
  +
詳細については、 [https://wiki.archlinux.jp/index.php/Pacman_%E3%83%92%E3%83%B3%E3%83%88#.E4.BD.BF.E7.94.A8.E3.81.97.E3.81.A6.E3.81.84.E3.81.AA.E3.81.84.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.81.AE.E5.89.8A.E9.99.A4_.28.E5.AD.A4.E7.AB.8B.E3.81.97.E3.81.9F.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.29 使用していないパッケージの削除 (孤立したパッケージ)] を参照してください。
詳しくは [[Arch ファイルシステム階層#/var: 可変ファイル]] を見て下さい。
 
   
 
=== ホームディレクトリの掃除 ===
 
=== ホームディレクトリの掃除 ===
143行目: 189行目:
 
詳しくは [[Arch ファイルシステム階層#/home: ユーザーディレクトリ]] を見て下さい。
 
詳しくは [[Arch ファイルシステム階層#/home: ユーザーディレクトリ]] を見て下さい。
   
ホームディレクトリの掃除を長い目で考えると、定期的に必要ないファイルをリストアップして削除するのが良いでしょう。助けになるスクリプトが存在します: {{AUR|rmshit-git}}{{Broken package link|{{aur-mirror|rmshit-git}}}} または [https://github.com/lahwaacz/archlinux-dotfiles/blob/master/Scripts/rmshit.py rmshit.py]。
+
ホームディレクトリの掃除を長い目で考えると、定期的に必要ないファイルをリストアップして削除するのが良いでしょう。助けになるスクリプト [https://github.com/lahwaacz/archlinux-dotfiles/blob/master/Scripts/rmshit.py rmshit.py] が存在します
  +
  +
{{Pkg|rmlint}} を使用して、重複ファイル、空のファイル、再帰的な空のディレクトリ、および壊れたシンボリックリンクを検索し、オプションで削除することもできます。
   
  +
=== 壊れたシンボリックリンク ===
== その他の掃除 ==
 
   
  +
古い、壊れたシンボリックリンクがシステムの周りにある可能性があります。 それらを削除する必要があります。 これを達成するための例は、 [https://unix.stackexchange.com/questions/34248/how-can-i-find-broken-symlinks こちら] および [http://www.commandlinefu.com/commands/view/8260/find-broken-symlinks こちら] ただし、壊れたシンボリックリンクはすべて目的を果たしているため、やみくもに削除しないでください [https://unix.stackexchange.com/questions/151763/is-there-a-downside-to-deleting-all-of-the-broken-symbolic-links-in-a-system]
特定の行動をすると、Arch のシステムが散らかる特定の場所というのが存在します。このセクションではそうした不始末の後片付けを行います。
 
   
  +
システムの壊れたシンボリックリンクをすべてすばやく一覧表示するには、次を使用します。
=== Mimetype の関連付け ===
 
   
  +
# find / -xtype l -print
[[アプリケーション一覧#ファイルマネージャ|ファイルマネージャ]]をしばらく使用していると、もうインストールされていないアプリケーションに mimetype が関連付けられているということが起こります。また、同じような機能を持つアプリケーション (例: テキストエディタ) が複数存在していて、mimetype が使いたい方のアプリケーションに関連付けられていないというのもよくあることです。
 
   
  +
次に、このリストから不要なエントリを調べて削除します。
mimetype のリストをリセットするには、{{ic|~/.local/share/applications/}} ディレクトリと、このディレクトリ内の以下のファイルを調べて下さい:
 
   
  +
== ヒントとテクニック ==
* {{ic|mimeapps.list}}
 
* {{ic|mimeinfo.cache}}
 
   
  +
以下のヒントは通常は必要ありませんが、特定のユーザーはそれらが役立つと感じるかもしれません。
無駄な関連付けを削除するには、ファイルを削除するか、ファイルの中の行を削除します。
 
   
  +
=== 実績のあるソフトウェアパッケージを使用する ===
詳しくは[[デフォルトアプリケーション#MIME タイプとデスクトップエントリ]]を見て下さい。
 
   
  +
Arch のローリングリリースは、最新の機能を試し、できるだけ早くアップストリームの更新を取得したいユーザーにとっては朗報ですが、システムのメンテナンスをより困難にする可能性もあります。メンテナンスを簡素化し、安定性を向上させるには、最先端のソフトウェアを避け、成熟した実績のあるソフトウェアのみをインストールするようにしてください。このようなパッケージは、主要な構成の変更や機能の削除など、難しいアップグレードを受け取る可能性が低くなります。問題が発生した場合のサポートを簡素化するために、強力で活発な開発コミュニティと多数の有能なユーザーがいるソフトウェアを優先します。
=== 壊れたシンボリックリンクの消去 ===
 
   
  +
テストからの個々のパッケージであっても、テストリポジトリの使用は避けてください。これらのパッケージは実験的なものであり、安定したシステムには適していません。同様に、アップストリームの開発ソースから直接ビルドされたパッケージは避けてください。これらは通常 [[AUR]] にあり、''dev''、''devel''、''svn''、''cvs''、''git'' などの名前が付いています。
古い、壊れたシンボリックリンクがシステムに居座っている場合、削除するべきです。削除する例は[https://unix.stackexchange.com/questions/34248/how-can-i-find-broken-symlinks ここ]や[http://www.commandlinefu.com/commands/view/8260/find-broken-symlinks こちら]に載っています。
 
   
  +
=== linux-lts パッケージをインストールします===
システムの壊れたシンボリックリンクを全て表示するには、次を使います:
 
   
  +
{{Pkg|linux-lts}} パッケージは代替の Arch カーネルパッケージであり、 [[core]] リポジトリで入手できます。この特定のカーネルバージョンには、セキュリティ修正や一部の機能バックポートなど、アップストリームからの長期サポート (LTS) があります。頻度の低いカーネル更新と安定性が必要な場合、または新しいカーネルバージョンで問題が発生した場合に備えて、フォールバックカーネルが必要な場合に役立ちます。
# find . -type l -! -exec test -e {} \; -print
 
   
  +
ブートオプションとして使用できるようにするには、 [https://wiki.archlinux.jp/index.php/Arch_%E3%83%96%E3%83%BC%E3%83%88%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9 ブートローダ] の構成ファイルを更新して LTS カーネルと RAM ディスクを使用する必要があります: {{ic|vmlinuz-linux-lts}} と {{ic|initramfs -linux-lts.img}}
このリストを調査して不必要なエントリを削除してください。
 
   
 
== 参照 ==
 
== 参照 ==
 
* [https://bbs.archlinux.org/viewtopic.php?id=146850 Arch News Bash Script]
 
* [https://bbs.archlinux.org/viewtopic.php?id=146850 Arch News Bash Script]
  +
* [https://bbs.archlinux.org/viewtopic.php?pid=1791008 Automatic Arch System Maintenance]

2020年12月31日 (木) 14:48時点における版

関連記事

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

エラーの確認

systemd サービスの失敗

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

$ systemctl --failed

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

ログファイル

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

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

# journalctl -p 3 -xb

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

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

バックアップ

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

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

構成ファイル

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

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

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

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

Pacman データベース

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

暗号化メタデータ

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

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

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

システムのアップグレード

パッケージのアップグレード を介して定期的にシステム全体のアップグレードを実行し、最新のバグ修正とセキュリティ更新の両方を楽しんだり、一度に手動で介入する必要のあるパッケージのアップグレードが多すぎたりしないようにすることをお勧めします。コミュニティにサポートを要求する場合、通常、システムは最新であると見なされます。

更新後に問題が発生した場合にシステムを簡単に救出できるように、Archインストールメディアまたは別の Linux ライブ CD/USB を用意してください。 Arch を実稼働環境で実行している場合、または何らかの理由でダウンタイムを許容できない場合は、最初に、重要ではない複製システムで構成ファイルの変更とソフトウェアパッケージの更新をテストします。その後、問題が発生しない場合は、本番システムに変更をロールアウトします。

システムに AUR のパッケージがある場合は、それらすべてを慎重にアップグレードしてください。

pacman は強力なパッケージ管理ツールですが、すべてのケースを処理しようとするわけではありません。ユーザーは用心深く、自分のシステムを維持する責任を負わなければなりません。

システムをアップグレードする前に読んでください

アップグレードする前に、ユーザーは Arch Linuxホームページ にアクセスして最新ニュースを確認するか、RSS フィード を購読する必要があります、 または メーリングリスト 更新に通常とは異なるユーザーの介入が必要な場合 (pacman の指示に従うだけで処理できる以上の) 適切なニュース投稿が行われます。

基本的なソフトウェア (カーネルxorgsystemdglibc など) を新しいバージョンにアップグレードする前に、適切な [1] で、問題が報告されているかどうかを確認します。

ユーザーは、パッケージをアップグレードすると、即時の介入が必要になる可能性のある 予期しない 問題が発生する可能性があることにも同様に注意する必要があります。したがって、重要なタスクを実行するために必要になる直前に、安定したシステムをアップグレードすることはお勧めしません。アップグレード後の問題に対処できるように、代わりに十分な時間をとって待つことをお勧めします。

ヒント: informantAUR のような pacman フックを使用すると、前回の更新の実行以降に読んでいない新しい ArchNews がある場合に更新できなくなります。

特定の pacman コマンドを避けてください

部分的なアップグレード は避けてください。つまり、 pacman -Sy を実行しないでください。代わりに、常に pacman -Syu を使用してください。

通常、pacman で --overwrite オプションを使用することは避けてください。 --overwrite オプションは、 glob を含む引数を取ります。 pacman を使用すると、globに一致するファイルのファイル競合チェックがバイパスされます。適切に保守されたシステムでは、Arch 開発者によって明示的に推奨された場合にのみ使用する必要があります。 システムをアップグレードする前に読んでください セクションを参照してください。

pacman で -d オプションを使用することは避けてください。 pacman -Rdd package は、パッケージの削除中に依存関係のチェックをスキップします。その結果、重大な依存関係を提供するパッケージが削除され、システムが破損する可能性があります。

部分的なアップグレードはサポートされていません

Arch Linuxは ローリングリリース ディストリビューションです。つまり、新しい library バージョンがリポジトリにプッシュされると、 [2]Trusted Users がすべてを再構築します。ライブラリに対して再構築する必要があるリポジトリ内のパッケージ。たとえば、2つのパッケージが同じライブラリに依存している場合、一方のパッケージのみをアップグレードすると、ライブラリも (依存関係として) アップグレードされ、古いバージョンのライブラリに依存しているもう一方のパッケージが破損する可能性があります。

そのため、部分的なアップグレードは サポートされていません です。 pacman -Sy package または pacman-Sy の後に pacman -S package などの同等のものを使用しないでください。パッケージをインストールする前に、 常に アップグレード (pacman -Syu を使用) エラーのために pacman -Syu がアップグレードを実行しない場合、最終結果は pacman-Syの実行と同じになることに注意してください。したがって、エラーを解決し、アップグレード操作をできるだけ早く完了する必要があります。同じ理由で IgnorePkgIgnoreGroup を使用する場合は十分に注意してください。システムにローカルでビルドされたパッケージ (AURパッケージなど) がある場合、依存関係が soname バンプを受け取ったときに、ユーザーはそれらを再構築する必要があります。

部分的なアップグレードシナリオが作成され、バイナリがリンク先のライブラリを見つけられないために壊れてしまった場合、単にシンボリックリンクするだけで問題を 修正 してはいけません。 ライブラリは 下位互換性がない 場合に soname を受け取ります。正しく同期されたミラーへの単純な pacman -Syuは、 Pacman が壊れていない限り、問題を解決します。

pacman-contrib パッケージに含まれている bashスクリプト checkupdates は、システムアップデートを同時に実行せずに、インストールされたパッケージへのアップグレードをチェックする安全な方法を提供します。

アップグレード中のアラートに対応

システムをアップグレードするときは、pacmanが提供するアラート通知に注意してください。ユーザーが追加のアクションを必要とする場合は、すぐに対処してください。パックマンアラートがわかりにくい場合は、フォーラムと最近のニュース投稿で詳細な手順を検索してください。

新しい構成ファイルを迅速に処理する

pacman を呼び出すと、 .pacnew ファイルと .pacsave ファイルを作成できます。パックマンはこれが発生したときに通知を提供し、ユーザーはこれらのファイルを迅速に処理する必要があります。詳細な手順については、 Pacnew と Pacsave ファイル wiki ページを参照してください。

また、コピーまたは作成した可能性のある他の構成ファイルについても検討してください。パッケージにホームディレクトリにコピーした設定例がある場合は、新しいパッケージが作成されているかどうかを確認してください。

アップグレード後に再起動

この記事またはセクションは加筆を必要としています。
理由: Mention checkservices from archlinux-contrib (議論: トーク:システムメンテナンス#)

通常、アップグレードは既存のプロセスには適用されません。アップグレードを完全に適用するには、プロセスを再起動する必要があります。

カーネルは、再起動せずにパッチを適用するのが特に困難です。再起動は常に最も安全なオプションですが、これが非常に不便な場合は、 カーネルライブパッチ を使用して再起動せずにアップグレードを適用できます。

壊れた更新を元に戻す

パッケージの更新によって問題が発生することが予想される/わかっている場合、パッケージャーは、パッケージが更新されたときに pacman が適切なメッセージを表示するようにします。更新後に問題が発生した場合は、 /var/log/pacman.log を参照して、 pacman の出力を再確認してください。

ヒント: wat-gitAUR などのログビューアを使用して pacman ログを検索できます。

この時点で、pacmanを通じて入手できる情報がないこと、https://www.archlinux.org/ に相対的なニュースがないこと、および更新に関するフォーラムの投稿がないことを確認した後でのみ、 フォーラムIRC 経由、または パッケージのダウングレード による問題のあるパッケージ。

孤立したパッケージとドロップされたパッケージを確認します

アップグレード後、不要になったパッケージや公式リポジトリに存在しなくなったパッケージが存在する可能性があります。

pacman -Qtd を使用して、依存関係としてインストールされたパッケージを確認しますが、現在、他のパッケージはそれらに依存していません。それでも孤立したパッケージが必要な場合は、 インストール理由 を明示的に変更することをお勧めします。それ以外の場合、パッケージが不要になった場合は、削除できます。

さらに、一部のパッケージはリモートリポジトリに存在しなくなった可能性がありますが、ローカルシステムには存在している可能性があります。すべての外部パッケージを一覧表示するには、 pacman-Qm を使用します。このリストには、手動でインストールされたパッケージが含まれることに注意してください (たとえば、 AUR から) AUR で (まだ) 利用可能なパッケージを除外するには、 ancient-packagesAUR ツールを使用します。

パッケージマネージャーを使用してソフトウェアをインストールする

Pacman は、ファイルを追跡する上であなたよりもはるかに優れた仕事をします。手動でインストールすると、遅かれ早かれ、何をしたかを忘れたり、インストールした場所を忘れたり、競合するソフトウェアをインストールしたり、間違った場所にインストールしたりします。

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

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

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

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

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

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

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

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

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

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

ファイルシステムの掃除

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

パッケージキャッシュ

/var/cache/pacman/pkg/ から不要な .pkg ファイルを削除して、ディスク領域を解放します。

詳細については、 パッケージキャッシュの削除 を参照してください。

(孤立) した未使用のパッケージ

システムから未使用のパッケージを削除して、ディスクスペースを解放し、メンテナンスを簡素化します。

詳細については、 使用していないパッケージの削除 (孤立したパッケージ) を参照してください。

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

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

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

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

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

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

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

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

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

# find / -xtype l -print

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

ヒントとテクニック

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

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

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

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

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

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

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

参照