Một gói (package) đột nhiên hoạt động bất thường sau khi hệ thống trên máy Arch của bạn được cập nhật? Có lẽ bạn đã cài đặt phiên bản mới nhất của hạt nhân Linux nhưng sau đó lại không thể khởi động máy tính. Dù lý do là gì, bạn nên ngăn các gói đã hoạt động ổn định nâng cấp lên phiên bản không ổn định mới nhất của chúng.
Pacman, trình quản lý gói mặc định trên các bản phân phối dựa trên Arch, cho phép bạn bỏ qua việc nâng cấp gói chỉ bằng cách chỉnh sửa tệp pacman.conf. Bài viết này sẽ hướng dẫn bạn cách ngăn một số gói nhất định được nâng cấp trên Arch Linux, cả vĩnh viễn và tạm thời.
Tại sao ngăn nâng cấp gói trên Arch Linux?
Arch Linux là một bản phân phối phát hành theo kiểu cuốn chiếu, có nghĩa là các bản cập nhật mới được phát hành ngay sau khi các nhà phát triển gói đưa ra một bản cập nhật. Điều này khiến các nhà phát triển có ít thời gian hơn để kiểm thử các gói, do đó làm tăng khả năng xảy ra lỗi và các vấn đề khác trong code.
Nếu bạn biết chắc rằng một phiên bản gói nhất định đã được thử nghiệm và ít có khả năng bị hỏng, bạn có thể ngăn không cho nó được nâng cấp. Điều này đảm bảo bạn có thể tận hưởng sự ổn định của gói đã thử nghiệm đến khi nào bạn muốn, trong khi vẫn có thể lựa chọn cập nhật gói đó sau này.
Bạn cũng có thể gặp sự cố với hệ thống của mình sau khi nâng cấp một gói nào đó. Trong những tình huống như vậy, tốt hơn hết bạn nên dùng Pacman để hạ cấp nó xuống phiên bản ổn định trước đó và ngăn chặn việc nâng cấp thêm.
Cách ngăn một gói được cập nhật
Để ngăn nâng cấp gói trên Arch Linux, bạn sẽ chỉnh sửa một tệp có tên pacman.conf. Đây là tệp cấu hình chính cho Pacman, trình quản lý gói Arch Linux.
Bắt đầu bằng việc mở tệp pacman.conf bằng trình soạn thảo văn bản Linux mà bạn chọn.
sudo vim /etc/pacman.conf
Kéo xuống cho đến khi bạn tìm thấy nhận xét: “Pacman sẽ không nâng cấp các gói được liệt kê trong IgnorePkg và các thành viên của IgnoreGroup.” (“Pacman won’t upgrade packages listed in IgnorePkg and members of IgnoreGroup.”)
Bỏ ghi chú (uncomment) dòng bên dưới và thêm các gói bạn không muốn nâng cấp sau dấu bằng ( = ).
IgnorePkg = nano
Để thêm nhiều gói, chỉ cần liệt kê chúng và phân tách hai gói bằng dấu cách.
IgnorePkg = nano vim linux
Lệnh nói trên sẽ ngăn không cho nano, vim và nhân Linux hiện tại nâng cấp thêm. Lưu và thoát Vim khi bạn chỉnh sửa xong tệp.
Khi bạn thử nâng cấp một gói bị bỏ qua theo cách thủ công (sử dụng pacman -S packagename), Pacman sẽ thông báo cho bạn rằng gói đó là một phần của ignorePkg và hỏi bạn có muốn nâng cấp nó hay không. Sau đó, bạn có thể chọn ghi đè câu lệnh ignorePkg nếu muốn.
Để bỏ qua toàn bộ nhóm gói khỏi việc nâng cấp, hãy thêm câu lệnh IgnoreGroup (Bỏ qua Nhóm) trong tệp pacman.conf.
IgnoreGroup = kde-applications
Khi phiên bản không ổn định của gói được sửa, bạn có thể loại bỏ giới hạn nâng cấp bằng cách xóa tên gói khỏi các câu lệnh IgnorePkg và IgnoreGroup.
Tạm thời loại trừ một gói khỏi bản nâng cấp hệ thống
Cấm vĩnh viễn một gói nào đó nhận bản nâng cấp có thể không phải là giải pháp tối ưu cho một số người dùng. Nếu bạn muốn bỏ qua nâng cấp gói chỉ một lần, hãy sử dụng cờ (flag) –ignore trong lệnh pacman.
Ví dụ, để ngăn cập nhật nhân Linux trong quá trình nâng cấp hệ thống:
sudo pacman -Syyu --ignore=linux
Để bỏ qua nhiều gói khỏi nâng cấp, hãy chỉ định một danh sách các gói được phân tách bằng dấu phẩy:
sudo pacman -Syyu --ignore=linux,vim,nano
Tương tự, bạn cũng có thể ngăn một số nhóm gói nhất định khỏi được nâng cấp bằng cách sử dụng cờ –ignoregroup.
sudo pacman -Syyu --ignoregroup=kde-applications
Để cập nhật gói, chỉ cần chạy lại lệnh mà không có cờ –ignore và –ignoregroup.
Linux cung cấp cho bạn toàn quyền kiểm soát hệ thống của mình
Với Linux, bạn sẽ quen dần với việc các thuộc tính (attribute) như vậy cung cấp khả năng kiểm soát chi tiết. Bạn có thể bỏ qua việc nâng cấp gói cụ thể, hạ cấp gói và thậm chí thêm gói của riêng bạn vào Kho lưu trữ người dùng Arch (Arch User Repository).
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/prevent-packages-from-getting-updated-arch-linux/
Bình luận (0
)