O mesmo nome no diretório diferente é a mesma coisa?

0

Por exemplo, no meu Red Hat Enterprise Linux 7.2 existem

/etc/rc.d/init.d/rabbitmq-server
/etc/logrotate.d/rabbitmq-server
/usr/sbin/rabbitmq-server
/usr/lib/ocf/resource.d/rabbitmq/rabbitmq-server

mais de 4 'tipos' de rabbitmq-server (na verdade existem 2 outros), eles são a mesma coisa? Quer dizer, se eu quiser começar a rabbitmq , posso usar um desses comandos rabbitmq-server ?

    
por shintaroid 19.08.2016 / 03:27

2 respostas

4

Não, eles são totalmente diferentes e têm conteúdo diferente.

Por exemplo, eu tenho

A/file
B/file

$ cat A/file
hello

$ cat B/file
there

Podemos ver que eles dizem coisas diferentes.

No seu caso:

/etc/rc.d/init.d/rabbitmq-server - esta será a inicialização no script de tempo de inicialização

/etc/logrotate.d/rabbitmq-server - isto irá gerenciar os arquivos de log

/usr/sbin/rabbitmq-server - este é o programa principal do servidor que é iniciado pelo script init

/usr/lib/ocf/resource.d/rabbitmq/rabbitmq-server - isso faz parte da sua configuração de HA.

Assim, todos os quatro arquivos fazem coisas diferentes.

    
por 19.08.2016 / 03:32
1

Assim como em muitos ambientes, certamente é possível ter vários arquivos com o mesmo nome em vários locais.

Existem várias maneiras de ver se os arquivos são idênticos (ou, na verdade, são o mesmo arquivo com vários links).

Primeiro, você pode usar uma ferramenta como diff para comparar o conteúdo dos arquivos. Se forem diferentes, serão mostradas as diferenças (ou informadas de que são diferentes se os arquivos forem interpretados como arquivos binários):

diff /etc/rc.d/init.d/rabbitmq-server /etc/logrotate.d/rabbitmq-server

Em segundo lugar, você pode usar o formato longo de ls para ver se um arquivo é um link simbólico (ou "flexível". Isso mostrará que um determinado arquivo é um link simbólico e o local para o qual ele aponta :

$ ls -l bar
lrwxrwxrwx 1 ghoti ghoti 3 Aug 18 18:34 bar -> foo

O l na primeira coluna mostra que bar é um link e o final da linha, bar -> foo , mostra que foo é o local para o qual bar aponta.

ls -l também mostra quantos links físicos um arquivo possui:

$ ls -l foo
-rw-rw-r-- 2 ghoti ghoti 0 Aug 18 18:36 foo

Nesse caso, o 2 entre as permissões e o proprietário mostra que foo é um arquivo para o qual existem dois links físicos. Você pode usar find para localizar arquivos que são hardlinks para o mesmo arquivo:

find / -samefile foo

O comando acima irá procurar em todo o sistema de arquivos por todos os hardlinks para foo

Quanto à sua pergunta sobre a maneira correta de iniciar o rabbitmq , é melhor encontrá-lo consultando a página do manual:

man rabbitmq
    
por 19.08.2016 / 03:39