Cómo surge el problema
Abres un archivo y, mientras editas tu copia, algo más escribe en el original: otro administrador, una ejecución del sistema de gestión de configuración, una actualización de un paquete o la propia aplicación. Si después guardas, el otro cambio desaparece sin ningún error. La edición local seguida de una subida por SFTP está especialmente expuesta, porque pasa mucho tiempo entre la lectura y la escritura y una subida simple no compara nada.
Registra el estado antes de empezar
Anota la suma de comprobación y la hora de la última modificación cuando descargues el archivo. Compruébalas de nuevo justo antes de subirlo. Una suma de comprobación distinta significa que el archivo ha cambiado y no debes sobrescribirlo sin revisar los cambios.
sha256sum /etc/example.conf
stat -c '%y %U %G %a' /etc/example.confCompara y combina los cambios
Conserva tu copia editada con otro nombre, descarga la versión actual y compárala con la versión de la que partiste y con la tuya. Después aplica tu cambio a la versión actual en lugar de sobrescribirla. El comando diff3 puede mostrar las tres versiones juntas.
diff -u example.conf.orig example.conf.current
diff -u example.conf.orig example.conf.mine
diff3 example.conf.mine example.conf.orig example.conf.currentAverigua qué está cambiando el archivo
Si el archivo cambia continuamente, averigua la causa antes de editarlo otra vez. Comprueba quién lo tiene abierto y revisa el diario del sistema y el historial de paquetes. Si el archivo está bajo el control de un sistema de gestión de configuración, cambia la plantilla allí; de lo contrario, la siguiente ejecución sustituirá tu edición.
sudo lsof /etc/example.conf
sudo journalctl --since "1 hour ago" --no-pager | grep example.conf
grep example.conf /var/log/dpkg.logUn aviso no es un bloqueo
Editores como vim y nano avisan cuando un archivo ha cambiado desde que se abrió, pero no impiden que otro proceso escriba en él. Lo mismo ocurre con las comparaciones de sumas de comprobación: comprobar justo antes de guardar reduce mucho el intervalo de riesgo, pero no lo elimina. En servidores donde trabajan varias personas, una fuente de configuración bajo control de versiones te protege mejor que cualquier editor.
Protección al guardar en CH-J Server Manager
El editor de File Manager vuelve a comprobar el archivo al guardar. Si han cambiado su contenido, sus permisos o el destino del enlace, el guardado se detiene y el original queda intacto. Entonces puedes cargar la versión actual del servidor, lo que descarta tus cambios sin guardar, así que copia primero tu texto en otro lugar. El editor no combina las versiones por ti. En las transferencias, la aplicación pregunta antes de sustituir un destino que haya cambiado o ya exista y te indica que empieces de nuevo si el origen cambió durante la transferencia.