Prelink (czyli jak uruchomić KDE w 3 sekundy)

wstępny link to program, którego użyteczność polega na szybszym otwieraniu programów. Chociaż wyjaśnienie, jak to robi, byłoby warte całego artykułu, możemy powiedzieć w prymitywny sposób, że mówi binarnemu, gdzie najpierw szukać bibliotek dynamicznych, które musi załadować.

Wyobraźmy sobie więc, że mamy plik binarny zależny od biblioteki QtCore, po wykonaniu na nim wstępnego linku, najpierw przeszuka on przestrzeń wyznaczoną przez prelink, a jeśli go nie znajdzie (aktualizacja, dla przykład) wyszuka go w tradycyjny sposób.

Prelink działa na każdym systemie zgodnym z POSIX, takim jak GNU/linux lub BSD.

Jak zastosować prelink

Optymalizacja systemu za pomocą prelinku jest dość prosta, możemy zoptymalizować plik binarny, używając (jako root):

prelink binario

Aby jednak zoptymalizować cały system musimy wykonać:

prelink -amvR

Zobaczysz coś takiego:

wstępny link

wstępny link

Oto szczegółowe wyjaśnienie znaczenia parametrów:

  • a: równa się - wszystko, sprawia, że ​​odnosi się to do całego systemu
  • m : jest odpowiednikiem –conserve-pamięć, wyjaśnienie jego działania jest złożone, ale oszczędza miejsce
  • v: odpowiednik –verbose, pozwala nam wiedzieć, które biblioteki są wstępnie połączone
  • R : równa się --random, zwiększa bezpieczeństwo, czyniąc wartość losową. Nie znam szczegółów jego działania
Terminal to Yakuake, gdyby ktoś był zainteresowany.

Aby odłączyć wstępnie (odłączyć) plik binarny

prelink  -u

Cały system:

prelink -au

Wiele dystrybucji, takich jak Ubuntu, oferuje cron, który okresowo wstępnie łączy wszystkie pliki binarne systemu, jeśli jest zainstalowane prelinkowanie
Prelink może powodować problemy w kilku prawnie zastrzeżonych plikach binarnych, więc są one zwykle domyślnie pomijane. W każdym razie upewnij się, że plik /etc/prelink.conf zawiera następujące wiersze:
# Skype -b / usr / lib32 / skype / skype -b / usr / lib / skype / skype # Wtyczka 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 / rozszerzenia / fglrx / -b /usr/lib/xorg/modules/linux/libfglrxdrm.so -b /usr/lib/xorg/modules/extensions/libglx.so

Zoptymalizuj KDE

Obiecano dług. Jeśli już wcześniej podłączyłeś swój system, prawdopodobnie nie zauważyłeś żadnej różnicy w czasie ładowania KDE. Dzieje się tak, ponieważ KDE służy jako narzędzie zwane kdeinit, które ładuje wszystkie potrzebne biblioteki. Aby uniknąć używania tego narzędzia, musimy poinformować KDE, że jest ono wstępnie połączone. Aby to zrobić, musimy (jako root) utworzyć plik zmiennych:

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

W którym wklejamy następujący wiersz

export KDE_IS_PRELINKED=1

Dajemy mu odpowiednie uprawnienia (nie chcemy niczego dodawać rm-rf /)

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

A jeśli mi nie wierzysz, oto film przedstawiający uruchamianie KDE w moim systemie:

