Hallo Leute,
das hat man davon, wenn man bei so schönem Wetter vorm Computer sitzt. Ich hab vorhin ein bisschen Datensicherung gespielt und dabei ausversehen ein Tar-Archiv in meinem Home-Verzeichnis er- zeugt, dass wohl >>2048MB ist. Eigentlich wollte ich testen, wie Tar beim Erreichen dieser Schwelle reagiert. Aber der lies sich davon gar nicht aus der Ruhe bringen. Nun ist keines der Unix- Kommandos mehr in der Lage, die Datei zu löschen, weil die Stat-Funktion einen Fehler meldet. Wie krieg ich diese Datei nun wieder weg?
Matthias
On Thu May 09, 2002 at 12:58:25 +0000, Matthias Petermann wrote:
das hat man davon, wenn man bei so schönem Wetter vorm Computer sitzt. Ich hab vorhin ein bisschen Datensicherung gespielt und dabei ausversehen ein Tar-Archiv in meinem Home-Verzeichnis er- zeugt, dass wohl >>2048MB ist. Eigentlich wollte ich testen, wie Tar beim Erreichen dieser Schwelle reagiert. Aber der lies sich davon gar nicht aus der Ruhe bringen. Nun ist keines der Unix- Kommandos mehr in der Lage, die Datei zu löschen, weil die Stat-Funktion einen Fehler meldet. Wie krieg ich diese Datei nun wieder weg?
Du muszt die Datei wieder kleiner bekommen. Da tar diese Datei erstellen konnte, wird es sich an der Groesze nicht stoeren. So kannst Du z.B. diese Datei mit tar ueberschreiben (kleines Archiv erzeugen). Dann kannst du sie auch wieder loeschen. Mit dd sollte das auch gehen (dd if=/dev/null of=bigfile).
HTH, Adam
Hallo Adam,
vielen Dank für Deine schnelle Antwort... ich hab das ja nun schon anders gelöst, mich würde aber mal interessieren, was genau der Tar da veranstaltet hat. Ext3 soll wohl nur mit Dateien bis zu 2048MB umgehen können, und ich hätte für den Fall der Überschreitung dieses Wertes eine Kernel-Fehlermeldung erwartet. LHA (Endung .lzh) hat das übrigens richtig erkannt, mit dem hab ich selbigen Versuch gestern Abend unternommen.
Matthias
On Thu, May 09, 2002 at 01:06:31PM +0200, Adam Lackorzynski wrote:
On Thu May 09, 2002 at 12:58:25 +0000, Matthias Petermann wrote:
das hat man davon, wenn man bei so schönem Wetter vorm Computer sitzt. Ich hab vorhin ein bisschen Datensicherung gespielt und dabei ausversehen ein Tar-Archiv in meinem Home-Verzeichnis er- zeugt, dass wohl >>2048MB ist. Eigentlich wollte ich testen, wie Tar beim Erreichen dieser Schwelle reagiert. Aber der lies sich davon gar nicht aus der Ruhe bringen. Nun ist keines der Unix- Kommandos mehr in der Lage, die Datei zu löschen, weil die Stat-Funktion einen Fehler meldet. Wie krieg ich diese Datei nun wieder weg?
Du muszt die Datei wieder kleiner bekommen. Da tar diese Datei erstellen konnte, wird es sich an der Groesze nicht stoeren. So kannst Du z.B. diese Datei mit tar ueberschreiben (kleines Archiv erzeugen). Dann kannst du sie auch wieder loeschen. Mit dd sollte das auch gehen (dd if=/dev/null of=bigfile).
HTH, Adam -- Adam adam@os.inf.tu-dresden.de Lackorzynski http://a.home.dhs.org
Lug-dd maillist - Lug-dd@schlittermann.de http://mailman.schlittermann.de/mailman/listinfo/lug-dd
On Thu May 09, 2002 at 13:17:56 +0000, Matthias Petermann wrote:
vielen Dank für Deine schnelle Antwort... ich hab das ja nun schon anders gelöst, mich würde aber mal interessieren, was genau der Tar da veranstaltet hat. Ext3 soll wohl nur mit Dateien bis zu 2048MB umgehen können, und ich hätte für den Fall der Überschreitung dieses Wertes eine Kernel-Fehlermeldung erwartet.
Der Kern kann mit Dateien dieser Größe umgehen, nur die Tools koennen das hier nicht (so richtig). Mit ext3 hat das nichts zu tun, das kann damit umgehen (Dateien bis zwei TB). Wenn jemand ein stat auf eine Datei größer 2G macht, geht das schief. Man musz dazu stat64 nehmen und das Program musz damit zurechtkommen. Wenn man eine glibc2.2 basierte Distribution hat, sollte das aber normalerweise kein Problem sein. Das ist auch der Grund, warum dein remove (aka unlink) klappt. Ein unlink interessiert die Größe nicht und es macht auch kein stat.
Adam
...tut mir leid wegen dem falschen Quoting, hab es soeben selbst bemerkt.
...was ich noch vergessen hatte: das Dateisystem ist ein ext3-FS
Matthias
...und Kommando zurück ;o)
Hätte ich mir besser gleich denken sollen. stat kommt mit der anscheinend ungültigen Information über die Dateigröße nicht zurecht. Also mal eben durch...
#include <stdio.h> int main() { remove("/home/matthias/tsg.tar"); return 0; }
...stat umgangen und schon war die böse Datei wieder weg. Zur Sicherheit hab ich den Mount-Count der Partition hoch- gesetzt und ein fschk erzwungen - war aber alles ok.
Matthias
lug-dd@mailman.schlittermann.de