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:
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
Aby odłączyć wstępnie (odłączyć) plik binarny
prelink -u
Cały system:
prelink -au
# 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:
- Dysk twardy o prędkości 7200 obr./min
- Gentoo
- XFS
- Ksplash wyłączony (przyczyna czarnego ekranu wideo
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
- Pierwsza linia służy do poinformowania systemu, że jest to skrypt bash i lokalizacji interpretera.
- 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.
- Wykonaj prelink z już wyjaśnionymi niektórymi parametrami, &>/dev/null przekierowuje dowolne wyjście do /dev/null, czyli odrzuca
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ę.
Umm, hałas, który powoduje, nie zdziwiłbym się, gdyby na moim komputerze XD była mina.
Wspaniały żart, to prawda, że był chętny do wejścia, hehe.
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).
Umm, nie wszystkie pliki uległy poprawie, ale przynajmniej system ma tendencję do szybszego uruchamiania.
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
Chcę poznać motyw pulpitu, którego używasz, i zestaw ikon (w dobrych wibracjach)
Przysięgam, że tematem jest hel.
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 🙂
Jak nazywa się ten program uruchamiający aplikacje? 🙂
Myślę, że jest to tak zwany prosty program uruchamiający qml.
Jak mówi roader, jest to QML
Dzięki 😉
Bardzo dobra wskazówka, chociaż KDE działa wspaniale na Arch i Slackware (próbowałem ich i są naprawdę spektakularne).
Ś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
nie wiem czy to ja... ale nie zauważam żadnej różnicy, a dzięki systemd-analyze uruchomienie trwa dłużej ...
Cóż, musi być jakiś problem w twoim systemie operacyjnym, wiesz, prelink -au i wszystko rozwiązane.
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.
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.
Świetny post, gratulacje
Proponuję stworzyć samouczek dotyczący instalacji Gentoo
Będę o tym pamiętać . Dziękuję Ci
bardzo dobre narzędzie, choć mi nie służy, bo mam: obrzydliwe dla KDE
Czy delfin przyspieszy? Zawsze wydawało się, że zaczyna się powoli
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.
Ciekawe, dzięki!
PD- Library = Library, nie biblioteka 😉
Cóż, pulpit nazywa się Plasma Desktop, a nie KDE. Ok, zatrzymuję xD
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)
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