預鏈接(或如何在3秒內啟動KDE)

預連結 是一個程序,其實用程序用於使程序打開速度更快。 儘管對它如何執行的解釋值得一整篇文章,但我們可以粗略地說,它告訴二進製文件首先在哪裡尋找需要加載的動態庫。

因此,假設我們有一個依賴於QtCore庫的二進製文件,一旦對它執行了預鏈接,它將首先在由預鏈接指定的空間中搜索,並且在找不到該鏈接的情況下(針對例如),它將以傳統方式進行搜索。

Prelink可在任何符合POSIX的系統上運行,例如GNU / linux或BSD。

如何申請預鏈接

使用預鏈接優化系統非常簡單,我們可以使用(作為根)優化二進製文件:

prelink binario

但是要優化整個系統,我們必須執行:

prelink -amvR

您將看到如下內容:

預連結

預連結

這是參數含義的詳細說明:

  • 答:等於–全部,使其適用於整個系統
  • m:等效於–conserv-memory,有關其工作原理的解釋很複雜,但可以節省空間
  • v:等同於–verbose,它使我們知道哪些是預鏈接庫
  • 答:等同於–random,通過使值隨機化來提高安全性。 我不知道其操作細節
終端是八岳,以防萬一有興趣的人。

取消預鏈接(取消鏈接)二進製文件

prelink  -u

整個系統:

prelink -au

許多發行版(例如Ubuntu)提供了cron,如果安裝了預鏈接,它將定期預鏈接所有系統二進製文件
預鏈接會在多個專有二進製文件中引起問題,因此默認情況下通常會跳過它們。 無論如何,請確保您的/etc/prelink.conf文件包含以下行:
#Skype -b / usr / lib32 / skype / skype -b / usr / lib / skype / skype#Flash Player插件-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-射頻/)

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

而且,如果您不相信我,這是在我的系統上啟動KDE的視頻:

[規格]系統詳細信息:

  • 硬盤轉速為7200 RPM
  • Gentoo的
  • XFS
  • 禁用Ksplash(由於視頻黑屏)
[/眼鏡]

Cron和預鏈接

如果您使用的是Archlinux之類的系統,其中的更新非常頻繁,那麼添加每天運行預鏈接的cron可能會很有趣。

因此,我們使用nano(作為根)打開cron文件:

nano /etc/cron.daily/prelink

然後我們粘貼以下內容:

#!/斌/慶典
[[-x / usr / bin / prelink]] &&
/ usr / bin /預鏈接 -amR &> / dev /空

然後,我們為其賦予適當的權限(我已經提到過,沒有人希望有人添加惡意代碼):
chmod 755 /etc/cron.daily/prelink

閱讀文章時的一個好習慣是研究腳本的確切功能。 編寫它的一個好習慣是解釋它的用途。 這裡的故障

  1. 第一行用於告訴系統什麼是bash腳本以及解釋器的位置。
  2. 第二個使bash在調試模式下執行子shell,我不知道為什麼,但是建議將其消除而沒有風險。 &&表示命令完成後,運行以下命令。
  3. 使用已經解釋過的一些參數執行預鏈接,&> / dev / null會將任何輸出重定向到/ dev / null,也就是說,將其丟棄

