Jak wycofać aktualizacje Pacman w Arch Linux

Jak wycofać aktualizacje Pacman w Arch Linux

Arch Linux jest często chwalony za to, że oprogramowanie Edge Edge i modelu wydania krawędzi krwawią. W naszym artykule omawiamy te funkcje w naszym artykule, porównując Arch Linux i Manjaro. Oprócz tej pochwały Arch Linux ma również reputację niestabilnej. Ta reputacja wynika z czasem nieprzewidywalnej natury krwawienia oprogramowania krawędziowego. Najnowsze oprogramowanie od programistów upstream może zawierać błędy, które nie były widoczne podczas wstępnych testów. W rezultacie ryzyko jest zawsze obecne, które aktualizuje się z menedżerem pakietów, Pacman, może przynieść nieoczekiwane wyniki. Mogą one obejmować określony oprogramowanie, które nie działa już prawidłowo (lub w ogóle) lub nawet wiele aplikacji lub środowisk stacjonarnych, które nie działają już zgodnie z oczekiwaniami.

Regularne tworzenie kopii zapasowej systemu GNU/Linux jest najlepszym zabezpieczeniem do złagodzenia bólu głowy, który może to spowodować. Nie brakuje rozwiązań tworzenia kopii zapasowych dla Linuksa; Niektóre z opcji tworzenia kopii zapasowych obejmują DD, Backuppc, Rsync, fsarchiver, rsnapshot. Jeśli masz regularne rozwiązanie do tworzenia kopii zapasowych, może być pocieszające, że możesz przywrócić z kopii zapasowej w przypadku, gdy Pacman aktualizacja spowodowała problemy, ale byłoby to idealne, gdybyś nie musiał. W tym artykule pokażemy, jak się cofnąć Pacman Aktualizacje w Arch Linux. Istnieją dwa sposoby tego osiągnięcia. Jednym sposobem jest przez pamięć podręczna Pacman; Drugi to użycie Arch Linux Archive. Omówimy obie metody.

W tym samouczku się nauczysz:

  • Jak wycofać aktualizacje Arch Linux za pomocą pamięci podręcznej Pacman
  • Jak wycofać aktualizacje Arch Linux za pomocą archiwum Arch Linux
Jak wycofać aktualizacje Pacman w Arch Linux

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Arch Linux
Oprogramowanie Pacman
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - wymaga wykonania podanych poleceń Linux jako zwykłego użytkownika niepewnego

Jak wycofać aktualizacje Arch Linux za pomocą pamięci podręcznej Pacman

Za każdym razem, gdy instalujesz lub aktualizujesz pakiet Pacman zapisuje ten pakiet w /var/cache/pacman/pkg/. Pacman pozwala także ręcznie uaktualnić pakiet za pośrednictwem -U flaga. Jak się okazuje, tej metody aktualizacji można również użyć do instalacji starszej wersji pakietu, skutecznie obniżając pakiet.

Obniżenie jednego pakietu

Załóżmy, że właśnie zaktualizowałeś swój system za pośrednictwem $ sudo pacman -syu polecenie, a następnie otwierasz Firefox przeglądać sieć, tylko po to, aby zdać sobie sprawę, że teraz się rozbija, podczas gdy nigdy wcześniej nie miał. Możesz łatwo obniżyć się Firefox do poprzedniej wersji, którą zainstalowałeś za pomocą pamięci podręcznej Pacman.

Najpierw sprawdź Firefox Pakiety wymienione w /var/cache/pacman/pkg/

$ ls/var/cache/pacman/pkg/firefox* 

Powinieneś zobaczyć najnowszą wersję, którą właśnie zaktualizowałeś, i wszelkie wcześniejsze wersje, które zainstalowałeś. W naszym przykładzie jest to wyjście, które otrzymujemy.

/var/cache/pacman/pkg/firefox-81.0.1-1-x86_64.PKG.smoła.ZST/var/cache/pacman/pkg/firefox-83.0-2-x86_64.PKG.smoła.Zst 

