Schrift
[thread]7249[/thread]

datei löschen ohne system

Leser: 1


<< >> 9 Einträge, 1 Seite
Strazke
 2005-09-02 16:54
#57577 #57577
User since
2005-07-11
120 Artikel
BenutzerIn
[default_avatar]
Hallo, mein Provider hat viele system befehle gesperrt. Das Problem ist nun, das der User die Dateien die er anlegt auch löschen soll, aber nicht kann, da rm nicht verfügbar ist. Gibt es eine Möglichkeit ohne system("rm ..") dateien zu löschen?
supersucker
 2005-09-02 16:57
#57578 #57578
User since
2005-03-17
118 Artikel
BenutzerIn
[default_avatar]
dateien löschen ohne system geht mit

Code: (dl )
unlink (bla.txt);
renee
 2005-09-02 16:58
#57579 #57579
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
unlink($file);


edit: perldoc -f unlink\n\n

<!--EDIT|renee|1125665947-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Strazke
 2005-09-02 17:48
#57580 #57580
User since
2005-07-11
120 Artikel
BenutzerIn
[default_avatar]
SUPER! Danke, hat geklappt :)
Relais
 2005-09-02 17:49
#57581 #57581
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
man sollte allerdings vermeiden, mit unlink Verzeichnisse zu löschen - ähm, genauer: unlinken -, die noch Dateien oder andere Verzeichnisse beinhalten.

Sysadmins hassen das: die Daten sind verloren, man kann auf sie nicht mehr auf normalem Wege zugreifen, sie belegen aber weiterhin Plattenplatz.
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
pq
 2005-09-02 19:14
#57582 #57582
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=Relais,02.09.2005, 15:49]man sollte allerdings vermeiden, mit unlink Verzeichnisse zu löschen - ähm, genauer: unlinken -, die noch Dateien oder andere Verzeichnisse beinhalten.[/quote]
              Note: "unlink" will not delete directories unless
              you are superuser and the -U flag is supplied to
              Perl.  Even if these conditions are met, be warned
              that unlinking a directory can inflict damage on
              your filesystem.  Use "rmdir" instead.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
betterworld
 2005-09-02 19:20
#57583 #57583
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Allerdings habe ich noch kein System gefunden, wo man (selbst mit -U und als root) Verzeichnisse tatsaechlich unlinken kann. Die gaengigen Dateisysteme scheinen das nicht zu unterstuetzen.
Gast Gast
 2005-09-02 19:59
#57584 #57584
Find ich gut.
betterworld
 2005-09-02 22:40
#57585 #57585
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Andererseits muss man aber auch erwaehnen, dass -U nicht nur un-, sondern auch thread-safe ist. Betrachten wir folgenden Befehl ("file" ist eine Datei, also kein Verzeichnis):
Code: (dl )
strace perl -e'unlink("file") or die $!'

In der Ausgabe findet man:
Code: (dl )
1
2
lstat64("file", {st_mode=S_IFREG|0644, st_size=18, ...}) = 0
unlink("file") = 0
Offenbar ruft "unlink" also zwei System Calls hervor, und dazwischen kann natuerlich alles moegliche passieren. Ich persoenlich finde so etwas sehr unschoen.

Pepe

Update: Das lstat wird natuerlich nur gemacht, wenn der Code als Superuser ausgefuehrt wird.\n\n

<!--EDIT|betterworld|1125686683-->
<< >> 9 Einträge, 1 Seite



View all threads created 2005-09-02 16:54.