Na minha máquina Red Hat 5.3 Linux, o NTP não está instalado (não é possível instalá-lo por alguns motivos).
No entanto, posso copiar o binário /usr/sbin/ntpdate de outra máquina Linux para a minha.
Se eu apenas pegar o arquivo ntpdate e colocá-lo na minha máquina Linux em/tmp, é possível executar
/tmp/ntpdate -u 109.23.4.5
para atualizar minha data?
109.23.4.5 seria minha máquina Linux.
Responder1
Você pode definir a hora manualmente no servidor se precisar usar o date
comando. Você também pode baixar o pacote RPM ntp da web ou via yum. Copiar binários neste caso é um truque meio desajeitado. Não é uma boa prática.
No entanto, você não explicou por que não pode instalar o pacote ntp no seu servidor. Se isso éconsistente com suas outras perguntas aqui, você não terá permissão para fazer alterações. Se for esse o caso, este não é realmente um problema de administrador de sistema.
Responder2
Normalmente, copiar o arquivo binário não é uma boa ideia, a menos que seja um binário portátil e independente. Os binários geralmente dependem da disponibilidade de vários outros binários/bibliotecas, como objetos compartilhados no Linux e dll no Windows.
Além disso, as diferenças de plataforma podem impedir a execução do mesmo binário.
De qualquer forma, você pode tentar copiar o binário e ver se funcionará ou não. Talvez copiá-lo para o seu diretório inicial seja melhor do que copiá-lo para '/tmp'. Alguns sistemas seguros podem proibir a execução de arquivos da partição /tmp.
Responder3
Quais são os motivos pelos quais o ntpdate (e suas ferramentas associadas, scripts rc, etc.) não pode ser instalado? Talvez possa ser uma solução alternativa de alguma forma.
Se você puder copiar o binário para /tmp
o sistema de arquivos, ele provavelmente será excluído toda vez que o sistema for inicializado. Você poderia escrever simplesscript rc, que copiaria ntpdate
o binário /tmp
e executaria isso. Mas parece muito estranho.
Responder4
Você pode verificar quais dependências um binário possui usando ldd
ldd /usr/sbin/ntpdate
linux-vdso.so.1 => (0x00007fff1aed8000)
libcap.so.1 => /lib64/libcap.so.1 (0x00002acf97303000)
libc.so.6 => /lib64/libc.so.6 (0x00002acf97507000)
/lib64/ld-linux-x86-64.so.2 (0x00002acf970e5000)
Portanto, se você tiver as bibliotecas necessárias, isso deverá funcionar. É claro que você poderia copiar as bibliotecas de outra máquina se elas não existirem na sua (embora provavelmente existam).
Muito mais simples seria usar o comando date assim
sudo date 111814282011.00
Que definirá a data para o horário fornecido 18 de novembro de 2011 14h22.00