我正在尝试从给定的 URL下载一些.gz
文件(注意不是文件.tar.gz
)并解压缩它们以覆盖现有文件(如果有)。
对于每个单独的下载,我尝试了以下操作:
curl -O $URL | gunzip -f
Run Code Online (Sandbox Code Playgroud)
然而,这并没有工作,因为它与失败:gzip: stdin: unexpected end of file
。我在 bash shell 脚本中运行了一系列此命令。
如果我将命令分成两个明确的步骤,即首先下载文件,然后解压缩.gz
文件,它就可以工作。
为什么管道版本不起作用?
有时,由于各种原因,我们可能不得不从源代码安装一些东西。虽然在给定适当的依赖项的情况下如何安装软件是相当标准的,但我不清楚如何管理此类安装以方便将来使用。
进一步来说:
我们可以做些什么来确保轻松干净地卸载(包括之前安装的那些依赖项以及仅用于从源代码安装的软件)?
我们可以做些什么来确保轻松干净地升级相同的软件,这些软件可能会再次从源代码安装?
如果有默认包(使用 apt-get 安装)以及包的(较新)版本(从源代码安装),我们可以做些什么来最大程度地减少潜在冲突?