Wiemy, że uaktualniliśmy z wersji 81.0.1-1 Do 83.0-2 i podejrzewaj, że może to spowodować problem. Aby przetestować tę teorię, po prostu cofnij się do wersji 81.0.1-1 Korzystanie z pamięci podręcznej Pacman z następującym poleceniem.

$ sudo pacman -u/var/cache/pacman/pkg/firefox -81.0.1-1-x86_64.PKG.smoła.Zst 


Zobaczysz następujące dane wyjściowe.

Pakiety ładowania… Ostrzeżenie: obniżający się pakiet Firefox (83.0-2 => 81.0.1-1) Rozwiązanie zależności… szukanie sprzecznych pakietów… pakiety (1) Firefox-81.0.1-1 Całkowity zainstalowany rozmiar: 206.76 MIB Net Upgrade Rozmiar: -0.13 MIB :: kontynuuj instalację? [T/N] 

Po wpisaniu y Aby kontynuować, będziesz mieć wcześniej zainstalowaną wersję Firefox zainstalowane i może go otworzyć, aby sprawdzić, czy problem został rozwiązany.

Obniżenie wielu pakietów

Korzystając z pamięci podręcznej Pacman, możesz obniżyć wiele pakietów, dostarczając je jako osobne argumenty Pacman -u.
Na przykład

$ sudo pacman -u/var/cache/pacman/pkg/firefox -81.0.1-1-x86_64.PKG.smoła.ZST/var/cache/pacman/pkg/alsa-lib-1.2.3.2-1-x86_64.PKG.smoła.ZST/var/cache/pacman/pkg/adwaita-icon-them-3.38.0-1-Any.PKG.smoła.Zst 

Podczas obniżenia wielu pakietów może być korzystne, aby przejść do /var/cache/pacman/pkg katalog, abyś nie musiał pisać na pełnej ścieżce każdego pakietu, który chcesz obniżyć.

$ cd/var/cache/pacman/pkg $ sudo pacman -u Firefox -81.0.1-1-x86_64.PKG.smoła.ZST ALSA-LIB-1.2.3.2-1-x86_64.PKG.smoła.ZST Adwaita-icon-Theme-3.38.0-1-Any.PKG.smoła.Zst 

Najprawdopodobniej zaczynasz myśleć, że obniżenie dużej liczby pakietów w ten sposób byłoby co najmniej żmudne. Możesz znaleźć się w sytuacjach, w których podejrzewasz, że 20 różnych pakietów może potencjalnie powodować problem lub nie masz pojęcia, jakie pakiety powodują problem i chcesz obniżyć je wszystkie. Te scenariusze mogą być lepiej dostosowane do korzystania z Arch Linux Archive, Ale zanim omówimy, zbadajmy kilka przykładów sytuacji, w których moglibyśmy zhakować rozwiązanie, aby użyć pamięć podręczna Pacman W tym celu, bez konieczności ręcznego pisania każdej nazwy pakietu.

Obniżenie wielu powiązanych pakietów z podobnym schematem nazewnictwa

Załóżmy, że właśnie zasilałeś maszynę po nie użyciu go przez kilka tygodni. Przechodzisz do aktualizacji systemu za pośrednictwem $ sudo pacman -syu polecenie i zauważasz, że wszystkie aplikacje oparte na QT nie działają poprawnie, ale wszystkie inne aplikacje są. Ponieważ ma wiele podstawowych pakietów i bibliotek QT Qt W nazwie pliku i jest bardzo mało prawdopodobne, aby wszelkie pakiety inne niż QT miały to w nazwie pliku, możliwe jest wycofanie się tylko z aktualizacji QT z ostatniej aktualizacji systemu.

Za każdym razem, gdy wykonujesz aktualizację za pomocą Pacman zapis dokładnie tego, co zaktualizowałeś i kiedy jest trzymany /var/log/pacman.dziennik. Poniżej znajduje się przykładowy wiersz.

[2020-11-30T05: 39: 16-0500] [ALPM] Uaktualniono QT5-XMLPATTERNS (5.15.1-1 -> 5.15.2-1) 


