如何从命令行从 ZIP 文件更新 Web 软件包?

如何从命令行从 ZIP 文件更新 Web 软件包?

我的 Linux 服务器上安装了一个 Web 软件包。我已下载 ZIP 文件中的更新,并且只想覆盖已更改的内容。(例如,应替换所有核心文件,但不应触及我添加的任何文件。)如何从命令行执行此操作?

我的方法是在个人电脑上解压它,然后使用 GUI 文件管理器上传更改的文件,但我想学习如何从命令行执行此操作。

就我而言,我正在尝试在 Ubuntu 服务器上更新 YOURLS,但这个问题似乎普遍适用于大多数 Web 软件,如 WordPress 或类似软件。

答案1

因此,我想到的一个最简单的方法就是下载 zip 文件,将其解压到临时位置,删除不需要的文件,然后用刚刚下载的更新文件替换 YOURLS 文件。

要下载文件(使用 wget 或 curl)并将其提取到临时目录:

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

或者

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

然后

unzip file.zip

现在我们可以决定我们不需要哪些文件,并使用 rm(删除/删除)工具将其删除。

rm config.php
rm someotherfileidontwannareplace.php

然后,我们可以通过将所有更新的文件移动到同一目录中来替换所有文件,从而替换旧文件。

cd ..
rsync -av newfolder/ oldfolder/

如果我们只是需要添加新文件,那么我们可以采用类似的方法,但使用--existingmv 上的标志,以免覆盖现有文件。

这看起来像

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

相关内容