¿Cómo actualizo un paquete de software web desde un archivo ZIP desde la línea de comando?

¿Cómo actualizo un paquete de software web desde un archivo ZIP desde la línea de comando?

Tengo un paquete de software web instalado en mi servidor Linux. Descargué una actualización en un archivo ZIP y quiero sobrescribir solo lo que cambió. (Por ejemplo, se deben reemplazar todos los archivos principales, pero no se deben modificar los archivos que agregué). ¿Cómo hago esto desde la línea de comando?

Mi método sería descomprimirlo en mi computadora personal y luego cargar los archivos modificados con un administrador de archivos GUI, pero quiero aprender cómo hacerlo desde la línea de comandos.

En mi caso, estoy intentando actualizar YOURLS en un servidor Ubuntu, pero la pregunta parece aplicable en general a la mayoría del software web como WordPress o similar.

Respuesta1

Entonces (una) de las formas más simples que me viene a la mente es descargar el archivo zip, extraerlo en algún lugar temporal, eliminar los archivos que no necesita y luego reemplazar los archivos YOURLS con los actualizados que acaba de descargar.

Para descargar el archivo (usando wget o curl) y extraerlo a un directorio temporal:

cd /tmp/
mkdir update
cd update
wget http://linktozipfile/file.zip

o

curl http://linktozipfile/file.zip -o file.zip

entonces

unzip file.zip

Ahora podemos decidir qué archivos no necesitamos y eliminarlos con la herramienta rm (eliminar/eliminar).

rm config.php
rm someotherfileidontwannareplace.php

Luego podemos reemplazar todos los archivos moviendo todos nuestros archivos actualizados al mismo directorio y reemplazando así los archivos antiguos.

cd ..
rsync -av newfolder/ oldfolder/

Si simplemente necesitamos agregar nuevos archivos, podemos hacer un método similar pero usando el --existingindicador en mv para no sobrescribir los archivos existentes.

Esto se vería así

cd /tmp/
mkdir update
cd update
wget http://linktozipfile/file.zip
unzip file.zip
cd ..
rsync -av --existing newfolder/ oldfolder/

información relacionada