[specyfikacja] Szczegóły systemu:

  • Dysk twardy o prędkości 7200 obr./min
  • Gentoo
  • XFS
  • Ksplash wyłączony (przyczyna czarnego ekranu wideo
[/okular]

Cron i prelink

Jeśli używasz systemu takiego jak Archlinux, w którym aktualizacje są bardzo częste, interesujące może być dodanie crona, który codziennie uruchamia prelink.

W ten sposób otwieramy plik cron za pomocą nano (jako root):

nano /etc/cron.daily/prelink

I wklejamy:

#! / bin / bash
[[-x / usr / bin / prelink]] &&
/ usr / bin / prelink -amR &> / dev / null

Następnie nadajemy mu odpowiednie uprawnienia (wspomniałem już, że nikt nie chce, aby ktoś dodawał do niego szkodliwy kod):
chmod 755 /etc/cron.daily/prelink

Dobrym nawykiem podczas czytania artykułu jest zbadanie, co dokładnie robi skrypt. Dobrym nawykiem podczas pisania jest wyjaśnienie, do czego to służy. Tutaj rozstrzelony widok

  1. Pierwsza linia służy do poinformowania systemu, że jest to skrypt bash i lokalizacji interpretera.
  2. Drugi powoduje, że bash uruchamia podpowłokę w trybie debugowania, nie wiem dlaczego, ale jest to zalecane, można go bezpiecznie usunąć. && oznacza, że ​​po wykonaniu polecenia uruchom następne.
  3. Wykonaj prelink z już wyjaśnionymi niektórymi parametrami, &>/dev/null przekierowuje dowolne wyjście do /dev/null, czyli odrzuca

Interesujące linki


27 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Ivan Barra powiedział

    Po «uderzeniu», które dałeś [ENTER], małe krasnoludki, które miał komputer, przestraszyły się i zaczęły pracować z podwójną prędkością niż wcześniej, mówisz, że używasz PRELINK, ale twój system jest oparty na terrorze… hahaha! !

    Pozdrowienia i doskonały post

    Dziękuję za dzielenie się.

    1.    drogowy powiedział

      Umm, hałas, który powoduje, nie zdziwiłbym się, gdyby na moim komputerze XD była mina.

    2.    łowca powiedział

      Wspaniały żart, to prawda, że ​​był chętny do wejścia, hehe.

  2.   Szeosi powiedział

    Chciałbym skomentować, że jakiś czas temu przeprowadziłem test porównawczy tego i zauważyłem, że różnice były prawie zerowe (użyłem firefoxa i nautilusa jako testów, jak sądzę, i to zatapia bity).
    Jeśli będą zainteresowani, opublikuję plik (nie publikowałem go wtedy z powodu lenistwa).

    1.    drogowy powiedział

      Umm, nie wszystkie pliki uległy poprawie, ale przynajmniej system ma tendencję do szybszego uruchamiania.

  3.   dzień powiedział

    Był czas jak używałem e4rat i to poprawiło start o kilka sekund, bo to hdd to za szybko się uruchamia z tego co widzę, obecnie mam mały ssd z kaosem i w xfs i jak zobaczyłem start czas, nie mogłem w to uwierzyć.
    http://i.imgur.com/ds6WqIT.png

    1.    Joao powiedział

      Chcę poznać motyw pulpitu, którego używasz, i zestaw ikon (w dobrych wibracjach)

      1.    drogowy powiedział

        Przysięgam, że tematem jest hel.

      2.    dzień powiedział

        Motyw i ikony plazmy nazywane są Dynamo i Next cienkie okno.
        http://sta.sh/02ful04ags1
        http://hombremaledicto.deviantart.com/art/Dynamo-Plasma-beta-473014317
        http://kde-look.org/content/show.php?content=164722

        Przepraszam autora piosenki na off 🙂

    2.    Jose Rod powiedział

      Jak nazywa się ten program uruchamiający aplikacje? 🙂

      1.    drogowy powiedział

        Myślę, że jest to tak zwany prosty program uruchamiający qml.

      2.    dzień powiedział

        Jak mówi roader, jest to QML

      3.    Jose Rod powiedział

        Dzięki 😉

  4.   Eliotime3000 powiedział

    Bardzo dobra wskazówka, chociaż KDE działa wspaniale na Arch i Slackware (próbowałem ich i są naprawdę spektakularne).

  5.   Azureus powiedział

    Świetnie Dziękuję Ci bardzo. Wypróbowałem to na moim Archu, zrobiłem ogólny prelink i muszę powiedzieć, że poprawa jest całkiem dobra i czuję się bardzo dobrze hehe

  6.   janpocki powiedział

    nie wiem czy to ja... ale nie zauważam żadnej różnicy, a dzięki systemd-analyze uruchomienie trwa dłużej ...

    1.    drogowy powiedział

      Cóż, musi być jakiś problem w twoim systemie operacyjnym, wiesz, prelink -au i wszystko rozwiązane.

  7.   bla powiedział

    O ile mi wiadomo (z własnego doświadczenia), przynajmniej w Gentoo nie trzeba tworzyć nowego pliku, aby przekazać wartość zmiennej KDE_IS_PRELINKED. Po prostu odkomentuj linię KDE_IS_PRELINKED=1 w /etc/env.d/43kdepaths (nie jestem pewien, czy to jest dokładna ścieżka, ponieważ nie mam w tej chwili swojego komputera).

    Za każdym razem, gdy KDE jest całkowicie skompilowane, musisz sprawdzić ten plik, ponieważ jeden z instalowanych przez nie pakietów zastępuje plik, o którym wspomniałem.

    1.    drogowy powiedział

      I tak jest chyba w wielu dystrybucjach. ale robienie tego w sposób, w jaki ja to zrobiłem, gwarantuje, że ta konfiguracja nie zostanie zmieniona.

  8.   Statystyka powiedział

    Świetny post, gratulacje

    Proponuję stworzyć samouczek dotyczący instalacji Gentoo

    1.    drogowy powiedział

      Będę o tym pamiętać . Dziękuję Ci

  9.   Cristianhcd powiedział

    bardzo dobre narzędzie, choć mi nie służy, bo mam: obrzydliwe dla KDE

  10.   Xavier powiedział

    Czy delfin przyspieszy? Zawsze wydawało się, że zaczyna się powoli

    1.    drogowy powiedział

      Powinienem, nie wiem, zawsze używam go domyślnie. Używam gentoo, Portage, jeśli wykryje, że prelink jest zainstalowany, automatycznie prelinkuje pliki binarne, więc nie mam pojęcia.

  11.   pepo powiedział

    Ciekawe, dzięki!

    PD- Library = Library, nie biblioteka 😉
    Cóż, pulpit nazywa się Plasma Desktop, a nie KDE. Ok, zatrzymuję xD

    1.    drogowy powiedział

      W żargonie komputerowym to akceptowalny błąd, wszak języki są pragmatyczne, zwłaszcza w tłumaczeniach.
      https://es.wikipedia.org/wiki/Librería_(desambiguación)

  12.   dtulf powiedział

    dobry. Miałem właśnie to przetestować w ArchLinux KDE (podstawowe, a nie kompletne DE) i daje mi "Błąd zapisywania '/etc/cron.daily/ Błąd zapisywania' /etc/cron.daily/prelink ': Plik lub katalog prelink nie istnieje ”: plik lub katalog nie istnieje». Nie mam zainstalowanego "crona", a na wiki [1] mówią o cronie, fcron i innych wariantach. Co muszę zainstalować lub zrobić, aby ukończyć samouczek?

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