Prelink (или как заставить KDE загрузиться за 3 секунды)

Предварительная ссылка это программа, предназначенная для ускорения открытия программ. Хотя объяснение того, как это работает, стоило бы полной статьи, мы можем грубо сказать, что он сообщает двоичному файлу, где в первую очередь искать динамические библиотеки, которые ему необходимо загрузить.

Таким образом, давайте представим, что у нас есть двоичный файл, который зависит от библиотеки QtCore, после того, как мы выполнили предварительную ссылку на него, он сначала будет искать в пространстве, обозначенном предварительной ссылкой, и в случае, если не найдет его (обновление, пример) он будет искать его традиционным способом.

Prelink работает в любой POSIX-совместимой системе, такой как GNU / linux или BSD.

Как применить предварительную ссылку

Оптимизировать систему с помощью prelink довольно просто, мы можем оптимизировать двоичный файл, используя (как 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 # Плагин 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 / extension / 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

И мы даем ему соответствующие разрешения (мы не хотим, чтобы какой-то непослушный добавил рм-рф/)

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

И если вы мне не верите, вот видео, как KDE загружается в моей системе:

[технические характеристики] Сведения о системе:

  • HDD на 7200 об / мин
  • Gentoo
  • XFS
  • Ksplash отключен (причина черного экрана видео
[/ спецификации]

Cron и prelink

Если вы используете такую ​​систему, как Archlinux, в которой обновления очень часты, может быть интересно добавить cron, который запускает предварительную ссылку каждый день.

Таким образом, мы открываем cron-файл с помощью nano (от имени root):

nano /etc/cron.daily/prelink

И вставляем следующее:

#! / Bin / Баш
[[-x / usr / bin / prelink]] &&
/ usr / bin / prelink -амР &> / dev / null

Затем даем ему соответствующие разрешения (я уже упоминал, что никто не хочет, чтобы кто-то добавлял вредоносный код):
chmod 755 /etc/cron.daily/prelink

Хорошая привычка при чтении статьи - исследовать, что именно делает сценарий. Хорошая привычка при написании - объяснять, для чего он нужен. Вот разбивка

  1. Первая строка используется, чтобы сообщить системе, что такое сценарий bash и где находится интерпретатор.
  2. Второй заставляет bash выполнять подоболочку в режиме отладки, я не знаю почему, но рекомендуется, это можно исключить без риска. && означает, что когда команда завершится, выполните следующее.
  3. Выполните предварительную ссылку с некоторыми уже объясненными параметрами, &> / dev / null перенаправляет любой вывод на / dev / null, то есть отбрасывает его

Ссылки по интересам


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Иван Барра сказал

    С помощью «удара», который вы нанесли [ENTER], маленькие гномы, которых компьютер напугал и начали работать с удвоенной скоростью, вы говорите, используйте PRELINK, но ваша система основана на ужасе ... хахаха!

    Привет и отличный пост

    Спасибо за обмен.

    1.    путешественник сказал

      Умм, учитывая этот шум, я бы не удивился, если бы на моем компьютере XD была мина.

    2.    Данхантер сказал

      Эпическая шутка, правда, он очень хотел войти, хе-хе.

  2.   Шеоси сказал

    Я хотел бы прокомментировать, что некоторое время назад я тестировал это, и я мог видеть, что различия были почти нулевыми (я думаю, используйте в качестве тестов и потопите биты firefox и nautilus).
    Если будет интересно, опубликую файл (на тот момент не публиковал из-за лени).

    1.    путешественник сказал

      Умм, не все файлы можно улучшить, но, по крайней мере, система имеет тенденцию загружаться быстрее.

  3.   день сказал

    Было время, когда я использовал e4rat, и он улучшил запуск на несколько секунд, потому что это жесткий диск, он запускается слишком быстро, как я вижу, в настоящее время у меня есть небольшой ssd с kaos и в xfs, и когда я увидел время запуска, я не мог в это поверить.
    http://i.imgur.com/ds6WqIT.png

    1.    Joao сказал

      Я требую знать тему рабочего стола, которую вы используете, и набор иконок (в хорошем настроении)

      1.    путешественник сказал

        Клянусь, это тема гелия.

      2.    день сказал

        Тема и значки плазмы называются Dynamo и Next тонкое окно.
        http://sta.sh/02ful04ags1
        http://hombremaledicto.deviantart.com/art/Dynamo-Plasma-beta-473014317
        http://kde-look.org/content/show.php?content=164722

        Извините автора песни за офф 🙂

    2.    Jose-Rod сказал

      Как называется этот модуль запуска приложений? 🙂

      1.    путешественник сказал

        Я думаю, что это называется простой программой запуска qml.

      2.    день сказал

        Как говорит Роудер, это QML

      3.    Jose-Rod сказал

        Грасиас 😉

  4.   элиотайм3000 сказал

    Очень хороший совет, хотя KDE творит чудеса с Arch и Slackware (я пробовал их, и они действительно впечатляют).

  5.   Azureus сказал

    Отлично! Большое спасибо. Я попробовал это на своей Arch, я сделал общую предварительную ссылку и должен сказать, что улучшение довольно хорошее, и я чувствую себя очень комфортно, хе-хе

  6.   янпаки сказал

    Не знаю, я ли это ... но я не замечаю никакой разницы и с systemd-analysis все равно запускается дольше ...

    1.    путешественник сказал

      Ну, в вашей ОС должна быть какая-то проблема, понимаете, prelink -au и все решено.

  7.   Бла бла бла сказал

    Насколько я знаю (по собственному опыту), по крайней мере, в Gentoo вам не нужно создавать новый файл для передачи значения переменной KDE_IS_PRELINKED. Просто раскомментируйте строку KDE_IS_PRELINKED = 1 в /etc/env.d/43kdepaths (я не уверен, что это точный путь, поскольку в данный момент у меня нет своей машины).

    Каждый раз, когда KDE полностью компилируется, вы должны проверять этот файл, так как некоторые из устанавливаемых им пакетов перезапишут файл, о котором я упоминал.

    1.    путешественник сказал

      И, наверное, так во многих дистрибутивах. но делая это так, как я это сделал, я гарантирую, что эта конфигурация не изменится.

  8.   Статик сказал

    Отличный пост, Поздравляю

    Я предлагаю вам создать руководство по установке Gentoo

    1.    путешественник сказал

      Буду иметь в виду. Спасибо

  9.   Cristianhcd сказал

    очень хорошая утилита, хотя мне она не служит, потому что у меня: отвратительно для KDE

  10.   Ксавье сказал

    Дельфин ускорится? Всегда казалось, что начинать медленно

    1.    путешественник сказал

      Должен, не знаю, всегда использую по умолчанию. Я использую gentoo, portage, если он обнаруживает, что предварительная ссылка установлена, он автоматически выполняет предварительную ссылку на двоичные файлы, так что понятия не имею.

  11.   Pepo сказал

    Интересно, спасибо!

    PD- Library = Библиотека, а не библиотека 😉
    Рабочий стол называется Plasma Desktop, а не 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