Cách hạ cấp các gói trên Linux
Thật khó chịu khi bạn nâng cấp một gói trên Linux chỉ để phát hiện ra rằng phiên bản cập nhật bị hỏng và không hoạt động bình thường. Trong những trường hợp như vậy, bạn có thể muốn xóa hoàn toàn gói khỏi hệ thống của mình, nhưng có một cách tốt hơn để khắc phục sự cố này.
Trên hệ điều hành dựa trên Linux, bạn có thể dễ dàng chuyển sang các phiên bản cũ hơn của gói bằng trình quản lý gói mặc định. Đây là cách hạ cấp các gói trên Linux và tại sao bạn có thể cần phải làm như vậy.
Mục Lục
Tại sao phải hạ cấp gói?
Đôi khi, khi các nhà phát triển phát hành một phiên bản mới của một gói, nó sẽ có sẵn ngay lập tức để người dùng tải xuống. Hầu hết các bản phát hành phần mềm mới thường chưa được kiểm tra và chứa các lỗi cũng như sự cố cần sửa.
Mặc dù việc người dùng kiểm tra phần mềm mới nhất và báo cáo lỗi là hoàn toàn bình thường trong thế giới mã nguồn mở, nhưng thay vào đó, bạn có thể chọn để có một hệ thống ổn định bằng cách hạ cấp gói cập nhật xuống phiên bản đã thử nghiệm cũ hơn của nó. Điều này chủ yếu xảy ra với các bản phân phối Linux tiên tiến như Arch Linux hoặc các dẫn xuất của nó. Mặt khác, nhiều bản phân phối Linux cung cấp các bản phát hành ổn định chỉ chứa các gói được thử nghiệm và đáng tin cậy trong kho của chúng. Ubuntu và Debian (ổn định) là hai ví dụ điển hình.
Tính năng hạ cấp rất hữu ích, đặc biệt khi bạn đang sử dụng Linux để cung cấp năng lượng cho một hệ thống cần ổn định ở cốt lõi của nó. Ví dụ, một máy chủ. Bạn không thể thỏa hiệp về độ ổn định và tin tưởng vào một gói chưa được kiểm tra khi bạn đang cung cấp tài nguyên cho hàng trăm hoặc hàng nghìn người dùng đồng thời trên web. Trong những tình huống như vậy, chuyển một gói sang phiên bản ổn định cũ hơn của nó là cách khả thi nhất để duy trì sự ổn định của hệ thống.
Cách hạ cấp các gói trên Linux
Mỗi bản phân phối Linux đều có một trình quản lý gói mặc định cho phép bạn chuyển sang các phiên bản gói cũ hơn bằng cách hạ cấp chúng. Trên các bản phân phối dựa trên Debian, bạn có trình quản lý gói APT, trong khi các bản phân phối dựa trên Arch Linux và RHEL đi kèm với Pacman và RPM, tương ứng.
Trên Ubuntu và Debian
Hạ cấp một gói trên Ubuntu và các bản phân phối dựa trên Debian khác cũng dễ dàng như quá trình cài đặt. Tất cả những gì bạn cần biết là tên gói và số phiên bản cụ thể mà bạn muốn cài đặt.
Giả sử bạn đã biết gói nào cần hạ cấp, bạn có thể lấy thông tin chi tiết về phiên bản gói bằng lệnh sau:
apt list -a packagename
Ví dụ: hãy tìm các phiên bản gói có sẵn cho GNOME Terminal:
apt list -a gnome-terminal
Đầu ra:
Đầu ra sẽ hiển thị tất cả các phiên bản của gói được chỉ định hiện có trong kho. Ghi lại giá trị thứ hai (“3.36.1.1-1ubuntu1“trong trường hợp này) trong đầu ra tương ứng với phiên bản bạn muốn chuyển sang và chỉ định nó ở định dạng lệnh sau:
sudo apt install packagename=version
Để hạ cấp gnome-terminal gói lên phiên bản “3.36.1.1-1ubuntu1” cũ hơn:
sudo apt install gnome-terminal=3.36.1.1-1ubuntu1
Đầu ra:
APT sẽ cảnh báo bạn về quá trình hạ cấp. Xác nhận thay đổi bằng cách nhập “Y” và nhấn đi vào.
Bạn có thể xác minh xem APT đã hạ cấp gói thành công hay chưa bằng cách sử dụng –phiên bản lá cờ:
gnome-terminal --version
Nếu đầu ra hiển thị số phiên bản cũ hơn bản phát hành mới nhất, thì gói đã được hạ cấp thành công và bạn có thể tiếp tục sử dụng nó như bình thường.
Hạ cấp các gói trên Arch Linux
Trên Arch Linux, bạn có thể chuyển sang phiên bản cũ hơn của gói đã được cài đặt trước đó bằng cách sử dụng bộ đệm Pacman đã lưu. Bộ đệm gói là một thư mục trên hệ thống dựa trên Arch lưu trữ mọi gói bạn tải xuống trên máy của mình. Các gói không bị xóa khỏi bộ đệm gói trừ khi được chỉ định.
Dọn dẹp bộ nhớ cache của gói là một cách tốt để giải phóng một số dung lượng trên máy tính để bàn Linux của bạn.
Để thực hiện việc này, hãy tìm kiếm tệp gói đã lưu trong bộ nhớ cache được lưu trữ trong / var / cache / pacman / pkg danh mục. Sau đó, sử dụng lệnh pacman để cài đặt phiên bản cũ hơn của gói như sau:
sudo pacman -U /var/cache/pacman/pkg/packagename-old.tar.zst
Hạ cấp các gói từ bộ nhớ cache không phải là lựa chọn tốt nhất, vì nó đòi hỏi bạn phải tìm kiếm rất nhiều. Để dễ dàng hơn, bạn có thể sử dụng lệnh find để thực hiện tìm kiếm.
Một lựa chọn tốt hơn nữa là sử dụng tiện ích hạ cấp. Nó không có sẵn trên Arch Linux theo mặc định và bạn sẽ phải tải xuống từ AUR.
yay -S downgrade
Để hạ cấp một gói trên các bản phân phối dựa trên Arch bằng cách sử dụng hạ cấp, hãy phát hành lệnh sau:
sudo downgrade package
Đầu ra:
Đầu ra sẽ liệt kê tất cả các phiên bản gói có sẵn để cài đặt. Chọn từ các tùy chọn và nhập số tương ứng với phiên bản gói để tiếp tục cài đặt gói cũ hơn.
Trên Fedora và RHEL
Trên các bản phân phối Linux dựa trên RPM như Fedora, CentOS và Red Hat Enterprise Linux, có một tính năng tích hợp trong trình quản lý gói YUM cho phép người dùng hạ cấp các gói.
Để hạ cấp một gói bằng YUM, chỉ cần chạy:
sudo yum downgrade packagename
Ví dụ: để hạ cấp gói trình duyệt Firefox:
sudo yum downgrade firefox
Đầu ra:
Lệnh nói trên sẽ chuyển sang phiên bản mới nhất trước đó của gói.
Để hạ cấp một gói xuống một phiên bản cụ thể, trước tiên, bạn cần biết số phiên bản chính xác. Đối với điều này, bạn có thể truy cập Fedora Koji Web và tìm kiếm gói. Nó sẽ liệt kê tất cả các phiên bản có sẵn của gói.
Tất cả các phiên bản của một gói có thể không có sẵn trong kho lưu trữ chính thức. Trong những trường hợp như vậy, bạn có thể tải xuống gói RPM từ Fedora Koji Web và cài đặt thủ công bằng lệnh rpm.
Chỉ cần ghi lại tên gói đầy đủ và chỉ định nó trong hạ cấp lệnh như sau:
sudo yum downgrade pkgnamewithversion
Để hạ cấp nhiều gói trong một lệnh, chỉ cần cung cấp tên gói được phân tách bằng dấu cách:
sudo yum downgrade package1 package2 package3
Duy trì sự ổn định trên máy tính để bàn Linux của bạn
Tương tự như Windows và các hệ điều hành khác, các gói trên Linux có những lỗi, thậm chí có thể phá vỡ hệ thống của bạn nếu không được chăm sóc. Tuy nhiên, những vấn đề như vậy nhanh chóng được giải quyết nhờ cộng đồng mã nguồn mở hữu ích kiểm tra các gói bị hỏng này và báo cáo lỗi cho nhà phát triển.
Nếu bạn đã quyết định cài đặt một hệ điều hành ổn định, thì bạn có thể loại trừ Arch Linux và các bản phân phối dựa trên Arch khác khỏi danh sách. Đây hầu hết là những bản phân phối có tính năng xuất huyết và cung cấp các bản cập nhật cho các gói ngay sau khi phiên bản mới nhất được phát hành.
Nếu bạn muốn có trải nghiệm máy tính để bàn ổn định hơn với Linux, hãy xem xét cài đặt các bản phân phối cung cấp các bản phát hành LTS như Ubuntu, Debian, Linux Mint hoặc openSUSE Leap.
Đọc tiếp
Giới thiệu về tác giả