Làm thế nào để biên dịch và cài đặt từ nguồn trên Ubuntu

Mục lục:

Làm thế nào để biên dịch và cài đặt từ nguồn trên Ubuntu
Làm thế nào để biên dịch và cài đặt từ nguồn trên Ubuntu

Video: Làm thế nào để biên dịch và cài đặt từ nguồn trên Ubuntu

Video: Làm thế nào để biên dịch và cài đặt từ nguồn trên Ubuntu
Video: SUPER-SHOWDOWN-BOWL! - TOON SANDWICH - YouTube 2024, Tháng tư
Anonim
Ubuntu và các bản phân phối Linux khác có kho lưu trữ gói mở rộng để giúp bạn giải quyết rắc rối khi tự biên dịch bất kỳ thứ gì. Tuy nhiên, đôi khi bạn sẽ tìm thấy ứng dụng tối nghĩa hoặc phiên bản chương trình mới mà bạn sẽ phải biên dịch từ nguồn.
Ubuntu và các bản phân phối Linux khác có kho lưu trữ gói mở rộng để giúp bạn giải quyết rắc rối khi tự biên dịch bất kỳ thứ gì. Tuy nhiên, đôi khi bạn sẽ tìm thấy ứng dụng tối nghĩa hoặc phiên bản chương trình mới mà bạn sẽ phải biên dịch từ nguồn.

Bạn không phải là một lập trình viên để xây dựng một chương trình từ nguồn và cài đặt nó trên hệ thống của bạn; bạn chỉ phải biết những điều cơ bản. Chỉ với một vài lệnh, bạn có thể xây dựng từ nguồn như một người chuyên nghiệp.

Cài đặt phần mềm cần thiết

Việc cài đặt gói xây dựng cần thiết trong kho lưu trữ gói của Ubuntu sẽ tự động cài đặt phần mềm cơ bản mà bạn sẽ cần để biên dịch từ nguồn, như trình biên dịch GCC và các tiện ích khác. Cài đặt nó bằng cách chạy lệnh sau trong terminal:

sudo apt-get install build-essential

Nhập Y và nhấn Enter để xác nhận cài đặt khi được nhắc.
Nhập Y và nhấn Enter để xác nhận cài đặt khi được nhắc.

Nhận gói nguồn

Bây giờ bạn sẽ cần mã nguồn của ứng dụng bạn muốn. Các gói này thường nằm trong các tệp nén với phần mở rộng tệp.tar.gz hoặc.tar.bz2.

Ví dụ: hãy thử biên dịch Pidgin từ nguồn - có thể có phiên bản mới hơn chưa được đóng gói và chúng tôi muốn nó ngay bây giờ. Tìm tệp.tar.gz hoặc.tar.bz2 của chương trình và lưu tệp đó vào máy tính của bạn.

Tệp.tar.gz hoặc.tar.bz2 giống như tệp.zip. Để sử dụng nó, chúng ta sẽ phải trích xuất nội dung của nó.
Tệp.tar.gz hoặc.tar.bz2 giống như tệp.zip. Để sử dụng nó, chúng ta sẽ phải trích xuất nội dung của nó.

Sử dụng lệnh này để trích xuất tệp.tar.gz:

tar -xzvf file.tar.gz

Hoặc sử dụng lệnh này để trích xuất tệp.tar.bz2:

tar -xjvf file.tar.bz2

Bạn sẽ kết thúc với một thư mục có cùng tên với gói mã nguồn của bạn. Sử dụng lệnh cd để nhập nó.
Bạn sẽ kết thúc với một thư mục có cùng tên với gói mã nguồn của bạn. Sử dụng lệnh cd để nhập nó.
Image
Image

Giải quyết phụ thuộc

Khi bạn đang ở trong thư mục được trích xuất, hãy chạy lệnh sau:

./configure

(Lưu ý rằng một số ứng dụng có thể không sử dụng./configure. Kiểm tra tệp “README” hoặc “CÀI ĐẶT” trong thư mục được trích xuất của ứng dụng để biết thêm hướng dẫn cụ thể.)

(Phần./ nói với shell Bash nhìn vào bên trong thư mục hiện hành để "cấu hình" tập tin và chạy nó. Nếu bạn bỏ qua./, Bash sẽ tìm một chương trình có tên "configure" trong các thư mục hệ thống như / bin và / usr / bin.)
(Phần./ nói với shell Bash nhìn vào bên trong thư mục hiện hành để "cấu hình" tập tin và chạy nó. Nếu bạn bỏ qua./, Bash sẽ tìm một chương trình có tên "configure" trong các thư mục hệ thống như / bin và / usr / bin.)

