Module Installation: Unable to create directory 'temporary://update-extraction-f781a69c/
For me, things like these were caused by selinux. Either disable it, or add appropriate policy:

grep httpd /var/log/audit/audit.log | tail -n 50 | audit2allow -M drupaltmp   
cat drupaltmp.te 


Look inside, may be tune a little. I've got this:

module drupaltmp 1.0;

require {
        type httpd_t;
        type var_lib_t;
        type etc_t;
        type etc_mail_t;
        class file { write setattr };
        class dir { search create getattr setattr };
}

#============= httpd_t ==============
allow httpd_t etc_mail_t:dir { search getattr };
allow httpd_t etc_t:dir setattr;
#!!!! This avc is allowed in the current policy

allow httpd_t etc_t:file { write setattr };
allow httpd_t var_lib_t:dir create;


Then install it inside selinux

semodule -i drupaltmp.pp