Hạ cấp: Hoàn nguyên về phiên bản trước của gói phần mềm

Hạ cấp gói trên Linux

Điều bình thường là luôn cập nhật các gói phần mềm để có thêm các phiên bản cập nhật của chúng. Thông thường, các nhà phát triển cố gắng rằng với sự xuất hiện của các phiên bản mới, chúng ngày càng tốt hơn. Nhưng đó không phải là luôn luôn như vậy. Đôi khi các phiên bản trước của gói có thể ổn định hơn, hoạt động tốt hơn vì một số lý do hoặc thậm chí người dùng thích phiên bản trước khi cập nhật hơn vì nó có một số thứ mà gói mới không còn triển khai nữa.

Nếu đó là trường hợp của bạn, trong trường hợp này hướng dẫn chúng tôi sẽ chỉ cho bạn cách bạn có thể hạ cấp của bất kỳ gói nào, nghĩa là khôi phục bản cập nhật và cài đặt phiên bản trước đó trên hệ thống của bạn. Bằng cách đó, bạn sẽ không gặp vấn đề gì nếu các phiên bản mới đã khiến bạn thất vọng. Vâng, chúng ta hãy bắt đầu!

Vì không có phương pháp chung cho tất cả các bản phân phối, tôi sẽ chỉ ra cách nó có thể được thực hiện với trình quản lý gói phổ biến nhất. Nhân tiện, nếu bạn sử dụng các phương pháp khác như YaST, Synaptic, v.v., các thủ tục cũng có thể thực hiện được, nhưng bằng đồ họa và trực quan hơn nhiều. Ở đây tôi sẽ giải thích các phương pháp thông qua bảng điều khiển, đó là những phương pháp tạo ra sự nhầm lẫn nhất ...

apt-get: Debian / Ubuntu và các dẫn xuất

Đối với tất cả phân phối dựa trên các gói DEB và với trình quản lý gói apt-get, bạn có thể dễ dàng thực hiện thay đổi từ phiên bản hiện đại hơn sang phiên bản cũ hơn. Ví dụ: chúng ta sẽ lấy gói firefox làm tham chiếu, tưởng tượng rằng chúng ta muốn quay lại từ phiên bản hiện tại về phiên bản trước đó. Trong trường hợp đó, bạn có thể thực hiện các lệnh sau:

  • Bạn có thể làm được thông tin gói hàng firefox (hoặc bất cứ thứ gì bạn cần, bạn chỉ cần thay đổi tên thành tên thích hợp trong trường hợp của mình), chẳng hạn như các phiên bản trước đã được cài đặt, v.v., bạn có thể sử dụng lệnh sau:
sudo apt-cache showpkg firefox

  • Một khi bạn biết rõ phiên bản trước bạn muốn cài đặt, bạn có thể sử dụng lệnh sau để cài đặt gói bạn muốn. Trong trường hợp của chúng tôi, trong lệnh trước, chúng tôi đã nhận được một gói có tên firefox = 57.3-build1-0ubuntu1, là gói mà chúng tôi muốn cài đặt:
sudo apt-get install firefox=57.3-build1-0ubuntu1

  • Sau khi thực hiện việc này, bạn đã cài đặt phiên bản trước của chương trình này. Bạn biết gì nếu không bạn chỉ định phiên bản Với APT, bạn cài đặt phiên bản mới nhất có sẵn trong kho của gói đó. Trong trường hợp này, chúng tôi đã chỉ ra phiên bản cụ thể.

Hãy nhớ rằng có thể hai gói phiên bản khác nhau cùng tồn tại trên GNU / Linux mà không có vấn đề gì. Vì vậy, nếu bạn muốn có hai phiên bản khác nhau của cùng một gói, bạn có thể làm điều đó ...

pacman: Arch Linux và các dẫn xuất

Trong trường hợp bạn có Arch Linux, sau đó bạn sẽ phải đối phó với pacman với tư cách là người quản lý gói. Công cụ này cũng cho phép bạn quay lại phiên bản trước nếu muốn. Cách thực hiện hơi khác một chút nhưng đơn giản như sau:

  • Để tìm kiếm en bộ nhớ cache của gói các phiên bản có sẵn, bạn có thể kiểm tra hồ sơ. Để lọc kết quả chỉ cho các gói firefox trong trường hợp của chúng tôi (nhưng bạn đã biết rằng bạn có thể thay thế tên của gói cho gói bạn muốn ...), bạn có thể sử dụng:
