在从Dockerfile构建时,我得到一个错误,如下所示
tar (child): prometheus-2.8.1.linux-amd64.tar.gz: Cannot open: No such file or directory
但是我在tar命令之前执行了RUN ls -lsa,输出是
Step 7/20 : RUN ls -lsa
---> Running in 6d417da0b003
total 37928
8 drwxr-xr-x. 1 root root 4096 Jun 10 14:08 .
8 drwxr-xr-x. 1 root ro
背景
我下载了linux 64位的二进制文件,并遵循了几个教程,每个教程都有类似的选项:
tar -C /usr/local --strip-components 1 -xzf /path/to/node.tar.gz
我总是得到这样的错误:
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
我已经用谷歌搜索过了,似乎我已经通过其中一个开关手动指定了gzip文件格式。文件实际上是tar.xz,而不是tar.gz。它可能是旧版本中的tar.
我在解压目录中的.tar.gz文件列表时遇到问题。
在我的目录中,
有很多result.tar.gz,它们是相同的名字,它们被重新命名为...
result.tar.gz
result (1).tar.gz
result (2).tar.gz
result (3).tar.gz
result (4).tar.gz
....
....
....
....
我想在一个linux命令中解压所有这些命令。所以我试着用
tar zxvf *
或
tar zxvf result*.tar.gz
两者都得到了这个错误
tar: result (3).tar.gz: Not found in archive
下面是一个场景:
$ wget "http://foo.bar/repository/nightly/src/foo-latest.tar.gz"
$ tar -xzf foo-lastest.tar.gz
$ ls # the archive root contained a single directory named after software name and the build date
foo-20140115-0024
您想要的是最终将提取的文件放在foo目录中,而不是foo-20140115-0024。当然,您可以在解压缩之后移动目录:
$ mv `tar -
我在使用docker容器与visual studio 2019交叉编译程序时遇到了一些问题。 这是我的docker文件 FROM ubuntu:16.04
RUN dpkg-divert --local --rename --add /sbin/initctl
RUN ln -sf /bin/true /sbin/initctl
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get -y upgrade
# install 32 bit libraries required for gnuarm tools
这是我的nodejs_from_binary.rb
Chef::Recipe.send(:include, NodeJs::Helper)
node.force_override['nodejs']['install_method'] = 'binary' # ~FC019
# Shamelessly borrowed from http://docs.opscode.com/dsl_recipe_method_platform.html
# Surely there's a more canonical way to get arc
我在Ubuntu14.04上创建了一个tarball,并使用:
cd /tmp
tar -cfvz archive.tar.gz /folder
现在,我想将tarball ( tarball内位于/tmp中)中的特定文件夹解压缩到特定的文件夹中:
cd /tmp
tar -xfvz archive.tar.gz folder/in/archive -C /tmp/archive
结果应该是/tmp中的一个名为archive的新文件夹。这是正确的吗?特别是要提取的文件夹缺少的斜杠(相对路径)和要创建的文件夹的绝对路径。
如何使用单词指示符和单词修饰符或类似的东西通过bash shell脚本自动执行以下操作?
root@server:/tmp# wget -q http://download.zeromq.org/zeromq-2.2.0.tar.gz
root@server:/tmp# tar -xzf !$:t
tar -xzf zeromq-2.2.0.tar.gz
root@server:/tmp# cd !$:r:r
cd zeromq-2.2.0
root@server:/tmp/zeromq-2.2.0#
当我尝试下面这样的东西时,我得到了错误,因为单词指示符和单词修饰符在bash脚本中的工作方式
到目前为止,遵循了许多教程,并有各种错误。下面是我遵循的完整的一步一步的过程,最后在OpenSSH编译中出现了错误。
($HOME/Desktop/Zlib/zlib-1.2.5/output) 下载了Zlib和交叉编译的
cd /home/armsdk/Desktop/
mkdir zlib
cd Zlib
wget http://www.zlib.net/fossils/zlib-1.2.5.tar.gz
tar xzvf zlib-1.2.5.tar.gz
cd zlib-1.2.5
mkdir output
./configure --prefix=/home/armsdk/Deskt
我目前正踮着脚尖进入自定义内核构建。
我首先从VirtualBox中的VM开始,安装了UbuntuServer20.04的新发行版。
我遵循了以下程序:
# getting the archive
cd ~/src/linux/
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.91.tar.xz
tar -xf linux-5.4.91.tar.xz
cd linux-5.4.91/
# getting the config of the kernel currently running
cp -v /boot/con
我在终端中创建了一个tar文件。假设我目前在一个目录test7中。我正在文件的当前目录中创建一个tar,该文件位于另一个目录(test8)中。
tar -czvf example.tgz ../test8/a/b
产出:
example.tgz
现在,我使用以下命令解压该文件:
tar -xzvf example.tgz
我得到了结果,并生成了一个名为test8的目录。
$) cd test8
$) ls
-> a
$) cd a
$) ls
-> b
现在我可以进入目录b并查看我的文件。
我希望输出仅为a目录,其中将出现b,即我想要的解锁后的输出应该是该层次结构的a/b,而
我下载了'jdk-7u55-linux-x64.tar.gz‘
当我执行以下命令解压缩时,
sudo tar xvzf jdk-7u55-linux-x64.tar.gz
也试过了,
sudo tar xvf jdk-7u55-linux-x64.tar.gz
sudo tar xf jdk-7u55-linux-x64.tar.gz
sudo tar -xvf jdk-7u55-linux-x64.tar.gz
但我终于犯了错误,
gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unex
我试图从wget中提取一个tarball,并且在不创建临时文件的情况下,从它中提取一个子目录:
wget -qO- https://github.com/django-nonrel/django-nonrel/tarball/develop | tar xzf - django
它给了我一个错误,说:
tar: django: Not found in archive
tar: Exiting with failure status due to previous errors
显然我做错了什么。
我有一个目录,例如/var/tmp/my-dir/,我经常使用以下命令进行压缩:
$ cd /var/tmp/
$ tar -zcf my-dir.tar.gz my-dir/*
稍后,当我解压-dir.tar.gz时,它将在当前目录中创建my-dir/。听起来,my-dir目录被“包装”在tarball中。是否有将my-dir重命名为your-dir 的tar选项,在实际发生之前。所以..。
$ tar -zxf my-dir.tar.gz
# So that ... this creates your-dir/, instead of my-dir/
谢谢。