Cách biên dịch các gói phần mềm trên Linux

Một trong những điều chỉnh khó nhất đối với người dùng chuyển từ Windows sang Linux là ý tưởng rằng không phải mọi phần mềm bạn muốn cài đặt đều được tạo sẵn cho bạn. Không giống như người dùng Windows , những người (trong hầu hết các trường hợp) nhận được phần mềm được đóng gói sẵn trong trình cài đặt EXE hoặc tệp ZIP , người dùng Linux thường phải biên dịch các gói phần mềm của riêng họ.

Nếu bạn muốn biết cách biên dịch các gói phần mềm trên Linux , bạn sẽ cần làm theo một vài bước. Bạn sẽ cần tải xuống mã nguồn, chạy lệnh cấu hình, cài đặt bất kỳ gói phụ thuộc bắt buộc nào, sau đó chạy lệnh make để bắt đầu biên dịch gói của bạn. Đây là cách thực hiện tất cả những điều này trên hệ điều hành dựa trên Linux .

Tải xuống tệp nguồn(Downloading Source Files)

Trước khi bắt đầu xây dựng các gói phần mềm mới, bạn cần có mã nguồn. Đây có thể là từ một gói mà bạn đã tự phát triển, trong trường hợp này, bạn đã có quyền truy cập vào mã nguồn.

Tuy nhiên, có nhiều khả năng là bạn đang cố gắng biên dịch một gói phần mềm trên Linux từ một nhà phát triển khác. Các trang web chia sẻ mã phổ biến như Github cho phép bạn xem và tải xuống mã nguồn(view and download the source code) cho các gói, sau đó bạn có thể biên dịch. Bạn có thể sử dụng GIT , hệ thống kiểm soát phiên bản phổ biến, để tải các tệp nguồn xuống PC của mình.

Bạn cũng có thể tải trực tiếp mã nguồn từ các dự án mã nguồn mở như VLC . Chúng thường có định dạng tệp nén(compressed file format) như TAR.GZ , bạn có thể giải nén tệp này tại terminal bằng lệnh tar . Ví dụ: chạy lệnh tar -xzvf source.tar.gz sẽ giải nén một tệp tarball có tên source.tar.gz .

Khi đã có mã nguồn và được trích xuất trên PC Linux , bạn có thể chuyển sang giai đoạn chuẩn bị tiếp theo trước khi bắt đầu biên dịch gói của mình.

Cài đặt Build-Essential trên Linux(Installing Build-Essential On Linux)

Các công cụ và phần mềm có trong gói xây dựng cần(build-essential) thiết cho bất kỳ loại phần mềm nào biên dịch trên hệ điều hành Linux , bất kể ngôn ngữ lập trình mã nguồn của bạn là gì. 

Là một gói thiết yếu, bản dựng cần thiết (hoặc các gói có tên tương tự) phải có sẵn trong kho phần mềm cho bản phân phối Linux của bạn . Phần tương đương của build-Essential trên các bản phân phối dựa trên Arch Linux được gọi là base-devel , bao gồm nhiều công cụ giống nhau.

Hướng dẫn cài đặt cho build-Essential cũng sẽ khác nhau, tùy thuộc vào bản phân phối Linux của bạn . Ví dụ: trên Ubuntu và các hệ điều hành dựa trên Debian, bạn có thể cài đặt bản dựng cần thiết bằng cách mở cửa sổ đầu cuối và nhập sudo apt cài đặt bản dựng bản dựng(sudo apt install build-essential) .

Việc cài đặt build-essential cũng sẽ cài đặt các phụ thuộc của nó, như gói g++ . Khi quá trình này hoàn tất, bạn có thể chuyển sang cấu hình gói nguồn Linux của mình trước khi biên dịch nó.

Chạy lệnh cấu hình(Run The Configure Command)

Mã nguồn cho các gói chính thường chứa một tập lệnh cấu hình(configure) . Chạy tập lệnh này sẽ kiểm tra bản phân phối Linux của bạn để tìm các gói thiết yếu mà mã nguồn của bạn cần để có thể biên dịch chính xác.

Để chạy tập lệnh cấu hình, hãy nhập thư mục cho mã nguồn đã giải nén của bạn bằng lệnh cd . Từ đó, nhập ./configure vào thiết bị đầu cuối, nhấn enter để chạy.

Nếu tập lệnh cấu hình phát hiện một gói bị thiếu, nó sẽ thông báo cho bạn về những việc cần làm ở cuối tập lệnh. Ví dụ: trước khi biên dịch trình phát phương tiện VLC , tập lệnh cấu hình hiển thị đang chạy ở trên đã phát hiện rằng ngôn ngữ lập trình Lua chưa được cài đặt.

