标签: tar

Tar:如何忽略存档本身

我打算快速备份我的网站。所以我尝试在我的 webroot 中运行以下命令:

tar cvfz backup.tar.gz .
Run Code Online (Sandbox Code Playgroud)

这似乎在一段时间内运行良好。直到我发现它已经开始备份backup.tar.gz......

有一个简单的办法,我可以把它忽略我归档文件

注意:如果可以的话,我当然会把存档文件放在它上面的目录中。但我只能访问我的主目录。

backup unix tar

9
推荐指数
2
解决办法
1万
查看次数

通过网络从 tar 存档和管道中提取一些成员

编辑:我想多member01member02和目录blah/

tarball_1.tar.gz包含test/20 个文件的目录。我只想提取成员test/member01test/member02目录,blah/并使用 ssh/scp 将它们复制到另一个“remote_host”。

这可以作为单线完成吗?我考虑过使用tar, pax, 或cpio但我想我对这些实用程序还不是很熟练。

cpio tar pipe

9
推荐指数
1
解决办法
4809
查看次数

.tgz 文件 – tar:无法识别的存档格式

我正在尝试在运行 Mountain Lion (10.8.3) 的本地 Mac 上安装10gen 版本的 MongoDB

curl在以下位置获取它:

curl http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.4.tgz > mongodb.tgz
Run Code Online (Sandbox Code Playgroud)

但我无法提取构建:

尝试 1:

$ tar -zxvf mongodb.tgz

tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
Run Code Online (Sandbox Code Playgroud)

尝试 2:

$ gunzip mongodb.tgz

gzip: mongodb.tgz: not in gzip format
Run Code Online (Sandbox Code Playgroud)

尝试 3:

$ unzip mongodb.tgz

Archive:  mongodb.tgz
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central …
Run Code Online (Sandbox Code Playgroud)

gzip tar osx-mountain-lion mongodb macos

9
推荐指数
1
解决办法
3万
查看次数

如何制作远程目录的本地tar文件

链接描述了如何复制 tarred 文件以最大程度地减少通过网络发送的数据量。我正在尝试做一些稍微不同的事情。

我在不同的子目录级别上有许多远程文件:

remote:/directory/subdir1/file1.ext
remote:/directory/subdir1/subsubdir11/file11.ext
remote:/directory/subdir2/subsubdir21/file21.ext
Run Code Online (Sandbox Code Playgroud)

我有一个文件列出了所有这些:

remote:/directory/allfiles.txt
Run Code Online (Sandbox Code Playgroud)

为了最有效地复制它们,我可以在远程站点上做

tar zcvf allfiles.tgz `cat /directory/allfiles.txt`
Run Code Online (Sandbox Code Playgroud)

但没有足够的空间来做到这一点。

我的本地磁盘上确实有足够的存储空间。有没有办法tar从远程服务器(使用scpssh传输)传入流?

就像/localdir$ tar zc - | ssh remote `cat /directory/allfiles.txt` 我猜的那样 - 但这只会列出本地主机上的远程文件。

linux ssh scp tar

9
推荐指数
1
解决办法
1万
查看次数

rsync 到/从 tar 存档

是否可以使用 tar 存档(本地)rsync 真正的文件系统(远程)?如果是这样,如何?

问题是我需要正确备份用户/组/权限设置,虽然我在远程有 root 访问权限,但我想避免在本地机器上以 root 身份运行。

我的第一个(也是最重要的)用例是从 Buildroot 生成的 .tar 更新远程嵌入式目标 (ARM9)。我在磁盘上没有“真实的东西”(我可以在作为 root 时生成副本),我想避免传输整个 rootfs 来更新一些文件。

linux rsync tar

9
推荐指数
1
解决办法
2万
查看次数

解压存档时如何解决此错误“tar:无法将所有权更改为 uid 1000,gid 1000:不允许操作”

尝试使用以下命令解压 docker 容器中的文件时:

tar -zvxf training.tar.gz -C data/multi30k
Run Code Online (Sandbox Code Playgroud)

我收到以下错误(train.de是 .tar 文件中的一个文件):

tar: train.de Cannot change ownership to uid 1000, gid 1000: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

但是文件在本地解压就好了。什么可能导致此错误?

linux root tar ownership docker

9
推荐指数
1
解决办法
1万
查看次数

tar: 无法打开: 没有这样的文件或目录

我正在尝试按照此处的说明在 ubuntu 上安装 Jetty,但是当我尝试使用 tar 时遇到了问题。

cd /usr/local/src
sudo wget http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz&r=1
Run Code Online (Sandbox Code Playgroud)

但是当我尝试

