Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Prelinkのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Prelink
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:システム管理]] [[en:Prelink]] [[ru:Prelink]] ほとんどのプログラムは機能させるのにライブラリを必要とします。ライブラリは、リンカによってコンパイル時にプログラムに統合させたり (静的リンク)、ローダーによってプログラムの実行時に統合させることが可能です (動的リンク)。動的リンクにはコードのサイズが減って管理が楽になるという利点がありますが、プログラムが実行されるたびに、ローダーが該当するライブラリを見つけ出さなければなりません。ライブラリはメモリのあちこちに散らばっているため、性能にペナルティを与えてしまうことになり、必要とするライブラリが増えれば増えるほど、ペナルティも増加します。Prelink はシステムの動的リンカを使用して、再配置によってあらかじめリンクを行っておくことで (実行可能ファイルを "prelink" する) ペナルティを減らします。何らかの理由で、prelink された後にライブラリが変更されなければ、プログラムは実行時にライブラリを探すのに時間を費やす必要はなくなります。 {{Warning|Prelink の使用に対して反対する主張が [https://fedorahosted.org/fesco/ticket/1183 Fedora バグ #1183] でされています。[https://lwn.net/Articles/341244/ LWN の記事] のまとめより: "総合して、pre-link はちょっとしたハックであり、わざわざそれを行うほどの効果があるかは不明である"。}} ==インストール== {{AUR|prelink}}{{Broken package link|パッケージが存在しません}} パッケージを[[インストール]]してください。 ==設定== 全ての設定は {{ic|/etc/prelink.conf}} で行います。 {{Note|prelink を使用するとプロプライエタリなバイナリがクラッシュすることがあります (Flash, Skype, Nvidia のプロプライエタリドライバーなど)。クラッシュするようなバイナリは {{ic|/etc/prelink.conf}} の除外リストに追加することができます。}} ==使用方法== ===Prelink=== 次のコマンドは {{ic|/etc/prelink.conf}} で指定したディレクトリ内の全てのバイナリを prelink します: # prelink -amR {{Warning|ディスクの残り容量が少なくなっている状態でシステム全体を prelink すると、バイナリの一部が切り捨てられて、システムが壊れてしまう可能性があると言われています。{{ic|file}} や {{ic|readelf}} コマンドを使用してバイナリファイルの状態をチェックしてください。もしくは {{ic|df -h}} コマンドで先にハードドライブの残り容量を確認してください。}} === 除外リスト === [[en2:Talk:Prelink#Exclude_list|議論ページ]]より: {{hc|/etc/prelink.conf|<nowiki> # Skype -b /usr/lib32/skype/skype -b /usr/lib/skype/skype # Flash Player Plugin -b /usr/lib/mozilla/plugins/libflashplayer.so # NVIDIA -b /usr/lib/libGL.so* -b /usr/lib32/libGL.so* -b //usr/lib/libOpenCL.so* -b //usr/lib32/libOpenCL.so* -b /usr/lib32/vdpau/ -b /usr/lib/vdpau/ -b /usr/lib/xorg/modules/drivers/nvidia_drv.so -b /usr/lib/xorg/modules/extensions/libglx.so* -b /usr/lib/libnvidia-* -b /usr/lib32/libnvidia-* # Catalyst -b /usr/lib/libati* -b /usr/lib/fglrx* -b /usr/lib/libAMDXvBA* -b /usr/lib/libGL.so* -b /usr/lib/libfglrx* -b /usr/lib/xorg/modules/dri/fglrx_dri.so -b /usr/lib/xorg/modules/drivers/fglrx_drv.so -b /usr/lib/xorg/modules/extensions/fglrx/ -b /usr/lib/xorg/modules/linux/libfglrxdrm.so -b /usr/lib/xorg/modules/extensions/libglx.so </nowiki>}} ===prelink の削除=== 全てのバイナリから prelink を削除: # prelink -au == 毎日実行される cron ジョブ == アップデートが行われても速度を保つために cron ジョブの設定が推奨されています (他のディストリのパッケージに含まれています)。{{ic|/etc/cron.daily/prelink}} として保存してください: {{hc|/etc/cron.daily/prelink|<nowiki>#!/bin/bash [[ -x /usr/bin/prelink ]] && /usr/bin/prelink -amR &>/dev/null</nowiki>}} そして所有権とパーミッションの設定をしてください: # chmod 755 /etc/cron.daily/prelink また、AUR にある {{aur|prelink-systemd}}{{Broken package link|パッケージが存在しません}} パッケージは上記の cron スクリプトと同じ効果を持つ systemd タイマーユニットをインストールします。 == KDE == KDE に prelink のことを教えることで高速に起動することができます。全てのユーザーに適用されるように以下を設定すると良いでしょう: {{hc|/etc/profile.d/kde-is-prelinked.sh|<nowiki>export KDE_IS_PRELINKED=1</nowiki>}} そして所有権とパーミッションの設定をしてください: # chmod 755 /etc/profile.d/kde-is-prelinked.sh == 参照 == * [https://linux.die.net/man/8/prelink Prelink man page] * [https://www.gentoo.org/doc/ja/prelink-howto.xml Gentoo Linux Prelink ガイド] * [http://crast.us/james/articles/prelink.php ELF Prelinking and what it can do for you]
Prelink
に戻る。
検索
検索
Prelinkのソースを表示
話題を追加