En mi máquina Red Hat 5.3 Linux, NTP no está instalado (no puedo instalarlo por algunas razones).
Sin embargo, puedo copiar el binario /usr/sbin/ntpdate de otra máquina Linux a la mía.
Si solo obtengo el archivo ntpdate y lo coloco en mi máquina Linux en /tmp, ¿es posible ejecutarlo?
/tmp/ntpdate -u 109.23.4.5
para actualizar mi fecha?
109.23.4.5 sería mi máquina Linux.
Respuesta1
Puede configurar la hora manualmente en el servidor si necesita usar el date
comando. También puede descargar el paquete ntp RPM desde la web o mediante yum. Copiar archivos binarios en este caso es un truco un poco complicado. No es una buena práctica.
Sin embargo, no ha explicado por qué no puede instalar el paquete ntp en su servidor. Si esto esconsistente con sus otras preguntas aquí, no se le da permiso para realizar cambios. Si ese es el caso, no se trata realmente de un problema de administrador del sistema.
Respuesta2
Por lo general, copiar el archivo binario no es una buena idea a menos que sea un binario portátil e independiente. Los binarios generalmente dependen de varios otros binarios/bibliotecas para estar disponibles, como objetos compartidos en Linux y dll en Windows.
Además, las diferencias de plataforma pueden impedir la ejecución del mismo binario.
De todos modos, puedes intentar copiar el binario y ver si funciona o no. Quizás copiarlo en su directorio de inicio sea mejor que copiarlo en '/tmp'. Algunos sistemas seguros pueden prohibir la ejecución de archivos desde la partición /tmp.
Respuesta3
¿Cuáles son las razones por las que ntpdate (y sus herramientas asociadas, scripts rc, etc.) no se pueden instalar? Quizás pueda haber una solución alternativa de alguna manera.
Si puede copiar el binario al /tmp
sistema de archivos, probablemente se eliminará cada vez que se inicie el sistema. Podrías escribir simpleguión rc, que copiaría ntpdate
el binario /tmp
y lo ejecutaría. Pero parece realmente incómodo.
Respuesta4
Puedes comprobar qué dependencias tiene un binario 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)
Entonces, si tiene las bibliotecas necesarias, entonces debería funcionar. Por supuesto, puede copiar las bibliotecas de otra máquina si no existen en la suya (aunque probablemente sí existan).
Mucho más sencillo sería utilizar el comando de fecha así.
sudo date 111814282011.00
El cual fijará la fecha a la hora indicada el 18 de noviembre de 2011 14:22.00