预链接(或如何在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,也就是说,将其丢弃

感兴趣的链接


本文内容遵循我们的原则 编辑伦理。 要报告错误,请单击 信息.

27条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。

*

*

  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.   eliotime3000

    很好的技巧,尽管KDE在Arch和Slackware上创造了奇迹(我已经尝试过了,它们确实很棒)。

  5.   Azureus的

    非常感谢。 我在Arch上进行了尝试,做了一个一般的预链接,我必须说改进非常好,我感到非常舒服

  6.   安波克斯

    我不知道是我吗。 但是我没有注意到任何区别,并且使用systemd-analyze仍然需要更长的时间才能开始...

    1.    路人

      好吧,您的操作系统中一定存在一些问题,您知道,预链接-au可以解决所有问题。

  7.   bla bla bla

    据我所知(至少根据我自己的经验),至少在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

布尔值(true)