Hầu hết thời gian, cài đặt phần mềm trong Linux thật dễ dàng. Các tiện ích quản lý gói như Apt, Portage và Yum đã thực hiện cài đặt phần mềm trong Linux thậm chí còn dễ dàng hơn so với trong Windows (theo ý kiến ​​của tôi ít nhất). Nếu bạn biết những gì bạn muốn, bạn chỉ cần nói với người quản lý gói của bạn rằng bạn muốn nó, và nó sẽ tìm, tải xuống, cài đặt và cấu hình gói mới của bạn cho bạn.

Tuy nhiên, đôi khi, gói không tồn tại trong kho lưu trữ của phân phối của bạn. Thông thường, trong các trường hợp như vậy, lựa chọn duy nhất của bạn là tải xuống một tarball (thường là .tar.gz, .tar.bz hoặc .tgz ) chứa mã nguồn cho chương trình mà bạn phải tự biên dịch. Mặc dù ban đầu nó có thể hơi đáng sợ, việc biên dịch từ nguồn thường là một quá trình nhanh chóng và dễ dàng. Hôm nay, chúng ta sẽ học cách.

Trước hết, tôi nên lưu ý rằng không phải tất cả tarball đều giống nhau. Hướng dẫn này sẽ giả định rằng chương trình bạn đang cố gắng cài đặt là một bộ sưu tập mã nguồn kiểu GNU thông thường. Hầu hết yêu cầu tất cả các bước được lưu ý bên dưới, nhưng nhiều bước bỏ qua một bước này hay bước khác. Với mục đích của hướng dẫn này, tôi sẽ biên dịch gói mã nguồn của Python 3.0.1 từ trang chủ Python.

Bước 1: Giải nén tarball

Đối với những người mới sử dụng Linux, tarball là thuật ngữ thường được sử dụng để chỉ một tệp chứa các tệp khác. Nó giống như một tệp ZIP hoặc RAR trong Windows, ngoại trừ việc chương trình tar, một mình, không nén các tệp. Tar làm việc với một chương trình nén như gzip để thực sự nén các tập tin, đó là lý do tại sao bạn thường thấy hai phần mở rộng (.tar và .gz). Điều này đôi khi được viết tắt là .tgz .

May mắn thay, chúng ta không cần chạy hai chương trình riêng biệt để giải nén các tệp, chúng ta chỉ cần thông báo cho tar chạy các tệp thông qua gzip để giải nén. Bạn có thể sử dụng một tiện ích đồ họa để trích xuất các tệp đó bằng cách đơn giản nhấp đúp vào tarball từ trình quản lý tệp của bạn hoặc bạn có thể làm điều đó từ dòng lệnh bằng:

 tar -zxvf mytarball.tar.gz 

Các tùy chọn chúng tôi cung cấp cho tar như sau:

  • -z để yêu cầu tar chạy tệp này thông qua gzip để giải nén (sử dụng -j cho các tệp bzip)
  • -x để giải nén các tệp
  • -v cho "tiết", vì vậy chúng ta có thể thấy danh sách các tệp mà nó trích xuất
  • -f để nói với tar rằng chúng tôi đang làm việc với một tập tin

Để giải nén dễ dàng hơn, hãy xem phần Mẹo ở dưới cùng của trang này

Định cấu hình

Một khi các tập tin được trích xuất, mở một thiết bị đầu cuối lệnh và đi đến thư mục mà các tập tin đã được giải nén. Trước khi chúng ta có thể biên dịch, chúng ta cần chạy kịch bản cấu hình. Công việc của kịch bản cấu hình là kiểm tra hệ thống của bạn cho tất cả các phần mềm cần thiết để biên dịch chương trình từ mã nguồn thành một chương trình nhị phân có thể sử dụng. Nó tìm kiếm những thứ như phiên bản gcc và các công cụ khác cần thiết để xây dựng phần mềm. Vì vậy, khi bạn đang ở trong thư mục với tất cả các tệp đã được giải nén từ tarball, hãy nhập

 ./configure 

Nếu mọi việc suôn sẻ, nó sẽ kiểm tra các phần khác nhau trong hệ thống của bạn, sau đó thả bạn trở lại dòng lệnh như dưới đây:

Nguyên nhân phổ biến nhất của lỗi trong bước này là thiếu phụ thuộc. Nhìn kỹ vào bất kỳ lỗi nào bạn có thể nhận được để xác định gói nào bị thiếu.

Chế tạo

Đây là thịt thực sự của quá trình - nơi chúng tôi biên dịch mã nguồn thành một chương trình chạy được. Đây thường là bước đơn giản nhất, chỉ yêu cầu một lệnh duy nhất. Nếu bước cấu hình hoàn thành không có lỗi, chỉ cần nhập

 chế tạo 

Trên một chương trình lớn, bước này có thể mất vài phút. Sau khi hoàn tất, bạn sẽ được đưa trở lại dấu nhắc trình bao như được hiển thị ở đây.

Về mặt kỹ thuật, chương trình của bạn đã sẵn sàng để sử dụng. Tuy nhiên, trong hầu hết các trường hợp, bạn sẽ muốn chạy thêm một bước để chương trình của cô ấy có thể được cài đặt đầy đủ vào các vị trí chính xác để nó được chạy từ bất kỳ đâu.

Cài đặt

Tất cả điều này thực sự là sao chép chương trình đã biên dịch vào các thư mục hệ thống như / usr / bin để nó có thể được chạy từ bất kỳ thư mục nào mà không cần phải chỉ định đường dẫn đến các tệp. Kể từ khi nó sao chép vào một thư mục bên ngoài nhà của bạn, bạn có thể sẽ cần quyền root. Nếu bước thực hiện hoàn thành không có lỗi, chỉ cần chạy

 sudo cài đặt 

để sao chép các tập tin. Tại thời điểm này, bạn đã hoàn tất! Chương trình mới của bạn có thể được sử dụng như bất kỳ chương trình nào khác.

Lời khuyên

Rất có thể, bạn sẽ được biên dịch từ nguồn nhiều hơn một lần trong cuộc sống của bạn. Trong thực tế, đối với những người thích sử dụng phần mềm mới nhất và lớn nhất, điều này có thể rất phổ biến. Để làm cho nó dễ dàng hơn một chút, hãy mở tệp .bashrc của bạn từ thư mục chính của bạn và thêm các bí danh sau vào cuối:

 alias ungz = "tar -zxvf" alias unbz = "tar -jxvf" bí danh cmi = "./ configure && make && sudo make install"