Không giống như các trình quản lý gói khác, Snap có các thuộc tính quản lý phần phụ thuộc (dependency) tốt. Tuy nhiên, các gói Snap thường ất nặng và tiêu tốn nhiều dung lượng đĩa. May mắn là việc dọn dẹp chúng rất dễ dàng.
Tại sao các gói Snap lại nặng?
Quản lý các phần phụ thuộc của phần mềm từ lâu đã là một điểm yếu của các trình quản lý gói Linux. Phụ thuộc phần mềm có nghĩa là khi một phần mềm dựa vào các gói hoặc thư viện khác để hoạt động bình thường.
Snap đã giới thiệu một cách triệt để để xử lý các phần phụ thuộc trên Linux: đóng gói phần mềm và các phần phụ thuộc của nó trong một gói duy nhất được gọi là snap.
Tuy nhiên, việc kết hợp tất cả các phụ thuộc và phần mềm cốt lõi trong một gói duy nhất dẫn đến các gói phần mềm lớn hơn so với các trình quản lý gói khác như APT, Pacman, v.v.
Một lý do khác cho các gói Snap cồng kềnh là các snaps được thiết kế để khôi phục về phiên bản trước sau khi cập nhật phần mềm. Cả phiên bản phần mềm hiện tại và trước đó đều được lưu trữ trên máy tính Linux, đồng nghĩa với việc các snaps tiêu tốn rất nhiều dung lượng ổ đĩa.
Đây là cách bạn có thể dọn dẹp các gói Snap và giải phóng dung lượng đĩa quý giá.
1. Loại bỏ các gói cũ
Như đã nói, một tính năng độc đáo của các gói Snap là khả năng dễ dàng quay lại phiên bản trước của bất kỳ gói phần mềm nào đã được cài đặt qua Snap. Điều này là do bất cứ khi nào bạn cập nhật gói Snap lên phiên bản mới, phần mềm cũ vẫn được giữ trên máy tính.
Để liệt kê tất cả các gói Snap đã cài đặt bao gồm các phiên bản khôi phục của chúng, sử dụng lệnh sau:
snap list --all
Như bạn có thể thấy, một số gói được liệt kê hai lần. Ví dụ: gói canonical-livepatch có hai phiên bản, một phiên bản bị vô hiệu hóa (disabled) và một phiên bản khác đang hoạt động. Phiên bản bị vô hiệu hóa là phiên bản trước của gói này mà bạn có thể quay lại. Nó không được sử dụng, chỉ đơn thuàn chiếm dụng dung lượng đĩa.
Để xóa các phiên bản gói Snap trước đó hoặc đã bị vô hiệu hóa, bạn có thể sử dụng số Rev. Trong trường hợp này, số Rev của gói canonical-livepatch bị vô hiệu hóa là 229, vì vậy bạn có thể chạy lệnh sau để xóa gói này:
sudo snap remove canonical-livepatch --revision=229
Hãy nhớ thay thế tên gói và số sửa đổi trong lệnh trên để xóa bất kỳ gói nào bạn muốn.
2. Xóa các gói Snap không sử dụng
Thỉnh thoảng, bạn nên liệt kê tất cả các snap được cài đặt trên máy tính bằng lệnh sau:
sudo snap list
Trong đầu ra, tìm bất kỳ gói nào bạn không sử dụng và xóa chúng bằng lệnh:
sudo snap remove package_name
Thường xuyên theo dõi dung lượng ổ đĩa mà các gói đang tiêu thụ bằng cách sử dụng lệnh du . Snaps chủ yếu được lưu trữ trong thư mục snap trong thư mục chính của bạn.
du -h ~/snap
3. Loại bỏ các gói phụ thuộc không sử dụng
Mặc dù Snap rất giỏi trong việc quản lý các phần phụ thuộc, nhưng trong một số trường hợp, nó cài đặt nhiều phần phụ thuộc hơn mức cần thiết, dẫn đến các gói chiếm quá nhiều dung lượng ổ đĩa.
Để kiểm soát chi tiết các phụ thuộc phần mềm, bạn nên sử dụng trình quản lý gói mặc định của bản phân phối. Bạn có thể sử dụng các lệnh sau để xóa các gói không sử dụng. Chúng sẽ tạo một cây phụ thuộc và loại bỏ bất kỳ gói phụ thuộc nào mà hệ thống của bạn không cần.
Trên các bản phân phối Linux dựa trên Debian:
sudo apt autoremove
Trên các bản phân phối dựa trên RHEL:
sudo dnf autoremove
Trên các bản phân phối Linux dựa trên Arch:
sudo pacman -Rns $(pacman -Qdtq)
4. Sử dụng Trình quản lý gói khác nếu có thể
Snaps rất tuyệt vời, nhưng nếu bạn đang sử dụng máy có dung lượng ổ đĩa hạn chế, bạn nên sử dụng trình quản lý gói khác như APT, Pacman hoặc DNF.
Trước tiên, hãy xóa gói bằng lệnh Sudo snap remove package_name rồi cài đặt lại gói bằng APT hoặc trình quản lý gói mặc định của bạn.
Trên các bản phân phối Linux dựa trên Debian:
sudo apt install tên_gói
Trên RHEL, hãy chạy:
sudo dnf install tên_gói
Trên các bản phân phối Linux dựa trên Arch:
sudo pacman -S tên_gói
Hãy nhớ thay thế tên_gói trong lệnh bằng tên gói thực tế.
Lưu ý rằng một số gói phần mềm chỉ có dạng gói Snap. Vì vậy, ngay cả khi bạn sử dụng trình quản lý gói mặc định trong nền, nó vẫn sẽ sử dụng Snap để cài đặt. Ví dụ như trình duyệt Firefox trên Ubuntu. Ngay cả khi bạn sử dụng APT, nó sẽ cài đặt gói Firefox Snap.
Tìm hiểu ngay chương trình học công nghệ thông tin trực tuyến tại FUNiX ở đây:
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/clean-up-snap-packages-on-linux/











Bình luận (0
)