Systempflege, Wartung und Privatsphäre

D

dawiinci

unregistriert
Thread Starter
Dabei seit
04.03.2010
Beiträge
95
Reaktionspunkte
2
VORSICHT: Nur für fortgeschrittene User!


Beweggrund für diesen Beitrag

Es gibt einige Tools, die den Mac aufräumen und optimieren sollen. Ich gehe lieber den Weg, zu wissen, was gelöscht und optimiert wird. Deshalb habe ich ein Skript zusammengestellt, das genau das machen soll.

Das Interesse an diesem Thema ist sehr gross, trotzdem fragen sich einige sicher wozu sie ein funktionierendes System diesem Risiko aussetzen sollen. Ich denke es ist nicht verkehrt in der heutigen Zeit die Privatsphäre im Auge zu behalten. Insbesondere die Cookies, die von Flash auf unendliche Zeit und für das System unlöschbar erstellt werden, finde ich eine Frechheit. Mit diesem Skript werden solche "Lücken" automatisch und grossräumig entfernt. Niemand von uns kann genau sagen wo potentielle Risiken in temporären Daten liegen. Ausserdem können diese Aktionen tatsächlich Probleme lösen und die Performance erhöhen.

Die Liste ist noch nicht vollständig. Ich würde mich über eine rege Beteiligung freuen. Schreibt einfach in den Beitrag, welche Ordner ihr auch noch löschen würdet oder, wenn ihr diese nicht kennt, beschreibt welche heiklen Daten noch nicht entfernt werden. Ich werde diese prüfen und im zweiten Beitrag hinzufügen.
Verbesserungen der Scriptsprache nehme ich gerne entgegen. Eine Einbindung in eine Applikation wäre sicher auch sinnvoll. So könnte der Schritt zum Terminal wegfallen.

Ich habe für diesen Beitrag und die Entwicklung des Scripts einige Zeit investiert um interessierten Usern zu helfen. Ein kleines Dankeschön und eure rege Beteiligung würde mich freuen.


Risiken
Die Befehle wurden von mir auf mehreren Systemen über Monate hinweg getestet. Mit diesem Skript sollten keine Daten gelöscht werden, die das System oder der Benutzer braucht. Ich kann jedoch keine Garantie übernehmen, dass bei niemandem Probleme auftreten. Die Nutzung der Informationen in diesem Beitrag erfolgt auf eigene Gefahr.


Auswirkungen durch das Entfernen temporärer Dateien
  • Einige Apps werden beim ersten Start fragen, ob sie zum ersten Mal gestartet werden sollen.
  • Einige Fensterpositionen und -anordnungen werden auf Standard gesetzt.
  • Safari-Hintergrundbild wird entfernt. (optional, siehe Erklärung unten)
  • Da auch Cookies gelöscht werden muss in Safari auf Seiten neu eingelogt werden.
  • Letzte betrachtete Positionen in PDF und DVDs werden zurückgesetzt.
  • Zuletzt eingegebene Mailadressen werden aus Mail gelöscht (Tippfehler werden so entfernt). Betrifft nicht das Adressbuch!
  • Alle Logs werden entfernt.
  • Einige Anwendungen haben beim ersten Start etwas länger, mir ist jedoch nichts aufgefallen.

Anleitung


Vorbereitung

Personen ohne Grundwissen über das Terminal sollten sehr vorsichtig sein und unter Umständen auf diese Methode verzichten.

Im Anhang befindet sich ein Skript, das alle Befehle ausführt. Wenn jemand nicht alles entfernen möchte (zB. Cookies), kann das Dokument individuell bearbeitet werden. Auch hier gilt, wer nicht sicher ist, was er da macht, besser nicht machen. Ein Tippfehler könnte, wie immer im Terminal, verheerend sein.


Um die Skript-Datei mit Terminal ausführen zu können, muss die Datei zuerst im Terminal mit diesem befehl modifiziert werden:
Code:
chmod +x >SKRIPT-PFAD EINFÜGEN<


Durchführung:
  1. Alle Anwendungen ausser dem Finder schliessen! (per cmd+Q)
  2. Terminal starten
  3. Skript-Datei in das Terminalfenster ziehen
  4. Mit Eingabetaste bestätigen
  5. Anweisungen befolgen

Es gibt keine Informationen wann was genau gelöscht wird und wie weit das System damit ist. Der Vorgang dauert meist nur ein paar wenige Minuten. Der Mac wird automatisch und ohne Rückmeldung neu gestartet!

Die Befehle können auch einzeln eingegeben werden. Der erste sudo Befehl muss allein in Terminal eingefügt werden, damit das Passwort eingegeben werden kann. Weitere Befehle können zusammen kopiert werden.



Einzelne Befehle

