因此,假设我们有一个依赖于QtCore库的二进制文件,一旦对它执行了预链接,它将首先在由预链接指定的空间中搜索,并且在找不到该链接的情况下(例如,更新)它将对其进行搜索。以传统方式
Prelink可在任何POSIX兼容系统上运行,例如GNU / linux或BSD。
如何申请预链接
使用预链接优化系统非常简单,我们可以使用(作为根)优化二进制文件:
prelink binario
但是要优化整个系统,我们必须执行:
prelink -amvR
您将看到如下内容:
这是参数含义的详细说明:
- 答:等于–全部,使其适用于整个系统
- m:等效于–conserv-memory,有关其工作原理的解释很复杂,但可以节省空间
- v:等同于–verbose,它使我们知道哪些是预链接库
- 答:等同于–random,通过使值随机化来提高安全性。 我不知道其操作细节
取消预链接(取消链接)二进制文件
prelink -u
整个系统:
prelink -au
#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
阅读文章时的一个好习惯是研究脚本的确切功能。 编写它的一个好习惯是解释它的用途。 这里的故障
- 第一行是告诉系统bash脚本是什么以及解释器的位置。
- 第二个使bash在调试模式下执行子shell,我不知道为什么,但是建议将其消除而没有风险。 &&表示命令完成后,运行以下命令。
- 使用已经解释过的一些参数执行预链接,&> / dev / null会将任何输出重定向到/ dev / null,也就是说,将其丢弃
有了您给[ENTER]的“敲击”,电脑就吓到了小矮人,并且以两倍于以前的速度开始工作,您说使用PRELINK,但是您的系统基于恐怖……哈哈哈!
问候和优秀帖子
感谢分享。
嗯,有了噪音,如果我的XD计算机上有地雷,我就不会感到惊讶。
史诗般的笑话,确实是他渴望进入,呵呵。
我想发表评论,前段时间我对此进行了基准测试,并且可以看到差异几乎为零(我认为用作测试并沉没了firefox和nautilus位)。
如果有兴趣,我将发布文件(出于懒惰,我当时未发布它)。
嗯,并不是所有文件都可以看到改善,但是至少系统会启动得更快。
曾经有一段时间,我使用e4rat并改善了启动几秒钟,因为它是一个硬盘驱动器,因此启动速度比我看到的快,目前我在kaos和xfs中有一个小ssd,当我看到启动时时间我简直不敢相信。
http://i.imgur.com/ds6WqIT.png
我需要知道您使用的桌面主题和图标集(共鸣)
我发誓主题是氦。
等离子主题和图标称为Dynamo和Next薄窗口。
http://sta.sh/02ful04ags1
http://hombremaledicto.deviantart.com/art/Dynamo-Plasma-beta-473014317
http://kde-look.org/content/show.php?content=164722
对不起,这首歌的作者
该应用启动器叫什么? 🙂
我认为这是一种称为简单qml启动器的软件。
正如路人所说,这是QML
谢谢😉
很好的技巧,尽管KDE在Arch和Slackware上创造了奇迹(我已经尝试过了,它们确实很棒)。
非常感谢。 我在Arch上进行了尝试,做了一个一般的预链接,我必须说改进非常好,我感到非常舒服
我不知道是我吗。 但是我没有注意到任何区别,并且使用systemd-analyze仍然需要更长的时间才能开始...
好吧,您的操作系统中一定存在一些问题,您知道,预链接-au可以解决所有问题。
据我所知(至少根据我自己的经验),至少在Gentoo中,您无需创建新文件即可传递KDE_IS_PRELINKED变量的值。 只需取消注释/etc/env.d/1kdepaths中的KDE_IS_PRELINKED = 43行(我不确定这是否是正确的路径,因为目前我没有计算机)。
每次完全编译KDE时,您都必须检查该文件,因为它安装的某些软件包将覆盖我提到的文件。
它可能在许多发行版中。 但是按照我做的方式做,我保证不会更改此配置。
优秀的帖子,恭喜您
我建议您创建一个教程来安装Gentoo
我会记住的。 谢谢
很好的实用程序,尽管它不能为我服务,因为我有:厌恶KDE
海豚会加速吗? 开始总是很慢
我不知道应该默认使用它。 我使用gentoo portage,如果它检测到已安装了预链接,它将自动预链接二进制文件,所以不知道。
有趣,谢谢!
PD-库=库,而不是库😉
好吧,该桌面称为等离子桌面,而不是KDE。 好吧,我停止xD
用计算机术语来说这是一个公认的失败,毕竟语言是实用的,尤其是在翻译中。
https://es.wikipedia.org/wiki/Librería_(desambiguación)
好。 我打算在ArchLinux KDE(基础,而不是完整的DE)中对其进行测试,它给我“错误保存'/etc/cron.daily/错误保存'/etc/cron.daily/prelink':预链接文件或目录不存在' :文件或目录不存在»。 我没有安装“ cron”,在Wiki [1]上,他们谈论cronie,fcron和其他变体。 我需要安装或做什么才能完成本教程?
[1] https://wiki.archlinux.org/index.php/cron#Installation