2024. április 28., vasárnap

Gyorskeresés

Útvonal

Cikkek » Számtech rovat

Ramdisk Linux alatt

Ha nem futja SSD-re, vagy óvnánk a kicsikét, adjunk kis kakaót a RAM-nak.

[ ÚJ TESZT ]

A Firefox felgyorsítása

A másik nagyon égető probléma a Firefox lassúsága. Érezhetően begyorsult a böngészés ezen aprócska praktikától.

Készítettem még egy szkriptet, ez a Firefox szinkronizálását végzi el.

Lényege
Indításkor a biztonsági mentésből (vagy első futtatáskor az aktuális profilból) kimásolja a tartalmat a ramdiskbe. Leállításkor pedig a régi biztonsági mentést beletömöríti egy .tar.gz fájlba, és az aktuális ramdisk tartalmat átmásolja a merevlemezre. Tehát mindig lesz egy régebbi mentésed, egy aktuális mentésed, és egy aktuális tartalom a RAM-ban.

A szkript
#!/bin/bash

# #################################################
# This script copies the contents of the Firefox
# profile directory to ramdisk, then makes a copy
# into a backup directory (in case of power outage)
#
# After, it makes the original profile directory as
# a symbolic link to the ramdisk.
#
# (Speeds up Firefox like hell)
# #################################################

# * TITLE *
echo
echo -n " "
echo -en '\E[0;31m'"\033[1mFirefox\033[0m"
echo -n " "
echo -en '\E[0;32m'"\033[1mbackup\033[0m"
echo -n " "
echo -e '\E[37;44m'"\033[1mscript\033[0m"
echo # Line feed

# Name of your user
username=logoutuser
# Your user's home directory
userhome=/home/logoutuser
# Name of the profile directory (~/.mozilla/firefox/XYZ.default)
profile=12345abcd.default
# Name of the backup directory and file (file will be stored in userhome)
backup=backup
# Name of the ramdisk directory
ramdisk=/mnt/ram/firefox-$username

# * WELCOME *
echo
echo -en '\E[0;36m'"\033[1mUsername:\033[0m $username"
echo
echo -en '\E[0;36m'"\033[1mHome directory:\033[0m $userhome"
echo
echo -en '\E[0;36m'"\033[1mFirefox profile name:\033[0m $profile"
echo
echo -en '\E[0;36m'"\033[1mFirefox profile path:\033[0m $userhome/.mozilla/firefox/$profile"
echo
echo -en '\E[0;36m'"\033[1mBackup directory:\033[0m $backup"
echo
echo -en '\E[0;36m'"\033[1mBackup diretory path:\033[0m $userhome/.mozilla/firefox/$backup"
echo
echo -en '\E[0;36m'"\033[1mRamdisk directory:\033[0m $ramdisk"


set -efu
cd $userhome/.mozilla/firefox

# If the ramdisk directory is missing, make it
if [ ! -r $ramdisk ]; then
echo -e '\E[0;31m'"\033[1m[RAMDISK DIRECOTRY ($ramdisk) NOT FOUND]\033[0m"
echo -e '\E[0;33m'"\033[1mCreating ramdisk directory\033[0m"
mkdir -m0700 $ramdisk
fi
echo # Line feed

# If the profile directory is not a link to the
# ramdisk, move the profile directory contents to
# the backup directory, then make the profile directory
# a link to the ramdisk.
if [ "$(readlink $profile)" != "$ramdisk" ]; then
echo -e '\E[0;31m'"\033[1m[PROFILE IS STORED ON HDD/SSD]\033[0m"
echo -e '\E[0;33m'"\033[1mMaking initial backup\033[0m"
mv $profile $backup # Move the contents to the backup directory
echo -e '\E[0;33m'"\033[1mMoving contents to ramdisk\033[0m"
ln -s $ramdisk $profile # Make the profile dir. a sym. link to the ramdisk
fi

echo # Line feed

echo -e '\E[0;32m'"\033[1m[SYNCHRONIZING]\033[0m"