感興趣的鏈接


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   伊万·巴拉 他說:

    有了您給[ENTER]的“敲擊”,電腦就嚇到了小矮人,並且以兩倍於以前的速度開始工作,您說使用PRELINK,但是您的系統基於恐怖……哈哈哈!

    問候和優秀帖子

    感謝分享。

    1.    路人 他說:

      嗯,有了噪音,如果我的XD計算機上有地雷,我就不會感到驚訝。

    2.    獵人 他說:

      史詩般的笑話,確實是他渴望進入,呵呵

  2.   舍西 他說:

    我想評論一下,在不久前我對此進行了基準測試,並且可以看到差異幾乎為零(我認為用作測試並沉沒了firefox和nautilus位)。
    如果有興趣,我將發布文件(出於懶惰,我當時未發布它)。

    1.    路人 他說:

      嗯,並不是所有文件都可以看到改善,但是至少系統會啟動得更快。

  3.   他說:

    曾經有一段時間,我使用e4rat並將啟動過程改進了幾秒鐘,因為它是硬盤驅動器,因此從我所看到的啟動速度太快,目前我在kaos和xfs中有一個小ssd,當我看到啟動時時間我簡直不敢相信。
    http://i.imgur.com/ds6WqIT.png

    1.    若昂 他說:

      我需要知道您使用的桌面主題和圖標集(共鳴)

      1.    路人 他說:

        我發誓主題是氦。

      2.    他說:
    2.    喬斯·羅德 他說:

      該應用程序啟動器的名稱是什麼? 🙂

      1.    路人 他說:

        我認為這是一種稱為簡單qml啟動器的軟件。

      2.    他說:

        正如路人所說,這是QML

      3.    喬斯·羅德 他說:

        格拉西亞斯😉

  4.   埃利奧時間3000 他說:

    很好的技巧,儘管KDE在Arch和Slackware上創造了奇蹟(我已經嘗試過了,它們確實很棒)。

  5.   Azureus的 他說:

    非常感謝。 我在Arch上進行了嘗試,做了一個一般的預鏈接,我必須說改進非常好,我感到非常舒服

  6.   安波克斯 他說:

    我不知道是我嗎。 但是我沒有註意到任何區別,並且使用systemd-analyze仍然需要更長的時間才能開始...

    1.    路人 他說:

      好吧,您的操作系統中肯定有一些問題,您知道,預鏈接-au一切都已解決。

  7.   blablabla 他說:

    據我所知(至少根據我自己的經驗),至少在Gentoo中,您無需創建新文件即可傳遞KDE_IS_PRELINKED變量的值。 只需取消註釋/etc/env.d/1kdepaths中的KDE_IS_PRELINKED = 43行(我不確定這是否是正確的路徑,因為目前我沒有計算機)。

    每次KDE完全編譯時,您都必須檢查該文件,因為它安裝的某些軟件包將覆蓋我提到的文件。

    1.    路人 他說:

      它可能在許多發行版中。 但是按照我做的方式做,我保證不會更改此配置。

  8.   靜態 他說:

    優秀的帖子,恭喜您

    我建議您創建一個教程來安裝Gentoo

    1.    路人 他說:

      我會記住的。 謝謝

  9.   克里斯蒂安 他說:

    很好的實用程序,儘管它不能為我服務,因為我有:厭惡KDE

  10.   澤維爾 他說:

    海豚會加速嗎? 開始總是很慢

    1.    路人 他說:

      我不知道應該默認使用它。 我使用gentoo portage,如果它檢測到已安裝了預鏈接,它將自動預鏈接二進製文件,所以不知道。

  11.   佩珀 他說:

    有趣,謝謝!

    PD-庫=庫,而不是庫😉
    好吧,該桌面稱為等離子桌面,而不是KDE。 好吧,我停止xD

    1.    路人 他說:

      用計算機術語來說這是一個公認的失敗,畢竟語言是實用的,尤其是在翻譯中。
      https://es.wikipedia.org/wiki/Librería_(desambiguación)

  12.   杜爾夫 他說:

    好。 我打算在ArchLinux KDE(基礎,而不是完整的DE)中對其進行測試,它給我“錯誤保存'/etc/cron.daily/錯誤保存'/etc/cron.daily/prelink':預鏈接文件或目錄可以不存在”:文件或目錄不存在»。 我沒有安裝“ cron”,在Wiki [1]上,他們談論cronie,fcron和其他變體。 我需要安裝或做什麼才能完成本教程?

    [1] https://wiki.archlinux.org/index.php/cron#Installation