From facac6604dd7a4dd781fff92ebf6f9cc3315ac33 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Mon, 22 Apr 2013 14:49:31 +0200 Subject: [PATCH] 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 --- plc.d/gpg | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) 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 <