Jak wycofać aktualizacje Pacman w Arch Linux
- 4106
- 285
- Juliusz Janicki
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
Zastosowane wymagania i konwencje oprogramowania
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