Trong một số trường hợp, bạn vẫn có thể biên dịch và định cấu hình các gói phần mềm, ngay cả khi tập lệnh cấu hình đã phát hiện thấy một gói hoặc tính năng bị thiếu. Tập lệnh cấu hình cho VLC (được hiển thị ở trên) đã đưa ra giải pháp cho các gói ngôn ngữ lập trình Lua bị thiếu bằng cách đề xuất bạn chạy lại nó với cờ –disable-lua để bỏ qua nó.

Bạn sẽ cần cài đặt bất kỳ gói nào bị thiếu mà tập lệnh cấu hình đã phát hiện hoặc sử dụng bất kỳ cờ tắt nào được đề xuất để bỏ qua những lỗi này trước khi bạn có thể tiếp tục.

Nếu tập lệnh cấu hình đã hoàn thành mà không có (hoặc chỉ có lỗi nhỏ), thì tệp cấu hình đã(makefile) định cấu hình cho gói của bạn sẽ được tạo. Điều này tạo ra các hướng dẫn để biên dịch gói của bạn, cho phép bạn chuyển sang giai đoạn biên dịch phần mềm cuối cùng. 

Cài đặt các gói phụ thuộc bị thiếu(Install Missing Dependency Packages)

Tập lệnh cấu hình xác định một cách hữu ích bất kỳ gói nào mà bản phân phối Linux của bạn yêu cầu để có thể biên dịch và cài đặt gói phần mềm mới của bạn một cách chính xác.

Chúng có thể được xác định rõ ràng bằng thông báo lỗi tập lệnh cấu hình của bạn hoặc ngược lại thông qua quá trình chạy tập lệnh đó. Nếu thông báo lỗi không rõ ràng, hãy cuộn lại lịch sử thiết bị đầu cuối của bạn để thử và xác định gói bị thiếu.

Khi bạn biết gói bị thiếu là gì, hãy sử dụng trình cài đặt gói cho bản phân phối Linux của bạn để cài đặt nó. Ví dụ: trên Ubuntu và hệ điều hành dựa trên Debian, chạy sudo apt install package-name sẽ cài đặt một gói.

Cài đặt bất kỳ phần phụ thuộc nào bị thiếu là giai đoạn cuối cùng bạn cần hoàn thành trước khi có thể bắt đầu biên dịch và cài đặt gói phần mềm mới của mình. Khi bạn đã hoàn tất quá trình này, bạn đã sẵn sàng để bắt đầu biên dịch.

Cách biên dịch trên Linux(How to Compile on Linux)

Gói xây dựng cần thiết(build-essential) chứa make , công cụ tự động được sử dụng để bắt đầu biên dịch mã nguồn của bạn thành phần mềm mà bạn có thể chạy trên PC của mình. Nó sử dụng tệp makefile , được cấu hình và tạo bởi lệnh cấu hình(configure) trước đó , chứa các hướng dẫn cụ thể cần thiết để biên dịch gói của bạn.

Để bắt đầu biên dịch mã nguồn của bạn, hãy mở một thiết bị đầu cuối và sử dụng lệnh cd để vào đúng thư mục. Khi bạn đã sẵn sàng, hãy nhập lệnh make để bắt đầu biên dịch gói của bạn.

Quá trình này sẽ mất một chút thời gian để hoàn thành, tùy thuộc vào kích thước của gói và tài nguyên hệ thống hiện có của bạn. Nếu không có lỗi nào xuất hiện sau khi gói phần mềm của bạn đã được biên dịch, thì bạn có thể cài đặt gói phần mềm của mình.

Để thực hiện việc này, hãy nhập sudo make install trong terminal. Gói này sẽ được cài đặt trên PC Linux của bạn , sẵn sàng để bạn mở và sử dụng như bất kỳ phần mềm nào khác.

Cài đặt phần mềm mới trên Linux(Installing New Software On Linux)

Biết cách biên dịch các gói phần mềm trên Linux có thể giúp bạn cài đặt các phần mềm ít được biết đến hơn. Các hệ điều hành lớn như UbuntuDevian có kho phần mềm lớn dành cho người dùng, vì vậy nếu bạn không muốn biên dịch phần mềm của mình, hãy thử tìm và cài đặt phần mềm mới bằng trình quản lý gói.

Nếu chuyển từ Windows , bạn cũng có thể cài đặt phần mềm Windows trên Linux(install Windows software on Linux) để tiếp tục sử dụng các ứng dụng chỉ dành cho Windows yêu thích của mình.



About the author

Tôi là nhà tư vấn công nghệ với hơn 10 năm kinh nghiệm trong lĩnh vực phần mềm. Tôi chuyên về Microsoft Office, Edge và các công nghệ liên quan khác. Tôi đã làm việc trong nhiều dự án khác nhau cho cả các công ty lớn và nhỏ, và tôi cực kỳ am hiểu về các nền tảng và công cụ khác nhau hiện nay.



Related posts