CachyOS のよくある質問とトラブルシューティングガイド
CachyOS の問題やバグの報告方法
Section titled “CachyOS の問題やバグの報告方法”問題やバグの報告先
Section titled “問題やバグの報告先”- Github
- フォーラム
- Discord: サポートフォーラム
- 新しい投稿を作成する前に、チャンネルにピン留めされているサポートガイドラインと情報をお読みください。
- 問題がすぐに解決できそうなときは、#support チャンネルを使ってください
- 新しい投稿を作成する前に、チャンネルにピン留めされているサポートガイドラインと情報をお読みください。
冷静かつ礼儀を大切に
Section titled “冷静かつ礼儀を大切に”CachyOS のチームとコミュニティは、余暇にこのプロジェクトに取り組むボランティアです。やり取りをするときは忍耐を持ち、礼儀正しく接してください。質の高いバグ報告が、問題を解決する近道です。
あいまいな質問をしたり、情報が不十分だったりすると、あいまいな回答しか得られないか、まったく回答が得られないこともあります。
以下に参考となる質問の例を示します。
- 良い質問:
- 最近のアップデート(最後にアプデしたのは何月何日)以降、システムが黒画面のまま起動しなくなりました。NVIDIAの○○(モデル名)を使用しています。
linux-cachyosパッケージを前のバージョンに戻してみましたが、状況が変わりません。ライブ環境でとったjournalctl -b -1とdmesgの出力を添付します。
- 最近のアップデート(最後にアプデしたのは何月何日)以降、システムが黒画面のまま起動しなくなりました。NVIDIAの○○(モデル名)を使用しています。
- 悪い・曖昧な質問:
- パソコンが壊れた、たすけて
このミーム画像のようにならないようお気をつけください☟
老人、雲に向かって叫ぶ ― 『ザ・シンプソンズ』シーズン13 第13話より
問題を説明するとき
Section titled “問題を説明するとき”まずは自問自答してみましょう。
- 動作していないものはなにか
- パッケージ✕✕をダウングレードすると問題は解決するか
- 同じ問題を経験した人はいるか、またはすでに解決されているか (検索機能を活用)
- 更新後に問題が発生したか
- 自分で変更を加えたか
- 例: modprobe ファイルに追加のフラグを設定したなど
- ハードウェアに関係しているか (GPU, Wi-Fi など)
- ソフトウェアに関係しているか (特定のアプリケーション、デスクトップ環境など)
- 新規インストール直後か、それとも使用しているうちに問題が発生したか
ログの収集方法
Section titled “ログの収集方法”システムからログを収集する方法はたくさんあります。ログ収集に使えるツールと方法を一部ご紹介します。
一般的なバグ報告の作成
Section titled “一般的なバグ報告の作成”CachyOS には cachyos-bugreport.sh というシステムログを収集する便利なツールがあります。
このツールは以下のログを収集します。
dmesgjournalctlinxi(ハードウェア情報の収集)
ログ収集後、CachyOS 独自のログ投稿サイトにアップロードするかどうかを確認するプロンプトが表示されます。
スクリプトを実行するには、ターミナルで以下のコマンドを入力し、生成されたリンクを報告に添付してください。
sudo cachyos-bugreport.sh起動しないプログラムのログ収集
Section titled “起動しないプログラムのログ収集”GUI 形式のプログラムが起動しない原因はさまざまです。こうした問題のログを収集する最善の方法は、ターミナルからプログラムを実行することです。これにより、問題の調査に役立つエラーメッセージや出力を確認できます。
例えば、Firefox が正常に起動しないときは、ターミナルから起動してエラーメッセージを見てみましょう。
firefoxpacman で最近更新されたパッケージの確認
Section titled “pacman で最近更新されたパッケージの確認”システムで最近更新されたパッケージの一覧を取得するには、以下のコマンドを使います。
grep "\[ALPM\] upgraded" /var/log/pacman.log | tail -n 50journalctl と dmesg の操作方法
Section titled “journalctl と dmesg の操作方法”less または閲覧モードでログを確認する際の主な操作方法です。
↑ / ↓ キーまたは J / K で1行ずつスクロール
PageUp / PageDown または Ctrl + B/D で1ページずつスクロール
G または Home でログの先頭に移動
Shift + G または End でログの末尾に移動
journalctl を使ったシステムログの収集
Section titled “journalctl を使ったシステムログの収集”journalctl コマンドはシステムログを表示するとても便利なツールです。よく使われるコマンドの組み合わせを紹介します。
基本的な使い方とよくある例
Section titled “基本的な使い方とよくある例”全ログを表示する (古い順)
journalctl現在のブートのログのみ表示する
journalctl -bセキュリティと認証の問題
journalctl -u sshd -u polkit -b -0 | grep -i "fail\|error\|denied"認証の失敗やセキュリティポリシーの拒否を確認できます。
リアルタイムでログを追跡する
journalctl -f現在のブートの音声関連の問題
journalctl --user -u pipewire -u pipewire-pulse -u wireplumber -b 0音声サービスのログを表示してサウンドの問題のトラブルシューティングを行います。
メモリ (RAM) のエラー
journalctl -k | grep -i "memory\|ram"メモリの破損や検出の問題を確認できます。
Bluetooth の問題
# 現在のブートjournalctl -u bluetooth -b 0journalctl -u bluetooth -b 0# 前回のブートjournalctl -u bluetooth -b -1時間によるフィルタリング
Section titled “時間によるフィルタリング”直近の数分・数時間のログを表示する
journalctl --since "10 minutes ago"journalctl --since "1 hour ago"journalctl --since "2024-01-15 14:30:00"特定の時間範囲のログを表示する
journalctl --since "09:00" --until "10:00"優先度とサービス・プログラムによるフィルタリング
Section titled “優先度とサービス・プログラムによるフィルタリング”指定できる優先度レベルは debug, info, notice, warning, err, crit, alert, emerg です。
数値でも指定できます。
0 = emerg
1 = alert
2 = crit
3 = err
4 = warning
5 = notice
6 = info
7 = debug
エラー・クリティカル・緊急メッセージのみ表示する
journalctl -p err..emerg特定のシステムサービスのログを表示する
# NetworkManager サービスのログjournalctl -u NetworkManager# GDM (GNOME ディスプレイマネージャー) サービスのログjournalctl -u gdm# SDDM (シンプルデスクトップディスプレイマネージャー) サービスのログjournalctl -u sddm特定のプロセス ID (PID) のログを表示する
journalctl _PID=pid# コマンド例journalctl _PID=3344特定の実行ファイルのログを表示する
journalctl path/to/executable# コマンド例journalctl /usr/bin/firefoxjournalctl を使ったカーネルメッセージの確認
Section titled “journalctl を使ったカーネルメッセージの確認”基本的なカーネルメッセージの表示
journalctl -kジャーナル視点での全カーネルメッセージを表示します。dmesg と同じです。
現在の起動のカーネルメッセージのみ表示
journalctl -k -b 0現在のブートセッションのカーネルメッセージのみを表示します。
前回のブートのカーネルメッセージを表示
journalctl -k -b -1前回のブートのカーネルメッセージを表示します。ブートの失敗やクラッシュの診断に役立ちます。
新しいカーネルメッセージをリアルタイムで追跡
journalctl -k -fカーネルメッセージをリアルタイムで監視します。ハードウェアイベントやドライバの読み込みの監視に向いています。
特定のドライバメッセージを検索
# コマンド例# GPU 関連のメッセージjournalctl -k | grep -i "nvidia\|amd\|intel"# USB デバイスのメッセージjournalctl -k | grep -i "usb\|pci"時間ベースのカーネルメッセージフィルタリング
journalctl -k --since "1 hour ago"journalctl -k --since "09:00" --until "10:00"特定の時間帯のカーネルメッセージを表示します。
dmesg を使ったカーネルメッセージの確認
Section titled “dmesg を使ったカーネルメッセージの確認”dmesg コマンドはカーネルリングバッファを表示します。ハードウェアの識別、ドライバの初期化、システムイベントに関するカーネルメッセージが含まれています。
基本的な使い方とフォーマット
Section titled “基本的な使い方とフォーマット”カーネルメッセージバッファ全体を表示
dmesg人間が読みやすいタイムスタンプ付きで表示
dmesg -Tページャーで読みやすく表示
dmesg | less優先度レベルによるフィルタリング
Section titled “優先度レベルによるフィルタリング”journalctl と同様に、dmesg でも優先度レベルでメッセージをフィルタリングできます。
エラーとクリティカルメッセージのみ表示
dmesg -l err,crit,alert,emerg指定できる優先度レベルは debug, info, notice, warning, err, crit, alert, emerg です。
数値でも指定できます。
0 = emerg
1 = alert
2 = crit
3 = err
4 = warning
5 = notice
6 = info
7 = debug
最新のカーネルメッセージを表示
dmesg -w特定のハードウェアやドライバのメッセージを検索
# コマンド例# USB 関連メッセージの検索dmesg | grep -i usb | less# Bluetooth デバイスdmesg | grep -i bluetooth# NVIDIA 関連dmesg | grep -i nvidia | less# 初期化に失敗したデバイスdmesg | grep -i "error\|failed" | lessdmesg を使った特定の問題への対処例
Section titled “dmesg を使った特定の問題への対処例”USB デバイスが認識されないとき
dmesg -w | grep -i usbこのコマンドを実行してからデバイスを接続し、新しく送信されたメッセージを読んでください。
GPU の初期化の問題
dmesg | grep -i "nvidia\|amd\|intel\|radeon\|drm\|gpu" | lessWi-Fi またはネットワークアダプターの問題
dmesg | grep -i "wlan\|wifi\|network\|firmware" | tail -20無線カードが動作しない原因となる、ファームウェアの読み込み失敗やドライバエラーを確認できます。
HDD/SSD の検出の問題
dmesg | grep -i "sda\|sdb\|nvme\|scsi\|disk" | head -30ストレージデバイスが認識されない場合や、ブート時にエラーが表示される場合に使用してください。
システムフリーズやカーネルパニック
dmesg -T -l emerg,alert,crit,err | tail -30システムのクラッシュやフリーズの前に発生した重大なカーネルメッセージを確認できます。
メモリ (RAM) のエラー
dmesg | grep -i "memory\|ram"メモリの破損、検出の問題、ECC エラーレポートを確認できます。
オーディオデバイスのイベント
dmesg | grep -i "audio\|snd\|hda" | grep -i "error\|fail\|card"サウンドカードが正しく検出されているか、ドライバが正常に読み込まれているかを確認できます。
カーネルモジュールの読み込み失敗
dmesg | grep -i "module\|init" | grep -i "error\|fail"特定のハードウェアドライバが読み込まれない場合や、初期化に失敗している場合に使用します。
ハードウェアイベントのリアルタイム監視
dmesg -w -l warn,err,crit,alert,emerg -T問題を再現することで、新しい重要なカーネルメッセージが送信されないか確認してください。
BIOS/UEFI とファームウェアの問題
dmesg | grep -i "bios\|uefi\|firmware\|efi"ハードウェアファームウェアと Linux カーネルの互換性の問題を確認できます。
インストールとライブ環境
Section titled “インストールとライブ環境”CachyOS のライブ ISO に KDE Plasma しか入っていないのはなぜ?
Section titled “CachyOS のライブ ISO に KDE Plasma しか入っていないのはなぜ?”開発とメンテナンスを KDE Plasma デスクトップ環境に集中させることにしました。これにより、ライブ ISO でより良く、安定した一貫性のあるユーザー体験を提供しています。
ライブ環境は主に CachyOS のインストールや、システム復旧のための cachy-chroot の使用を目的としています。ほかのデスクトップ環境やウィンドウマネージャーをテストするためには、仮想マシン (VM) の利用を強くおすすめします。
「インストーラーを起動」をクリックしてもインストーラーの起動に時間がかかるのはなぜ?
Section titled “「インストーラーを起動」をクリックしてもインストーラーの起動に時間がかかるのはなぜ?”インストーラーがフリーズしているわけではなく、インストールの準備をするために必要なバックグラウンドスクリプトが実行されています。この作業によってシステムのキーリングと時刻が最新の状態に更新され、よくあるインストールの問題を防ぐことができます。
スクリプトの内容を詳しく知りたい場合は GitHub で確認できます。
- 古いキーリングファイルを削除します。
- Arch Linux と CachyOS のキーリングパッケージを最新バージョンに更新します。
- pacman キーリングを初期化して展開します。
- ネットワーク時刻同期を有効にします。
- システムのブート形式 (UEFI または BIOS/MBR) を確認し、形式に応じてブートローダーを選択するプロンプトを表示します。
インストールが 33% で止まるのはなぜ?
Section titled “インストールが 33% で止まるのはなぜ?”これはインストーラーによるパッケージのダウンロードが止まっているときに発生します。通常はネット接続がとても遅くなっているか、不安定であることを表しています。ネットワーク接続を確認してからもう一度お試しください。
ブートローダーの復旧
Section titled “ブートローダーの復旧”ブートローダーを復旧する手順
Section titled “ブートローダーを復旧する手順”-
CachyOS ライブ ISO でブートしてください。
-
ターミナルを開き、
cachy-chrootコマンドを使用してインストール済みのシステムに chroot してください。Terminal window sudo cachy-chrootBTRFS プリセットを使用している場合はプロンプトで
yを入力してください。コマンド例 Do you want to use CachyOS BTRFS preset to auto mount root subvolume? yDo you want to mount additional partitions? · yesEnter the mount point for additional partition (e.g. /boot) type 'skip' to cancel:# systemd-boot, Limine, rEFInd の場合は /boot を入力# GRUB の場合は /boot/efi を入力 -
インストール済みのブートローダーとシステムのタイプ (UEFI または MBR/BIOS) に応じて以下の手順にしたがってください。
以下のコマンドで GRUB を再インストールしてください。
Terminal window sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyosTerminal window sudo grub-install --target=i386-pc /dev/sdX # sdX を実際のディスク名 (例: sda) に置き換えてください以下のコマンドで systemd-boot を再インストールしてください。
Terminal window sudo bootctl install以下のコマンドで Limine を再インストールしてください。
Terminal window sudo limine-installTerminal window sudo limine bios-install /dev/sdX # sdX を実際のディスク名 (例: sda) に置き換えてください以下のコマンドで rEFInd を再インストールしてください。
Terminal window sudo refind-install -
CachyOS カーネルを再インストールしてください。
Terminal window sudo pacman -Syu linux-cachyos linux-cachyos-headers -
cachy-chroot を終了してください。
Terminal window exit -
システムを再起動してください。
パッケージ管理とアップデート
Section titled “パッケージ管理とアップデート”Pacman のトラブルシューティング
Section titled “Pacman のトラブルシューティング”エラー: ○○の署名は無効です
Section titled “エラー: ○○の署名は無効です”このエラーはパッケージの暗号署名に問題があることを示しています。通常、ミラーが古い場合や、システムのキーリングが壊れている場合に発生します。
ミラーの問題は時間が経てば自然に解決することが多いですが、問題が続く場合は以下のどれかの解決策をためしてみてください。
sudo pacman -Syusudo cachyos-rate-mirrorsミラーのレート測定でも解決しない場合は、システムのキーリングが壊れている可能性があります。
- CachyOS Hello を開き、アプリ/チューニング に移動します。
- 「キーリングをリセット」ボタンをクリックします。
error: 404 Not Found
Section titled “error: 404 Not Found”このエラーはインストールしようとしているパッケージが現在のミラーで見つからないことを意味します。通常、ローカルのパッケージデータベースがリモートリポジトリと同期していない場合に発生します。
解決策:
以下のコマンドを実行してパッケージデータベースを更新し、システム全体をアップグレードしてください。これにより、最新のパッケージ情報が取得されます。
sudo pacman -Syu# その後、インストールしたいパッケージを再度インストールしてください。エラー: ○○を削除できません
Section titled “エラー: ○○を削除できません”このエラーは pacman キャッシュにシステムが自動管理できないファイルが含まれている場合に発生します。すぐに修正できる一般的な問題です。
-
解決策 1: CachyOS Hello を使用する
- 一番かんたんな方法は CachyOS Hello を使用することです。CachyOS Hello 内の アプリ/チューニング に移動し、パッケージキャッシュをクリア をクリックしてください。
-
解決策 2: キャッシュを手動で削除する
- 以下のコマンドを実行してキャッシュ内の孤立パッケージをすべて削除してください。
Terminal window sudo rm -r /var/cache/pacman/pkg/*
エラー: ファイル ○○ は破損しています (無効または破損したパッケージ (PGP 鍵))
Section titled “エラー: ファイル ○○ は破損しています (無効または破損したパッケージ (PGP 鍵))”# 例:: ファイル /var/cache/pacman/pkg/python-charset-normalizer-3.4.0-1-any.pkg.tar.zstは破損しています (無効または破損したパッケージ (PGP 鍵)).このエラーは通常、パッケージが本物かどうかを検証する pacman キーリングに問題があることが原因です。以下のコマンドでキーリングをリセット・再展開することで解決できます。
sudo rm -rf /etc/pacman.d/gnupg/sudo pacman-key --initsudo pacman-key --populate
sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.comsudo pacman-key --lsign-key F3B607488DB35A47
sudo rm -R /var/lib/pacman/sync上記で解決しない場合は、キーリングではなく、ミラーに問題がある可能性があります。有効なミラーに設定してからキャッシュを削除してください。
sudo cachyos-rate-mirrorssudo pacman -Sccエラー: データベースをロックできません
Section titled “エラー: データベースをロックできません”このエラーは別の pacman プロセスがすでに実行中で、データベースが破損しないようにロックされている場合に発生します。以前のプロセスがクラッシュまたは中断された場合、ロックファイルである db.lck が削除されていないことがあります。
-
解決策 1: CachyOS Hello を使う
- 一番かんたんな方法は CachyOS Hello の アプリ/チューニング タブにある DB ロックを解除 機能を使うことです。
-
解決策 2: ロックファイルを手動で削除する
- CachyOS Hello を使わない場合は、ロックファイルを手動で削除してください。
sudo rm /var/lib/pacman/db.lckエラー: ファイル ○○ を ×× から取得するのに失敗しました : Connection timed out
Section titled “エラー: ファイル ○○ を ×× から取得するのに失敗しました : Connection timed out”以下のようなエラーが表示されることがあります。
# エラーの例エラー: ファイル '○○' を ×× から取得するのに失敗しました : Connection timed outエラー: ファイル '○○' を ×× から取得するのに失敗しました : Couldn't resolve host nameエラー: ファイル '○○' を ×× から取得するのに失敗しました : The requested URL returned error: 526こうしたエラーはほとんどの場合、現在設定されているミラーに原因があります。ミラーが重い、一時的にダウンしている、またはお住まいの地域からアクセスできないなどといった場合があります。
- 解決策: より速くて信頼性の高いミラーへミラーリストを更新するのが最善です。
sudo cachyos-rate-mirrors# 更新されたミラーリストでシステムをアップデートしてみるsudo pacman -Syu警告: ローカル (○○) の方が ×× よりも最新です
Section titled “警告: ローカル (○○) の方が ×× よりも最新です”この警告はシステム上のパッケージバージョンが公式リポジトリで利用可能なバージョンより新しい場合に表示されます。ミラーが古い場合、リポジトリでパッケージがダウングレードされた場合、または別のソースからパッケージをインストールした場合に発生することがあります。
- 解決策:
pacman -Syuuコマンドはシステム全体をアップグレードしつつダウングレードも許可するため、ローカルパッケージをリポジトリのバージョンと同期させることでこの警告を解消できます。
sudo pacman -Syuuエラー: 処理を完了できませんでした (衝突しているファイル)
Section titled “エラー: 処理を完了できませんでした (衝突しているファイル)”このエラーは pacman がインストールまたは更新しようとしているパッケージに、別のソースからすでにシステム上に存在するファイルが含まれている場合に発生します。これはシステムの破損を防ぐための安全機能です。
- 解決策: 競合しているファイルを手動で削除することで解決できます。詳しい情報と解決策については Arch Wiki をご覧ください。
エラー: 処理を完了できませんでした (衝突しているファイル)nvidia-utils: /usr/lib/environment.d/10-gsk.conf がファイルシステムに存在していますエラーが発生したため、パッケージは更新されませんでした。 -> error installing repo packages上記の例の場合、競合しているファイルを削除してからアップデートコマンドを再実行すると解決します。
sudo rm /usr/lib/environment.d/10-gsk.confERROR: module not found: ‘nvidia’, ‘nvidia_modeset’, …
Section titled “ERROR: module not found: ‘nvidia’, ‘nvidia_modeset’, …”==> ERROR: module not found: 'nvidia'==> ERROR: module not found: 'nvidia_modeset'==> ERROR: module not found: 'nvidia_uvm'==> ERROR: module not found: 'nvidia_drm'このエラーの原因は主に 2 つあります。
-
chwd では常に「モジュールの早期ロード」が有効になっているため、mkinitcpio が NVIDIA モジュールがあることを前提として読み込もうとします。モジュールが見つからない場合にこのエラーが発生します。
-
システムにインストールされているほかのカーネルに NVIDIA モジュールがない可能性があります。
このエラーを修正するには以下のパッケージをインストールしてください。
sudo pacman -S nvidia特定のソフトウェアの問題
Section titled “特定のソフトウェアの問題”最近、システムの起動に時間がかかる
Section titled “最近、システムの起動に時間がかかる”この問題はさまざまな原因が考えられます。まずは、systemd-analyze を使ってなにが原因なのか探してみましょう。
ターミナルで以下のどちらかのコマンドを実行してください。
systemd-analyze blameまたは
systemd-analyze critical-chain出力を確認し、cachyos-rate-mirrors.service の実行に時間がかかっていた場合は、以下のコマンドを使用してブート時にサービスが自動起動しないよう mask してください。
systemctl mask cachyos-rate-mirrorssystemctl mask cachyos-rate-mirrors.timerDiscord でまだリポジトリにないアップデートを求められる
Section titled “Discord でまだリポジトリにないアップデートを求められる”
これは Discord が独自のアップデートシステムを使用しており、公式リポジトリが更新されるよりも先に新バージョンがリリースされるために発生します。新しいバージョンがリリースされたが、まだミラーでパッケージ化されていないということです。
この問題を回避するには、Arch Wiki の修正ガイドにしたがってください。
よくある質問
Section titled “よくある質問”CachyOS という名前の由来は?
Section titled “CachyOS という名前の由来は?”CachyOS は “Cachy” スケジューラにちなんで名付けられています。これは Linux カーネル向けの CPU スケジューラである cacULE スケジューラの元の名前です。
このプロジェクトは 2020〜2021 年頃、CachyOS の創設者のひとりである ptr1337 が Hamad という開発者と cacULE スケジューラのテストと共同作業を行っていたことに始まります。x86-64-v3 最適化パッケージを採用した Arch Linux ベースの最適化ディストリビューションをつくることにしたとき、ふたりを結びつけたスケジューラにちなんで “CachyOS” と名付けました。
-git パッケージの更新頻度は?
Section titled “-git パッケージの更新頻度は?”通常は毎週月曜日ですが、例外もあります。
CachyOS リポジトリの -bin パッケージもパフォーマンス最適化がされている?
Section titled “CachyOS リポジトリの -bin パッケージもパフォーマンス最適化がされている?”されていません。-bin パッケージはコンパイル済みのバイナリであり、CachyOS リポジトリのソースベースのパッケージと同じパフォーマンス最適化は適用されていません。
ブートアニメーション (Plymouth) を無効にする方法
Section titled “ブートアニメーション (Plymouth) を無効にする方法”ブートアニメーションを無効にするには、ブートローダーの設定を編集して以下のカーネルパラメーターを追加してください。
plymouth.enable=0 disablehooks=plymouthCachyOS へのパッケージリクエストの送り方
Section titled “CachyOS へのパッケージリクエストの送り方”CachyOS は多くのコンパイル済み AUR パッケージの一覧を提供しており、よく使われるパッケージが含まれています。 ユーザーは追加してほしい AUR パッケージをリクエストすることができ、承認されると自動的にビルドサーバーによって更新されます。
パッケージの追加を希望する場合は、GitHub またはフォーラムでリクエストを送ることができます。
セキュリティとベストプラクティス
Section titled “セキュリティとベストプラクティス”AUR を安全に使うために
Section titled “AUR を安全に使うために”AUR は豊富なパッケージを提供していますが、セキュリティを最優先に気をつけなれけばいけません。以下は CachyOS システムで AUR を安全に使用するために大切なことです。
- PKGBUILD を理解しよう PKGBUILD はビルドスクリプトです。その構造、変数 (
source,pkgname)、関数 (build(),package()) を把握しておきましょう。 - ソースリンクを確認しよう
sourceの URL がかならず公式のサイトまたは信頼できるリポジトリを指しているか確認してください。不審な URL や個人リンクは避けましょう。 - インストール方法を確認しよう ファイルのインストール先 (
package()関数) や、不審なコマンドや機密性の高いシステム領域に触れるコマンドがないか確認してください。.installスクリプトも確認しましょう。 - メンテナーを調査しよう AUR でのメンテナーの過去の履歴を調べ、セキュリティ上の問題や不審な活動がないかを確認しましょう。
- チェックサムと PGP を確認しよう とてもたいせつなポイントです!すべてのチェックサム (SHA256, BLAKE2b など) が上流リポジトリと一致することを確認してください。利用可能であれば PGP 署名 (
validpgpkeys) で本物かどうかを確認しましょう。 -binパッケージには注意しよう コンパイル済みバイナリを使用するため、ソースを確認できません。その出所と整合性について、最大限吟味してください。- コミュニティのコメントを読もう AUR ページのコメントで、ほかのユーザーからの警告や問題、有益な情報がないか確認しましょう。
- 整合性チェックをスキップしないで
--skipintegなどのフラグを使うとすべてのセキュリティチェックが無効になります。絶対に使わないでください。 - AUR ヘルパーを理解しよう ヘルパー (yay, paru など) の動作を理解しましょう。PKGBUILD とその差分を表示するよう設定するか、
makepkgで手動ビルドしてください。 - 必要性を判断しよう インストール前に、その AUR パッケージが本当に必要か、または公式リポジトリに代替がないかを確認しましょう。
- システムを常に最新の状態に保つ 定期的に
sudo pacman -Syuを実行して、pacmanやmakepkgを含むすべてのシステムコンポーネントに最新のセキュリティパッチが適用されていることを確認しましょう。
Arch ベースのシステムのセキュリティを保つために、常に最新の注意をはらいましょう。
CachyOS のメンテナンス
Section titled “CachyOS のメンテナンス”定期メンテナンスの方法については Arch Wiki をお読みください。 https://wiki.archlinux.jp/index.php/システムメンテナンス
GUI パッケージマネージャーの選び方
Section titled “GUI パッケージマネージャーの選び方”GUI 形式のパッケージマネージャーは便利ですが、その中には CachyOS のようなローリングリリースのシステムで深刻な問題を発生させるため、システムパッケージの管理で使用してはいけないものがあります。
- Pamac: システムのパッケージキーリングの破損など、特定のパッケージ管理処理を正しく実行できないことが知られています。これにより PGP 署名エラーが発生し、システムのアップデートができなくなる可能性があります。
- Discover (KDE) と GNOME ソフトウェアセンター: こうしたアプリストアは PackageKit バックエンドを使用しています。Flatpak の管理には概ね安全ですが、システムパッケージのインストールやアップデートには使用しないことをおすすめします。PackageKit ベースのマネージャーは不安定であったりクラッシュしやすく、トランザクションが失敗した場合にシステムを破損させることがあります。
安定性と信頼性のために、システムパッケージの管理は pacman を使ったコマンドラインでの操作を強く推奨します。
GUI 形式のインターフェースを好む場合、Shelly や CachyOS パッケージインストーラー などがおすすめです。この2つは内部で pacman を直接的に操作しているため、安全とされています。