Làm cách nào để cài đặt các gói tarball trên bản phân phối dựa trên Debian?


19

Tôi muốn biết cách cài đặt các gói .tar.bz và .tar.bz2 trên Debian, vui lòng cho tôi một lời giải thích đầy đủ.


2
Đó là những tài liệu lưu trữ. Bạn cần giải nén chúng và xem hướng dẫn bên trong. Thông thường nó ./configure, make, make install, nhưng tôi chắc chắn ai đó sẽ cung cấp câu trả lời tốt hơn cho bạn, với các liên kết nơi bạn có thể tìm hiểu điều này những điều rất cơ bản trước khi bạn thực sự cố gắng để xây dựng bất cứ điều gì
zetah

3
Tùy thuộc vào những gì bạn muốn cài đặt, bạn cũng cần cài đặt gói xây dựng và gói -dev của các thư viện được sử dụng bởi phần mềm. Cẩn thận khi bạn cài đặt tiền tố / usr / local / (thường là mặc định), nếu không bạn có thể làm hỏng hệ thống của mình. Đối với người mới bắt đầu, tôi khuyên bạn nên hạn chế các gói có sẵn từ Debian. Bước tiếp theo sẽ là tìm kiếm phần mềm đã được đóng gói (gói .deb) và cài đặt chúng bằng tay dpkg -i ./path/to/package.deb. Sử dụng các gói .tar. {Gz, bz2}, là tùy chọn cuối cùng và khó khăn nhất.
jofel

@jofel Tôi đồng ý với bạn, nhưng một số chương trình không có sẵn trong gói .deb và bạn chỉ có thể cài đặt nó từ mã nguồn (ví dụ: Firefox).
Zignd

1
Firefox chắc chắn có sẵn trong kho và hiếm khi cần được xây dựng từ nguồn.
Daemon of Chaos

1
Nếu bạn muốn cài đặt từ các nguồn bằng tay, điều khó khăn nhất thường là cài đặt các phụ thuộc đúng. Nếu README hoặc INSTALL không liệt kê chúng, bạn có thể cần chạy tập lệnh ./cool bằng tay (đối với các hệ thống xây dựng dựa trên autoconf). Nếu thất bại với "kiểm tra xyz: Không", "không tìm thấy xyz" hoặc tương tự, hãy cài đặt gói libxyz-dev (trên các hệ thống dựa trên Debian) và thử lại. Nếu gói không tồn tại, bạn cần tìm gói chính xác hoặc cài đặt thư viện cần thiết bằng tay trước. Đôi khi bạn phải chọn một phiên bản thư viện cụ thể.
jofel

Câu trả lời:


30

Thứ nhất, theo Tiêu chuẩn phân cấp hệ thống tệp , vị trí của gói được cài đặt này phải là /optnếu nó là cài đặt nhị phân và /usr/localnếu đó là từ cài đặt nguồn.

Nhị phân tinh khiết

Đây là sẵn sàng để sử dụng nhị phân. Thông thường họ chỉ cần được giải nén để được cài đặt. Một gói nhị phân sẽ dễ dàng:

  • sudo tar --directory=/opt -xvf <file>.tar.[bz2|gz]
  • thêm thư mục vào đường dẫn của bạn: export PATH=$PATH:/opt/[package_name]/bin

và bạn đã hoàn thành.

Từ nguồn

Một gói nguồn sẽ rắc rối hơn (cho đến nay) và thông qua chúng có thể được xử lý đại khái bằng phương pháp bên dưới, mỗi gói khác nhau :

  • tải gói xuống /usr/local/src
  • tar xf <file>.tar.[bz2|gz]
  • cd <package name>
  • đọc các READMEtập tin (điều này gần như chắc chắn tồn tại).
  • hầu hết các dự án nguồn mở sử dụng autoconf / automake, các hướng dẫn nên có trong README. Có lẽ bước này sẽ đi: ./configure && make && make install(chạy các lệnh riêng cho sự tỉnh táo nếu có sự cố xảy ra).

Nếu có bất kỳ vấn đề nào trong quá trình cài đặt thì bạn sẽ phải đặt câu hỏi cụ thể. Bạn có thể có vấn đề về các phiên bản không chính xác của thư viện hoặc thiếu phụ thuộc. Có một lý do mà Debian gói mọi thứ cho bạn. Và có một lý do Debian ổn định chạy các gói cũ - việc tìm kiếm tất cả các trường hợp cài đặt gói trên hơn một tá kiến ​​trúc khác nhau và vô số cấu hình phần cứng / hệ thống khác nhau là khó khăn. Khi bạn tự cài đặt một cái gì đó, bạn có thể gặp phải một trong những vấn đề này!


