
Ubuntu日本語フォーラム

ログインしていません。
Ubuntu9.04を使用しています。
そこにUserModeLinux起動させようと考えています。
そこで、空のファイルを作ろうと、
~$ dd if=/dev/zero of=uml-root-hardy bs=4096 seek=1M count=1
とコマンド入力しました。
その後しばらく放っておいても反応がありません。
ddコマンドを使用するには、何か事前操作などが必要なのでしょうか。
お返事お願いします。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
返事遅くなってしまって申し訳ありません。
ずっと機動したままでいるのですが、
何も表示されません。
kiyoshiさんに書いていただいた
1+0 記録始め
1+0 記録終わり
4096 バイト (4096 B) コピー終了, 0.000212038 s, 2.4 MB/s
というのも出てきません。
どうすべきでしょうか。
オフライン
ファイルシステム用途に任意の大きさのファイルを作成されようとしていますね。
ややこしい "seek=1M" なるオプションは必要ないと思いますが。。。
~$ sudo dd if=/dev/zero of=uml-root-hardy bs=1024k count=4
で、kiyoshiが述べられている様に、
空き領域として必要な容量分(4GB程度)が生成されるるはずです。
オフライン
koisan1949 による投稿:
ファイルシステム用途に任意の大きさのファイルを作成されようとしていますね。
ややこしい "seek=1M" なるオプションは必要ないと思いますが。。。
~$ sudo dd if=/dev/zero of=uml-root-hardy bs=1024k count=4
で、kiyoshiが述べられている様に、
空き領域として必要な容量分(4GB程度)が生成されるるはずです。
ありがとうございます。
スムーズに解決することができました。
オフライン
$ dd if=/dev/zero of=uml-root-hardy bs=1M seek=4096 count=0
のような感じで、スパースファイルを作成することができます。
巨大なファイルを作成したい場合は便利かもしれません。
オフライン
mizuno様
穴空きファイルと言う奴ですね。
実スペースより大きな容量の確保が出来るとの事ですが実際の用途としてはどのようなものなのでしょうか、もしこの書き込みに目が止まりましたら御教示いただけないでしょうか。
オフライン
hir0 による投稿:
mizuno様
穴空きファイルと言う奴ですね。
実スペースより大きな容量の確保が出来るとの事ですが実際の用途としてはどのようなものなのでしょうか、もしこの書き込みに目が止まりましたら御教示いただけないでしょうか。
たとえば仮想マシン用のディスクイメージファイルを作成する際。ddで100GBとかのファイルを作り出すととんでもない時間がかかりますので、このような方法で実際の書き込みを後に回すことで時間を節約することができます。
オフライン
mizuno による投稿:
$ dd if=/dev/zero of=uml-root-hardy bs=1M seek=4096 count=0
のような感じで、スパースファイルを作成することができます。
巨大なファイルを作成したい場合は便利かもしれません。
この作業も行ってみました。
やはり時間を待ってみましたが、何も起きませんでした。
どのように対処すればいいのでしょうか。
これは容量とかではなく、他の部分でおかしなところがあるんですかね。
オフライン
santamasashi による投稿:
やはり時間を待ってみましたが、何も起きませんでした。
どのように対処すればいいのでしょうか。
これは容量とかではなく、他の部分でおかしなところがあるんですかね。
「何も起きなかった」ということが何をさすのか、この書き込みからだと理解できませんので、せめてコマンドの実行結果をまるごとコピペして頂けませんでしょうか。
ファイルが作成されませんでしたか?
「時間を待った」とはどういうことでしょうか。長時間端末が応答しない状態になりましたか?
オフライン
私の環境では以下の様に瞬間的に終了します。
$ dd if=/dev/zero of=uml-root-hardy bs=4096 seek=1M count=1
1+0 記録始め
1+0 記録終わり
4096 バイト (4.1 kB) コピー終了, 0.000320114 s, 12.8 MB/s
$ dd if=/dev/zero of=uml-root-hardy bs=1024k count=4
4+0 記録始め
4+0 記録終わり
4194304 バイト (4.2 MB) コピー終了, 0.0573624 s, 73.1 MB/s
$ dd if=/dev/zero of=uml-root-hardy bs=1M seek=4096 count=0
0+0 記録始め
0+0 記録終わり
0 バイト (0 B) コピー終了, 7.3759e-05 s, 0.0 kB/s
そして60GBのHDDにトリプルブート環境に400GBのファイルの生成も出来ています。
$ dd if=/dev/zero of=uml-root-hardy7 bs=1M seek=409600 count=0
0+0 記録始め
0+0 記録終わり
0 バイト (0 B) コピー終了, 0.000116189 s, 0.0 kB/s
#12にあるようにもう少し情報を頂けないでしょうか、単純なミスかも知れませんしseek 犯人だったら原因を突き止めないとイケないかも。
HDDの容量はどうでしょうか、
$ df
の結果を、、、でもcount=0 で終わらないんですよね? う〜ん。
オフライン
mizuno による投稿:
santamasashi による投稿:
やはり時間を待ってみましたが、何も起きませんでした。
どのように対処すればいいのでしょうか。
これは容量とかではなく、他の部分でおかしなところがあるんですかね。「何も起きなかった」ということが何をさすのか、この書き込みからだと理解できませんので、せめてコマンドの実行結果をまるごとコピペして頂けませんでしょうか。
ファイルが作成されませんでしたか?
「時間を待った」とはどういうことでしょうか。長時間端末が応答しない状態になりましたか?
そうです。ファイルは生成されるのですが、
端末の方は長時間応答しない状況です。
オフライン
hir0 による投稿:
私の環境では以下の様に瞬間的に終了します。
$ dd if=/dev/zero of=uml-root-hardy bs=4096 seek=1M count=1
1+0 記録始め
1+0 記録終わり
4096 バイト (4.1 kB) コピー終了, 0.000320114 s, 12.8 MB/s$ dd if=/dev/zero of=uml-root-hardy bs=1024k count=4
4+0 記録始め
4+0 記録終わり
4194304 バイト (4.2 MB) コピー終了, 0.0573624 s, 73.1 MB/s$ dd if=/dev/zero of=uml-root-hardy bs=1M seek=4096 count=0
0+0 記録始め
0+0 記録終わり
0 バイト (0 B) コピー終了, 7.3759e-05 s, 0.0 kB/sそして60GBのHDDにトリプルブート環境に400GBのファイルの生成も出来ています。
$ dd if=/dev/zero of=uml-root-hardy7 bs=1M seek=409600 count=0
0+0 記録始め
0+0 記録終わり
0 バイト (0 B) コピー終了, 0.000116189 s, 0.0 kB/s
#12にあるようにもう少し情報を頂けないでしょうか、単純なミスかも知れませんしseek 犯人だったら原因を突き止めないとイケないかも。
HDDの容量はどうでしょうか、
$ df
の結果を、、、でもcount=0 で終わらないんですよね? う〜ん。
$ dd if=/dev/zero of=uml-root-hardy bs=4096 seek=1M count=1
と
$ dd if=/dev/zero of=uml-root-hardy bs=1M seek=4096 count=0
という操作では、ファイルは作成されるけれど、端末が長時間応答しないという状況で、
ファイルを削除するのにも
$ rm uml-root-hardy
この操作を行っても端末が長時間反応しません。
ただ
yamada@ubuntu:~$ dd if=/dev/zero of=uml-root-hardy bs=1024k count=4
4+0 記録始め
4+0 記録終わり
4194304 バイト (4.2 MB) コピー終了, 0.0662193 s, 63.3 MB/s
という操作は完了することができました。
このファイルなら容量が足りないという心配はいらないですかね?
またdfコマンドは以下の通りです。
~$ df
ファイルシステム 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda1 302105360 3297216 283462056 2% /
tmpfs 964364 0 964364 0% /lib/init/rw
varrun 964364 100 964264 1% /var/run
varlock 964364 0 964364 0% /var/lock
udev 964364 148 964216 1% /dev
tmpfs 964364 84 964280 1% /dev/shm
lrm 964364 2192 962172 1% /lib/modules/2.6.28-15-generic/volatile
/home/yamada/.Private
302105360 3297216 283462056 2% /home/yamada
オフライン
yamada@ubuntu:~$ dd if=/dev/zero of=uml-root-hardy bs=1024k count=4
4+0 記録始め
4+0 記録終わり
4194304 バイト (4.2 MB) コピー終了, 0.0662193 s, 63.3 MB/s
上でこのように操作して作成したファイルに以下の操作をしました。
yamada@ubuntu:~$ mkfs.xfs uml-root-hardy
agsize (1024b) too small, need at least 4096 blocks
Usage: mkfs.xfs
/* blocksize */ [-b log=n|size=num]
/* data subvol */ [-d agcount=n,agsize=n,file,name=xxx,size=num,
(sunit=value,swidth=value|su=num,sw=num),
sectlog=n|sectsize=num
/* inode size */ [-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2]
/* log subvol */ [-l agnum=n,internal,size=num,logdev=xxx,version=n
sunit=value|su=num,sectlog=n|sectsize=num,
lazy-count=0|1]
/* label */ [-L label (maximum 12 characters)]
/* naming */ [-n log=n|size=num,version=2|ci]
/* prototype file */ [-p fname]
/* quiet */ [-q]
/* realtime subvol */ [-r extsize=num,size=num,rtdev=xxx]
/* sectorsize */ [-s log=n|size=num]
/* version */ [-V]
devicename
<devicename> is required unless -d name=xxx is given.
<num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),
xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).
<value> is xxx (512 byte blocks).
yamada@ubuntu:~$ mkfs.xfs uml-root-hardy
agsize (1024b) too small, need at least 4096 blocks
Usage: mkfs.xfs
/* blocksize */ [-b log=n|size=num]
/* data subvol */ [-d agcount=n,agsize=n,file,name=xxx,size=num,
(sunit=value,swidth=value|su=num,sw=num),
sectlog=n|sectsize=num
/* inode size */ [-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2]
/* log subvol */ [-l agnum=n,internal,size=num,logdev=xxx,version=n
sunit=value|su=num,sectlog=n|sectsize=num,
lazy-count=0|1]
/* label */ [-L label (maximum 12 characters)]
/* naming */ [-n log=n|size=num,version=2|ci]
/* prototype file */ [-p fname]
/* quiet */ [-q]
/* realtime subvol */ [-r extsize=num,size=num,rtdev=xxx]
/* sectorsize */ [-s log=n|size=num]
/* version */ [-V]
devicename
<devicename> is required unless -d name=xxx is given.
<num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),
xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).
<value> is xxx (512 byte blocks).
これではファイルが小さすぎるということですか?
オフライン
今更ですが、ddコマンドの説明
~$ dd --help
オペランドの訳
if= 読み込む場所・ファイル名
of= 書き込む場所・ファイル名
bs= 読み書きするバイトサイズ
count= bsで指定したバイトサイズでコピーするブロック数
skip= 読み込む場所の先頭から、このbsで指定した値のブロック数だけ後方から読み込みする
seek= 書き出す場所の先頭から、このbsで指定した値のブロック数だけ後方に書き込みする
参考と思われるURL
http://www.nabble.com/question-on-agcou … 17438.html
ここからは、無責任です。
エラーのagsize (1024b) too small, need at least 4096 blocksから想定すると、
bs=1024k count=4 であり、ジャストサイズとなる。少しだけ増やせばOKと思いますが。。。
試しに、倍のcount=8 とすれば8Gb程度なります。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
santamasashiさん による投稿:
$ dd if=/dev/zero of=uml-root-hardy bs=4096 seek=1M count=1
と
$ dd if=/dev/zero of=uml-root-hardy bs=1M seek=4096 count=0
という操作では、ファイルは作成されるけれど、端末が長時間応答しないという状況で、
ファイルを削除するのにも
$ rm uml-root-hardy
この操作を行っても端末が長時間反応しません。
・その状況で作られているuml-root-hardyのプロパティを見てください、0バイトでは無いでしょうか。
・> $ rm uml-root-hardyこの操作を行っても端末が長時間反応しません。
これは$ rm コマンドを使用しても端末が動かなくなるという理解で良いのでしょうか。
先走って結論から行くと処理に時間が掛かっているだけかもしれません、
HDDに対して行った400GBの穴空きファイルは1万分の1秒で生成されましたが、ファイルの生成先をUSBメモリに指定して2GB、200分の1の大きさのファイルに15分程経ちますが終わりそうに有りません。
この検証はsantamasashiさんの状況に当てはまるでしょうか?
量が足りないという心配はいらないですかね?
オフライン
[量が足りないという心配はいらないですかね?]
引用に使ったコメント(#15)一行削除し忘れです。
オフライン
45〜60分で完了、、、
$ rm uml-root-hardy は約3秒で終わった、、、。
オフライン
hir0 による投稿:
santamasashiさん による投稿:
$ dd if=/dev/zero of=uml-root-hardy bs=4096 seek=1M count=1
と
$ dd if=/dev/zero of=uml-root-hardy bs=1M seek=4096 count=0
という操作では、ファイルは作成されるけれど、端末が長時間応答しないという状況で、
ファイルを削除するのにも
$ rm uml-root-hardy
この操作を行っても端末が長時間反応しません。・その状況で作られているuml-root-hardyのプロパティを見てください、0バイトでは無いでしょうか。
・> $ rm uml-root-hardyこの操作を行っても端末が長時間反応しません。
これは$ rm コマンドを使用しても端末が動かなくなるという理解で良いのでしょうか。
先走って結論から行くと処理に時間が掛かっているだけかもしれません、
HDDに対して行った400GBの穴空きファイルは1万分の1秒で生成されましたが、ファイルの生成先をUSBメモリに指定して2GB、200分の1の大きさのファイルに15分程経ちますが終わりそうに有りません。
この検証はsantamasashiさんの状況に当てはまるでしょうか?
量が足りないという心配はいらないですかね?
返事が遅くなってしまい申し訳ありません。
いただいたアドバイスを元にいろいろ考え繰り返し行ってみたのですが、完了できません。
$ dd if=/dev/zero of=uml-root-hardy bs=4096 seek=1M count=1
この作業を行ってもいくら待っても作成されませんし、
hir0さんがおっしゃるとおり0バイトです。
rmコマンドでも端末が動かなくなります。
本当にいつまでも解決できずにすみません。
オフライン
$ time dd if=/dev/zero of=uml-root-hardy bs=1024k count=4 4+0 記録始め 4+0 記録終わり 4194304 バイト (4.2 MB) コピー終了, 0.010581 s, 396 MB/s real 0m0.014s user 0m0.000s sys 0m0.012s
私の環境の実行結果です。
/home/yamada/,Private は外付けのUSBディスクですか。
seek が効かずに実際に seek 分を書き込みに行っているようですね。
オフライン