Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Modprobed-dbのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Modprobed-db
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:カーネル]] [[en:Modprobed-db]] {{Related articles start}} {{Related|カーネル}} {{Related|Linux-ck}} {{Related articles end}} [https://github.com/graysky2/modprobed-db modprobed-db] は、システムの実行中にロードされている全ての[[カーネルモジュール]]のリストを生成するユーティリティです。このリストを使うことで、[[カーネル#コンパイル|自分でカーネルをビルドする]]際に未使用のモジュールを全て無効化し、コンパイル時間を劇的に削減することができます。 == インストール == {{AUR|modprobed-db}} パッケージをインストールしてください。 # {{ic|modprobed-db}} を実行してください。まだ存在しないならば {{ic|$XDG_CONFIG_HOME/modprobed-db.conf}} が作成されます。 # {{ic|modprobed-db store}} を実行してください。{{ic|$XDG_CONFIG_HOME/modprobed.db}} データベースファイルが作成され、現在ロードされているモジュールが記録されます。 '''任意:''' 記録したくないモジュールは ignore 配列に追加してください。例えば、ビルドされるモジュールや、他のパッケージによって提供されているモジュールなどです。 無視されるべき一般的なモジュールは、いくつかすでに追加されています: {{hc|$ cat ~/.config/modprobed-db.conf|2= IGNORE=(nvidia vboxdrv vboxnetflt vboxnetadp vboxpci lirc_dev lirc_i2c osscore oss_hdaudio oss_usb tp_smapi thinkpad_ec zavl znvpair zunicode zcommon zpios zfs spl splat) }} == 使用方法 == 最初にデータベースが作成されたら、通常通りにシステムを使って (USB スティックを接続したり、モジュールを必要とするハードウェアを使ったり、モジュールを必要とするファイルシステムをマウントするなど)、以下の方法のどちらかで定期的にデータベースを更新します: === Cron === modprobed-db を使用する最も便利な方法は {{ic|/usr/bin/modprobed-db store}} を定期的に実行する crontab エントリを追加することです。 1時間ごとにスクリプトを実行する例: $ crontab -e 0 */1 * * * /usr/bin/modprobed-db store &> /dev/null === Systemd === cron を使いたくない Systemd ユーザーは付属のサービスを使うことができます: {{ic|modprobed-db.service}}。起動時とシャットダウン時、それと1時間ごとに store モードで modprobed-db を実行します。 $ systemctl --user enable modprobed-db.service $ systemctl --user start modprobed-db.service === データの使用 === 上述したとおり、このスクリプトはカーネルをコンパイルするときに '''make localmodconfig''' と組み合わせて使われることが想定されています。十分なデータベースが作成されたら、カーネルをコンパイルする前に {{ic|/usr/bin/modprobed-db recall}} を実行して全てのモジュールをロードしてから '''make localmodconfig''' を使います。 {{Note|{{ic|/usr/bin/modprobe}} は root 権限を必要とするため、データベースを使用するには root か sudo で {{ic|/usr/bin/modprobed-db}} を実行する必要があります。}} ==== Arch の公式カーネルの PKGBUILD を使う ==== Arch の公式カーネルの PKGBUILD はネイティブの対応はしていませんが、以下のように簡単に設定することができます: {{bc| ... # get kernel version make prepare sudo /usr/bin/modprobed-db recall <---- insert this line make localmodconfig <---- insert this line # load configuration # Configure the kernel. Replace the line below with one of your choice. #make menuconfig # CLI menu for configuration #make nconfig # new CLI menu for configuration #make xconfig # X-based configuration #make oldconfig # using old config from previous kernel version # ... or manually edit .config ...}} ==== AUR のカーネルを使う ==== AUR のカーネルパッケージの中には PKGBUILD ファイルで modprobed-db にネイティブで対応しているものがあります。例: *{{AUR|linux-bfs}}{{Broken package link|{{aur-mirror|linux-bfs}}}} *{{AUR|linux-bridge-pl}}{{Broken package link|{{aur-mirror|linux-bridge-pl}}}} *{{AUR|linux-ck-fbcondecor}} *{{AUR|linux-ck}} *{{AUR|linux-lqx}} *{{AUR|linux-lts310}}{{Broken package link|パッケージが存在しません}} *{{AUR|linux-lts312}}{{Broken package link|パッケージが存在しません}} *{{AUR|linux-lts-ck}} *{{AUR|linux-pf}} *{{AUR|linux-uksm-ck}}{{Broken package link|{{aur-mirror|linux-uksm-ck}}}} *{{AUR|linux-ice}}{{Broken package link|パッケージが存在しません}} *{{AUR|linux-uksm}} modprobed-db を使用する他のパッケージを調べるには: cd /scratch git clone --depth 1 http://pkgbuild.com/git/aur-mirror.git find /scratch/aur-mirror -iname "PKGBUILD" -print0 | xargs -0 grep -i 'modprobed-db recall\|modprobed_db recall' | sort {{Note|The server pkgbuild.com is rather slow and the git clone can take a while.}} もしくは、[http://pkgbuild.com/git/aur-mirror.git/ こちらのリンク] から .tar.xz スナップショット (約 90 MB) をダウンロードして、最新のコミットメッセージをクリックしてください。 == 推奨事項 == '''make localmodconfig''' でカーネルをビルドする前に、パッケージをインストールしてから相当期間はシステムを"使用"して、システムの使用状況に応じてデータベースがシステムに必要なモジュールを全て収集するまで成長させることが推奨されています。適当なモジュールをロードしてカタログ化させるために以下のような操作をすることが推奨されます: *あらゆるリムーバブルメディア (USB, DVD, CD など) を挿入 *マシンに接続された全てのデバイスを使用 (wifi, ネットワーク, カメラや ipod などの USB デバイスなど) *あらゆるファイルシステムのマウント (ext2/3/4, fat, vfat, CIFS 共有, NFS 共有など) *必要とするモジュールを確認するため出来る限り多数の (いつも使っている) アプリケーションを使用。例えば、{{AUR|pgl-cli}} などの IP ブロック/フィルタリングソフトウェア。 *iso イメージファイルをマウントすることがある場合はマウントしてください ('''loop''' と '''isofs''' モジュールが記録されます)。 *{{Pkg|truecrypt}} などの暗号化ソフトウェアを必要とする場合は、データベースに crypto モジュールが記録されるように、ソフトウェアをロードして暗号化コンテナをマウント。 *別の Linux カーネルを試用。デフォルトのカーネルでは有効になっていないモジュールが含まれている可能性があります。 == 推奨モジュール == *cifs *ext2 *ext3 *ext4 *fat *isofs *loop *efivars *vfat *usb_storage == カスタムカーネルで '''make localmodconfig''' と modprobed-db を使用するメリット == #ファイルシステム上のカーネル容量の縮小 #コンパイル時間の短縮 Arch カーネルのバージョン 3.8.8-1 による比較 (ABS を使用): {{Note| The modprobed.db on the test machine contains 209 lines; YMMV based on specific usage and needs.}} {| class="wikitable" style="text-align:center" | '''マシン CPU''' || '''スレッド数''' || '''make localmodconfig'''||'''モジュール数''' || '''HDD 上のモジュール容量''' || '''コンパイル時間''' |- | Intel i7-3770K @ 4.50 GHz || 8 || {{No}} || 3,025 || 129 MB || 7分37秒 |- | Intel i7-3770K @ 4.50 GHz || 8 || {{Yes}} || 230 || 18 MB || 1分13秒 |- | Intel Q9550 @ 3.40 GHz || 4 || {{No}} || 3,025 || 129 MB || 14分21秒 |- | Intel Q9550 @ 3.40 GHz || 4 || {{Yes}} || 230 || 18 MB || 2分20秒 |- | Intel E5200 @ 3.33 GHz || 2 || {{No}} || 3,025 || 129 MB || 34分35秒 |- | Intel E5200 @ 3.33 GHz || 2 || {{Yes}} || 230 || 18 MB || 5分46秒 |- |} *'''ビルドされるモジュールの数が 1/13''' *'''容量が 1/7''' *'''コンパイル時間が 1/6''' モジュールの数を確認: find /scratch/linux-3.8 -name '*.ko' | wc -l HDD 上の容量を確認: find /scratch/linux-3.8 -name '*.ko' -print0 | xargs -0 du -ch 設定済みの linux-3.8.8 のコンパイル時間を確認 (標準の Arch 設定を使用): $ time make -jx modules {{Note|The Arch standard is to gzip each module; the numbers shown in the table above are not gzip'ed but the savings ratio will be unaffected by this.}} == 参照 == * https://docs.kernel.org/admin-guide/README.html#configuring-the-kernel {{ic|make localmodconfig}} のドキュメント * https://docs.kernel.org/kbuild/kconfig.html とその親ディレクトリ
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:TranslationStatus
(
ソースを閲覧
)
Modprobed-db
に戻る。
検索
検索
Modprobed-dbのソースを表示
話題を追加