我正在尝试提取 tarball。我在 MacOS 上创建了这个 tarball,然后将其复制到远程服务器,在那里我尝试提取文件。当我尝试提取文件时,它起作用了,但它还包含一堆八位字节流文件。八位字节流文件与从 tar 中提取的每个文件夹和文件同名。
为了创建 tar 文件,我执行以下操作:
tar -cz --no-xattrs --exclude="*DS_Store" -f archive.tar.gz directory
然后我使用 scp 将 tar 文件复制到我的服务器:
scp -P port archive.tar.gz user@hostname:path/to/destination
然后,我在服务器上提取了 tar 文件,如下所示:
tar -xzf archive.tar.gz
这将导致提取预期的文件,但每个文件还具有一个名为的八位字节流文件:
._{name of file}.
我不确定这是否应该发生或者我是否做错了什么。
我不知道这些八位字节流文件是什么,也不知道该如何处理它们。我不想让它们弄乱我的远程服务器。具体来说,远程服务器托管我正在运行的网站的文件,而我复制的特定 tarball 包含我试图更新的 MediaWiki 实例的文件。我担心这些文件可能会干扰我网站的功能,尤其是如果我继续更新过程的话。我该如何删除这些文件?我该如何创建/提取 tarball 以便它们不会首先出现?
这些文件不是在提取过程中生成的 – 它们是在创建tarball 时生成的。请参阅此早期主题:为什么我在 OS X 上的 tarball 中会得到像 ._foo 这样的文件?
‘octet-stream’ 只是通用的“未知类型的二进制数据” MIME 类型。
我建议使用 Git 来管理网站(Web 应用程序和基本网站)的源代码;它可以更好地跟踪缺少的内容、不应该存在的文件、进行了哪些更改等。
因此,您无需手动传输 tarball 然后清理混乱局面,而是可以通过 SSH 进入服务器并执行
git pull --ff-only
,在几秒钟内获取最新版本的 MW。(对于自定义网站,您可以进行设置,以便
git push
直接进入服务器并让其自动提取文件;hg
如果您愿意,也可以使用 Mercurial/。)