19

我对 linux 平台非常陌生,我想为 ubuntu 提取 gnutls。如果我做,

$ls

然后,它将在下面显示这些文件。

gnutls-3.2.1.tar.lz
gnutls-3.2.1.tar.lz.sig
gnutls-3.2.1.tar.xz
gnutls-3.2.1.tar.xz.sig

当我发出命令时,

$ tar -xvf gnutls-3.2.1.tar.xz

我得到输出,

tar: xz: Cannot exec: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Exiting with failure status due to previous errors

我想提取这些文件。

  1. 为什么给出两种格式?- xz 和 lz
  2. 为什么会有签名文件?- .sig 如何验证?我尝试通过gpgv <filename>.sig命令验证,它说找不到公钥。
  3. 我需要一个单独的实用程序包?我看到了一个,'xz-utils_4.999',但它是betahttp://manpages.ubuntu.com/manpages/lucid/man1/xz.1.html
  4. 还有其他稳定的实用程序包吗?从哪里以及如何下载它?
4

7 回答 7

31
tar --lzip -xvf gmp-5.1.2.tar.lz

为我工作

正如评论中提到的,您可能必须在命令生效之前安装库:

sudo apt-get install lzip
于 2013-09-11T04:51:49.620 回答
13
  1. 安装lzip.

  2. 启动以下命令创建文件并在提取后xxx.tar删除文件:xxx.tar.lz

    lzip -d xxx.tar.lz 
    
  3. 启动以下命令以最终解压缩:

    tar zxvf xxx.tar
    
于 2014-03-13T17:53:35.310 回答
11

为什么给出两种格式?- xz 和 lz

只是为了方便,以便人们可以下载他们有可用/安装适当工具的工具。请记住,大多数“linux”库也旨在用于其他类 unix 平台(例如 BSD、Solaris、AIX、OSX 甚至)。不能假设像 xz 这样的最新工具在每个平台上都很容易获得。

我需要一个单独的实用程序包?

是的,来自 tar 的错误消息告诉您它找不到 xz 命令:

tar: xz: Cannot exec: No such file or directory

您正确识别了要安装的软件包,xz-utils. 如果您尝试提取 .lz 存档,它会抱怨它无法找到lzip(并且您将安装 lzip 包)。

没有太大区别,lzip 是较旧的 LZMA 标准,xz 是较新的 LZMA2。“beta”这个标签总是主观的。在这种情况下,我不会担心!

为什么会有签名文件?

这样人们就可以确定他们下载的档案是由他们期望的人发布的。这是为了防止黑客可以访问站点(或镜像)然后将一些恶意代码添加到存档中的源。

如何验证?

您可以很好地执行该命令,但您需要了解的是您必须告诉 GnuPG 您信任哪些密钥。通常,您会获取作者发布的公钥(通常是 .asc 或 .txt)文件并将它们导入您的 gpg 密钥环。在 GnuTLS 下载页面上:

所有版本都使用NikosSimon 的OpenPGP 密钥签名。

因此,您可以执行以下操作:

wget -O- http://josefsson.org/key.txt | gpg --import
wget -O- http://members.hellug.gr/nmav/pgpkeys.asc | gpg --import

另一种方法是当人们只发布他们的 RSA 密钥 ID,它可以从众所周知的 gpg 密钥服务器中导入。例如,您可以像这样导入我的公钥:

gpg --recv-key 15C4D63E

对于大多数默认 gpg 配置,应该从公共密钥服务器(可能是 keys.gnupg.net)获取指定的密钥。

之后,gpg 应该报告其中任一作者的“良好签名”,但预计它仍会显示警告:

gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.

这只是意味着不存在信任链(基于您在密钥环中标记为受信任的密钥)来说明这是指定人员的正确密钥。它可能是黑客的钥匙。

在某些时候,您必须确信您获得的密钥来自正确的人,但确切地说,信任什么以及何时是每个人根据您自己的偏执程度或当前目的自行研究和决定的事情。

就个人而言,除非我打算重新分发由它们构建的东西,否则我不会费心去验证源档案。

于 2013-06-30T11:44:44.817 回答
6

您可以通过以下方式解决:

# The lzip page is: http://lzip.nongnu.org/lzip.html
# Download the lzip:
wget http://download.savannah.gnu.org/releases/lzip/lzip-1.15.tar.gz
# decompress:
tar xvf lzip-1.15.tar.gz
cd lzip-1.15
# configure / build
./configure --prefix=/usr
make
# install
sudo make install

# now you can unzip with 
tar xvf gmp-5.1.3.tar.lz
于 2014-02-06T13:08:44.343 回答
2

首先要提取 xz 文件,您需要安装 xz-utils。如果在 debian 或 ubuntu 中:

sudo apt-get install xz-utils

现在您可以使用以下方法提取文件:

tar -xJf file_name.xz

于 2016-03-04T17:13:01.930 回答
0

LZIP 在Cygwin中可用。您可以安装 lzip(来自 cygwin 设置中的 Archive 分支)和 tar(来自 Base 分支)。之后你可以做

tar --lzip -xvf your_file.tar.lz

为我工作。

于 2014-08-26T15:49:21.430 回答
0

对于 tar.lz,如果您的 tar 不支持 --lzip

tar xf filename.tar.lz --use-compress-program lrunzip
于 2018-05-15T05:54:51.700 回答