Предвръзка (или как да направите KDE зареждане за 3 секунди)

Предвръзка е програма, чиято помощна програма е да накара програмите да се отварят по-бързо. Въпреки че обяснението как става, струва си пълна статия, можем да кажем грубо, че казва на двоичния файл къде да търси първо динамичните библиотеки, които трябва да зареди.

По този начин, нека си представим, че имаме двоичен файл, който зависи от библиотеката QtCore, след като изпълним прелинк върху нея, той първо ще търси в пространството, обозначено с прелинк, и в случай че не го намери (актуализация, например), той ще го търси по традиционния начин.

Prelink работи на всяка съвместима с POSIX система, като GNU / linux или BSD.

Как да кандидатствате за прелинк

Оптимизирането на системата с предварителна връзка е доста просто, можем да оптимизираме двоичен файл, като използваме (като корен):

prelink binario

Но за да оптимизираме цялата система, трябва да изпълним:

prelink -amvR

Ще видите нещо подобно:

Предвръзка

Предвръзка

Ето подробно обяснение на значението на параметрите:

  • a: равно на –всичко, кара го да се прилага за цялата система
  • m: еквивалентно на –conserve-memory, обяснението за това как работи е сложно, но спестява място
  • v: еквивалентно на –verbose, той ни позволява да знаем кои са предварително свързаните библиотеки
  • О: Еквивалентно на –случайно, увеличете сигурността, като направите стойност произволна. Не знам подробности за работата му
Терминалът е Yakuake, в случай че някой се интересува.

Прекратяване на връзката (прекратяване на връзката) на двоичен файл

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 / модули / extensions / fglrx / -b /usr/lib/xorg/modules/linux/libfglrxdrm.so -b /usr/lib/xorg/modules/extensions/libglx.so

Оптимизирайте KDE

Обещаното е дълг. Ако вече сте свързали предварително вашата система, вероятно не сте забелязали разлика в времето за зареждане на KDE. Това е така, защото KDE служи като помощна програма, наречена kdeinit, за да зареди всички необходими библиотеки. За да избегнем използването на този инструмент, трябва да уведомим KDE, че той е предварително свързан. За да направим това, трябва (като корен) да създадем файл с променлива:

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

В който поставяме следния ред

export KDE_IS_PRELINKED=1

И ние му даваме подходящите разрешения (не искаме да добавяме кофти rm-rf /)

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

И ако не ми вярвате, ето видео на KDE, зареждащо се в моята система:

[спецификации] Детайли на системата:

  • HDD при 7200 RPM
  • Gentoo
  • XFS
  • Ksplash деактивиран (причина за черен екран на видео
[/ спецификации]

Cron и предварителна връзка

Ако използвате система като Archlinux, където актуализациите са много чести, може да е интересно да добавите cron, който изпълнява прелинк всеки ден.

По този начин отваряме файла cron с nano (като корен):

nano /etc/cron.daily/prelink

И ние поставяме следното:

#! / Хамбар / Баш
[[-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.    dhunter каза той

      Епична шега, вярно е, че беше нетърпелив да влезе, хе-хе.

  2.   Шеоси каза той

    Бих искал да коментирам, че преди известно време сравних това и видях, че разликите бяха почти нулеви (използвам като тестове, мисля и потапям битовете на firefox и nautilus).
    Ако има заинтересовани, ще публикувам файла (не съм го публикувал по това време за мързел).

    1.    пътник каза той

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

  3.   ден каза той

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

    1.    Жоао каза той

      Искам да знам темата на работния плот, която използвате, и иконата (в добри вибрации)

      1.    пътник каза той

        Бих се заклел, че темата е хелий.

      2.    ден каза той

        Темата и иконите на плазмата се наричат ​​Динамо и Следващият тънък прозорец.
        http://sta.sh/02ful04ags1
        http://hombremaledicto.deviantart.com/art/Dynamo-Plasma-beta-473014317
        http://kde-look.org/content/show.php?content=164722

        Съжалявам за автора на песента за изключване 🙂

    2.    Джозе-Род каза той

      Как се нарича този стартер на приложения? 🙂

      1.    пътник каза той

        Мисля, че това е едно наречено просто qml стартер.

      2.    ден каза той

        Както казва roader, това е QML

      3.    Джозе-Род каза той

        Грации 😉

  4.   eliotime3000 каза той

    Много добър съвет, въпреки че KDE прави чудеса с Arch и Slackware (опитах ги и те наистина са грандиозни).

  5.   Azureus каза той

    Много благодаря. Опитах го на моя Arch, направих общ прелинк и трябва да кажа, че подобрението е доста добро и се чувствам много комфортно хехе

  6.   ianpocks каза той

    Не знам дали съм аз ... но не забелязвам никаква разлика и при systemd-analysis все пак отнема повече време за стартиране ...

    1.    пътник каза той

      Е, трябва да има някакъв проблем във вашата операционна система, знаете, prelink -au и всичко е решено.

  7.   blablabla каза той

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

    Всеки път, когато KDE е напълно компилиран, трябва да проверите този файл, защото някои от пакетите, които той инсталира, ще презапишат файла, който споменах.

    1.    пътник каза той

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

  8.   Статик каза той

    Отличен пост, поздравления

    Предлагам ви да създадете урок за инсталиране на Gentoo

    1.    пътник каза той

      Ще го имам предвид. Благодаря ти

  9.   Кристианхд каза той

    много добра помощна програма, макар че не ми служи, защото имам: отвратително за KDE

  10.   Ксавие каза той

    Ще ускори ли делфинът? Винаги е изглеждало бавно да започне

    1.    пътник каза той

      Трябва, не знам, винаги го използвам по подразбиране. Използвам gentoo, portage, ако установи, че е инсталирана предварителна връзка, той автоматично прелинкира двоичните файлове, така че, няма идея.

  11.   Pepo каза той

    Интересно, благодаря!

    PD- Библиотека = Библиотека, не библиотека 😉
    Е, работният плот се нарича Plasma Desktop, а не KDE. Добре, спирам xD

    1.    пътник каза той

      В компютърния жаргон това е приет провал, в края на краищата езиците са прагматични, особено в преводите.
      https://es.wikipedia.org/wiki/Librería_(desambiguación)

  12.   dtulf каза той

    добре. Бях на път да го тествам в ArchLinux KDE (основен, а не пълният DE) и той ми дава „Грешка при запазване '/etc/cron.daily/ Грешка при запазване' /etc/cron.daily/prelink ': Файл или директория на Prelink прави не съществува ': Файлът или директорията не съществуват ». Нямам инсталиран "cron" и в wiki [1] говорят за cronie, fcron и други варианти. Какво трябва да инсталирам или направя, за да завърша урока?

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