PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : schnell große Datei erzeugen



dissent
11.05.07, 21:10
Wie kann ich ohne dd eine Datei mit beliebigen Inhalt erstellen?
Ich wollte gerade einen Container erstellen mit

dd if=/dev/zero of=/mnt/semitera1/weitblick bs=1024 count=435957784

nur das ist nen uralt rechner, ich hab berechnet, dass der 116 Tage braucht um diese zu erstellen.

kann ich nicht die bestehenden Daten die auf der Festplatte bestehen durch die normale Magnetisierung als eine Datei benennen?

Also "nimm die Daten von bis der Platte und nenne Sie Datei XY"?

kreol
11.05.07, 21:34
Lese ich da richtig heraus, daß Du eine ca. 435 GB große Datei erstellen möchtest? :confused:

Unabhängig von der Frage, wo die draufpassen soll: Um was genau geht es Dir, also wo liegt der Zweck einer solchen Aktion? Vllt. gibt es ja andere Wege.

Außer dd fällt mir für dergleichen auf Anhieb nichts ein.


Kreol

Flightbase
11.05.07, 21:43
urandom und mit der maus fussballspielen?

ne, ähm. wenns nen intel board ist, hast du mit glück nen hardware number generator...

uff. also normalerweise suchen leuten nach einer lösung wie man daten kleinbekommt - oder wie man große platzfresser findet ;)

greets, Nik

bla!zilla
11.05.07, 21:45
Wie hast du das ausgerechnet?

dissent
11.05.07, 21:48
ich brauch die große Datei für nen verschlüsselten Container und die brauch ich leider so groß, ist auf ner externen hdd :)

ich hab dd abgebrochen der hatte 104KB/s, ansonsten mit df und der zeit ausgerechnet

kreol
11.05.07, 22:00
Dann würde ich mich eher darum kümmern, warum dd nur 104KB/s liefert. Wie ist die Platte denn angeschlossen? Wenn es USB ist würde ich mal sehen, ob die mit Low Speed oder High Speed läuft. USB Low Speed liefert (bis zu) 1,5 MBit/s, also ca. 196KB/s, Full Speed das 6-fache. Von USB 2.0 mit High Speed ganz zu schweigen...


Kreol

zyrusthc
11.05.07, 22:03
ich brauch die große Datei für nen verschlüsselten Container und die brauch ich leider so groß, ist auf ner externen hdd :)

ich hab dd abgebrochen der hatte 104KB/s, ansonsten mit df und der zeit ausgerechnet

Macht das bei der Grösse nicht eher Sinn eine Partiton in der Grösse zu erstellen und diese zu verschlüsseln?!

Greeez Oli

dissent
11.05.07, 22:10
dd ist deshalb so langsam, weil es
1. 6 Instanzen wahren (mehrere Container)
2. ein K6-2 400Mhz ist

das ich Container nehme, war teil meiner Backupstrategie, so hätte ich den Container einfach auf eine andere Platte kopieren können, dass kann ich mit Partitionen nicht

zyrusthc
11.05.07, 22:11
das ich Container nehme, war teil meiner Backupstrategie, so hätte ich den Container einfach auf eine andere Platte kopieren können, dass kann ich mit Partitionen nicht
Natürlich kannst du das , das Backup der Partition dann mit dd machen;)

dissent
11.05.07, 22:17
ja ich find es aber sicherer eine datei zu kopieren als ein backup mit dd zu erstellen... naja wie auch immer... wenn es keine schnelle möglichkeit gibt muss ich wohl partitionen machen und mir dann überlegen wie ich das backup mache

zyrusthc
11.05.07, 22:20
Hast du keine andere Maschine an der du die Datei erstellen kannst wenn du es unbedingt als Container haben willst?

Aber mit einem K6-2 400Mhz wirst du eh Probleme kriegen , wenn der deine Daten verschlüsseln soll. Du kannst mit einem sehr hohem LOAD rechnen !

dissent
11.05.07, 22:51
ja mit dem load habe ich schon gerechnet, kopiere gerade die daten und habe
25% mc
30% pdflush
20% loop
20% smbiod
..

und habe ne übertragen von knapp 2mb über lan...

ich habe leider keine 2. linux maschine. nur nen freebsd und nen windows...
im normalbetrieb fällt der mc und smb weg, von daher sollte das nicht das problem sein.

Es sind halt diverse einschräkungen wenn man strom sparen will ;)
der rechner zieht nur 35Watt, + 2 externe HDDs und eine will ich ausschalten wenn ich sie nicht nutze...

derguteweka
12.05.07, 06:49
Moin,

Ich haett' hier ein kleines C-Prograemmchen, damit kann man recht fix ziemlich grosse Dateien mit nix gescheitem drinnen erstellen:


#define _LARGEFILE_SOURCE
#define _FILE_OFFSET_BITS 64
#define _LARGEFILE64_SOURCE

#include <stdio.h>


#define FILELENGTH 5000000000ULL


int main()
{
FILE * fp;
char marker[1]="X";

fp=fopen("longfile","wb");
if (fp==NULL)
{
perror("fopen failed :");
return -1;
}
fseeko64(fp, FILELENGTH-1 , SEEK_SET);
fwrite(marker,1,1,fp);
fclose(fp);
return 0;
}

Obiges Beispiel erstellt eine 5GByte grosse Datei namens "longfile" im aktuellen Verzeichnis, sollte aber auch mit groesseren gehen...

Gruss
WK

dissent
12.05.07, 09:34
hey super, werd ich gleich mal probieren :)

EDIT:
geil das geht!! Danke!! :)