Możemy użyć tego dziennika, aby pomóc nam systematycznie obniżyć tylko pakiety QT, szukając linii w Pacman.dziennik te pokazują pakiety zawierające QT w nazwie pliku, które zostały dziś zaktualizowane i wykonujące na nich manipulacje tekst Pacman -u w pętli. Poniższy przykład zakłada, że ​​bieżąca data to 30 listopada 2020 r. Dostosuj odpowiednio datę, jeśli chcesz z niej skorzystać.

$ grep -a qt/var/log/pacman.Log | GREP 2020-11-30> /tmp /qtupdates.txt $ awk 'print $ 4' /tmp /qtupdates.txt> /tmp /line1; awk 'print $ $' /tmp /qtupdates.txt | SED 's/(/ -/g'>/tmp/line2 $ wklej/tmp/line1/tmp/line2>/tmp/line $ tr -d "[: puste:]"/tmp/pakiety $ cd/var/var/ Cache/Pacman/Pkg/$ dla I in $ (cat/tmp/pakiety); do sudo pacman --Noconfirm -u "$ i"*; gotowe 

Obniżenie wszystkich zaktualizowanych pakietów

Załóżmy, że właśnie zasilałeś maszynę po nie użyciu go przez kilka tygodni. Przechodzisz do aktualizacji systemu za pośrednictwem $ sudo pacman -syu polecenie, a następnie zauważysz, że cały system wydaje się nienormalnie powolny. Nie masz pojęcia, jaka aktualizacja pakietu może to spowodować, i chcesz tymczasowo cofać wszystkie 512 z poprzedniej wersji, którą zainstalowałeś.

W rzeczywistości nie wymaga więcej wysiłku niż poprzedni przykład. Wykonujesz te same kroki, z wyjątkiem tego, że używasz Pacman.dziennik plik, aby usunąć nazwy ze wszystkich pakietów, które zostały zaktualizowane dzisiaj, a nie tylko te, które pasują do konkretnego schematu nazewnictwa. Będzie to działać dla dowolnej liczby pakietów, zasadniczo funkcjonującego jako duży przycisk cofania Pacman. Poniższy przykład zakłada, że ​​bieżąca data to 30 listopada 2020 r. Dostosuj odpowiednio datę, jeśli chcesz z niej skorzystać.

$ grep -a aktualizowana/var/log/pacman.Log | GREP 2020-11-30> /TMP /LASTUPDATES.txt $ awk 'print $ 4' /tmp /lastUpdates.txt> /tmp /line1; awk 'print $ $' /tmp /lastUpdates.txt | SED 's/(/ -/g'>/tmp/line2 $ wklej/tmp/line1/tmp/line2>/tmp/line $ tr -d "[: puste:]"/tmp/pakiety $ cd/var/var/ Cache/Pacman/Pkg/$ dla I in $ (cat/tmp/pakiety); do sudo pacman --Noconfirm -u "$ i"*; gotowe 

Jak wycofać aktualizacje Arch Linux za pomocą archiwum Arch Linux

Archiwum Arch Linux to oficjalne archiwum, które zawiera migawki poprzednich wersji pakietów. Są one zapisane w katalogu pakietów witryny. Istnieją dwie potencjalne korzyści z korzystania z Arch Linux Archive nad pamięć podręczna Pacman. Po pierwsze pamięć podręczna Pacman Zajmuje miejsce na lokalnym magazynie. W rezultacie niektóre osoby zdecydują się regularnie usuwać pamięć podręczną. Po drugie, archiwum udostępnia wszystkie poprzednie wersje pakietu, a nie tylko te, które wcześniej zainstalowałeś.

Obniżenie jednego pakietu

Aby obniżyć pakiet do poprzedniej wersji, najpierw znajdziesz go w archiwum, a następnie użyj Pacman Aby obniżyć się do tej konkretnej wersji. Jeśli ponownie zbadamy nasz poprzedni przykład obniżenia Firefox, Nie ograniczamy się już do obniżania się z wersji 83.0-2 Do 81.0.1-1. Jak widać z archiwum Firefox, mamy również opcję obniżenia się do następujących wersji pośrednich: 81.0.2-1, 82.0-1, 82.0.2-1, 82.0.3-1, 83.0-1.

