Erro ao executar o comando export PATH = / nsm / bro / bin: $ PATH

1

Eu quero instalar o BRO-IDS.

Eu executei os seguintes comandos:

cd bro-2.2
./configure --prefix=/nsm/bro
make
make install

Quando eu executo este comando:

export PATH=/nsm/bro/bin:$PATH

Não funciona. Está correto? Como executo este comando?

  

Você também pode adicionar PATH = / opt / bro2 / bin: $ PATH ao seu arquivo ~ / .profile em seu diretório pessoal para tornar a alteração permanente.

Eu recebo este erro quando tento isso:

root@ubuntu:/home/eng-it/bro-2.2# ~/.profile
bash: /root/.profile: Permission denied

e isso:

root@ubuntu:/home/eng-it/bro-2.2# sudo su -c "echo 'PATH=/opt/bro2/bin:$PATH'>>/etc/profile

Não funciona. Está correto?

    
por ssh 28.08.2016 / 10:08

1 resposta

2

Seu primeiro comando export PATH=/nsm/bro/bin:$PATH é válido na teoria, embora não seja recomendado preceder ao caminho - você deve acrescentar (adicionar ao final).

Você verificou que /nsm/bro/bin existe e contém os arquivos que você deseja executar?

Além disso, o comando afetaria apenas a sessão atual do shell; o PATH não será afetado em nenhum outro shell (assim, quando você abrir um novo terminal, o PATH não incluirá sua adição).

root@ubuntu:/home/eng-it/bro-2.2# ~/.profile
bash: /root/.profile: Permission denied

Isso ocorre porque você está tentando executar um arquivo /root/.profile que não existe ou não possui permissão de execução.

Se você é root, o caminho ~ / .profile não leva ao seu .profile, porque a expansão ~ é feita em referência ao usuário atual. Mude para o seu usuário normal e faça

nano ~/.profile

Em seguida, adicione as linhas desejadas, salve e saia.

Este comando parece válido (embora não seja aconselhável)

root@ubuntu:/home/eng-it/bro-2.2# sudo su -c "echo 'PATH=/opt/bro2/bin:$PATH'>>/etc/profile"

sudo su -c é redundante desde que você já é root (por que você está root? Você deve evitar isso a menos que seja absolutamente necessário). No entanto, desde que você instalou o programa em /nsm/bro de acordo com o sinalizador de prefixo ./configure , não vejo porque adicionar /opt/bro2/bin ao PATH ajudaria.

Mesmo que esse caminho esteja correto, você precisa fazer logout e efetuar login novamente para que as alterações feitas em .profile ou /etc/profile entrem em vigor. Para gerá-los instantaneamente, você pode iniciar um shell de login digitando bash -l , ou você pode criar o arquivo que você editou source /etc/profile

No entanto , não é recomendado adicionar itens a /etc/profile - você deve criar um arquivo em /etc/profile.d ou especificar a variável localmente para seu usuário em ~/.profile .

Supondo que os arquivos que você deseja executar estão, na verdade, em /nsm/bro/bin , como um usuário normal (NÃO raiz) Você poderia fazer

echo 'PATH=$PATH:/nsm/bro/bin' >> ~/.profile

ou se você realmente quiser defini-lo globalmente

sudo bash -c 'echo 'PATH=$PATH:/nsm/bro/bin' > /etc/profile.d/path.sh'

e, em seguida, sair e entrar novamente.

    
por Zanna 28.08.2016 / 11:42