タグ付けされた質問 「dd」

ddはバイナリデータコピーの従来のユーティリティです


2
ddを並列化する方法は?
現在dd、入力(if)としてスパースファイルを使用し、出力(of)としてファイルを使用して起動すると問題が発生しますconv=sparse。ddCPUの1つのコア(Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz4コア+ 4 Intelハイパースレッド)のみ(1コアの100%)を使用しているようなので、並列化が可能かどうか疑問に思っていましたdd。行ったことがある 調べてみるinfo ddとman dd、corutils 8.23のバージョンに組み込み関数があるようです。 (それが私のニーズに合っているかどうかを理解せずに)パッケージsgp_ddからチェックしsg3-utilsますが、スパースファイルを処理することができないようです dcfldd 並列化機能がないようです 私の知る限り 複数のスレッドでのプログラムパーツの内部処理を備えた拡張バージョン/フォーク(I / Oパフォーマンスを低下させるコンテキスト変更を回避する)が優先されます parallelローカルで実行されているGNUのソリューションが優先されます カスタム(テストされていない可能性がある)コードスニペット I / O集中型操作のボトルネックとなるCPUを回避する方法 Linux 3.13を搭載したUbuntu 14.04でコマンドを実行し、スパースファイルをサポートする任意のファイルシステムでスパースファイルのディスクイメージを処理したいと思います(少なくとも、ソリューションは1つの特定のファイルシステムにバインドされるべきではありません)。 背景:私は、zfsに11 TBのスパースファイル(約2 TBのデータを含む)のコピーを作成しようとしています(zfsonlinux 0.6.4不安定バージョン、バグが多く、CPUボトルネックの原因(最終的には低速のホール検索))。(非常に一般的な方法で)ddを並列化する方法の問題については、何も変更されません。
10 linux  dd  parallelism 

1
dd: '/ dev / null'を書き込んでいます:デバイスにスペースが残っていません
/ dev / nullに550MBのファイルを読み込んでいます。 dd: writing '/dev/null': No space left on device 私はびっくりしました。/ dev / nullは、あなたが好きなだけ送信できるブラックホールだと思いました(仮想fsのため)。 はい、このエラーが発生すると、ディスクがほぼいっぱいになります。ディスクからコンテンツを削除する以外に何ができますか? ls -l /dev/null -rw-r--r-- 1 root root 0 July 7 21:58 /dev/null の代わりに crw-rw-rw- 1 root root 1, 3 July 7 02:58 /dev/null 私が使用しているコマンド: time sh -c "dd if=$filename of=/dev/null"

5
DDを使用してディスクイメージからパーティションを複製する方法
私はディスクイメージを持っています。それは「全体」のディスクイメージです。たとえば、複数のパーティションが含まれていて、それらの1つだけ(最初のパーティションではない)を、複数のパーティションを持つ外部ドライブのパーティションに複製したいと思います(また、ディスクの最初のパーティションにクローンを作成していません...) イメージをFDiskすると、次のようになります。 #fdisk -l 2013-02-09-wheezy-raspbian.img ディスク2013-02-09-wheezy-raspbian.img:1939 MB、1939865600バイト 255ヘッド、63セクター/トラック、235シリンダー、合計3788800セクター 単位= 1 * 512のセクター= 512バイト セクターサイズ(論理/物理):512バイト/ 512バイト I / Oサイズ(最小/最適):512バイト/ 512バイト ディスク識別子:0x00014d34 デバイスブートスタートエンドブロックIDシステム 2013-02-09-wheezy-raspbian.img1 8192 122879 57344 c W95 FAT32(LBA) 2013-02-09-wheezy-raspbian.img2 122880 3788799 1832960 83 Linux # ブロックデバイスは次のようになります。 #fdisk -l / dev / sdc ディスク/ dev / sdc:8014 MB、8014266368バイト 247ヘッド、62セクター/トラック、1022シリンダー、合計15652864セクター 単位= 1 …
9 partition  dd  disk 

2
他のファイルシステムを含むファイルで断片化レベルが非常に大きいのはなぜですか?
スパースファイルが何であるかを知り、それらについていくつかの実験を行いたいと思っています。ウィキでは、ファイルが簡単に断片化する可能性があることを読むことができます。それがいかに悪いかチェックしたかった。次の方法でファイルを作成しました。 # truncate -s 10G sparse-file # mkfs.ext4 -m 0 -L sparse ./sparse-file スパースファイルをマウントし、600Mファイルを入れました。断片化レベルは次のようになります。 # filefrag -v "/media/Grafi/sparse-file" Filesystem type is: ef53 File size of /media/Grafi/sparse-file is 10737418240 (2621440 blocks of 4096 bytes) ext: logical_offset: physical_offset: length: expected: flags: 0: 0.. 1032: 36864.. 37896: 1033: 1: 1043.. 1043: 37907.. 37907: …

