Nếu bạn chạy như sau, điều gì sẽ xảy ra?
cat /dev/random > ~/randomFile # don't run
Nó sẽ được viết cho đến khi ổ đĩa hết dung lượng, hoặc hệ thống sẽ gặp vấn đề với điều này và dừng nó (như với một vòng lặp symlink vô hạn)?
Nếu bạn chạy như sau, điều gì sẽ xảy ra?
cat /dev/random > ~/randomFile # don't run
Nó sẽ được viết cho đến khi ổ đĩa hết dung lượng, hoặc hệ thống sẽ gặp vấn đề với điều này và dừng nó (như với một vòng lặp symlink vô hạn)?
Câu trả lời:
Nó ghi cho đến khi đĩa đầy (thường vẫn còn một khoảng trống dành cho người dùng root). Nhưng khi nhóm dữ liệu ngẫu nhiên bị hạn chế, điều này có thể mất một lúc.
Nếu bạn cần một lượng dữ liệu ngẫu nhiên nhất định, hãy sử dụng dd
. Đối với 1MB:
dd if=/dev/random iflag=fullblock of=$HOME/randomFile bs=1M count=1
Các khả năng khác được đề cập trong câu trả lời cho một câu hỏi liên quan .
Tuy nhiên, trong hầu hết các trường hợp , tốt hơn là sử dụng /dev/urandom
thay thế. Nó không chặn nếu kernel nghĩ rằng nó thoát khỏi entropy. Để hiểu rõ hơn, bạn cũng có thể đọc những câu chuyện thần thoại về / dev / urandom .
Cài đặt đã tăng tốc độ /dev/random
và cũng cung cấp nhiều entropy hơn /dev/urandom
.
EDIT : dd
cần fullblock
tùy chọn như / dev / ngẫu nhiên (ngược lại /dev/urandom
) có thể trả về các khối không hoàn chỉnh nếu nhóm entropy trống.
Nếu dd
đơn vị của bạn không hỗ trợ, hãy viết chúng ra:
dd if=/dev/random iflag=fullblock of=$HOME/randomFile bs=1048576 count=1
/dev/urandom
là ổn, không có lý do gì để không làm điều đó. Và không sử dụng twister Mersenne để làm tiền điện tử. Và không sử dụng /dev/random
trên Linux .
/dev/urandom
là tốt cho việc sử dụng mật mã. Không sử dụng /dev/random
.