CACHES UND LOGS
Code:
sudo rm -rf /var/folders/*
sudo rm -rf /var/Log/*
sudo rm -rf /var/Logs/*
sudo rm -rf /private/var/tmp/*
sudo rm -rf /Library/Logs/*
sudo rm -rf /Library/Caches/*
sudo rm -rf /System/Library/Caches/*
sudo rm -rf ~/Library/Caches/*
sudo rm -rf ~/Library/Application\ Support/CrashReporter/*
sudo rm -rf ~/Library/Logs/*

MAIL
Code:
sudo rm -rf ~/Library/Mail\ Downloads/*
sudo rm -rf ~/Library/Application\ Support/AddressBook/MailRecents-v4.abcdmr

INTERNET (SAFARI)
Code:
sudo rm -rf ~/Library/Preferences/Macromedia
sudo rm -rf ~/Library/Safari/History.plist
sudo rm -rf ~/Library/Safari/LocalStorage/http*
sudo rm -rf ~/Library/Safari/LocalStorage/ftp*
sudo rm -rf ~/Library/Safari/HistoryIndex.sk
sudo rm -rf ~/Library/Safari/LastSession.plist
sudo rm -rf ~/Library/Safari/TopSites.plist
sudo rm -rf ~/Library/Safari/Downloads.plist
sudo rm -rf ~/Library/Safari/Safari-Schreibtischhintergrund.jpg
sudo rm -rf ~/Library/Cookies/*

ANWENDUNGEN
Code:
sudo rm -rf ~/Library/Application\ Support/Cyberduck/History
sudo rm -rf ~/Library/Application\ Support/Cyberduck/Queue.plist
sudo rm -rf ~/Library/Application\ Support/Cyberduck/Sessions
sudo rm -rf ~/Library/Application\ Support/Preview/PDFIndex4.sk
sudo rm -rf ~/Library/Application\ Support/Img2icns
sudo rm -rf ~/Library/Application\ Support/HandBrake/Previews
sudo rm -rf ~/Library/Application\ Support/HandBrake/Queue.plist
sudo rm -rf ~/Library/Application\ Support/HandBrake/HandBrake-activitylog
sudo rm -rf ~/Library/Application\ Support/HandBrake/EncodeLogs
sudo rm -rf ~/Library/Application\ Support/DVD\ Player/Settings
sudo rm -rf ~/Library/Application\ Support/AppCleaner

WARTUNG
Code:
sudo periodic daily weekly monthly
sudo diskutil repairPermissions /
sudo  dscacheutil -flushcache


WICHTIG
~/Library/Mail\ Downloads/* ist nicht gleich ~/Library/Mail Downloads/*
Im zweiten Fall würde ~/Library/Mail gelöscht, was alle Mails löschen würde! Ein Leerschlag muss immer mit "\ " ersetzt werden!

Also Vorsicht beim Erstellen von neuen Regeln.




Erklärung Befehle

sudo
Befehl als Superuser ausführen (Berechtigung)

sudo rm -rf
Löscht die Daten im Ordner und allen Unterordnern ohne Rückfrage und ohne Rücksicht auf Schreibschutz oder Rechte.

sudo periodic daily weekly monthly
Alle Unix-Wartungsarbeiten werden ausgeführt

sudo diskutil repairPermissions /
Rechte reparieren.

sudo dscacheutil -flushcache
DNS Cache leeren.


Erklärung einiger Ordner

~/Library/Preferences/Macromedia
Entfernt Cookies von Flash. Diese können von Safari nicht gelöscht werden und haben eine unendliche Lebensdauer. Durch diese Cookies kann das Surfverhalten ausgelesen werden. Alle besuchten Webseiten mit Flash sind im Klartext in diesem Ordner sichtbar.

~/Library/Safari/LocalStorage/http*
~/Library/Safari/LocalStorage/ftp*

Einige Webseiten und Erweiterungen speichern hier Informationen ab. Die Erweiterungseinstellungen werden nicht gelöscht. Auf keinen Fall den ganzen Ordner löschen!

~/Library/Safari/Safari-Schreibtischhintergrund.jpg
otional: Das ist das Hintergrundbild, wenn in Safari "Als Bildschirmhintergrund festlegen" geklickt wird.

~/Library/Application\ Support/DVD\ Player/Settings
DVD Fortsetzungsinformationen. Ist der Ordner gelöscht wird jede DVD von Anfang an gestartet.

~/Library/Application\ Support/Preview/PDFIndex4.sk
PDF, Fortsetzungsinformationen. Ist der Ordner gelöscht wird jedes PDF wieder mit der ersten Seite geöffnet.
 
Zuletzt bearbeitet:
Problem: Die letzten Google Sucheinträge werden mit dem Skript nicht entfernt.
Lösung: In Safari auf Ablage "Safari zurücksetzen" klicken. Falls jemand diesen Befehl als Terminalbefehl kennt, kann er sich hier melden.



Platzhalter für weitere Verbesserungen
 
Zuletzt bearbeitet:
Findest du nicht, dass rm -rf ein bisschen übertrieben ist? Alles als root ausführen, ist auch nicht die feine Art. Ein Tippfehler von dir (oder sonstwem) und schon heißt es DVD suchen und auf Backups hoffen. Genauso kann man sich die cronjobs sparen. Sie werden eh ausgeführt, wenn die Zeit gekommen ist. Weiterhin läuft das Skript bei vielen auf einen Fehler (AppCLeaener, Cyberduck, HandBrake...).

Mein Fazit: Nicht zu empfehlen für jmd der nicht weiß, was da passiert. Das werden meiner Meinung nach einige sein.
 
Findest du nicht, dass rm -rf ein bisschen übertrieben ist? Alles als root ausführen, ist auch nicht die feine Art. Ein Tippfehler von dir (oder sonstwem) und schon heißt es DVD suchen und auf Backups hoffen. Genauso kann man sich die cronjobs sparen. Sie werden eh ausgeführt, wenn die Zeit gekommen ist. Weiterhin läuft das Skript bei vielen auf einen Fehler (AppCLeaener, Cyberduck, HandBrake...).

Mein Fazit: Nicht zu empfehlen für jmd der nicht weiß, was da passiert. Das werden meiner Meinung nach einige sein.

Sicher da hast du recht. Ich denke die Gefahr habe ich deutlich gemacht. Trotzdem habe ich am Anfang noch eine zusätzliche Warnung eingefügt.

rm-rf macht es einfacher alles zu löschen, statt jeden Ordner separat zu listen. rm oder Löschen an sich ist ja genau so gefährlich, mit der Ausnahme, dass nochmals nachgefragt wird.

sudo habe ich genommen, damit ich nicht immer zuerst überprüfen muss, ob die Datei gelöscht werden kann oder nicht.

Die Fehler bei den Applikationen kommen zwar, interessieren aber in dem Sinne nicht. Es kommt doch auch eine "Fehlermeldung" wenn z.B. der Cache schon entfernt wurde. Also nicht so tragisch, da diese Nachricht keinerlei Einfluss auf das Ergebnis hat. Zuerst abzufragen, ob die Datei existiert, halte ich persönlich für unnötig - oder gibt es einen Grund das zu tun?

Ich ändere das Skript gerne, wenn du mir Gründe dafür gibst.

Zu den cronjobs: Ich habe gelesen, dass diese nur zu einer bestimmten Zeit ausgeführt werden. Läuft der Computer dann nicht, werden sie auch nicht ausgeführt. Leider weiss ich nicht, ob dies auf Snow Leopard oder Leopard zutrifft, aber schaden tun sie auf keinen Fall. Vielleicht weiss da jemand genaueres.
 
Die cronjobs werden ausgeführt, wenn der PC wieder an ist. Damit wird sichergestellt, dass sie durchlaufen. Bei den Jobs dürfte es sich wohl auch nur um Logrotates handeln (zumindest der Daily macht es unter anderem; was noch passiert, weiß ich nicht). Die Logs löscht du aber komplett.

-f benutzt man nur, wenn man weiß, was man tut. -r braucht man auf einzelnen Dateien nicht. sudo ist in $HOME überflüssig und sogar gefährlich (Tippfehler). Einstellungen von Dateien löschen ist auch Quatsch. Da kann ich direkt $HOME/Library/Application\ Support/* löschen. DNS Cache löschen verlangsamt das System bei erneuten DNS Abfragen. Dürfte aber nach dem Neustart eh geleert sein. Rechte reparieren ist meiner Meinung nach überflüssig. Andere finden es in Ordnung, deshalb wohl eher kein Streitpunkt.
 
Also könnte ich bei ~/* auf sudo verzichten.

Einstellungen von Programmen werden keine gelöscht oder welche meinst du genau?.

-f nicht zu benutzen wäre in dem Fall ja sinnlos, es ist ja ein Skript, das eben ohne Benutzereingriff ablaufen soll. -r drinzulassen erleichtert die Wartung des Skripts, da es dann bei jedem Befehl funktioniert, das mag jetzt nicht DIE Lösung sein, aber hat doch auch keine negativen Effekte, richtig?

Beim DNS Cache bin ich nicht sicher, aber auch hier gilt: schadet wohl nicht.

Nochmals zu den Cronjobs: es gibt/gab auf jeden Fall ein Mac OS, bei dem dies nicht der Fall ist/war.
 
Es ist garkeine Lösung -r zu benutzen bei normalen Dateien. Was willst du denn bei dem Skript warten? Neue Verzeichnisse/Dateien hinzufügen? Dann hättest das auch alles in einer Schleife machen können und schon wäre der Wartungsaufwand noch geringer gewesen.

-f brauchst du nur benutzen, wenn du keine Schreibrechte hast. Das ist sehr wohl so gewollt und ist sinnvoll. Ohne Schreibrechte könntest du allerdings auch nichts in die Dateien schreiben -> -f dürfte bei 90% der Dateien überflüssig sein.

Die cronjobs werden mindestens seit Leopard immer ausgeführt. Ich meine auch, dass es bei Tiger genauso war. Dennoch kannst du sie dir sparen, da du vorher die relevanten Sachen löschst, die die cronjobs anfassen.
 
Wenn jemand Cookies von Flash nicht mag, kann man die entsprechenden Ordner auch einfach mit einem Schreibschutz versehen, natürlich nachdem man vorher den Inhalt der Ordner geleert hat. Bei mir gab es da bisher keinerlei Probleme.
Wenn du möchtest dawiinci, kannst du die entsprechenden Befehle ja noch in dein Skript mit einbauen (auch wenn man sie eigentlich nicht jedes Mal wieder ausführen muss).
 
Wenn jemand Cookies von Flash nicht mag, kann man die entsprechenden Ordner auch einfach mit einem Schreibschutz versehen, natürlich nachdem man vorher den Inhalt der Ordner geleert hat. Bei mir gab es da bisher keinerlei Probleme.
Wenn du möchtest dawiinci, kannst du die entsprechenden Befehle ja noch in dein Skript mit einbauen (auch wenn man sie eigentlich nicht jedes Mal wieder ausführen muss).

Danke, ich hatte das auch schon mal in Erwägung gezogen und ausprobiert, allerdings über die Einstellungen von Flash. Leider funktionieren dann nicht mehr alle Seiten. Zum Beispiel gametrailers.com verweigerte Videos abzuspielen. Ich vermute das selbe Problem könnte auch bei deiner Variante auftreten.

@DrunkenFreak
Ja, du hast recht, ich habe einen Beitrag gefunden, der das klärt. Ab 10.4 werden die Aufgaben nachgeholt, ab 10.5 funktioniert es auch zuverlässig. Es ist also nicht unbedingt nötig dies auszuführen. Die Frage ist nur schadet es denn?

Es werden mit den cronjobs übrigens nicht nur Logs gelöscht, sondern unter anderem auch Sicherheitskopien von Systemdateien angelegt. Es werden also sicher Aufgaben doppelt erledigt, was aber kein Problem darstellen sollte, da es einfach übersprungen wird.
 
Zuletzt bearbeitet:
Irgendwie vermittelt die Umsetzung dieses Scripts (so lobenswert die Mühe ist) den Eindruck, dass das bereits immer mal wieder neu erfundene Rad ein weiteres mal wieder neu erfunden werden soll, während es andere bereits gründlich unternommen haben, aber dabei auch problematische Elemente zu Recht voneinander getrennt haben.

Beispiel: Privatsphäre-Pflegemaßnahmen bzgl. möglicher Surfspuren sind eine völlig andere Angelegenheit, als das Löschen der Leo-Cachedateien, was man als 'erweiterte Wartung' verstehen könnte (die zudem häufig völlig unsinng ausfällt). Letzere verdienen u.U. periodisch mal eine Aussortierung, aber das regelmäßige Löschen ist völlig sinnfrei und beeinflusst letztlich sogar allenfalls nur potentiell negativ den OS-Betrieb. Alles in 'ein' Script zu packen, mag der Vereinfachung dienen. Aber so oder so ist das Experiment (und die dazugehörige Diskussion) schon von andere wiederholt und kontrovers geführt und als problematisch erachtet worden. Siehe Onyx und Konsorten, wo die einzelnen 'Wartungs'-Elemente ebenso nicht umsonst getrennt wurden und auch (wenn User dann mal doch gleich den 'Rundumputz' machen) nicht umsonst unproblematisch ausfielen.

Nun gut, die Auflistung scheint mir zumindest bzgl. der Transparenz ganz hilfreich. Aber das komplette Scipt einzusetzen, halte ich für problematisch. Als Anregung: vielleicht wenigstens die Trennung: in ein Script, um Privatspähre zu schützen… und eines, um weiterreichende Wartungsaufgaben zu erfüllen, die man aber alles andere als ständig wiederholend durchführen muss bzw. sollte.

Zur Ergänzung: Wer mit Firefox surft, kann die Flashcookies mit dem Addon 'BetterPrivacy' zähmen. Als Ergänzung ist 'Clear Private Data' empfehlenswert. Beide lassen sich kombinieren, so dass man manuell per Tastenkombi oder Klick bzw. beim Beenden von Firefox sicher sein kann, dass alle Spuren beseitigt werden.
 
  • Gefällt mir
Reaktionen: fresh apple
Zurück
Oben Unten