Lệnh./configure kiểm tra hệ thống của bạn để tìm phần mềm cần thiết để xây dựng chương trình.

Trừ khi bạn may mắn (hoặc đã có rất nhiều gói bắt buộc trên hệ thống của mình), bạn sẽ nhận được thông báo lỗi, cho biết bạn cần cài đặt một số gói nhất định. Ở đây, chúng tôi thấy thông báo lỗi cho biết các tập lệnh intltool không có trên hệ thống của chúng. Chúng ta có thể cài đặt chúng bằng lệnh sau:
Trừ khi bạn may mắn (hoặc đã có rất nhiều gói bắt buộc trên hệ thống của mình), bạn sẽ nhận được thông báo lỗi, cho biết bạn cần cài đặt một số gói nhất định. Ở đây, chúng tôi thấy thông báo lỗi cho biết các tập lệnh intltool không có trên hệ thống của chúng. Chúng ta có thể cài đặt chúng bằng lệnh sau:

sudo apt-get install intltool

Sau khi cài đặt phần mềm cần thiết, hãy chạy lại lệnh./configure. Nếu bạn cần cài đặt phần mềm bổ sung, hãy lặp lại quy trình này bằng sudo apt-get cài đặt lệnh cho đến khi./configure hoàn tất thành công. Không phải mọi gói được yêu cầu sẽ có tên chính xác mà bạn nhìn thấy trong thông báo lỗi - bạn có thể cần đến Google thông báo lỗi để xác định các gói bắt buộc.

Nếu phiên bản cũ hơn của chương trình bạn đang cố gắng biên dịch đã có trong kho phần mềm của Ubuntu, bạn có thể ăn gian với sudo apt-get build-dep chỉ huy. Ví dụ, nếu tôi chạy sudo apt-get build-dep pidgin, apt-get sẽ tự động tải xuống và cài đặt tất cả các phụ thuộc mà tôi sẽ cần để biên dịch Pidgin. Như bạn thấy, nhiều gói bạn sẽ cần kết thúc -dev.

Khi./configure hoàn tất thành công, bạn đã sẵn sàng để biên dịch và cài đặt gói.
Khi./configure hoàn tất thành công, bạn đã sẵn sàng để biên dịch và cài đặt gói.
Image
Image

Biên dịch và cài đặt

Sử dụng lệnh sau để biên dịch chương trình:

make

Quá trình này có thể mất một thời gian, tùy thuộc vào hệ thống của bạn và kích thước của chương trình. Nếu./configure hoàn tất thành công, hãy thực hiện không có bất kỳ sự cố nào. Bạn sẽ thấy các dòng văn bản cuộn khi chương trình biên dịch.

Sau khi lệnh này kết thúc, chương trình được biên dịch thành công - nhưng chương trình chưa được cài đặt. Sử dụng lệnh sau để cài đặt nó vào hệ thống của bạn:
Sau khi lệnh này kết thúc, chương trình được biên dịch thành công - nhưng chương trình chưa được cài đặt. Sử dụng lệnh sau để cài đặt nó vào hệ thống của bạn:

sudo make install

Nó có thể được lưu trữ dưới / usr / local trên hệ thống của bạn. / usr / local / bin là một phần trong đường dẫn của hệ thống của bạn, điều đó có nghĩa là chúng tôi chỉ có thể nhập “ pidgin Vào một thiết bị đầu cuối để khởi động Pidgin không ồn ào.

Không xóa thư mục của chương trình nếu bạn muốn cài đặt sau này - bạn có thể chạy lệnh sau từ thư mục để gỡ cài đặt chương trình khỏi hệ thống của bạn:
Không xóa thư mục của chương trình nếu bạn muốn cài đặt sau này - bạn có thể chạy lệnh sau từ thư mục để gỡ cài đặt chương trình khỏi hệ thống của bạn:

sudo make uninstall

Các chương trình bạn cài đặt theo cách này sẽ không được cập nhật tự động bởi Trình quản lý cập nhật của Ubuntu, ngay cả khi chúng chứa lỗ hổng bảo mật. Trừ khi bạn yêu cầu một ứng dụng hoặc phiên bản cụ thể không có trong kho phần mềm của Ubuntu, bạn nên gắn bó với các gói chính thức của phân phối của mình.

Có rất nhiều thủ thuật nâng cao mà chúng tôi chưa đề cập ở đây - nhưng, hy vọng, quá trình biên dịch phần mềm Linux của riêng bạn không còn đáng sợ nữa.

Đề xuất: