プレリンク(またはKDEを3秒で起動する方法)

プレリンク は、プログラムをより速く開くことを目的としたプログラムです。 それがどのように行われるかについての説明は完全な記事に値しますが、ロードする必要のあるダイナミックライブラリを最初に探す場所をバイナリに伝えると大まかに言うことができます。

したがって、QtCoreライブラリに依存するバイナリがあると想像してみましょう。その上でプレリンクを実行すると、最初にプレリンクで指定されたスペースを検索し、見つからない場合は(更新、例)従来の方法で検索します。

Prelinkは、GNU / linuxやBSDなどのPOSIX準拠のシステムで機能します。

プレリンクの適用方法

プリリンクを使用したシステムの最適化は非常に簡単です。(rootとして)を使用してバイナリを最適化できます。

prelink binario

ただし、システム全体を最適化するには、次のことを実行する必要があります。

prelink -amvR

次のようなものが表示されます。

プレリンク

プレリンク

パラメータの意味の詳細な説明は次のとおりです。

  • a:–allに等しく、システム全体に適用されます
  • m:–conserve-memoryと同等で、その仕組みの説明は複雑ですが、スペースを節約します
  • v:–verboseと同等であり、事前にリンクされたライブラリがどれであるかを知ることができます。
  • A:–randomと同等で、値をランダムにすることでセキュリティを強化します。 動作の詳細はわかりません
誰かが興味を持っている場合に備えて、ターミナルは薬明です。

バイナリの事前リンクを解除(リンク解除)するには

prelink  -u

システム全体:

prelink -au

Ubuntuのような多くのディストリビューションは、事前リンクがインストールされている場合、すべてのシステムバイナリを定期的に事前リンクするcronを提供します
プレリンクはいくつかのプロプライエタリバイナリで問題を引き起こす可能性があるため、通常はデフォルトでスキップされます。 とにかく、/ etc /prelink.confファイルに次の行が含まれていることを確認してください。
#Skype -b / usr / lib32 / skype / skype -b / usr / lib / skype / skype#FlashPlayerプラグイン-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 /拡張機能/ fglrx / -b /usr/lib/xorg/modules/linux/libfglrxdrm.so -b /usr/lib/xorg/modules/extensions/libglx.so

KDEを最適化する

約束されているのは借金です。 すでにシステムを事前にリンクしている場合は、KDEのロード時間の違いに気付かなかったでしょう。 これは、KDEがkdeinitと呼ばれるユーティリティとして機能し、必要なすべてのライブラリをロードするためです。 このツールの使用を避けるために、KDEに事前にリンクされていることを通知する必要があります。 これを行うには、(rootとして)変数ファイルを作成する必要があります。

nano /etc/profile.d/kde-prelink.sh

次の行を貼り付けます

export KDE_IS_PRELINKED=1

そして、私たちはそれに適切な許可を与えます(私たちはいたずらを追加したくありません rm-rf /)

chmod 755 /etc/profile.d/kde-prelink.sh

そして、あなたが私を信じていないのなら、これが私のシステムで起動するKDEのビデオです:

【仕様】システム詳細:
  • 7200RPMのHDD
  • Gentooの
  • XFS
  • Ksplashが無効になっています(ビデオの黒い画面が原因
[/仕様]

cronとprelink

更新が非常に頻繁に行われるArchlinuxのようなシステムを使用している場合は、毎日prelinkを実行するcronを追加することをお勧めします。

したがって、nano(rootとして)を使用してcronファイルを開きます。

nano /etc/cron.daily/prelink

そして、以下を貼り付けます。

#!/ bin / bashに
[[-x / usr / bin / prelink]] &&
/ usr / bin / prelink -amR &> / dev / null

次に、適切なアクセス許可を付与します(悪意のあるコードを誰かに追加してほしくないことはすでに述べました)。
chmod 755 /etc/cron.daily/prelink

記事を読むときの良い習慣は、スクリプトが正確に何をするかを調査することです。 それを書くときの良い習慣は、それが何のためにあるのかを説明することです。 ここに内訳

  1. 最初の行は、bashスクリプトとは何かとインタープリターの場所をシステムに伝えるために使用されます。
  2. XNUMXつ目は、bashにデバッグモードでサブシェルを実行させます。理由はわかりませんが、リスクなしで削除できることをお勧めします。 &&は、コマンドが終了したら、次のコマンドを実行することを意味します。
  3. すでに説明したいくつかのパラメータを使用してプリリンクを実行します。&> / dev / nullは出力を/ dev / nullにリダイレクトします。つまり、出力を破棄します。

興味のあるリンク