2
Tôi đã thực hiện lệnh tar dễ dàng hơn! Bạn không cần phải cd / opt. Thay vào đó cd đến nơi tarball và sử dụng tar -Choặc --directorytùy chọn.
Jess

1
À và đừng quên sudo: D
Jess

10

Giải nén các tệp và sau đó, trong thư mục đã được tạo, hãy tìm tệp READMEhoặc INSTALLtệp sẽ cho bạn biết những gì bạn cần biết để cài đặt gói (ví dụ: phụ thuộc, tùy chọn cấu hình, lệnh để chạy, v.v.).

Thông thường nó sôi xuống ./configure, makesau đó make install.


3
Lưu ý rằng bản dựng rất có thể sẽ thất bại trong cấu hình. Tại sao? Bởi vì nguồn bạn đã tải xuống có thể có các phụ thuộc về thời gian mà bạn chưa cài đặt. Trên Debian / Ubuntu, nếu gói cũng có sẵn với apt, bạn có thể cài đặt các gói này với: sudo apt-get build-dep tên gói
anonfunc

7

Cách tiêu chuẩn để làm điều này là:

  1. tar zxvf file.tar.gz hoặc là tar xvjpf file.tar.bz2
  2. chạy ./configure ( ./configure --helpthường cung cấp tùy chọn tùy chỉnh)
  3. chạy make
  4. chạy make install

Thường có một tệp README hoặc INSTALL cũng cung cấp hướng dẫn.


5

Nói chung, khi bạn cài đặt tar.gz / tgz / tar / bz2 (hãy nhớ, đây chỉ là các tệp gói nén), bạn sẽ cần phải mở tệp tar ( tar xvfz/ tar xvfj) rồi cdvào thư mục và chạy ./configure.

Trên một số hệ thống, bạn có thể lấy mặc định (/ usr / local / {lib, bin, v.v ...} làm vị trí cài đặt mặc định hoặc bạn có thể muốn sử dụng / opt / local / {lib, bin, v.v.

Vì vậy, bạn sẽ làm ./configure --prefix=/usr/localvà sau đó make, make install.

Nó tùy thuộc vào bạn nơi bạn muốn cài đặt các gói của bạn. Hãy nhớ rằng bất cứ khi nào bạn quyết định làm điều đó, bạn có thể muốn thêm đường dẫn đến biến vỏ PATH của mình để bạn có thể dễ dàng chạy các gói đó. (thường export PATH=$PATH:/opt/local/bin:/usr/local/bin).


2

Hãy để tôi minh họa điều này với một ví dụ, giả sử bạn muốn cài đặt một gói abc. Các phụ thuộc của gói abccó thể được xác định bằng cách đọc tài liệu của nó. Bạn nên giải quyết các phụ thuộc (thư viện bắt buộc, v.v.) trước khi cài đặt để có trải nghiệm mượt mà.

Trước khi gcc 4.7.2xây dựng các g++, m4, gawk, gcc-multilib, gmp, mpfr, và mpcphải được xây dựng.

Sau đó đến tòa nhà từ phần nguồn mà bước đầu tiên luôn được trích xuất. Điều này có thể được thực hiện bằng cách sử dụng tarlệnh hoặc bằng cách GUI đơn giản. Khi bạn có các tệp được giải nén trong một thư mục, bạn phải duyệt đến thư mục đó bằng cdlệnh, ví dụ: nếu nội dung nằm trong Tải xuống thì:

$cd Downloads/abc

Bây giờ bạn cần phải chạy ./configure. Chỉ định thư mục cài đặt bằng cách sử dụng --prefix=tùy chọn với configure.

Thứ nhất, theo Tiêu chuẩn phân cấp hệ thống tệp, vị trí của gói được cài đặt này phải là / opt nếu đó là cài đặt nhị phân và / usr / local nếu đó là từ cài đặt nguồn.

Vì vậy, nếu bạn đang cài đặt vào /usr/abcthư mục, bạn sẽ cung cấp tùy chọn --prefix=/usr/abcvới ./configurehướng dẫn.

$./configure --prefix=/usr/abc

--prefix=mặc dù không phải là điều duy nhất bạn muốn chỉ định, bạn có thể muốn cung cấp thông tin khác để biên dịch thành công như kiểu hệ thống của bạn với --build=x86_64-linux-gnu64 bit và --build=i386-linux-gnucho hệ thống 32 bit. Sẽ là khôn ngoan khi đọc README trong các tệp được trích xuất vì nó có thể mang thông tin về các tùy chọn cần chỉ định bằng ./configurelệnh.

Sau khi ./configurechạy makelệnh, và sau đó là make install. Cài đặt bài đăng bạn nên chỉ định đường dẫn thư viện, biến shell / môi trường bằng cách sử dụng exportlệnh.

export PATH=/usr/abc/bin:$PATH
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.