Como faço para atualizar um pacote de software da Web a partir de um arquivo ZIP a partir da linha de comando?

1

Eu tenho um pacote de software da Web instalado no meu servidor Linux. Eu fiz o download de uma atualização em um arquivo ZIP e quero sobrescrever apenas o que foi alterado. (Por exemplo, todos os arquivos principais devem ser substituídos, mas quaisquer arquivos que eu adicionei não devem ser tocados.) Como faço isso a partir da linha de comando?

Meu método seria descompactá-lo no meu computador pessoal e, em seguida, carregar os arquivos alterados com um gerenciador de arquivos GUI, mas quero aprender como fazer isso a partir da linha de comando.

No meu caso, estou tentando atualizar o YOURLS em um servidor Ubuntu, mas a pergunta parece ser geralmente aplicável à maioria dos softwares da Web, como o WordPress ou similar.

    
por stephenwade 28.05.2017 / 23:11

1 resposta

1

Então (uma) das maneiras mais simples que vem à mente é baixar o arquivo zip, extraí-lo em algum lugar temporário, excluir os arquivos que você não precisa e, em seguida, substituir os arquivos YOURLS pelos atualizados que você acabou de baixar .

Para baixar o arquivo (usando wget ou curl) e extraí-lo para um diretório temporário:

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

ou

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

então

unzip file.zip

Agora podemos decidir quais arquivos não são necessários e removê-los com a ferramenta rm (remover / excluir).

rm config.php
rm someotherfileidontwannareplace.php

Em seguida, podemos substituir todos os arquivos movendo todos os nossos arquivos atualizados para o mesmo diretório e, assim, substituindo arquivos antigos.

cd ..
rsync -av newfolder/ oldfolder/

Se precisarmos adicionar novos arquivos, podemos usar um método semelhante, mas usaremos --existing flag em mv para não sobrescrever os arquivos existentes.

Isso se parece com

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