Wer per ssh z.B. ein bestimmtes Verzeichnis oder einen ganzen Server über ssh mounten möchte kann dies wie folgt unter Debian / Ubuntu bewerkstelligen.
aptitude install sshfs
mkdir -p ~/mnt/server
sshfs -o idmap=user root@server:/ ~/mnt/server
Mit “afuse” kann man das Verzeichnis auch automatisch mounten, sobald man darauf zugreift (man sollte ssh-keys verwenden, ansonsten muss man immer das Passwort eingeben…)
Sobald man also mit “cd” in das Verzeichnis “~/mnt/server” wechselt springt der “afuse-Automounter” an und mountet das System via “sshfs”. Dabei wird die UserId, über welche man sich angemeldet hat, immer auf die lokale gemapped. Die Verwendung des SSH-Agent/SSH-Keys ist hier ganz nützlich – andernfalls poppt ein Passwort-Dialog auf, in welchem du dich anmelden musst.
Dieses kleine HowTo soll zeigen wie man Firefox etwas Optimieren kann… wenn jemand eine Fehler findet oder weitere Möglichkeiten weiß, wie man Firefox beschleunigen kann, sollte man dies als Kommentar an diesen Blog-Eintrag senden, ich werde diesen dann ggf. mit in diesem Beitrag einarbeiten.
1.) Benchmark/Test
2.) Erweiterungen / Extensions
3.) Schrift optimieren
4.) Datenbank optimieren
5.) about:config Einstellungen
6.) Flash (Firefox) Optimierung
7.) Optimized Mozilla Firefox Build
1.) Benchmark/Test
Als erstes müssen wir die Geschwindigkeit/Performance testen, um diese nach unseren Änderungen vergleichen zu können. Dazu kann man z.B. folgende Webseite verwenden -> futuremark.com/peacekeeper
Eine Test-Seite, wo man eine seine Einstellungen testen/vergleichen kann
2.) Erweiterungen / Extensions
Es gibt einige Firefox-Erweiterungen, welche deinen Browser wirklich schneller machen können…
Wer es nicht kennen sollte, mit dieser Erweiterung, blockt man Werbung aus, was zur Folge hat, das die Webseite weniger Speicher verbraucht und besonders das JavaScript Gedöns wird nicht in den Speicher geladen.
Alle Flash Filme, aber auch Werbung welcher bei einigen Webseiten rechts und links (oben, unten oder mitten im Bild) eingeblendet werden, werden erst dann geladen, wenn du mit der Maus einmal darauf klickst, was den entscheidenen Vorteil hat, dass die CPU nicht unnötig belastet wird. Dies fällt besonders bei Leistungsschwächen Rechnern auf.
Dies beschleunigt den Firefox durch Optimierung von Netzwerk- und Anzeigeeinstellungen.
Er bietet unter anderem eine erweiterte Funktion zum Vorausladen von Links (Prefetching), erweiterte Einstellungen zum Verbindungsaufbau, zum Cache-Verhalten und zur Seitenanzeige. Außerdem existiert eine Möglichkeit, durch Flash erzeugte Pop-up-Fenster zu blockieren.
Dies ist ein Download-Manager für Firefox, damit können angefangene Downloads pausiert und wieder fortgesetzt werden, auch nach einem Neustart des Browsers. Zusätzlich wird die Downloadgeschwingikeit von Firefox um bis zu 400 Prozent erhöht, indem mehrer Verbindungen zum entsprechenden Server aufgebaut werden.
Dieses Add-On fügt eine Status-leiste zu Firefox hinzu, die Ihnen up-to-date Informationen über den Cache Ihres Browsers (sowohl RAM und die Festplatte) anzeigt. Zudem kann man den Cache problemlos löschen und es kann auch automatisch geschehen, wenn der Speicher an einer bestimmten Grenze ist.
3.) Schrift optimieren
3.1) Schrift-Verbesserung deaktivieren
Pango ist ein Library zum verbessern der Schrift unter Ubuntu, in Firefox, wenn man diese ausschaltet, soll dies einen Geschwindigkeitsschub für Firefox 3.5 bringen.
Desweiteren benutzt Firefox seit der 3.X Version eine SQLite Datenbank für Bookmarks, Historie, Cookies, Passwörter… wenn man nun viel mit seinem Firefox arbeitet, kann es vorkommen das diese Datenbank im laufe der Zeit fragmentiert und Firefox z.B. länger braucht um zu starten.
sudo aptitude install sqlite3
vim ~/speedup_ff.sh
#!/bin/bash
for f in ~/.mozilla/firefox-3.5/*/*.sqlite; do sqlite3 $f 'VACUUM;'; done
chmod +x ~/speedup_ff.sh
~/speedu_pff.sh
Alternativ kann man diese Funktion nun auch mit einer Erweiterung nachinstallieren…
Normalerweise baut der Browser eine Verbindung zu einer Webseite auf. Wenn du jedoch “Pipelining” baut diese mehrere Verbindungen gleichzeitig auf, welch das laden der Webseite, bis zu einen gewissen Grad beschleunigen sollte.
Achtung!
Die Verwendung von Pipelining ist nicht HTTP-Standard-Konform. Viele Server reagieren unter Umständen sehr langsam, bis hin zum Abbruch, was in unterschiedlichen Fehlermeldungen (meist “Server nicht erreichbar”) münden kann.
Folgendes in die Adresszeile einfügen:
about:config
“network.http.pipelining” -> “true”
“network.http.pipelining.firstrequest” -> “true”
“network.http.proxy.pipelining” -> “true”
“network.http.pipelining.maxrequests” -> “10”
unter Ubuntu kann man die Einstellungen auch per Konsole ausführen, dies geht meistens schneller und hat den selben Effekt.
cd ~/.mozilla/firefox/*.default/
vim user.js
unter Windows können diese Einstellungen in folgender Datei geschrieben bzw. diese Datei angelegt werden
C: Dokumente und Einstellungen < USER > Anwendungsdaten Mozilla Firefox Profiles dkcejehb.default
und z.B. mit notepade oder einem ähnlichen Programm die Einstellungen in folgender Datei abspeichern
user.js
Folgende Zeilen können allgemein Eingefügt werden:
Einiger dieser Einstellungen kann man auch sehr bequem per “Extension” einstellen, dafür gehst du auf die folgende Webseite und installierst dir “Tweak Network Settings” ->www.bitstorm.org/extensions/tweak/
tweak-network
Alternativ kann man unter Windows auch “FireTune” installieren, welches die zuvor vorgestellten Einstellungen per GUI einstellen kann.
Wert : 90000 (diesen Wert je nach Leitung des PC/Laptop anpassen)
Wert : 0 (abschalten der Funktion)
Quelltext mit deinem bevorzugtem Editor öffnen (about:config)
Schlüssel : view_source.editor.external
Standard : false
Wert : true
und dann noch angeben, wo sich dieses Programm befindet
Schlüssel : view_source.editor.path
Standard : Null
Wert : /usr/bin/gedit
Wartezeit beim installieren von Erweiterungen (about:config)
Schlüssel : security.dialog_enable_delay
Standard : 2000
Wert : 0
Man kann auch neue Einträge in die “about:config” schreiben. Indem man die rechte Maustaste drückt und einen neuen Eintag anlegt, z.B.:
“Neu” -> “Integer”
Gibt die Zeit (in Millisekunden) an, die Firefox nach dem Empfang von Daten wartet, bevor er diese an den Bildschirm sendet. Dazu braucht man jedoch auch einen schnellen Computer und DSL. Für einen langsameren PC (z.B. Pentium III) und ISDN ist ein Wert von 100 ganz gut. (about:config)
Wobei Firefox standardmäßig den maximalen Speicherverbrauch selber einstellt. (-1)
um nicht als kompatibel eingestufte Erweiterungen trotzdem installiren zu können (about:config)
“Neu” -> “Boolean”
Schlüssel : extensions.checkCompatibility
Standard : Null
Wert : true (check ist unverändert)
Wert : false (check ist aus)
Festplatten-Cache auslagern (about:config)
“Neu” -> “String”
Schlüssel : browser.cache.disk.parent_directory
Standard : Null
String : /media/ff-cache/
man könnte nun eine Ram-Disk erstellen um und den Cache dorthin auslagern den Speicher, welchen du dafür zur Verfügung stellst, hängt davon ab, wie viel RAM dein System hat. In diesem Beispiel haben wir 256MB verwendet
sudo mount -t tmpfs -o size=256M,nr_inodes=10k,mode=0777 tmpfs /media/ff-cache
um diese RAM-Disk auch nach einem reboot zu erstellen, muss in folgender Datei etwas nachgetragen werden
Ubuntu kommt mit swfdec Plug-in für die wiedergebe von Flash daher, welches nicht wirklich gut unterstützt wird, um nun die Performance von Flash unter Ubuntu (Firefox) zu verbessern installieren wir “flashplugin-nonfree”.
LVM steht für »Logical Volume Manager« und bezeichnet eine Funktion, die seit der Version 2.4 im Standard-Kernel integriert ist. Mittels LVM lässt sich eine logische Schicht zwischen Dateisystem und der Partition einer physikalischen Festplatte schieben.
Was kann LVM?
– hoch verfugbare Systeme
– Verlagern von Speicherplatz
– Snapshots
– Großenanderung
– Striping & Concatenation
– nabhangig von Plattenposition
LVM
Bei Kernel < 2.4 muss man noch das passende Modul nachladen:
modprobe lvm-mod
Bei der Standard-Ubuntu Version muss man noch das folgende Paket nachinstallieren um LVM nutzen zu können:
aptitude install lvm2
LVM einrichten:
1.) Eine Partition mit der Partitions-ID »8e« für LVM kennzeichnen
fdisk /dev/sdb
oder
cfdisk /dev/sdb
2.) Partition nach LVM durchsuchen und ggf. dafür benötigte Dateien anlegen
vgscan -v
3.) Physical Volume anlegen
pvcreate /dev/sdb1
4.) Volume Group anlegen
(man könnte an dieser Stelle auch mehrere “Physical Volume” zu einer “Volume Group” zusammenfassen)
Eine Endlosschleife erzeugen wir nun, indem wir einfach eine Bedingung wählen, die immer erfüllt ist… dies könnte man z.B. wie folgt machen:
while true; do date; sleep 5; done
Dies kann man jedoch auch sehr viel einfacher haben und zwar mit “watch”:
watch -n5 "date"
Wenn die Schleife jedoch noch einigen Durchläufen beendet werden soll, kann man dies z.B. so machen:
for i in`seq 1 50` ; do echo $i ; date ; sleep 5 ; done
Hier noch ein paar Beispiele:
#!/bin/sh
ANZAHL=0
echo "until-Loop"
# gt = groesser
until [ ${ANZAHL} -gt 10 ] ; do
echo ${ANZAHL}
ANZAHL=`expr ${ANZAHL} + 1`
done
# ------------------------------------
ANZAHL=0
echo "while-Loop"
# gt = kleiner/gleich
while [ ${ANZAHL} -le 10 ]
do
echo ${ANZAHL}
ANZAHL=`expr ${ANZAHL} + 1`
done
# ------------------------------------
echo "For-Loop"
# seq = sequenz
for i in `seq 0 10`
do
echo $i
done
exit
# ------------------------------------
Zum Schluss noch ein Beispiel aus der Praxis:
for I in $(ps aux|grep "apache"| awk {'print $2'}); do kill -9 $I; done
vielleicht auf den ersten Blick ein wenig konfus, aus den zweiten Blick erkennt man jedoch, dass mittels ps nach “apache” gesucht wird, die PID-Nunner per awk herausgenommen und diese Programme dann getötet werden.
Hier soll an einigen Beispielen klar werden, wie man Bedingungen in z.B. Shell-Abfragen (if) einbaut.
Dateien:
-d file
-> file existiert und ist ein Verzeichnis
-e file
-> file existiert
-f file
-> file existiert und ist regulär
Beispiel:
if [ -f /etc/issue ] ; then cat /etc/issue | awk {'print $3'}; fi
-s file
-> file existiert und ist nicht leer
-r file
-> file existiert und ist lesbar
-w file
-> file existiert und ist beschreibbar
datei1 -nt datei2
-> datei1 ist jünger als datei2
datei1 -ot datei2
-> datei1 ist älter als datei2
Strings:
-z string
-> string ist leer
-n string
-> string ist nicht leer
Beispiel:
test="Hallo"
if [ -n $test ] ; then echo $test; fi
unset test
if [ -n $test ] ; then echo $test; fi
s1 == s2
-> s1 ist gleich s2
s1 != s2
-> s1 ist ungleich s2
s1 < s2
-> s1 ist kleiner s2 (bzgl. Sortierung)
s1 > s2
-> s1 ist größer s2
Arithmetik:
n1 -eq n2
-> n1 ist gleich n2
Beispiel:
a=5
b=5
if [ $a -eq $b ] ; then echo -e "es sind die gleichen Zahlen"; else echo "es sind nicht die gleichen Zahlen" ;fi
b=4
if [ $a -eq $b ] ; then echo -e "es sind die gleichen Zahlen"; else echo "es sind nicht die gleichen Zahlen" ;fi
-> Ab dem root-Verzeichnis alle Dateien suchen, welche neuer sind als heute um 15:00 Uhr.
find / -type f -name "*neu*"
-> Ab dem root-Verzeichnis alle Dateien suchen, in welchen “neu” vorkommt.
find / -type d -name "*home*"
-> Ab dem root-Verzeichnis alle Verzeichnisse suchen, in welchen “home” vorkommt.
find . -empty
-> Im aktuellen Verzeichnis nach Dateien suchen, welche eine Größe von “null” haben.
find /home/ -user root [ -group root ]
-> Ab dem home-Verzeichnis nach Dateien suchen, welche dem User “root” [ der Gruppe “root” ] gehören.
find /home/ ! -user root [ ! -group root ]
-> Ab dem home-Verzeichnis nach Dateien suchen, welche nicht dem User nicht “root” [ nicht der Gruppe “root” ] gehören.
Es folgt noch ein Beispiel + Erklärung:
# alle Dateien (type f) die älter als 30 Tage (mtime +30) sind außer alt_datum.tar.bz2 (exclude-from alt_`date +%d-%m-%y`.tar.bz2), werden zu einem Archiv zusammengefasst
find / -type f -mtime +30 --exclude-from=alt_`date +%d-%m-%y`.tar.bz2 -exec tar -cjf alt_`date +%d-%m-%y`.tar.bz2 {} \;
# nun alle Dateien, die älter als 30 Tage sind löschen
[mv = move] mit dem “mv”-Befehl kann man Dateien von einem Ort an einen andern verschieben bzw. wenn dies im selber Verzeichnis ausgeführt wird, eine Datei umbenennen.
eine Datei umbenennen:
ohne Wildcards:
mv data1 dateu_neu1
benennt die Datei “data1” in “dateu_neu1” um
mit Wildcards:
mv *tei1 datei_neu1
-> * = beliebig viele verschiedene Zeichen
mit Wildcards:
mv ?atei1 datei_neu1
-> ? = ein unbestimmter Buchstabe
Dateien verschieben:
mv *.txt old/
alle Dateien welche auf “.txt” enden werden in das Unterverzeichnis old/ verschoben
mehrere Dateien umbenennen:
!!! mv *.htm *.html !!!
dieser Befehl funktioniert nicht, da die Bash “*.html” als Verzeichnis interpretiert
Dieses Problem kann man z.B. wie folgt lösen:
for i in *.htm; do mv $i `basename $i .htm`.html; done
mit diesem Befehl, kann man nun alle Dateien welche auf “.htm” enden, mit der neuen Endung “.html” versehen
der ursprüngliche Dateiname welcher in der Variablen $i abgelegt wird, wird jeweils zu dem neuen Dateinamen, welcher sich aus dem “Basisnamen” (basename *1) ohne die Endung und einer neuen Endung “.html” besteht, zusammengefasst und die entsprechende Datei mittels einer “for”-Schleife verschoben
(*1) basename test.txt .txt -> test)
for i in *.sh; do mv $i /home/path/; done
verschiebt alle Dateien mit der Endung “.sh” nach /home/path
for i in [a-z]*; do mv $i ${i#[a-z]}; done
entfernt das erstes Zeichen von allen Dateien im aktuellen Verzeichnis.
for i in [a-z]*; do mv $i z${i}; done
setzt ein “z” vor jeden Dateinamen.
Alternativ kann man dieses Problem auch mit dem folgendem Befehl umgehen…
aptitude install mmv
installiere als erstes das Programm “mmv”
mmv -v "*.htm" "#1.html"
wie im vorherigem Beispiel werden auch hier alle Dateien welche auf “.htm” enden umbenannt und enden hinterher auf “.html”
(mit dem Parameter “-c” werden die Dateien nicht verschoben, sondern kopiert)
Hier noch ein Beispiel: Welches alle Bilder im aktuellen Verzeichnis um 2 erhört -> “1.jpg” wird zu “3.jpg” …
for i in `ls -r *.jpg`; do j=$((${i%.*}+2)); echo "$i -> ${j}.${i##*.}"; done;
Endian Firewall ist eine schlüsselfertige Linux-Sicherheits-Distribution, die jedes System zu einer vollwertigen Sicherheits-Applikation macht. Features sind eine Firewall mit zustandsabhängiger Paketinspektion, Proxys auf Anwendungsebene für verschiedene Protokolle (HTTP, POP3, SMTP), Antiviren-Unterstützung, Viren- und Spamfilterung für Email-Traffic (POP und SMTP), Inhaltsfilterung von Web-Traffic und ein stressfreies VPN-System auf Basis von OpenVPN und dies alles unter einer hübschen Web-Oberfläche.
Leider habe ich bei der neuen Version 2.3 noch keine Möglischkeit gefunden “VMWare Tools” zu installieren, wenn jemand weiteres dazu weiß, dann schreibe einfach einen Kommentar zu diesem Artikel.
In order to optimize the website and to continuously improve it, this site uses cookies. By continuing to use the website, you consent to the use of cookies.Ok