Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Anfängerfrage: Schreibzugriffe auf Festplatte - Wo?

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
angelfall
Newbie
Newbie
Beiträge: 4
Registriert: 13. Dez 2007, 09:05

Anfängerfrage: Schreibzugriffe auf Festplatte - Wo?

Beitrag von angelfall » 2. Jan 2008, 11:37

Hallo allerseits,

ich muss zugeben, dass ich bisher noch überhaupt nichts mit Kernelprogrammierung zu tun hatte und ich mich auch mit Linux nur mittelmäßig auskenne. Aber da ich eine bestimmte Aufgabe bekommen habe und so schlecht "nein" sagen kann, kämpfe ich mich so durch :?

Ich habe eine SATA-Festplatte und Suse Linux, Kernelversion 2.6.16.46. Ich möchte erstmal nur wissen, wo im Kernel der Funktionsaufruf (?) steht, mit dem Linux letztendlich ein Zeichen auf diese SATA Platte schreibt.
hab schon viel in den Kerneldateien gestöbert, aber nichts passendes gefunden.

bin für jede hilfe dankbar

Werbung:
Benutzeravatar
nbkr
Guru
Guru
Beiträge: 2857
Registriert: 10. Jul 2004, 15:47

Beitrag von nbkr » 2. Jan 2008, 11:54

Den direkten Zugriff auf die Platte erledigt der Treiber. Der schreibt aber in dem Sinne keine Zeichen (Buchstaben) auf die Platte. Das ist dem Treiber zu hoch. Wofür musst Du den so tief ins System um da Sachen zu ändern?
Kann gar nicht sein, ich bin gefürchtet Wald aus, Wald ein.

angelfall
Newbie
Newbie
Beiträge: 4
Registriert: 13. Dez 2007, 09:05

Beitrag von angelfall » 2. Jan 2008, 12:19

die platte ist read-only gemountet. temp-, var-dateien und alles andere landet im ram. ich soll jetzt schauen ob wirklich nichts mehr auf die platte geschrieben wird. :?:

zu diesem zweck wollte ich erstmal die stelle des schreibzugriffs suchen. und dann wollte ich weiter sehen.

wo finde ich denn die treiberdateien?

Benutzeravatar
Gimpel
Guru
Guru
Beiträge: 1983
Registriert: 11. Feb 2004, 13:58
Wohnort: Mjunik .... "no a hoibe, resi!"
Kontaktdaten:

Beitrag von Gimpel » 2. Jan 2008, 12:38

Das hängt auch schwer vom Dateisystem ab, wann tatsächlich auf die Platte geschrieben wird, und wie.

Guter Artikel zB:
http://www.linux-magazin.de/heft_abo/so ... _schreiben

Daher sollte der Dateisystem-Treiber und das VFS layer im kernel der richtige Ort zum suchen sein.
Bild on AMD Athlon64 X2 5600+|64bit|6GB DDR2 800MHz|nVidia GF 8500GT|2.6.29-rc1-moo1|BTRFS|KDE-4.2 SVN trunk + Compiz++|M-Audio Audiophile 2496
----
Bild

angelfall
Newbie
Newbie
Beiträge: 4
Registriert: 13. Dez 2007, 09:05

Beitrag von angelfall » 3. Jan 2008, 09:23

Dateisystem ist ext2.

Mit dem Artikel komme ich leider nicht weiter. trotzdem danke.

Ich versuche dann mal die dateien zum dateisystem weiter zu durchstöbern.

wonach muss ich eigentlich suchen? nach einem "write"-Befehl?

Benutzeravatar
Gimpel
Guru
Guru
Beiträge: 1983
Registriert: 11. Feb 2004, 13:58
Wohnort: Mjunik .... "no a hoibe, resi!"
Kontaktdaten:

Beitrag von Gimpel » 3. Jan 2008, 12:21

Der Artikel war eher als Hinweis gedacht, wie in etwa "eine Datei schreiben" bei Linux vor sich geht. Hab nichts besseres gefunden auf die schnelle.

Userspace -> VFS layer -> Dateisystem -> Block layer -> Festplatte

Der Befehl im userspace ist write (man 2 write).

/usr/src/linux/Documentation/filesystems/vfs.txt erklärt das VFS etwas.
Bild on AMD Athlon64 X2 5600+|64bit|6GB DDR2 800MHz|nVidia GF 8500GT|2.6.29-rc1-moo1|BTRFS|KDE-4.2 SVN trunk + Compiz++|M-Audio Audiophile 2496
----
Bild

Benutzeravatar
robi
Moderator
Moderator
Beiträge: 3159
Registriert: 25. Aug 2004, 02:13

Beitrag von robi » 3. Jan 2008, 13:27

angelfall hat geschrieben:die platte ist read-only gemountet. temp-, var-dateien und alles andere landet im ram. ich soll jetzt schauen ob wirklich nichts mehr auf die platte geschrieben wird. :?:

zu diesem zweck wollte ich erstmal die stelle des schreibzugriffs suchen. und dann wollte ich weiter sehen.
such mal in /usr/src/linux/drivers/scsi/ dort sollte letztendlich irgendwo der Schreibzugriff auf die Platte erfolgen. eventuell in scsi_ioctl.c

Sicher die komplizierteste Art sowas herauszufinden. Wie wäre es denn mal offline die md5sum über die Partition zu bestimmen, danach Linux zu starten mit dem eingehängten Readonly Filesystem. Nach 3 Tagen wieder offline gehen und die Prüfsummen neu bestimmen. Hat sich nichts geändert, dann gab es überhaupt gar keinen schreibenden Zugriff, hat sich doch was geändert, könnte das wahrscheinlich wenn wirklich durchgängig Readonly gemountet war das nur durch Schreibschutz auf der Platte selbst verhindert werden. Das geht entweder durch Jumper auf der Platte oder aber auch über Steuerbefehle.

robi

Spasswolf
Member
Member
Beiträge: 69
Registriert: 15. Mär 2006, 14:47

Beitrag von Spasswolf » 4. Jan 2008, 17:55

Das hier könnte dich interessieren, da werden der open(2) und read(2) Systemcall durch den Kernel verfolgt, allerdings mit Kernel 2.4.0: http://www.win.tue.nl/~aeb/linux/vfs/trail-2.html

Benutzeravatar
robi
Moderator
Moderator
Beiträge: 3159
Registriert: 25. Aug 2004, 02:13

Beitrag von robi » 4. Jan 2008, 18:45

Spasswolf hat geschrieben:Das hier könnte dich interessieren, da werden der open(2) und read(2) Systemcall durch den Kernel verfolgt
Na ich glaube mal, wenn der Weg über die normalen Open und Write Kommandos auf Files nicht dicht wäre durch ein Readonly-Mount, dann hätte Linux einen Bug der etwas Größer als der Saturn wäre.

Aber der Kernel kann noch anders auf die Platte zugreifen, und durchaus auch direkt ganz ohne irgend ein Filesystem und durchaus über ganz andere Geräteknoten zB /dev/sg....
Fragen wären zB: wird bei einem Readonly-Mount im Filesystem hinterlegt an welchem Mountpoint das geschehen ist, wird im Filesystem selbst vermerkt das es derzeit schon gemountet ist, und wird der Mountcount hochgezählt oder nicht, wird ein fsck im Filesystem gemacht bevor gemountet wird?
Root könnte auch mit einem Script und mit dd oder sg_dd im Filesystem und auf der Platte herrum schreiben, ein Readonly als Mountoption würde das überhaupt nicht verhindern.

Wo willst du denn das bitte alles abfangen ?

robi

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste