2013-06-07 32 views
12

Tôi rất mới với nền tảng Linux và tôi muốn trích xuất gnutls cho ubuntu. Nếu tôi làm như vậy,Trích xuất các tệp thư viện gnutls của tar.xz và tar.lz cho ubuntu 10.04 LTS

$ls 

khi đó, nó sẽ hiển thị các tệp này bên dưới.

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 

Khi tôi đưa ra lệnh,

$ tar -xvf gnutls-3.2.1.tar.xz 

tôi nhận được đầu ra,

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 

tôi muốn trích xuất các tập tin.

  1. Tại sao có hai loại định dạng được cung cấp? - xz và lz
  2. Tại sao có tệp chữ ký? - .sig Cách xác minh? Tôi đã cố xác minh bằng lệnh gpgv <filename>.sig, nó cho biết khóa công khai không được tìm thấy.
  3. Tôi cần gói tiện ích riêng biệt? Tôi đã thấy một, 'xz-utils_4.999' nhưng nó là beta. http://manpages.ubuntu.com/manpages/lucid/man1/xz.1.html
  4. Bất kỳ gói tiện ích ổn định nào khác? Từ đâu và làm thế nào tôi có thể tải xuống?

Trả lời

9

Tại sao có hai loại định dạng được cung cấp? - xz và lz

Chỉ để thuận tiện, để mọi người có thể tải xuống ứng dụng có sẵn công cụ phù hợp/cài đặt. Hãy nhớ rằng hầu hết các thư viện 'linux' được dự định để sử dụng trên các nền tảng giống Unix khác (ví dụ: BSD, Solaris, AIX, OSX). Nó không thể được giả định rằng các công cụ gần đây hơn như xz có sẵn trong mọi nền tảng.

Tôi cần gói tiện ích riêng biệt?

Có, thông báo lỗi từ tar đang nói với bạn rằng nó không thể tìm thấy lệnh xz:

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

Bạn xác định một cách chính xác các gói cài đặt, xz-utils. Nếu bạn đã cố giải nén tệp .lz, nó sẽ đồng ý rằng nó không thể tìm thấy lzip thay thế (và bạn sẽ cài đặt gói lzip).

Không có nhiều khác biệt, lzip là tiêu chuẩn LZMA cũ hơn, xz là LZMA2 mới hơn. Nhãn 'beta' luôn chủ quan. Trong bối cảnh này tôi sẽ không lo lắng!

Tại sao có tệp chữ ký?

Để mọi người có thể chắc chắn bản lưu trữ mà họ tải xuống đã được xuất bản bởi người mà họ mong đợi. Đó là để bảo vệ chống lại khả năng rằng một hacker có thể truy cập vào trang web (hoặc một tấm gương) sau đó thêm một số mã độc hại vào các nguồn trong kho lưu trữ.

Cách xác minh?

Bạn nhận được lệnh đó tốt, nhưng điều bạn cần hiểu là bạn phải nói cho GnuPG biết chìa khóa nào bạn tin cậy. Thông thường, bạn sẽ lấy các khóa công khai (thường là .asc hoặc .txt) được các tác giả xuất bản và nhập chúng vào khóa gpg của bạn. Trên trang tải xuống GnuTLS:

Tất cả các bản phát hành được ký bằng Nikos' hoặc Simon's Khóa OpenPGP.

Vì vậy, bạn có thể làm điều gì đó như:

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

Một cách khác là khi người ta công bố chỉ RSA chính ID của họ, có thể được nhập khẩu từ keyservers gpg thường được gọi. Ví dụ: bạn có thể nhập khóa công khai của tôi như sau:

gpg --recv-key 15C4D63E 

Đối với hầu hết các cấu hình gpg mặc định, nên lấy khoá được chỉ định từ máy chủ khóa công khai (có thể là keys.gnupg.net).

Sau đó, gpg phải báo cáo một 'chữ ký tốt' từ một trong những tác giả, nhưng hy vọng nó vẫn để hiển thị một cảnh báo:

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

này chỉ có nghĩa rằng có tồn tại không có chuỗi tín nhiệm (dựa trên các khóa bạn đã đánh dấu là đáng tin cậy trong khóa của bạn) để nói rằng đây là khóa chính xác cho người có tên. Nó có thể là chìa khóa của một hacker thay vào đó. Tại một thời điểm nào đó, bạn phải tự tin rằng chìa khóa bạn có được đến từ đúng người, nhưng chính xác điều gì để tin tưởng và khi nào thì mỗi người nghiên cứu và tự quyết định dựa trên mức độ hoang tưởng của riêng bạn, hoặc mục đích hiện tại.

Cá nhân, tôi không bận tâm để xác minh lưu trữ nguồn trừ khi tôi dự định phân phối lại thứ gì đó được xây dựng từ chúng.

+0

Kẻ tấn công có thể dễ dàng thay đổi các tập tin chữ ký. –

+1

@MatthewMitchell Chắc chắn, kẻ tấn công có thể thay đổi các tập tin chữ ký, nhưng không thể dễ dàng giả mạo một chữ ký hợp lệ cho một khóa mà họ không kiểm soát. Đây là lý do tại sao khóa công khai thường được xuất bản thông qua một máy chủ lưu trữ khác hoặc máy chủ khóa công khai. Đó cũng là lý do tại sao tốt nhất bạn nên thêm chúng một lần vào các khóa đáng tin cậy của mình và tại sao mọi người truy cập vào các khóa của nhau, vv để xây dựng một trang web tin cậy, để mọi người không cần phải chấp nhận một cách mù quáng rằng khóa được xuất bản trên trang web là chính xác cho tác giả được xác nhận quyền sở hữu. –

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

Làm việc đối với tôi

Như đã đề cập bên dưới trong các ý kiến, bạn có thể phải cài đặt thư viện trước khi lệnh sẽ làm việc:

sudo apt-get install lzip 
+3

Tôi muốn giải nén cùng một tệp: P – rockstar

5

Bạn có thể giải quyết với:

# 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 
+0

tác phẩm này giả định thư mục con bin của thư mục được chỉ định bằng tiền tố (vì vậy,/usr/bin ở đây) nằm trên bash PATH. nếu nó không phải là, một trong những sẽ cần phải thêm nó vào PATH trong tập tin .bashrc của một người (hoặc nếu không). – dbliss

+0

@ dbliss, vâng, không chỉ đường dẫn, nó giả định bạn có 'wget',' tar' và 'sudo' nữa. nhưng tôi tò mò mà unix như hệ điều hành không có/usr/bin trên đường dẫn theo mặc định. – ton

+0

/usr/bin là mặc định, nhưng điều đó đặt ra câu hỏi tại sao bạn sử dụng tùy chọn '--prefix'. tôi quan tâm nhiều hơn đến trường hợp của mình (và phần lớn các trường hợp trong đó tùy chọn đó được sử dụng), trong đó một thư mục không mặc định được chỉ định bằng '--prefix'. tôi đã sử dụng mã của bạn, và sau đó nhận ra tôi đã phải thêm thư mục không mặc định vào đường dẫn của tôi. các giả định khác mà bạn đã đề cập - ví dụ bạn cần 'wget' - rõ ràng và không đáng nhắc đến. – dbliss

10
  1. Cài đặt lzip.

  2. Launch lệnh sau tạo ra xxx.tar tập tin và xóa các tập tin xxx.tar.lz sau khi giải nén:

    lzip -d xxx.tar.lz 
    
  3. Launch lệnh sau để cuối cùng tar:

    tar zxvf xxx.tar 
    
0

LZIP có sẵn trong Cygwin.Bạn có thể cài đặt lzip (từ nhánh Archive trong thiết lập của Cygwin) và tar (từ nhánh Base). Sau đó bạn có thể làm

tar --lzip -xvf your_file.tar.lz 

Làm việc cho tôi.

2

Trước tiên để trích xuất các tệp xz, bạn cần cài đặt xz-utils. Nếu là trong debian hay ubuntu:

sudo apt-get install xz-utils

Bây giờ bạn có thể trích xuất các file sử dụng:

tar -xJf file_name.xz

Các vấn đề liên quan