Giải mã cách thức hoạt động của trình quản lý gói và cài đặt phần mềm trên Linux

Cài đặt phần mềm trên Linux được quản lý  bằng trình quản lý gói (package managers) và kho phần mềm (software repositories). Không giống với Windows, các phần mềm không tải từ các trang web và chạy các tệp .exe. Nếu bạn là người mới sử dụng Linux, bạn sẽ cảm thấy một chút “sốc văn hóa".

Trong khi bạn có thể biên dịch và cài đặt mọi thứ trên Linux, thì trình quản lý gói được thiết kế để làm tất cả công việc cho bạn. Sử dụng trình quản lý gói giúp cài đặt và cập nhật phần mềm dễ dàng hơn trên Windows.

Kho chứa phần mềm Ubuntu

So sánh Linux với Windows

Có rất nhiều bản phân phối Linux và trình quản lý gói. Linux được xây dựng từ phần mềm mã nguồn mở, có nghĩa là mỗi bản phân phối Linux biên dịch phần mềm của riêng nó với các phiên bản thư viện và các tùy chọn biên dịch khác nhau. Các ứng dụng biên dịch Linux thường không chạy trên tất cả các bản phân phối - không thể cài đặt do định dạng gói khác nhau. Nếu bạn tìm một trang web ứng dụng Linux, bạn sẽ thấy nhiều liên kết tải xuống cho các định dạng gói và bản phân phối Linux khác nhau. Ứng dụng có thể cho bạn biết để tải mã nguồn và tự biên dịch nó.

Các định dạng gói và bản phân phối Linux

Kho phần mềm 

Người dùng Linux thường không tải và cài đặt ứng dụng từ các trang web của ứng dụng như người dùng Windows. Thay vào đó, mỗi bản phân phối Linux chứa các kho phần mềm của riêng nó. Các kho chứa các gói phần mềm được biên dịch đặc biệt cho mỗi bản phân phối và phiên bản Linux. Ví dụ, nếu bạn đang sử dụng Ubuntu 12.04, các kho bạn sử dụng chứa các gói được biên dịch đặc biệt cho Ubuntu 12.04. Một người dùng Fedora sử dụng kho chứa đẩy các gói được biên dịch đặc biệt cho phiên bản Fedora.

Kho chứa phần mềm cho Ubuntu

Trình quản lý gói

Hãy xem trình quản lý gói như một cửa hàng ứng dụng trên điện thoại di động - ngoại trừ nó đã xuất hiện rất lâu trước khi các cửa hàng ứng dụng xuất hiện. Sử dụng trình quản lý gói để cài đặt phần mềm, nó sẽ tự động tải gói phù hợp từ các kho phần mềm được định cấu hình. Cài đặt và thiết lập ứng dụng mà không cần phải click qua các trình phù hợp hoặc tìm các tệp .exe trên các trang web. Khi có bản cập nhật, trình quản lý gói sẽ thông báo và tải xuống bản cập nhật thích hợp. Không giống như trên Windows mỗi ứng dụng đều phải có trình cập nhật riêng để nhận được cập nhật tự động, trình quản lý gói xử lý cập nhật cho tất cả các phần mềm đã được cài đặt từ các kho phần mềm.

Trình quản lý cập nhật

Package (gói) là gì?

Không giống như trên Windows, các file cài đặt ứng dụng có định dạng là .exe, Linux sử dụng các định dạng gói đặc biệt. Có nhiều loại gói - đặc biệt là DEB trên Debian và Ubuntu, RPM trên Fedora, Red Hat và các loại khác. Các gói này chứa các tệp lưu trữ gồm danh sách các tập tin. Trình quản lý gói sẽ mở tệp lưu trữ và cài đặt các tệp tin đến vị trí mà gói chỉ định. Trình quản lý gói vẫn biết các tệp thuộc về gói nào - khi bạn gỡ cài đặt một gói, nó biết chính xác tệp nào trong hệ thống thuộc về nó. Windows không hề biết về tập tin nào của ứng dụng được cài đặt - nó cho phép các trình cài đặt ứng dụng tự quản lý việc cài đặt và gỡ bỏ.

Gói cũng có thể chứa các script khi gói được cài đặt và gỡ bỏ, mặc dù chúng thường được sử dụng để thiết lập hệ thống và không tự ý di chuyển các tệp đến các vị trí khác.

Trình cài đặt gói

Cài đặt phần mềm trên Linux