ls /var/cache/pacman/pkg/ | grep firefox

  • Bây giờ, khi bạn biết phiên bản mình muốn, bạn có thể sử dụng lệnh sau để cài đặt nó:
sudo pacman -U /var/cache/pacman/pkg/firefox-57.3.pkg.tar.xz

zypper: SUSE / openSUSE và các dẫn xuất

Trên thế giới SUSE, bạn có thể sử dụng trình quản lý gói zypper. Đây cũng là một cách dễ dàng để lấy gói trong phiên bản trước. Trong trường hợp của chúng tôi, với Mozilla Firefox, nó sẽ như thế này:

  • Điều đầu tiên là tham khảo bộ nhớ cache của gói theo cách tương tự như cách chúng tôi đã làm với Arch, với lệnh sau để biết phiên bản trước của gói có sẵn:
cat /var/log/zypp/history | grep firefox

  • Khi phiên bản trước đã được định vị, bạn có thể cài đặt phiên bản đó bằng cách sử dụng zypper như thế này:
sudo zypper -in -f firefox_57.3

dnf: Red Hat / CentOS / Fedora và các dẫn xuất

Cuối cùng, trên các bản phân phối dựa trên Fedora yum hoặc dnf sẽ được sử dụng. Để hoàn nguyên bản cập nhật gói và quay lại phiên bản trước khi hạ cấp, bạn có thể sử dụng các lệnh sau:

  • Trong trường hợp này, điều đầu tiên sẽ là xem những phiên bản trước của gói bạn đang cố gắng cài đặt trong kho DNF. Đối với ví dụ của chúng tôi, bạn có thể sử dụng lệnh này để lấy danh sách:
sudo dnf --showduplicates list firefox

  • Bây giờ, khi bạn đã xem qua tên của phiên bản bạn muốn cài đặt, bạn chỉ cần sao chép nó từ dữ liệu được đưa ra trong đầu ra của lệnh trước đó và dán nó vào lệnh tiếp theo. Ví dụ:
<pre>sudo dnf install firefox-57.3.fc28</pre>

Bạn cũng có thể dùng ảnh chụp nhanh hoặc ảnh chụp nhanh để quay lại các phiên bản trước. Đối với điều đó, bạn có thể sử dụng các lệnh sau, những gì chúng sẽ làm tương ứng là lấy lịch sử, sau đó lấy thông tin về một giao dịch từ lịch sử với ID của nó (bất cứ điều gì bạn muốn trong trường hợp của mình), và sau đó hoàn nguyên về trạng thái của giao dịch đó chỉ ra ID (trong ví dụ 32 của chúng tôi):

sudo dnf history

sudo dnf history info 32

sudo dnf history undo 32

Tôi hy vọng hướng dẫn này đã giúp bạn giải quyết các vấn đề mà phiên bản mới của gói phần mềm đã gây ra cho bạn trong bản phân phối yêu thích của bạn. Bạn đã biết rằng bạn có thể rời khỏi nhận xét với câu hỏi hoặc đề xuất...


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   vô danh dijo

    Trong gentoo, phiên bản của gói không còn được mong muốn sẽ bị che, mới bằng cách đặt nó một cách rõ ràng vào tệp /etc/portage/package.mask/package.mask.
    Ví dụ: nếu chúng tôi không muốn firefox mới nhất, là 69.0.1, chúng tôi có thể nói như thế này:

    = www-client / firefox-69.0.1
    hoặc nếu chúng tôi không muốn bất kỳ phiên bản nào cao hơn trong các bản cập nhật trong tương lai
    > = www-client / firefox-69.0.1

    Sau đó, thực hiện hạ cấp sẽ như thế này:
    # Nổi lên -av1 firefox
    Đây là các gói sẽ được hợp nhất, theo thứ tự:
    Tính toán phụ thuộc ... xong!
    [ebuild UD] www-client / firefox-68.1.0
    Bạn có muốn hợp nhất các gói này không? [Có / Không] và

    UD cho biết Cập nhật Hạ cấp

    1.    Isaac dijo

      Xin chào, cảm ơn bạn rất nhiều vì sự đóng góp này. Tôi quyết định đặt những bản phân phối đó vì chúng được sử dụng nhiều nhất, nhưng rõ ràng là có những bản phân phối tuyệt vời như Slackware, Gentoo và những bản khác mà tôi không nói đến. Đôi khi rất khó để chọn cái này hay cái kia, và bạn luôn phải chọn và bỏ đi một số ...
      Một lời chào!

  2.   Alex dijo

    Có cách nào để thực hiện việc này với nhiều gói cùng một lúc không?