Fantomas hat meine Festplatte sabotiert
Huuaaa: Der schrecklichen Fantomas hat meine Festplatte sabotiert! (Update)
Oh, was es nicht alles für Probleme gibt. Unglaublich.
Vergangene Nacht kam im Fernsehen auf ZDF neo Fantômas mit Louis de Funès, und ich wollte das aufnehmen.
Wie schon früher erwähnt habe ich so einen kleinen, billigen, kreuzdämlichen DVB-T-Recorder der Billig-Marke »auvisio« von Pearl. (Ja, ja, ich weiß, wer dort bestellt ist selbst schuld, aber eine Alternative habe ich zu dem Preis noch nicht gefunden.) Das Ding ist zwar lausig, die Firmware miserabel, schlecht zu bedienen und voller Bugs. Aber gerade deshalb hat sich das dumme Ding schon öfters weit moderneren und komfortableren Lösungen gegenüber als überlegen erwiesen, weil das Ding keine Fehler und dergleichen erkennt und stur das aufnimmt, was man programmiert hat.
Aber ach.
Das Ding legt die Dateien auf der Festplatte unter einem Dateinamen ab, der aus dem Sendernamen, dem Datum und der Uhrzeit gebildet wird. Nun hat ZDF neo aber hier keinen eigenen DVB-T-Kanal, sondern teilt sich den mit dem Kinderkanal KiKA. Tagsüber senden sie KiKA, und abends, wenn die Kinder im Bett sind, strahlen sie ZDF neo aus. Und deshalb ist der über DVB-T ausgestrahlte Name des Kanals “neo/KiKA”. Mit einem Schrägstrich. Und dementsprechend heißt die Datei im Dateisystem (FAT32) dann
neo/KiKA_20130510_235000.ts
Und weil unter Linux/Unix der Schrägstrich der Trenner im Pfadnamen ist, kann Linux auf die Datei nicht zugreifen. Man kann sie mit ls anzeigen, aber nicht aufmachen und noch nicht mal ein stat machen. Eine Mount-Option, mit der man das umgehen könnte, hab ich jetzt auch nicht gefunden.
Herrlich. Als ob Fantomas persönlich dahintersteckte.
(mal sehen, unter Windows müsste das eigentlich gehen, weil sich Windows nicht für / interessiert. Dummerweise sollen neuere Windows-Versionen angeblich auch den / als Trennzeichen verstehen. Muss ich mal testen. Oder gleich mit dem Blockeditor ran.)
Update 1: Nachdem ich gerade von meinen Samstagseinkäufen zurückgekommen bin, hab ich die Platte mal an Windows7 gehängt. Interessanterweise fällt Win7 genauso auf / herein wie Linux: Die Dateien werden sowohl in der graphischen Oberfläche, als auch in cmd normal mit / angezeigt, aber man kann sie nicht aufmachen oder umbenennen.
Was allerdings funktioniert, wie ein Leser empfohlen hatte, ist chkdsk. chkdsk meldet unter Win7, dass es vier Dateien mit unzulässigen Namen gefunden hat. Es sagt zwar nicht, welche das sind, aber um genau vier Dateien geht es hier. Da chkdsk allerdings (in der deutschen Version) ankündigte, die Dateinamen zu »entfernen«, wenn ich es mit der Option zum automatischen Beheben aufrufe, und ich erstmal googlen wollte, ob chkdsk gleich die ganze Datei löscht oder nur umbenennt, habe ich das erstmal bleiben lassen, zumal ich das Problem wohl öfters haben werde und deshalb eine kanonische Lösung unter Linux suche. Die Google-Suche meint, dass chkdsk die Dateien nur umbenennt, und damit dürfte das der einfachste und schnellste Weg sein.
87 Kommentare (RSS-Feed)
Auch für Windows ist / ein Pfadtrennzeichen. Denn schon DOS hat / als Pfadtrennzeichen akzeptiert. Gerade in der Konsole getestet:
C:\Users\Michael>cd\
C:\>cd users/michael
C:\Users\Michael>
Angeblich weil damals an DOS Programmierer gearbeitet hatten, die vorher an einem OS gearbeitet hatten, wo / das Trennzeichen für Pfade waren und sich nicht umgewöhnen wollte oder.
… so.
Escapen mit einem
\
(Backslash Leertaste) vor dem Schrägstrich.
Backslash hilt gar nichts, das ist einShellescape und hat nit dem Filesystem gar nichts zu tun.
Wenn es wirklich eine Datei ist, die den Slash im Namen hat,
kannst Du evtl. zugreifen in dem Du das sonderzeichen maskierst.
Unter Unixoiden Systemen nimmt man dafür den Backslash (‘\’)
Also wenn Du auf die Platte irgendwie mit einer normalen Shell zugreifen kannst, in etwa:
cp /mnt/disk/neo\/KiKA_20130510_235000.ts /home/hadmud
(die genauen Pfade musst Du natürlich noch anpassen)
Bzw. willst Du es ja umbenennen, z.B.:
mv neo\/KiKA_20130510_235000.ts neo_KiKA_20130510_235000.ts
Damit Du nachher “normal” darauf zugreifen kannst.
Oder Du benutzt ein Tool wie den Midnight Commander, wo das Programm Dir den Inhalt des Verzeichnisses schon anzeigt und Du sie nur auswählen musst und dann mit F6 umbennen kannst.
Hat schon mit so manchem vermurksten Dateinamen funktioniert.
Man kann die Inode benutzen, um auf die Datei zuzugreifen:
% ls -i
% find * -inum -exec mv {} newname.ts \;
Ertens helfen einem hier inodes überhaupt nicht, weil es um Dateinamen geht. Zweitens hat vfat mW keine Inodes.
Es gibt mehrere /, und die /, die man unter Linux in Dateinamen pflanzen kann, sehen unter Windows anders aus als die Windows-/, lassen sich aber genausowenig ändern, löschen oder hinzufügen. Denn dort ist das völliges Hexenwerk. Genauso wie Fragezeichen 😉
Aber schau mal, ob dir FSlint die Dateinamen wieder hinbiegen kann. Umbenennen über Inode wird schwierig, die zaubert man zwar beim Mounten temporär ins offenbar inode-freie FAT32, aber wenn man die nicht über stat auslesen kann..
Hast Du es denn ausprobiert (mit Shell-Escapen, wie beschrieben)?
@gedankenwerk:
> Hast Du es denn ausprobiert (mit Shell-Escapen, wie beschrieben)?
Das kann doch gar nicht funktionieren, weil Shells bzw. Befehle wie mv im User-Space laufen und das ein Problem im Betriebssystem ist, also über die normalen POSIX-Betriebssytem-Funktionen nicht lösbar ist, weshalb ja auch schon ls kein stat durchführen kann. Shell-Escapen ist da sowas von nutzlos.
Oder in der Windows Shell (cmd) den Dateinamen in Anführungszeichen setzen:
move “neo/KiKA_20130510_235000.ts” neo_KiKA_20130510_235000.ts
Das dürfte dann ein Fehler im Dateisystem-Treiber sein. -> Bug gegen den Linux-Kernel filen …
Ich glaub, ich würd da gleich einen kleinen Hack (C-Programm) schreiben, der via mmap oder so jeden String “neo/KiKA_20130510_235000.ts” im Blockdevice geeignet ersetzt. Könnt ja sein, daß du das Progrämmchen noch öfters brauchen kannst 😉
Luxusvariante wär, daß das Programm die FS-Struktur von VFAT berücksichtigt und in den Einträgen für die Dateinamen jeden ‘/’ ersetzt …
Nachtrag: ich weiss jetzt nicht wie “sed –in-place” implementiert ist, ob das auf nem Blockdevice fünktionieren würde 😉
info mtools
???
@georgi
> info mtools
Der Tipp war gut, aber mtools bestehen auch darauf, / als Pfadtrenner aufzufassen.
Wer billig kauft kauft zweimal.
@Karim B:
> Wer billig kauft kauft zweimal.
Und wer seine Entscheidungen und Kommentare auf Bauerregeln stützt, auch.
Erstens habe ich neulich schon beschrieben, dass dieses dumme Teil, so doof es ist und so billig es war, erheblich stabiler und zuverlässiger aufnimmt als mein zehnmal so teures Synology NAS mit DVB-T-Aufnahmefunktion.
Zweitens gab es damals, als ich das Ding gekauft habe, keine anderen mir bekannten Geräte, die selbständig DVB-T auf Festplatte aufnehmen konnten.
Aber mit Bauernregeln schwätzt sich’s halt so einfach und bequem dahin…
Ich habe ähnliche Probleme auch, da sind in Archiven immer Ordner drin, die mit einem “-” anfangen. Meine Lösung ist, einer Windows-VM Zugriff auf den enthaltenden Ordner zu geben, denn über Windows kann man das bequem umbenennen.
Übrigens: Interessant, dass ich im Browser nur 3 Kommentare sehe, in den Feeds aber wesentlich mehr.
…und drittens werden inodes in Dateinamen überführt, mit dem sämtliche (?) Programme (tar, mc, find … -exec mv … etc.) nichts anfangen können. Ich kenne jedenfalls keinen Teil in der POSIX-API, mit dem man Dateien ohne Zuhilfenahme ihres Namens bearbeiten könnte.
Erstaunlich viele Kommentare von Leuten, die mal helfen wollen, aber nicht die geringste Ahnung haben.
Das die Box das überhaupt geschafft hat, ist schon interessant. Die kann ja normalerweise weder Unix noch Windows basiert sein. Eigentlich kenne ich das nur von Betriebssystemen, die keinen rename im file manager haben und das durch Beschreiben des Verzeichnisses lösen. Da findet dann natürlich kein Konsistenzcheck mehr statt.
Das gab es beim OS-9/68k RBF und der PCFS-Implementierung dazu. Das kann ich mir aber kaum in einer DVB-T Box vorstellen.
@Knut:
> Erstaunlich viele Kommentare von Leuten, die mal helfen wollen, aber nicht die geringste Ahnung haben.
Ja, das ist mir beim Lesen der Kommentare auch durch den Kopf gegangen. Eigentlich brauche ich auch keine Hilfe und Ratschläge, denn das Problem und den Lösungsweg habe ich ja schon längst selbst erkannt, sondern ich wollte einfach nur das Kuriosum darstellen. Is ja nett, wenn die Leute helfen wollen, aber blindes Rumprobieren ist keine Hilfe.
Wie kommt der Name überhaupt so auf die Platte? Da müsste doch schon das Anlegen schiefgehen?!
@Patrix: Nicht unbedingt. Für MSDOS/VFAT-Dateisysteme und embedded Geräte sind jede Menge individuell geschriebene Bibliotheken im Umlauf. Und gerade bei solchen Embedded Devices drängt sich der Gedanke geradezu auf, das nicht über einen langen Pfad zu machen, sondern das Herabsteigen im Dateibaum und das Anlegen von Dateien zu trennen.
Außerdem ist der Standard-Trenner für DOS und VFAT eben \ und nicht /. Letzteres wird oft nur aus Bequemlichkeit und Kompatibilität implementiert. Wenn die hier nur \ als Trenner auffassen, läuft das eben so. Außerdem könnten die das ja ganz bewusst so gemacht haben, weil / in Sendernamen vorkommen kann, wenn sie dabei nur an Windows-User gedacht haben. Und als das Ding gebaut wurde, war Windows eben sehr verbreitet.
Soweit ich mich erinnere war / auch schon unter DOS 2.11 Pfadtrennzeichen, auch wenn man den meisten Programmen ein \ vorwerfen mußte.
@hadmut:
Du könntest versuchen mit mmv (multiple move) die Datei umzubenennen.vielleich packt das programm das.
@yasar: Chancenlos, mmv geht ja auch nur über die POSIX-Schnittstellen. Das Problem ist ja nicht, den Dateinamen nicht zu erfassen, sondern dass das Betriebssystem nicht mehr darauf zugreifen kann, weil es den / immer in Directoreis splittet.
Es kommt, wie es kommen muss:
# mmv ‘*KiKA*’ neo#1
Strange, couldn’t lstat neo/KiKA_20130510_235000.ts.
Aborting, nothing done.
@Knut:
Das FAT-Filesystem ist relativ einfach aufgebaut. Da kann man mit einigen wenigen Subroutinen FAT schreiben und lesen (habs vor Ewigkeiten auch schon mal auf dem Amiga gemacht). Wenn nun der Programmierer einige Konsistenzchecks weggelassen hat (ob mit Absicht oder aus versehen lassen wir mal dahingestellt), ist das durchaus nachvollziehbar. Vor allen wird man für so ein Billigteil vermutlich einen passenden billigen programiierer nehmen (Sohn des Neffen, der schon mal ein hello world geschrieben hat oder so).
Ach ja: Ich würde ja einfach einen Sektor-Editor nehmen und den slash rausschießen. oder mit od die passenden Stelle finden und dann mit dd das eine byte üebrschreiben. 🙂
@yasar: Genau sowas werde ich auch tun. Fand’s aber trotzdem erwähnenswert. 🙂
Aber schau mal, ob dir FSlint die Dateinamen wieder hinbiegen kann. Umbenennen über Inode wird schwierig, die zaubert man zwar beim Mounten temporär ins offenbar inode-freie FAT32, aber wenn man die nicht über stat auslesen kann..
Mal ganz unabhängig von Hadmuts Problem: wie geht umbenennen über inode?
Ich habe ähnliche Probleme auch, da sind in Archiven immer Ordner drin, die mit einem “-” anfangen. Meine Lösung ist, einer Windows-VM Zugriff auf den enthaltenden Ordner zu geben, denn über Windows kann man das bequem umbenennen.
Ich versuche jetzt das Problem zu rekapitulieren:
#setup
mkdir — -ein-Verzeichnis
touch — -ein-Verzeichnis/eine-Datei-darin
tar cvf ein-Archiv.tar — -ein-Verzeichnis
rm -rf — -ein-Verzeichnis
# jetzt habe ich ein Archiv mit Ordnern, deren Name mit ‘-‘ beginnt
# und nun Rolle rückwärts:
tar xvf ein-Archiv.tar
# schaue nach:
ls -lR
# alles an Ort & Stelle. wo ist das Problem?
Übrigens: Interessant, dass ich im Browser nur 3 Kommentare sehe, in den Feeds aber wesentlich mehr.
Den Feed hat Fantomas übersehen.
> Übrigens: Interessant, dass ich im Browser nur 3 Kommentare sehe, in den Feeds aber wesentlich mehr.
Schon mal einen Refresh versucht?
Mit dem folgenden Kommando siehst du die Position auf dem Blockdevice, wo der Dateiname gespeichert ist:
strings -td /dev/sdX|grep KiKA_20130510_235000.ts
Wenn du dann die ensprechende Position mit einem anderen Namen überschreibst, dann sollte man die Datei danach eigentlich mit Boardmitteln auslesen können.
@Jakob:
> strings -td /dev/sdX|grep KiKA_20130510_235000.ts
Ja, der Gedanke drängt sich natürlich zuerst auf. So hätte ich damit gesucht. Bei einer 300GB-Platte an einem eher langsamen USB2.0 (der Rekorder emuliert einen USB-Adapter und ist deshalb deutlich langsamer als eine normale USB-Festplatte) dauert das aber auch ne Weile.
Das FAT-Dateisystem ist defekt, der Verzeichniseintrag hat ungültige Zeichen im Dateinamen. /, \, * und noch einige andere Zeichen sind in der FAT-Spezifikation schlicht verboten. Dosfsck bzw. chkdsk.exe sollten das reparieren können.
@Joe:
chkdsk ist ein geeigneter Weg, siehe oben im Nachtrag
dosfsck verhält sich gruselig: Es findet nämlich angebliche Fehler und Inkonsistenzen, die das Win7-dskchk nicht gemeldet hat. (Belegung von Blöcken) Obwohl dosfsck aber laut man-Seite auch unzulässige Dateinamen korrigiert, stört es sich am / aber gar nicht.
@georgi: Nein, bringt gar nichts.
Ein Dateiname, der mit – anfängt, ist auf Betriebssystemebe überhaupt kein Problem, und auch auf Applikationsebene nicht. Da besteht das Problem nur in der Bibliotheksfunktion (optparse usw.), die Kommandozeilenparameter parst, weshalb man sowas mit mv — -xyz xyz beheben kann. Das ist ein völlig anderes Problem und hat mit dem hier beschriebenen gar nichts zu tun.
@georgi und @Hadmut:
Dateien die mit einem “-” beginnen benenne ich meistens so um:
mv ./-xyz xyz
😉
Ja, dosfsck interpretiert die FAT-Spezifikation etwas zu “streng”. Chkdsk dürfte der kanonische Weg sein. Ob es die Dateien nur umbenennt oder die Verzeichniseinträge ganz entfernt (dann tauchen die Fragmente (!) unter FOUND.xxx wieder auf), weiß ich allerdings nicht.
@Hadmud
Das kann doch gar nicht funktionieren, weil Shells bzw. Befehle wie mv im User-Space laufen und das ein Problem im Betriebssystem ist, also über die normalen POSIX-Betriebssytem-Funktionen nicht lösbar ist, weshalb ja auch schon ls kein stat durchführen kann. Shell-Escapen ist da sowas von nutzlos.
Ich frag nicht einfach so, ob Du es ausprobiert hast.
Was Userspace versus Systemmode damit zu tun haben soll, verstehe ich jetzt nicht. Schließlich konntest Du die Datei auch im Userspace anlegen.
Es sollte also recht einfach sein, dies zu beheben. Zur Not in dem man mit einem Disk-Editor direkt in den FAT Eintrag das ‘/’ mit einem normalen Zeichen überschreibt.
@gedankenwerk:
> Was Userspace versus Systemmode damit zu tun haben soll, verstehe ich jetzt nicht. Schließlich konntest Du die Datei auch im Userspace anlegen.
Nein. Man kann sie unter Linux und Windows eben nicht im Userspace anlegen, weil das Betriebssystem sowas von vornherein erst gar nicht zulässt.
Das Problem ist, dass hier ein externer Datenträger eingehängt wurde, auf dem ein Dateisystem mit Daten ist, die nicht innerhalb der Spezifikation liegen. Die Firmware des Rekorders hat da eben einen Bug bzw. eine Nachlässigkeit. Das Problem kannst Du unter Linux und Windows nicht aus dem Userspace über die normalen Dateizugriffsfunktionen beheben. Dazu musst Du direkt auf das Blockdevice zugreifen und das direkt dort reparieren.
> Zur Not in dem man mit einem Disk-Editor direkt in den FAT Eintrag das ‘/’ mit einem normalen Zeichen
Ja. Aber der Disk-Editor geht eben auf das Block-Device und nicht über die Dateifunktionen des Betriebssystems. Das ist ja gerade der Unterschied zu einer Shell. Shells, mv usw. arbeiten ja auch nicht blockmäßig auf dem Device herum, wie ein Disk-Editor es macht.
Eventuell hilft es, das FAT-Dateisystem ohne Support für lange Dateinamen zu mounten – unter Linux geht das mit “msdos” statt “vfat” als Dateisystem-Typ. Mit etwas Glück hat der kurze (8.3) Dateiname keinen Slash…
Was läuft denn da für ein Betriebssystem auf dem Aufnahmegerät? Ein Windows wird es wohl nicht sein, denn Windows verhindert von vornherein, dass ein ungültiges Zeichen im Dateinamen landet. (Nunja, mit Administratorrechten, kann man natürlich direkt auf die entsprechenden Sektoren zugreifen und verändern, aber wer sollte das explizit machen wollen?)
Hat der Linux-vfat-Treiber keine solche Sicherheitseinschränkung? Kann ich mir nicht vorstellen. Aber warum sollte jemand eine eigentliche FAT-Dateisystem-Implementierung erstellen? Die im Kernel sollte doch gut genug sein.
Also irgendwas läuft da ziemlich schief. Will nicht wissen, was z.B. bei Nicht-ASCII-Zeichen passiert …
> Was läuft denn da für ein Betriebssystem auf dem Aufnahmegerät?
Kein Betriebssystem im gewohnten Sinne. Irgend ein komplett proprietärer Krampf, das Ding hat ja auch nur ganz minimal Speicher und CPU. Und kann ja auch kaum was.
mtools unter Verwendung des “kurzen” Dateinamens. Wenn der auch falsch ist: dosfsck kann den fixen.
Als kanonische Lösung kann man versuchen die ‘fehlenden’ Unterverzeichnisse im voraus anzulegen, z.B. ‘neo’.
Die Dateien sollten dann im Unterverzeichnis angelegt werden.
@Hadmud
Wir hatten mal das Problem, dass (automatisch erzeugte) Dateien sich weder löschen noch umbenennen ließen.
War ein Robustnesstest. Da gab es selbst unter NTFS ein ähnliches Problem, dass sich zwar die Dateien anlegen ließen, aber nicht mit Betriebssystemmitteln wieder umbenennen – oder, wie gesagt, auch nur löschen.
Seltsamerweise funktionierte es dann mit einem Norten Commander Clone (muCommander). Das selbst sogar in Java geschrieben ist. Also mehr User-Space geht fast nicht mehr.
@gedankenwerk: Dann war es eben nur ein ähnliches, und nicht das gleiche Problem.
Für die Zukunft: Den Namen des Senders ändern. Sollte laut Bedienungsanleitung eigentlich gehen.
@Uwe: Ja, ne Bedienungsanleitung wäre sicherlich hilfreich. Ich hab meine Bedienungsanleitungen gerade wo verpackt und komme mementan nicht heran. Aber wenn’s geht wäre das ratsam.
@Uwe: Falsches Gerät. Es ist ein Auvisio KMP361AT, anscheinend = PX8045
@Uwe: Trotzdem gut der Hinweis, die haben die tatsächlich noch zum Download…
Da gab es selbst unter NTFS ein ähnliches Problem, dass sich zwar die Dateien anlegen ließen, aber nicht mit Betriebssystemmitteln wieder umbenennen – oder, wie gesagt, auch nur löschen.
Windows kann Dateien anlegen, die mit einem Punkt oder Leerzeichen enden, mit diesen dann aber anschließend nichts mehr anfangen, da das API trailing dots oder spaces vor dem Zugriff entfernt. Sehr unterhaltsamer Bug.
Geht es nicht einfach einen rename im Konsolenfenster von Windows zu machen? Z.B. “ren neo*.ts fantomas.ts” oder “ren neo?KiKA_20130510_235000.ts fantomas.ts”.
Ich hab’s mit move probiert, aber ging nicht. Windows listet die Datei zwar im Inhaltsverzeichnis (text und Desktop) auf, findet sie aber beim Zugriff nicht. Denn – wie unter Linux – expandiert ja nicht das Betriebssystem selbst die wildcards, sondern die Shell, und die liest zunächst das Inhaltsverzeichnis, sucht die passenden raus und versucht dann über das betriebssystem auf neo/KiKA… zu zugreifen und das geht nicht, weil das auf das Unterverzeichnis neo hinausliefe.
Denn – wie unter Linux – expandiert ja nicht das Betriebssystem selbst die wildcards, sondern die Shell
Unter Windows wird / an das API übergeben und dann automatisch durch \ ersetzt. Ähnliche Spezialbedeutung hat der :. Beides wird vom Kernel interpretiert und ist daher in Dateinamen illegal. Auch unter Unix sind / und NUL in Dateinamen verboten.
Im konkreten Fall such der Kernel bspw. bei einem MoveFile()-Aufruf nach einem Verzeichnis “neo” und scheitert.
Unter Windows wäre noch ein Versuch mit der ‘\\.\X:\usw…’ Notation möglich, allerdings gilt die nur für legale Dateinamen.
Vielleicht kannst du noch aus diesem Forum die Vorschläge von DonComi ausprobieren:
http://forum.electronicwerkstatt.de/phpBB/Hardware_und_Programmiersprachen/slash_aus_dateinamen_entfernen_wie-t119072f65_bs0.html
Sonst nochmal hiermit probieren:
ren “\\?\c:\Pfad zur Datei\neo?KiKA_20130510_235000.ts” fantomas.ts
Mist zu schnell abgeschickt. Hier jetzt der richtig Dateiname
ren “\\?\c:\Pfad zur Datei\neo/KiKA_20130510_235000.ts” fantomas.ts
@Yasar
Klar kann man FAT32 recht einfach schreiben, nur …
wer macht so etwas? Du bekommst doch Linux für’n Appel und ein Ei oder QNX oder so etwas.
Und da ist FAT32 ja als Mount Option drin.
@Knut: Das Ding war 2008 im Angebot und da war das noch nicht so üblich und für den Preis nicht möglich, überall ein Linux reinzuhauen.
Dafür gab’s damals jede Menge Embedded-Klitschen, die einem irgendwas zusammengemurkst haben.
Hadmut, für den Fall der Fälle, daß nix mehr zu machen ist — ich hatte die drei Sendungen gestern Nacht ebenfalls aufgenommen. Wenn Du also im ungünstigsten Fall Bedarf bekommen solltest, lass es mich hier an dieser Stelle wissen, ich stelle Dir dann die *.ts/*.mpgs zur Verfügung, sind 4,95 GB insgesamt.
@Josh: Nun mach Dir mal keine Sorgen, ich bin Informatiker, und skripte mich gerade durch die Strukturen des DOS/VFAT-Filesystems. Das ist kein Problem, ich werd nur heute nicht mehr fertig, weil ich jetzt weg muss. So’n tool kann man immer brauchen.
Ich bin durchaus in der Lage, mir da selbst zu helfen, der Blog-Artikel war rein informativ. Also keine Sorge. Und selbst wenn, so wichtig wär der Film eh nicht.
Hi, also ich habe auch so eine Datei nach einer Aufnahme. Die nennt sich
Bayerisches_FS_Nord_2012_06_15_22_51_31_0151_0C4D0048.TS
Diese Datei kann ich ganz prächtig unter Windows mit dem VLC Player abspielen.
Ich verstehe daher Ihre Probleme nicht!
@Kopfschüttel:
> Ich verstehe daher Ihre Probleme nicht!
*Seufz*
Ja. Kann ich mir vorstellen. In Ihrem Dateinamen ist nämlich kein / drin und nur darum ging’s.
Sie haben das ganze Problem und den Artikel nicht verstanden.
Schütteln Sie weiter den Kopf, vielleicht hilft schütteln ja irgendwann…
Nachtrag: Bitte bis spätestens morgen Abend (12. Mai), denn ich wandel’ Privatkopiesachen, die ich langfristig behalte, in AVIs mit a bisserl Verlust um, ehe ich die originalen *.ts/ *.mpgs lösche.
Alles klar, dann noch gutes Gelingen, schönen Abend, und wie erwähnt, wenn nix mehr gehen sollte auf des DVB-T Möhrenplatte, bis morgen Abend hast Du noch Zeit — danach könnt’ ich Dir nur noch etwas kleinere xvid-AVIs anbieten.
Oh, tut mir leid. Habe grauen Star und sehe daher etwas schlecht. Entschuldigung bitte.
Vielleicht doch noch ein Vorschlag.
Sie haben die Datei neo/KiKA_20130510_235000.ts
Lassen Sie einfach neo/ weg und benennen Sie die Datei in KiKA_20130510_235000.ts um. Dann ist kein / mehr vorhanden und Ihre Probleme sollten gelöst sein, es kommt doch nicht auf den Namen an sondern auf die Datei .ts
Ich hab versucht Ihnen zu helfen. Wenns nicht geht bitte um pardon.
@Kopfschüttel
> Oh, tut mir leid. Habe grauen Star und sehe daher etwas schlecht.
Oh, sorry, das wusste ich nicht.
> Lassen Sie einfach neo/ weg und benennen Sie die Datei in KiKA_20130510_235000.ts um.
Das ist ja das Problem, auch umbenennen ist ein Vorgang, der nicht funktioniert, weil dazu das Betriebssystem die Datei finden muss. Auch das geht über die Dateisystemschnittstelle des Systems und die findet die Datei nicht. Deshalb funktioniert gar nichts mehr, was auf Dateiebene arbeitet.
> Ich hab versucht Ihnen zu helfen.
Danke, ist nett. Aber erstens ging’s mir nicht um Hilfe, sondern darum, Information und Amusement zu spenden. Zweitens ist blindes Rumprobieren ohne das Problem verstanden zu haben, keine echte Hilfe.
@Hadmut
Kann man irgendwie einstellen, anhand welcher Muster der Dateiname erzeugt wird (Timestamp, Channelno etc.)?
@Hadmut
Auch in 2008 gab es schon reichlich open source vfat Implementierungen.
Kann es sein, dass da noch defekte rumschwirren ? Ich habe da zuletzt drin rum programmiert, als ich für Solaris die deutschen Umlaute freigeschaltet habe. Das war so gegen 2004. Dabei habe ich dann eine Einblick bekommen, wie schwierig es wird, wenn man es richtig macht.
Wie funktioniert das eigentlich, wenn man von Unix UTF8 kodiert nach FAT32 UCS2 kodiert kopiert ? Die Koreaner benutzen auch USB-Sticks …
Was mir noch so auffällt ist die Theoriebildung über die Windows Dateisystem-API. Man könnte gerade glauben, da müßte man was reverse engineeren. Dabei hat MS eine Webseite, wo man sich das durchlesen kann. Die Suchfunktion ist zwar irreführend, wenn man aber nicht auf den Kopf gefallen ist, findet man das in wenigen Minuten. Dort steht dann, dass \ und / verwendet völlig austauschbar werden können.
Desweiteren ist die Länge der Pfadnamen nicht auf 256 Zeichen beschränkt. Das ist nur eine verirrte Konstante, die Jünger von Windows 3.1 benutzen, die aber sonst keine Relevanz hat. Leider zählen die Implementierungen des Windows Explorers dazu.
Lustigerweise ist der Start von Programmen mit einem eigenen Parser versehen worden. Daher kann man jedes Programm mit Absolutem Dateinamen (beginnt mit x:) starten, aber nicht mit relativen Dateinamen. Da muß mit \ getrennt werden.
Soweit meine überflüssigen Anmerkungen zur Windows-API. Die Leute werden weiterhin ihrem Glauben folgen und die Dokumentation von MicroSoft ignorieren. Was wissen die schon ?
Kannst du die Datei nicht einfach unter Mac OS umbenennen? Da kann man doch auch jedes noch so dämliche Sonderzeichen in den Dateinamen hauen. Da wird nur gemeckert, wenn’s mit nem Punkt beginnt, aber die unter Windows verbotenen Zeichen /*” etc. werden alle geschluckt…
Ich hätte versucht mit dd an die Datei ranzukommen. Was passiert, wenn man ein Verzeichnis neo vorab anlegt wäre auch mein erster Verscuh für die Zukunft gewesen.
Ansonsten warte ich auf die Gründung der Fernsehsender “re:püblica”, “PRN” und “NUL”.
@.Stefan W: und “CON”…
lieber hadmut, sei tapfer…
es sind so viele leute stolz darauf etwas mehr als mausschubsen zu können, auch ohne ein studium absolviert zu haben.
meinereiner hat mit dos 3.3 (?zu lange her um die nummern noch zu wissen, aber es war VOR 4.0) begonnen sich für den pc zu interessieren.
und zum glück: oftmals kann man dank der damaligen übungen etwas mehr bewerkstelligen, als mancher windows 7 einsteiger.
helfen ist halt den meisten menschen in die wiege gelegt und ein bedürfniss.
und meist beschwert sich auch niemand über angebotene hilfe. sie wird dann und wann dankend zur kenntniss genommen und abgelehnt wenn nötig 😉
klugscheisser modus aus…
relaxed zum spaziergang.
node
mal abgesehen davon , bemerke ich mit einer gewissen genugtuung das ein technisches problem weit mehr kommentare hervorruft, als die letzten (geschätzt 20) angezeigten beiträge.
das soll deine blog nicht bewerten , sondern mich freut das es soviele interesierte zu solchen themen gibt ( und hilfsbereite 😛 )
die klammer war fies… ich weiss
node
Also bei solchen problemen habe ich immer den hexeditor aufgemacht und die Datei dort umbenannt, funktioiniert immer ohne die ganzen kaputten tools.
@hurz:
> den hexeditor aufgemacht und die Datei dort umbenannt, funktioiniert immer ohne die ganzen kaputten tools
Jau, denkste. Die langen vfat-Namen haben noch ne Prüfsumme. Da kannste den Hexeditor vergessen, wenn Du die nicht von Hand ausrechnest.
Wie Tim schrieb, kommt Mac OSX mit dem Dateinamen zurecht, ich habs grad ausprobiert – aus dem / wird im Terminal Emulator ein :. Mal eben schnell mal irgendwo OSX zu installieren, gestaltet sich aber sicherlich nicht einfach; hat man nämlich keinen Mac, muss man sich erst das Installationsmedium organisieren (das hat man ja nicht herumliegen wie vielleicht bei Windows und Linux) und dann braucht man noch viel Geduld, bis es in einer virtuellen Maschine startet.
Es wundert mich aber keineswegs, dass der Beitrag soviele Kommentare provoziert, ist das doch ein durchaus spannendes Problem.
Zur Lösung habe ich gerade einen neuen Artikel geschrieben.
@Asd: Ich hab’s übrigens noch nicht geschafft, ein halbwegs aktuelles OSX unter Linux zu emulieren.
Zu Update1 & dem Folgeartikel von heute (12. Mai): Nachdem Du einen Win7-Prompt geöffnet hast zaubert Dir ein »dir /x« im entsprechenden Verzeichnis sowohl den 8.3-Namen, als auch den korrespondieren, langnamigen »neo/Kika-xxx-xxx-xxx«-Eintrag auf den Schirm.
Ein anschliessendes »ren 8.3-Name Dufterneuername« hätte also das Problem ebenfalls lösen können.
😉
Doch bedankt ob der vielen Hintergrundinfos.
Oben stand etwas von “Sendernamen aendern”.
Die Frage ist, ob das geht. Ich habe den Verdacht, das Geraet bezieht den Sendernamen nicht aus der Senderliste, sondern aus dem EPG. Damit wuerde er vom System geliefert und ist daher nicht aenderbar.
Ich habe das noch nicht genauer untersucht, in Hadmuts “Falle” bin ich noch nicht hineingeraten.
So, die Vermutung ist im Experiment ueberprueft.
Der Empfaenger ist eine Sat-DBox2 auf Neutrino-Linux, der Sender nennt sich offiziell Nick/CC AUT und hat keinen EPG. Er verteilt tagsueber Nickelodeon und ab 20:00 ComedyCentral fuer Oesterereich.
Seinen Stream (Testaufnahme) liefert er unter
NICK_CC_AUT__2013-05-12_183011.001.ts
ab.
In der Senderliste (/var/tuxbox/config/zapit/services.xml) ist der Sender unter “NICK/CC AUT” abgelegt.
Irgendwer hat hier also dafuer gesorgt, dass der Sendername korrekt behandelt wird, wenn er fuer die Aufnahme verwendet wird.
Die gleiche Falle wuerde auch z.B. bei “Sat1 HH/SH” aufgestellt.
Jetzt haengt es nur noch von dem DVB-T Empfaenger ab, ob er sich soweit unter die Haube schauen laesst, dass man in seiner Senderliste herumfuhrwerken kann. Dann zeigt es sich, wie er funktioniert.
Pete
@Pete: Ich hab bei dem Ding bisher keinen Weg gefunden, den Sendernamen zu ändern. Was umso ärgerlicher ist, als das Ding Sendernamen mit Umlauten völlig verunstaltet.
Achso _V_fat, stimmt da geht das nicht so einfach.
Da klickt man auf den Link, weil man denkt, es geht um die PiratinnenKon und irgendwelche “Maskulisten”, die mal wieder was sabotiert haben. Und dann das: Techtalk!! 🙂