if [ -e $profile/.unpacked ]; then
# Make backups
echo -e '\E[0;33m'"\033[1m[RAMDISK IS NEWEST (modified)]\033[0m"

# Make a tarball bakcup of the current backup
echo -e '\E[0;32m'"\033[1m$backup ---> $userhome/$backup.tar.gz\033[0m"
tar --create --gzip --verbose --file $userhome/firefox-$username.tar.gz $backup

# Update backup directory
echo -e '\E[0;32m'"\033[1m$ramdisk ---> $backup\033[0m"
rsync -av --delete --exclude .unpacked ./$profile/ ./$backup/
else
# Copy backup to RAM
echo -e '\E[0;33m'"\033[1m[BACKUP IS NEWEST (maybe fresh boot)]\033[0m"
echo -e '\E[0;32m'"\033[1m$ramdisk <--- $backup\033[0m"

rsync -av ./$backup/ ./$profile/
touch $profile/.unpacked
fi

echo -e '\E[0;32m'"\033[1m[DONE]\033[0m"

Ez a szkript is elérhető letölthető formátumban. firefox.tar.gz

Telepítés
A szkriptben található 5 változó az elején, amit ebben az esetben kötelező módosítani, különben nem fog működni. A változók:
username: az aktuális felhasználód neve (az $USER helyettesítés nem használható, mivel akkor a RAM-ból visszamentés nem működik)
userhome: az aktuális felhasználód saját mappájának neve (alapesetben /home/felhasználónév, de az $HOME helyettesítés nem használható)
profile: a Firefox profilod neve (a ~/.mozilla/firefox mappán belüli valami.default mappa neve)
backup: a biztonsági mentés mappa/.tar.gz fájl neve (ízlés szerint, alapesetben backup)
ramdisk: a ramdisken belüli almappa neve (ízlés szerint, alapesetben /mnt/ram/firefox-$username, ahol a $username a korábban már megadott érték)

Másoljuk be ezt a szkriptet a /etc/init.d mappába: $ sudo cp firefox.sh /etc/init.d/firefox.sh.

Szükséges, hogy indításkor automatikusan lefusson. Ehhez szerkesztenünk kell a ~/.profile fájlunkat ($ nano ~/.profile).

Írjuk bele a következő sort, majd mentsük el:
/etc/init.d/firefox.sh

Hasonlóan járjunk el a ~/.bash_logout fájllal is.

Majd, a /tmp mappa áthelyezésekor leírt módon hozzunk létre két szimbolikus hivatkozást, hogy a szkript leállításkor/újraindításkor is lefusson. Erre a két parancsra lesz szükségünk:
$ sudo ln -s ../init.d/firefox.sh /etc/rc0.d/K10firefox.sh
$ sudo ln -s ../init.d/firefox.sh /etc/rc6.d/K10firefox.sh

A Firefox memóriába gyorsítótárazásának letiltása
Ez egy kicsit akasztjuk a hóhért szituáció. Most, hogy a "merevlemezes" gyorsítótár a memóriában található, nem szükséges, hogy a Firefox a memóriát (mint RAM-ot) gyorsítótárazásra használja. Egyrészt, mivel velem még nem fordult elő, hogy oda gyorsítótárazna akármit is, másrészt pedig, mivel ez a dupla kezelés felesleges.

Nyissuk meg a böngészőt (ha eddig nem lenne), majd írjuk be a címsorba about:config, majd nyomjunk Entert. Meg fogja kérdezni a böngésző, hogy tisztában vagyunk-e azzal, amit csinálunk, biztosítsuk ebben. A betöltött lapon a keresőrészbe írjuk be: cache, majd nyomjunk újra Entert.


A Firefox konfigurációs lapja a keresési találatokkal

A talátok között lesz egy browser.cache.memory.enable nevű. Erre kattintsunk duplán, így átteszi false értékbe. Be is zárhatjuk a böngészőt.

A telepítés befejeződött. Indítsuk újra a gépet.

A cikk még nem ért véget, kérlek, lapozz!

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.