Извлеките файлы библиотеки gnutls tar.xz и tar.lz для ubuntu 10.04 LTS

Я очень новичок в платформе linux, и я хочу извлечь gnutls для ubuntu. Если да,

$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

Я хочу извлечь эти файлы.

  • Почему существуют два типа форматов? - xz и lz
  • Почему есть файлы подписи? -.sig Как это проверить? Я попытался проверить команду gpgv <filename>.sig, он говорит, что открытый ключ не найден.
  • Мне нужен отдельный пакет утилиты? Я видел один, "xz-utils_4.999", но это beta​​strong > . http://manpages.ubuntu.com/manpages/lucid/man1/xz.1.html
  • Любой другой стабильный пакет утилиты? Откуда и как его загрузить?

Ответ 1

Почему существуют два типа форматов? - 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. Метка "бета" всегда субъективна. В этом контексте я бы не стал беспокоиться!

Почему есть файлы подписи?

Чтобы люди могли убедиться, что загруженный им архив был опубликован человеком, которого они ожидают. Это необходимо для предотвращения возможности того, что хакер может получить доступ к сайту (или зеркалу), а затем добавить вредоносный код в источники в архиве.

Как проверить его?

У вас есть эта команда отлично, но вам нужно понять, что вам нужно рассказать GnuPG, какие ключи вам доверяют. Как правило, вы должны публиковать открытые ключи (обычно .asc или .txt), опубликованные автором (ами) и импортировать их в ваш gpg-ключ. На странице загрузки GnuTLS:

Все выпуски подписаны с Nikos или ключом Simon OpenPGP.

Итак, вы можете сделать что-то вроде:

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

Другим способом является то, что люди публикуют только свой идентификатор ключа RSA, который можно импортировать из известных серверов 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.

Это означает, что нет цепочки доверия (на основе ключей, которые вы отметили как надежные в вашей цепочке), чтобы сказать, что это правильный ключ для указанного человека. Это может быть ключом от хакера.

В какой-то момент вы должны быть уверены в том, что ключ, который вы получаете, исходил от правильного человека, но точно, чему доверять, и когда что-то для каждого человека исследует и решает для себя, исходя из вашего собственного уровня паранойи или текущих целей.

Лично я не хочу проверять исходные архивы, если я не планирую перераспределять что-то из них.

Ответ 2

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

Работал для меня

Как указано ниже в комментариях, вам может потребоваться установить библиотеку до того, как команда будет работать:

sudo apt-get install lzip

Ответ 3

  • Установите lzip.

  • Запустите следующую команду, которая создает файл xxx.tar и удаляет файл xxx.tar.lz после извлечения:

    lzip -d xxx.tar.lz 
    
  • Запустите следующую команду, чтобы окончательно распаковать:

    tar zxvf xxx.tar
    

Ответ 4

Вы можете решить:

# 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

Ответ 5

Сначала, чтобы извлечь xz файлы, вам нужно установить xz-utils. Если находятся в debian или ubuntu:

sudo apt-get install xz-utils

Теперь вы можете извлекать файлы, используя:

tar -xJf file_name.xz

Ответ 6

LZIP доступен в Cygwin. Вы можете установить lzip (из ветки архива в настройке cygwin) и tar (из ветки Base). После этого вы можете сделать

tar --lzip -xvf your_file.tar.lz

Работал для меня.