mktemp: falha ao criar diretório via modelo Permissão negada

1

No começo, eu queria instalar um pacote em um servidor para o qual não tenho acesso root. Como eu não tenho acesso root, tentei construir sozinho, mas recebo um erro no estágio de configuração.

Aqui estão os comandos que eu executo:

cd ~
git clone https://github.com/stella-emu/stella.git
cd stella/
./configure --prefix=$HOME/atari

Depois recebo o seguinte erro:

Running Stella configure...
mkdir: cannot create directory '/tmp/cg-2059': Permission denied
config.guess: cannot create a temporary directory in /tmp
Looking for C++ compiler... none found!

Existe alguma maneira de corrigir isso?

Aqui estão algumas informações de diagnóstico

-bash-4.2$ ls -ld /tmp
drwxr-xr-x 7 root root 4096 Dec  9 20:39 /tmp
-bash-4.2$ find /tmp -mindepth 1 -maxdepth 1 -printf x | wc -c
12
-bash-4.2$ mkdir ~/tmp
-bash-4.2$ ls
amin  bs94  Maildir  public_html  skel.tar.gz  speedtest_cli.py  speedtest.py  stella  tajdari  tmp
-bash-4.2$ cd stella/
-bash-4.2$ TMPDIR="$HOME/tmp" ./configure --prefix=$HOME/atari
Running Stella configure...
Looking for C++ compiler... none found!
-bash-4.2$ type -a c++ g++ clang++
c++ is /usr/bin/c++
g++ is /usr/bin/g++
-bash: type: clang++: not found
-bash-4.2$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.11 (wheezy)
Release:    7.11
Codename:   wheezy

Então, agora estou tentando usar o junest , mas novamente após a execução:

git clone git://github.com/fsquillace/junest ~/.local/share/junest
export PATH=~/.local/share/junest/bin:$PATH

Eu recebo:

-bash-4.2$ junest
mktemp: failed to create directory via template '/tmp/junest.XXXXXXXXXX': Permission denied
Error: null argument 
-bash-4.2$ junest -u
mktemp: failed to create directory via template '/tmp/junest.XXXXXXXXXX': Permission denied
Error: null argument 
    
por yukashima huksay 09.12.2017 / 20:04

2 respostas

2

Veja a resposta de roaima para a questão mktemp .

Mesmo com isso corrigido, você não poderá criar o lançamento atual do Stella. O Stella precisa do GCC 4.8 ou posterior para construir, mas o Debian 7 possui apenas o GCC 4.7. Você precisará de uma versão mais antiga do Stella (como 3.7.2 que é a versão no Debian 7 ; eu acho 4.2 deve ser OK também.

(eu sou o mantenedor do Debian Stella.)

    
por 09.12.2017 / 20:25
4

Você precisa providenciar para que o administrador do sistema corrija as permissões quebradas em /tmp .

ls -ld /tmp
drwxr-xr-x 7 root root 4096 Dec 9 20:39 /tmp

Corrigir com:

chmod a=rwx,u+t /tmp

E verifique se está correto:

ls -ld /tmp
drwxrwxrwt 7 root root 8192 Nov  1 14:19 /tmp

Em seguida, você pode abordar o restante do processo de criação .

    
por 09.12.2017 / 20:26