From: Thierry Parmentelat Date: Mon, 22 Apr 2013 12:49:31 +0000 (+0200) Subject: workaround for dealing with /dev/random /dev/urandom in a libvirt environment that... X-Git-Tag: myplc-5.2-3~2 X-Git-Url: http://git.onelab.eu/?p=myplc.git;a=commitdiff_plain;h=facac6604dd7a4dd781fff92ebf6f9cc3315ac33 workaround for dealing with /dev/random /dev/urandom in a libvirt environment that, as of 1.0.4, doesn't allow mknod at all https://www.redhat.com/archives/libvirt-users/2013-April/msg00163.html --- diff --git a/plc.d/gpg b/plc.d/gpg index 39f6add..9576c40 100755 --- a/plc.d/gpg +++ b/plc.d/gpg @@ -39,10 +39,19 @@ case "$1" in # Temporarily replace /dev/random with /dev/urandom to # avoid running out of entropy. - rm -f /dev/random - # 1 9 is /dev/urandom - mknod /dev/random c 1 9 - # sometimes mknod fails within an improperly setup vserver + # (1 9 is /dev/urandom, 1 8 is /dev/random) + # + # a former version of this was rm'ing /dev/random and re-creating it afterwards + # however in 1.0.4 libvirt won't allow the use of mknod at all, so let's work around that + # by moving things around instead + # + # if we find this file it's probably that a previous run has failed.. + [ -f /dev/random.preserve ] && { echo "Unexpected file /dev/random.preserve - exiting" ; exit 1; } + mv -f /dev/random /dev/random.preserve + # doesn't hurt to check + check + ln -s /dev/urandom /dev/random + # again check gpg --homedir=$homedir --no-permission-warning --batch --no-tty --yes \ --gen-key <