2
バックアップを使用してディスクの磁気状態を更新するにはどうすればよいですか?
私には、バックアップ/アーカイブ資料が入った大きなディスクがいくつかあります。それらはext4です。ディスク全体を再度読み取ることなく数年間保存されるものについては、ディスクの磁気状態をリフレッシュする方法を考えていました。ドライブの保存期間は、私が答えを探し求めているあらゆる場所で議論の余地があるようですが、数年(たとえば5年程度)のストレージの後で、何らかの方法でデータを更新するのが賢明だと思います(? ) 私はこれが提案されているのを見ました: dd if=/dev/sda of=/dev/sda 安全ですか?役に立ちましたか? 私がやろうとしていることは、fsckまたは以外のことですdd if=/dev/sda of=/dev/null。どちらもおそらく、ディスク上の既存の磁気ドロップアウトを検出します。 私がやりたいことは、ディスクの磁気電荷が読み取り可能なレベルを下回る前に磁気データを更新することです。これどうやってするの?
8 linux  backup  dd  storage  disk 

4
ddおよびfdiskコマンドからのデバイスの保護
特定の特定のデバイスがddコマンドの出力ファイルおよびコマンドのターゲットになるのを防ぐ方法があるかどうか疑問に思っていますfdisk。現在、2つの操作を使用して、ブートローダー、カーネル、ルートファイルシステムの書き込みをSDカードにセットアップしています/dev/sdd。と混同するsddことsdb、またはsda文字AとDキーボードが近接していることが常に少し心配です。この形式のコマンドを回避する方法を見つけたいです。 dd if=/dev/sd[a-zA-Z0-9]* of=/dev/sd[ab] または fdisk /dev/sd[ab]

3
Linux / GPartedはパーティションテーブルを見ることができますが、dd bs = 512 count = 1はできません
私はMBRフォーマットのsdカードを持っています。Linuxマシン(xubuntu 12.04)に接続すると、パーティションをマウントしてファイルシステムを解析できます(GPartedと同様)。ただし、ddを使用してデバイスからMBRを読み取ろうとすると、大量の偽のデータが表示されます。 ddがMBRを読み取ることができない場合に、Linux / GPartedがどのようにMBRを読み取り、MBRを理解できるかについて、誰かが光を当てることができますか?彼らはデータを取得するために異なる方法を使用していますか?IEはopen()、read()ではありません DDコマンドは次のとおりです。 dd if=/dev/sdb of=mbr.bin bs=512 count=1 DD出力は次のとおりです。 1+0 records in 1+0 records out 512 bytes transferred in 0.000786 secs (651345 bytes/sec) mbr.binダンプhexdump -C mbr.binは次のとおりです: 00000000 04 16 41 53 4d 49 2d 53 44 03 00 00 00 00 16 f1 |..ASMI-SD.......| 00000010 00 7f …
8 partition  dd  gparted  mbr 

1
完全なハードドライブイメージのパーティションのサイズを変更する方法
私は使用してハードドライブの完全なイメージを撮りました: dd if=/dev/sda of=/home/user/harddriveimg bs=4M 適切にマウントした後、パーティション内のパーティションのサイズを変更できるように思えます。 別れのコマンドラインに慣れていないので、試してみました: gparted /home/user/harddriveimg これはパーティションテーブルをロードしましたが、パーティション自体を見つけることができませんでした(例:harddriveimg0)。 ディスクに書き戻すことなく、このような画像ファイルを変更することは可能ですか?端末コマンドのみを使用するソリューションに完全に満足します。

1
LZ4とDDを使用したHDクローンが失敗する
私は今、しばらくの間、DDとGZIPを使用してOSのクラッシュを復元するために、完全なHDDイメージをクローニング使用してきたdd if=/dev/sda | gzip > img.gzし、gzip img.gz | dd of=/dev/sda これは常に正常に動作しますが、プロセスは少し遅くなります。イメージの作成または復元には2時間以上かかります。より高速な(圧縮解除)圧縮の実験を開始しました。LZ4。 繰り返しますが、同じコマンドdd if=/dev/sda | lz4 > img.lz4とを使用しますlz4 img.lz4 | dd of=/dev/sda。イメージの作成と復元にかか​​る時間は50%未満になりました。ポイントは、この復元されたイメージが起動できないPCを提供することです。 何が間違っていますか?LZ4はこの目的に適していませんか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.