Obniżyć się do Firefox wersja 83.0-1 używając Arch Linux Archive Wprowadź następujące polecenie.

$ sudo pacman -u https: // archiwum.Archlinux.org/pakiety/f/Firefox/Firefox-83.0-1-x86_64.PKG.smoła.Zst 


Obniżyć wszystkie pakiety do poprzedniej daty

Kolejna opcja, którą masz dostęp podczas korzystania z Arch Linux Archive jest przywrócenie wszystkich pakietów w systemie do „bieżącej” wersji, która istniała w repozytoriach w określonym terminie. Może to być przydatne, jeśli masz teraz problemy ze swoim systemem łukowym, ale pamiętasz, że kilka tygodni temu nie miałeś tych problemów. W poniższym przykładzie obniżymy wszystkie pakiety do 10 listopada 2020 r.
Aby obniżyć pakiety, będziemy musieli poinformować Pacmana, że ​​chcemy użyć repozytorium archiwum, edytując /itp./Pacman.D/MirrorList.
Przed wprowadzeniem jakichkolwiek zmian w pliku zaleca się go poparcia, abyśmy mogli łatwo powrócić do bieżącego Lustra plik, kiedy chcielibyśmy.

$ sudo cp /itp. /Pacman.D/MirrorList ,.bak 

Następnie edytuj swój /itp./Pacman.D/MirrorList Plik za pomocą wybranego edytora:

$ sudo vim /etc /pacman.D/MirrorList 

i zmień treść na następujące.

### Arch Linux Repository MirrorList ### Utworzono, aby obniżyć się do 10 listopada 2020 server = https: // archiwum.Archlinux.Org/Repos/2020/10/11/$ Repo/OS/$ Arch 

Teraz, aby sfinalizować obniżenie poziomu pakietów, wprowadź następujące polecenie.

$ sudo pacman -syyuu 

Wniosek

W tym artykule zbadaliśmy dwie metody cofania lub obniżenia pakietów w Arch Linux, pamięć podręczna Pacman i Arch Linux Archive. Oba są potężnymi metodami, które mają własne zalety. Zastanówmy się nad tymi zaletami, gdy kończymy ten artykuł.

Główna korzyść z korzystania z pamięć podręczna Pacman jest to, że nie wymaga połączenia internetowego ani pobierania pakietów, ponieważ jest przechowywane lokalnie. W rezultacie proces obniżenia jest szybszy. Kolejną korzyścią jest to, że pamięć podręczna Pacman Zawiera wersje pakietów, które wcześniej zainstalowałeś w swoim systemie, dlatego najprawdopodobniej masz pojęcie o tym, jak dobrze pracują. Trzecią korzyścią jest to, że możesz obniżyć wiele pakietów bez edytowania plików konfiguracyjnych.

Główna korzyść z korzystania z Arch Linux Archive Czy możesz obniżyć się do dowolnej wersji pakietu, niezależnie od tego, czy kiedykolwiek go wcześniej zainstalowałeś. Kolejną korzyścią jest to, że nie zajmuje on lokalnej pamięci, więc jeśli nie ma mało pamięci i chcesz wyczyścić pamięć podręczną Pacman, wiesz, że istnieje kolejna realna opcja obniżenia. Trzecią korzyścią jest to, że możesz łatwo obniżyć każdy pakiet w systemie, edytując pojedynczy plik konfiguracyjny.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Instalacja Manjaro Linux
  • Przewodnik dla początkujących Manjaro Linux
  • Najlepszy Linux Distro dla programistów
  • Manjaro Linux Windows 10 Dual Boot
  • Manjaro Linux vs Arch Linux
  • Dodanie repozytorium krawędzi krwawiących do Kali Linux
  • Jak zaktualizować i aktualizować Manjaro Linux
  • Utwórz bootabilne USB Manjaro Linux
  • Zainstaluj Manjaro w VirtualBox