safe-rm

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Ein Terminal öffnen

Inhaltsverzeichnis
  1. Installation
  2. Verwendung
    1. Konfiguration
  3. Problembehebung
    1. Verzeichnisse/Dateien trotzdem löschen
  4. Links

safe-rm_logo_64.png Durch eine kleine Unachtsamkeit auf der Kommandozeile kann man ein System sehr schnell unbrauchbar machen. Etwa indem man beim Löschen mit Root-Rechten ein Leerzeichen zuviel eingibt.

safe-rm 🇬🇧 von François Marier ist ein kleines Programm, das in einer Liste nachschaut, ob eine Datei oder Verzeichnis gelöscht werden darf. Ist dies der Fall, ruft es ganz normal rm auf. Steht die Datei oder das Verzeichnis aber in der Liste, überspringt safe-rm die Datei oder das Verzeichnis.

Konstruktionsbedingt schützt das Programm nur auf der Kommandozeile. Ein versehentliches Löschen aus einer grafischen Anwendung ist nach wie vor möglich.

Installation

safe-rm kann direkt aus den offiziellen Paketquellen installiert werden [1]:

Paketliste zum Kopieren:

sudo apt-get install safe-rm 

Oder mit apturl die Pakete installieren. Link: apt://safe-rm

Verwendung

Da safe-rm ein Wrapper ist, ersetzt es die Funktion von rm nicht, sondern ergänzt diese. Da bei Debian und Ubuntu zuerst in /usr/bin nach Programmen gesucht wird, das klassische rm sich aber in /bin befindet, muss safe-rm das klassische rm gar nicht ersetzen. safe-rm installiert sich nach /usr/bin/rm, während das klassische rm unter /bin/rm verbleibt.

Ruft man rm im Terminal [2] auf, wird nun /usr/bin/rm ausgeführt, also safe-rm. safe-rm schaut nun in der globalen Konfigurationsdatei /etc/safe-rm.conf nach, ob das ausgewählte Verzeichnis oder die ausgewählte Datei dort verzeichnet ist.

Ist dies der Fall, wird das Verzeichnis oder die Datei nicht gelöscht. Gibt es in der Datei keine Entsprechung, schaut safe-rm in der Konfigurationsdatei des ausführenden Benutzers (~/.safe-rm), ob das ausgewählte Verzeichnis/Datei dort zu finden ist und überspringt dieses/diese gegebenenfalls.

Steht die Datei oder das Verzeichnis auf keiner der beiden schwarzen Listen, dann ruft safe-rm das ganz normale rm also /bin/rm auf.

Achtung!

Es besteht die Gefahr einer Gewöhnung, d. h. zunehmender Unachtsamkeit beim Aufruf von rm. Wenn man dann an einem Rechner arbeitet, auf dem safe-rm nicht installiert ist, kann es schnell passieren, dass man einen wichtigen Ordner löscht. Es empfiehlt sich, die Installation von safe-rm unter anderem Namen (z.B. rms, dann natürlich auch immer diesen Befehl benutzen!) oder die Benutzung von trash-cli!

Konfiguration

Möchte man weitere Verzeichnisse oder Dateien mit safe-rm schützen, kann man dies tun, indem man die Datei oder das Verzeichnis in die globale Konfigurationsdatei für alle Nutzer oder in die persönliche Konfigurationsdatei einträgt.

Möchte man ein Verzeichnis schützen, trägt man einfach den Pfad in eine der Konfigurationsdateien ein:

1
/backups

Möchte man alle Dateien und Unterverzeichnisse in einem Verzeichnis schützen, dann nutzt man dazu Wildcards:

1
/srv/nfs/*

Problembehebung

Verzeichnisse/Dateien trotzdem löschen

safe-rm kann man einfach umgehen, indem man rm mit /bin/rm direkt aufruft.