sudo tar -xfz etty-distribution-9.1.0.v20131115.tar.gz
Run Code Online (Sandbox Code Playgroud)

我收到错误

tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?(我也以 root 身份尝试过,但没有帮助)


编辑

没有一个建议的答案对我有用。下面我从命令行复制我的尝试。我究竟做错了什么?

a@b:/usr/local/src$ ls
download.php?file=%2Fjetty%2F9.1.0.v20131115%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz
download.php?file=%2Fjetty%2Fstable-9%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz

a@b:/usr/local/src$ tar -tfz jetty-distribution-9.1.0.v20131115.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

a@b:/usr/local/src$ tar -tfz /usr/local/src/jetty-distribution-9.1.0.v20131115.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is …
Run Code Online (Sandbox Code Playgroud)

linux tar ubuntu

8
推荐指数
2
解决办法
8万
查看次数

鉴于 tar 忽略了我的 2 个套接字,我该如何备份然后恢复我的登录文件夹?

我对我的登录区域进行了网络备份,以准备重新格式化它所在的卷,使其可在运行最新版本Leopard 的旧 Power Mac G5启动。

虽然我不相信这个症状是实际tar调用的函数,但这里是完整的实际命令:

   bill@r2d2-2:~
   [108] (sudo tar cf - -C /Volumes/usr1 Users) | gzip -c - | ssh whmcclos@mbp \
             'cat > /Volumes/link2TMS/r2d2_usr1_Users.tar.gz'
   tar: Users/bill/Library/Acrobat User Data/8.0_ppc/Synchronizer/Commands: socket ignored
   tar: Users/bill/Library/Acrobat User Data/8.0_ppc/Synchronizer/Notification: socket ignored
Run Code Online (Sandbox Code Playgroud)

tar是忽略的两个套接字文件

bill@r2d2:~/Library/Acrobat User Data/8.0_ppc/Synchronizer
[11] ls -larhdt *
drwx------  3 bill  staff   102B Jun  4  2010 metadata
-rw-r--r--  1 bill  staff     0B Jan 20 13:05 adobesynchronizersu80
srwxr-xr-x  1 bill  staff     0B Jan 20 13:05 …
Run Code Online (Sandbox Code Playgroud)

backup restore tar sockets macos

8
推荐指数
1
解决办法
4780
查看次数

如何在 Windows 上安装 tar.gz?

我在我的 Raspberry Pi(在 Unix 下运行)上安装了 MPD(音乐播放器守护进程)。然后是 Windows 上的 GMPC(客户端)。GMPC 有一个插件可以捕获专辑封面,但它是一个 tar.gz 存档。我该如何安装这个?

可以提取文件。我对此没有意见。但是当我从存档中提取文件时,我得到这些文件:

aclocal.m4
config.guess
config.h.in
config.sub
configure
configure.ac
COPYING
depcomp
instal-sh
Itmain.sh
Makefile.am
Makefile.in
missing
mkinstalldirs
Run Code Online (Sandbox Code Playgroud)

我应该如何处理这些文件?

tar installation

8
推荐指数
2
解决办法
10万
查看次数

为什么不是所有文件都压缩了以及如何改进解决方案

我有一个包含大约 20K 个文件的文件夹。这些文件根据模式命名xy_{\d1,5}_{\d4}\.abc,例如xy_12345_1234.abc. 我想使用以下命令压缩其中的前 10K:

ls | sort -n -k1.4,1.9 | head -n10000 | xargs tar -czf xy_0_10000.tar.gz

但是生成的文件里面只有大约 2K 个文件。

ls | sort -n -k1.4,1.9 | head -n10000 | wc -l 然而,正如预期的那样返回 10000。

在我看来,我在这里误解了一些基本的东西......

我在 Linux Mint 17.1、GNU tar 1.27.1 上使用 zsh 5.0.2

编辑:

@Archemar 建议的分叉听起来很合理,最新的分叉覆盖了生成的文件 - 该文件包含文件的“尾部” - 77739999

结果xargs --show-limit Your environment variables take up 3973 bytes POSIX upper limit on argument length (this system): 2091131 POSIX smallest …

linux zsh shell tar pipe

8
推荐指数
2
解决办法
1864
查看次数

标签 统计

tar ×10

linux ×5

backup ×2

macos ×2

pipe ×2

cpio ×1

docker ×1

gzip ×1

installation ×1

mongodb ×1

osx-mountain-lion ×1

ownership ×1

restore ×1

root ×1

rsync ×1

scp ×1

shell ×1

sockets ×1

ssh ×1

ubuntu ×1

unix ×1

zsh ×1