Temporäre Datei
Eine Temporäre Datei (im Computer-Slang oft auch Tempfile bzw. temp, aus engl. temporary file, genannt) ist eine Datei, die Software bzw. Computerprogrammen, beispielsweise dem Betriebssystem oder Anwendungsprogrammen, zur zeitlich begrenzten Speicherung von Daten dient.[1] Die Auslagerung der Daten erfolgt dabei entweder, um den Arbeitsspeicher des Computers zu entlasten,[2] oder um die Verfügbarkeit der Daten auch nach Beendigung des erstellenden Programms hinaus zu garantieren, oder um weiteren Programmen eine Nutzung dieser Daten zu ermöglichen. Mit Einführung des virtuellen Speichers ist eine Entlastung des Arbeitsspeichers großteils nicht mehr notwendig, allerdings ist in der Vergangenheit auch bei einigen Anwendungen das zu verarbeitende Datenvolumen gewachsen, beispielsweise bei der Bildverarbeitung. Nicht immer werden temporäre Dateien vom erstellenden Computerprogramm selbst auch wieder gelöscht.
DOS
BearbeitenUnter PC-kompatiblem DOS gibt es keine Norm, wie DOS-Programme temporäre Dateien nutzen sollen. Jedes Programm hat unter DOS daher seine eigene Vorgehensweise entwickelt. Dies ist auch bei den verwendeten Dateinamenserweiterungen zu beobachten. So wird zwar .$$$
als mögliche Erweiterung angegeben,[3] die jedoch noch lange nicht von allen Programmen auch genutzt wurde.
Windows
BearbeitenUnter Windows werden temporäre Dateien häufig durch die Dateinamenserweiterung .tmp
kenntlich gemacht. Außerdem werden sie häufig spezifisch für den angemeldeten Benutzer gespeichert, das heißt, für jeden Benutzer gibt es ein separates Verzeichnis („Ordner“), in dem diese Dateien abgelegt werden. Standardmäßig wird hierbei ein Unterverzeichnis im Benutzerverzeichnis verwendet, das durch die Umgebungsvariable USERPROFILE
[4] oder die Windows-Funktionen GetTempPath*
ermittelbar ist.[5] (Dieses Verzeichnis ist u. U. im Windows-Explorer nicht sichtbar, da es sich dabei um einen „versteckten Ordner“ handeln kann, der durch Anpassung der entsprechenden Einstellung – englisch als option bezeichnet – sichtbar gemacht werden kann.) Eine Anpassung des Speicherorts dieser Dateien ist zudem grundsätzlich möglich (Konfiguration über die Registry).
Zur Vereinheitlichung wurden dazu anfangs (im Laufe der Windows-Entwicklung) die sogenannten Umgebungsvariablen TEMP
und TMP
eingeführt, über welche eine Konfiguration des Verzeichnisses für „temporäre Dateien“ möglich ist.[2][6] Einige Anwendungen beziehen sich noch auf diese Definitionen. Dieses Verzeichnis kann zudem auch über die (ebenso erst im Laufe der Weiterentwicklung eingeführte API-)Funktion GetTempFileName
abgefragt werden.[7]
Vor der vereinheitlichenden Einführung temporärer Dateien wurden diese von den Anwendungen auch in eigenen (anwendungsbezogenen) Verzeichnissen oder im jeweils aktuellen Verzeichnis gespeichert, so dass es insgesamt schwerer war, einen Überblick zu erlangen, um nicht mehr benötigte Dateien vollständig zu bereinigen.
Linux, UNIX
BearbeitenDer Filesystem Hierarchy Standard für temporäre Dateien unterscheidet in Linux zwei Arten:
- beim Neustart löschbar
- im Verzeichnis
/tmp
werden jene Dateien abgelegt, die nach einem Neustart des Systems zweifelsfrei nicht mehr benötigt werden und während des Systemstarts geleert werden können[8] - Neustart überdauernd
- im Verzeichnis
/var/tmp
jene Dateien, die auch über einen Neustart des Systems hinaus nutzbar sein sollen.[9]
Unvorsichtiger Umgang mit temporären Dateien kann insbesondere auf Mehrbenutzersystemen, die symbolische Verknüpfungen unterstützen, zu einer Sicherheitslücke führen: Ist der Name einer temporären Datei vorhersagbar, kann unter diesem Namen eine symbolische Verknüpfung abgelegt werden. Wird anschließend ein Programm ausgeführt, das unter demselben Namen eine temporäre Datei erzeugt, kann es zum Datenverlust oder zur Erweiterung von Benutzerrechten kommen. Deshalb enthalten temporäre Dateinamen in der Regel eine zufällig generierte Zeichenkombination.
Einzelnachweise
Bearbeiten- ↑ temporäre Dateien, bei Computerlexikon.de, dort zuletzt geändert am 7. März 2001
- ↑ a b Temporäre Dateien anlegen und verwenden, bei Microsoft Learn, (dort zuletzt geändert) am 15. November 2004
- ↑ Digital Research (Hrsg.): DR DOS 5.0 User Guide. 1. Auflage. Monterey, California Mai 1990, 3.1 Storing data in files, S. 30, Table 3-1 Common filename extensions (englisch, archive.org [PDF; 147,2 MB; abgerufen am 3. Oktober 2024]): “(Extension:) .$$$ (Description:) Temporary or incorrectly closed file. Many programs write temporary files on the disk or diskette during their operation.”
- ↑ Recognized Environment Variables, bei Microsoft Learn, (dort erstveröffentlicht oder zuletzt geändert) am 25. Juli 2008, auf Englisch; hier ansatzweise übersetzt: Erkannte Umgebungsvariablen
- ↑ https://learn.microsoft.com/en-us/windows/win32/api/fileapi/ (englisch), am 24. Januar 2023; zu Win32-Funktionen über die Header-Datei
fileapi.h
- ↑ Verschieben von TEMP- und TMP-Verzeichnissen, bei Microsoft Learn, (dort erstveröffentlicht oder zuletzt geändert) am 27. Oktober 2013
- ↑ Why are there both TMP and TEMP environment variables, and which one is right? (englisch), von Raymond Chen; dort veröffentlicht am 17. April 2015
- ↑ Filesystem Hierarchy Standard 2.3, /tmp (englisch); Stand: 2004
- ↑ Filesystem Hierarchy Standard 2.3, /var/tmp (englisch); Stand: 2004