Cài đặt phần mềm Linux sử dụng AppImage

Submitted by superthin on 05/03/2020 - 09:12:17
Biểu tượng AppImage

Bạn là một người sử dụng Linux, từng rất vui mừng vì không như thế giới Windows, mọi thứ thú vị vì không có những cái được xem là độc quyền, bảo thủ. Nó còn thú vị ở chỗ cài đặt phần mềm đôi lúc trở thành một việc không đơn giản. Nào là cài đặt từ các gói như DEB, RPM, từ lệnh như apt, yum, cài bằng cách biên dịch mã nguồn thành binary,... Bài viết này giới thiệu một cách mới: dùng AppImage.

Các gói như DEB, RPM tiện cho người dùng nhưng bất tiện cho nhà phát triển

Nếu bạn là một người viết phần mềm cho Linux, thông thường bạn sẽ dùng máy của bạn để viết mã, biên dịch thành gói cài đặt để trước tiên là bạn sử dụng, sau đó phân phối cho người khác. Rắc rối ở chỗ là nếu chỉ phát hành dạng mã nguồn sẽ không có nhiều người sử dụng phần mềm của bạn bởi việc cài đặt từ mã nguồn quá rắc rối, chỉ mấy người sử dụng có am hiểu hoặc nhà phát triển như bạn mới làm được.

Bạn sẽ tạo ra gói cài đặt gọi là binary, nhưng rồi bạn thấy có nhiều distro quá, có những distro bạn chưa sử dụng bao giờ, việc loay hoay tìm hiểu để tạo ra gói cài đặt cho distro đó làm bạn mất nhiều thời gian. Mỗi khi lên phiên bản mới, bạn lại phải biên dịch lại cho nhiều distro, việc đó gây nản lòng.

Do vậy, các gói như DEB, RPM rất thuận tiện cho người dùng lại là việc gây nản lòng cho lập trình viên.

Snap có vẻ thú vị nhưng lại nằm trong một chiếc hộp

Snap (Snappy package manager) được hãng Canonical tạo ra giúp cho việc tìm kiếm, tải về, cài đặt phần mềm trên các distro Linux thuận tiện, dễ dàng hơn so với phương pháp dùng gói DEB, RPM hay từ mã nguồn. Gần đây, các gói snap bắt đầu nhiều lên, được nhiều người sử dụng và có vẻ hứa hẹn một tương lai khi chỉ cần sử dụng snap thì dù bạn có đang sử dụng distro nào cũng có thể cài đặt phần mềm dễ dàng.

Snap vẫn thú vị với người sử dụng hơn với lập trình viên bởi vì họ phải kiểm tra kỹ các chức năng của phần mềm khi tạo ra gói snap, việc đó không phải lúc nào cũng thực hiện được bởi vì có những chức năng chỉ khi sử dụng thực tế mới phát hiện ra. Như vậy, nếu phát hành gói snap, người lập trình sẽ phải gấp đôi công đoạn test phần mềm.

Nhưng snap lại có một cái đang còn tồn tại đó là nó gần như nằm trong một chiếc hộp riêng, không đụng chạm đến file hệ thống trên distro của bạn. Từ đó dẫn đến phần mềm được cài đôi lúc có những chức năng hoạt động không đúng với thiết kế, đòi hỏi bạn phải chạy thêm những lệnh để hỗ trợ hoặc loay hoay chỉnh chọc gì đó. Nếu phần mềm là có nhập văn bản tiếng Việt, khi bạn cài bằng snap, có khi bạn không thể gõ tiếng Việt, làm đủ kiểu bạn vẫn chào thua.

Giờ là lúc AppImage thể hiện vai trò của mình

AppImage là một giải pháp để cài đặt phần mềm khác, cái này thuận tiện cho người lập trình và cho cả người dùng. Người lập trình không phải để ý chi tiết đến việc họ sẽ phải biên dịch phần mềm phục vụ cho một distro cụ thể nào, AppImage gần như độc lập với distro. Họ chỉ cần tạo ra gói AppImage thì người dùng các distro khác nhau đều có thể cài đặt thành công.

Điều thú vị của AppImage so với snap đó là nó không mặc định nằm trong chiếc hộp, vì thế mà có những phần mềm cần tương tác sâu xuống hệ thống thì vẫn chạy bình thường, không bị hỏng chức năng như snap. Việc gỡ bỏ cũng không tác động nhiều vào hệ thống nên người dùng muốn gỡ bỏ không gặp rắc rối như khi gỡ bỏ DEB, RPM.

Nói như vậy, không có nghĩa là AppImage hoàn toàn ưu điểm và là cái tốt nhất, nó vẫn có hạn chế như nó bao gồm cả mớ thư viện gộp vào nên kích thước sẽ lớn, chiếm nhiều dung lượng ổ cứng khi cài, cũng chưa trưởng thành nên còn nhiều lỗi.

Các phần mềm được phát hành dưới dạng AppImage có thể chạy trên các distro thông dụng:

Các bản phân phối Linux thông dụng
Các distro Linux thông dụng

Khi tải về một phần mềm dưới dạng AppImage, để cài đặt nó, bạn chỉ cần làm các bước:

Gõ lệnh: sudo chmod +x tên-file.AppImage

Gõ lệnh: sudo ./tên-file.AppImage

Cửa sổ, thông báo về việc cài đặt sẽ hiện lên để bạn thao tác, chẳng mấy chốc mà cái xong phần mềm.

Hy vọng với bài viết này bạn biết thêm một cách cài đặt phần mềm cho hệ điều hành họ Linux của bạn./.