2013-03-15, 23:58
  #1
Medlem
TorrentLovers avatar
Vad är skillnaden mellan /dev/null, /dev/zero, /dev/full, /dev/random och /dev/urandom?
Som jag förstått det accepterar /dev/null och /dev/zero all form av data via stdin och kastar detta. /dev/null spottar inte ut sig något när man läser från filen, men det gör /dev/zero (returnerar nollor). /dev/full verkar inte spotta ut sig något alls vid läsning, men verkar inte vilja ta emot någon data alls (får "Enheten är full"). /dev/random och /dev/urandom returnerar båda random data, är det någon skillnad på dessa?
Varför ska han ha en enhet som inte går att skriva till? Och varför två filer som spottar ut random data?
Någon som har koll?
Citera
2013-03-16, 01:15
  #2
Medlem
Citat:
Ursprungligen postat av TorrentLover
Vad är skillnaden mellan /dev/null, /dev/zero, /dev/full, /dev/random och /dev/urandom?
Som jag förstått det accepterar /dev/null och /dev/zero all form av data via stdin och kastar detta. /dev/null spottar inte ut sig något när man läser från filen, men det gör /dev/zero (returnerar nollor). /dev/full verkar inte spotta ut sig något alls vid läsning, men verkar inte vilja ta emot någon data alls (får "Enheten är full"). /dev/random och /dev/urandom returnerar båda random data, är det någon skillnad på dessa?

Ang random och urandom: Den ena är snabbare, och kan spotta ur sig fler tecken per sekund. Den andra är en mer tillförlitlig slumpgenerator lämplig att använda för t.ex. att generera kryptografiska nycklar. Jag har för mig att urandom är snabbare, och random säkrare.

Citat:
Varför ska han ha en enhet som inte går att skriva till? Och varför två filer som spottar ut random data?
Någon som har koll?

En gissning är att /dev/full är användbar när man utvecklar program, och vill testa hur programmet fungerar när det arbetar med filer på ett filsystem som blir fullt.
Citera
2013-03-16, 10:14
  #3
Moderator
vhes avatar
Litet förtydligande om /dev/random och /dev/urandom. /dev/random använder insamlad entropi från hårdvaran; hur du rört musen, paket som kommit in via nätverk och dylikt. Dock är denna entropi begränsad i storlek. Den kan ta slut, vilket innebär att du bokstavligen talat måste sitta och veva på musen för att få mer data.
/dev/urandom däremot, tar inte slut, eftersom en pseudoslumpgenerator tar vid när den entropipoolen är tom.
Så förenklat, som flakback säger, /dev/random är säkrare, /dev/urandom är "snabbare".

Vad gäller de andra, ja:
/dev/zero genererar en konstant ström av nollor vid läsning. Praktisk när man vill rensa devices på data, t.ex. Har aldrig slagit mig att man skulle vilja skriva till den.
/dev/null är tom, och man kan skriva hur mycket som helst till den. Användbar när man har ett program som vill ha ett filhandtag att skriva sin data till, men man inte bryr sig om datan egentligen.
/dev/full är användbar i testsyfte, för att undersöka hur program beter sig när devices de behöver är fulla.
Citera
2013-03-16, 16:09
  #4
Medlem
TorrentLovers avatar
Citat:
Ursprungligen postat av vhe
Litet förtydligande om /dev/random och /dev/urandom. /dev/random använder insamlad entropi från hårdvaran; hur du rört musen, paket som kommit in via nätverk och dylikt. Dock är denna entropi begränsad i storlek. Den kan ta slut, vilket innebär att du bokstavligen talat måste sitta och veva på musen för att få mer data.
/dev/urandom däremot, tar inte slut, eftersom en pseudoslumpgenerator tar vid när den entropipoolen är tom.
Så förenklat, som flakback säger, /dev/random är säkrare, /dev/urandom är "snabbare".

Vad gäller de andra, ja:
/dev/zero genererar en konstant ström av nollor vid läsning. Praktisk när man vill rensa devices på data, t.ex. Har aldrig slagit mig att man skulle vilja skriva till den.
/dev/null är tom, och man kan skriva hur mycket som helst till den. Användbar när man har ett program som vill ha ett filhandtag att skriva sin data till, men man inte bryr sig om datan egentligen.
/dev/full är användbar i testsyfte, för att undersöka hur program beter sig när devices de behöver är fulla.
Gjorde en liten research. Stämmer det att filen /proc/sys/kernel/random/entropy_avail innehåller den nuvarande entropin eller var sparas den?
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in