Để cài đặt phần mềm trên Linux, mở trình quản lý gói, tìm kiếm phần mềm và thông báo cho trình quản lý gói cài đặt nó. Trình quản lý gói của bạn sẽ thực hiện các công việc còn lại. Các bản phân phối Linux thường cung cấp nhiều lập trình frontend cho trình quản lý gói. Ví dụ, trên Ubuntu, Ubuntu Software Center, Update Manager (trình quản lý cập nhật), ứng dụng Synaptic và lệnh apt-get sử dụng apt-get và dpkg để tải và cài đặt các gói DEB. Bạn có thể sử dụng bất kỳ tiện ích nào mà bạn thích - chúng chỉ cung cấp các giao diện khác nhau. Nói chung, bạn sẽ tìm thấy một trình quản lý gói đồ hoạ đơn giản trong các trình đơn phân phối Linux.

Cài đặt phần mềm trên Linux

Cập nhật trễ

Một điều mà người dùng Linux mới thường chú ý tới trình quản lý gói và các kho phần mềm là thường chậm trễ trong việc cập nhật các phiên bản phần mềm mới tới hệ thống của họ. Ví dụ: khi một phiên bản mới của Mozilla Firefox được phát hành, người dùng Windows và Mac sẽ có được nó từ Mozilla. Trên Linux, bản phân phối Linux phải gói phiên bản mới và đẩy nó như một bản cập nhật. Nếu bạn mở cửa sổ tùy chọn Firefox trên Linux, bạn sẽ nhận thấy rằng Firefox không có khả năng tự động cập nhật (giả sử bạn đang sử dụng phiên bản Firefox từ kho lưu trữ bản phân phối Linux).

Cập nhật Firefox

Bạn cũng có thể tự tải và cài đặt ứng dụng - ví dụ tải Firefox trực tiếp từ Mozilla - tuy nhiên điều này có thể yêu cầu biên dịch và cài đặt phần mềm từ nguồn và bạn sẽ không nhận được các lợi ích từ trình quản lý gói, chẳng hạn như cập nhật bảo mật tự động và tập trung.

Trong khi các phiên bản Firefox mới được ưu tiên bởi vì chúng chứa các bản cập nhật bảo mật, nhưng các ứng dụng khác có thể không được phân phối nhanh chóng như vậy. Ví dụ, một phiên bản mới của bộ phần mềm văn phòng của LibreOffice có thể không bao giờ được phát hành như một bản cập nhật cho phiên bản phân phối Linux hiện tại của bạn. Để tránh sự không ổn định tiềm ẩn, phiên bản này có thể không khả dụng cho đến khi chính thức phát hành bản phân phối Linux tiếp theo, ví dụ Ubuntu 12.10, khi nó trở thành phiên bản mặc định trong kho phần mềm của phân phối.

Để khắc phục sự cố này, một số bản phân phối Linux, chẳng hạn như Arch Linux, cung cấp "chu kỳ phát hành liên tục" để phiên bản mới của phần mềm được đẩy vào các kho phần mềm chính. Điều này có thể gây ra một vài vấn đề. Trong khi bạn muốn có các phiên bản mới cho các ứng dụng máy tính để bàn, nhưng bạn lại không quan tâm cập nhật các phiên bản mới của các tiện ích hệ thống cấp thấp, điều này có thể gây ra sự bất ổn định.

Ubuntu cung cấp kho backport để sử dụng các phiên bản mới hơn của các gói cho các bản phân phối cũ, mặc dù không phải tất cả các phiên bản mới đều đưa vào kho lưu trữ backports.

Các kho khác

Trong khi các bản phân phối Linux đi kèm với các kho được định cấu hình sẵn của nó, bạn cũng có thể thêm các kho khác vào hệ thống. Khi đã có kho, bạn có thể cài đặt các kho phần mềm từ kho đó và nhận các bản cập nhật bằng cách sử dụng trình quản lý gói. Kho chứa bạn thêm vào phải được thiết kế tương thích với trình quản lý gói và bản phân phối Linux.

Ví dụ, Ubuntu cung cấp rất nhiều kho lưu trữ PPA (Personal Package Archive), chứa các phần mềm do các cá nhân và các nhóm biên dịch. Ubuntu không bảo đảm sự ổn định hoặc bảo mật của các gói trong những kho này, nhưng bạn có thể thêm các kho PPA từ các cá nhân đáng tin cậy để tải các gói chưa có trong kho của Ubuntu - hoặc tải các phiên bản mới hơn của các gói hiện có.

Một số ứng dụng của bên thứ ba cũng sử dụng các kho phần mềm của riêng họ. Ví dụ, khi bạn cài đặt Google Chrome trên Ubuntu, nó sẽ thêm kho phần mềm apt riêng cho hệ thống của bạn. Điều này đảm bảo bạn nhận được cập nhật Google Chrome thông qua trình quản lý cập nhật (Update Manager) của Ubuntu và các công cụ cài đặt phần mềm chuẩn.

Nguồn phần mềm

28/07/2017 18:41:00
Nguồn:quantrimang.com