Skip to content
Skip to content
Menu
Info Cafe
Info Cafe

Hoe kan ik pacman-updates terugdraaien in Arch Linux?

By admin on februari 13, 2021

Arch Linux wordt vaak geprezen om zijn vooruitstrevende software en zijn ‘rolling release’-model. We gaan dieper in op deze kenmerken in ons artikel waarin Arch Linux en Manjaro worden vergeleken. Naast deze lof heeft Arch Linux ook de reputatie instabiel te zijn. Deze reputatie komt voort uit de soms onvoorspelbare aard van ‘bleeding edge’ software. De nieuwste software van upstream ontwikkelaars kan bugs bevatten die niet zichtbaar waren tijdens de eerste tests. Als gevolg hiervan is het risico altijd aanwezig dat het updaten met de pakketbeheerder, pacman, onverwachte resultaten kan opleveren. Dit kan zijn dat een specifiek stuk software niet meer goed werkt (of helemaal niet meer) of zelfs dat meerdere applicaties of Desktop Omgevingen niet meer werken zoals verwacht.

Het regelmatig back-uppen van uw GNU/Linux systeem is de beste bescherming om de hoofdpijn die dit kan veroorzaken te beperken. Er is geen tekort aan backup oplossingen voor Linux; enkele van de backup opties zijn dd, BackupPC, rsync, Fsarchiver, rsnapshot. Als je een regelmatige backup oplossing hebt, kan het geruststellend zijn om te weten dat je van een backup kan herstellen in het geval dat een pacman update problemen veroorzaakt, maar het zou ideaal zijn als je dat niet hoefde te doen. In dit artikel laten we zien hoe u pacman updates kunt terugdraaien in Arch Linux. Er zijn twee manieren om dit te doen. De ene manier is via de pacman cache; de andere is door gebruik te maken van de Arch Linux Archive. We zullen beide methoden bespreken.

In deze tutorial leert u:

  • Hoe je Arch Linux updates terugdraait met de pacman cache
  • Hoe je Arch Linux updates terugdraait met het Arch Linux Archive
Hoe je pacman updates terugdraait in Arch Linux

Hoe je pacman updates in Arch Linux

Softwarevereisten en gebruikte conventies

Softwarevereisten en Linux-opdrachtregelconventies
Categorie Eisen, Conventies of gebruikte softwareversie
Systeem Arch Linux
Software pacman
Anders Privileged toegang tot uw Linux systeem als root of via het sudo commando.
Voorwaarden # – vereist dat gegeven Linux commando’s worden uitgevoerd met root privileges, ofwel direct als een root gebruiker of door gebruik te maken van sudo commando
$ – vereist dat gegeven Linux commando’s worden uitgevoerd als een gewone nietbevoorrechte gebruiker

Hoe Arch Linux-updates terug te draaien met behulp van de pacman cache

Elke keer dat u een pakket installeert of update pacman slaat dit pakket op in /var/cache/pacman/pkg/pacman laat u ook toe om een pakket manueel te upgraden via de -U vlag. Het blijkt dat deze upgrade methode ook kan worden gebruikt om een oudere versie van het pakket te installeren, waardoor het pakket effectief wordt gedowngraded.

Een enkel pakket downgraden

Voorstel dat u net uw systeem hebt geupdate via het $ sudo pacman -Syu commando en dan opent u firefox om op het web te surfen, alleen om te beseffen dat het nu crasht terwijl het dat voorheen nooit deed. U kunt firefox gemakkelijk downgraden naar de vorige versie die u geïnstalleerd had met de pacman cache.

Overloop eerst de firefox pakketten die in /var/cache/pacman/pkg/

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

U zou de laatste versie moeten zien waarnaar u net hebt geupdate en alle eerdere versies die u had geïnstalleerd. In ons voorbeeld is dit de uitvoer die we ontvangen.

/var/cache/pacman/pkg/firefox-81.0.1-1-x86_64.pkg.tar.zst/var/cache/pacman/pkg/firefox-83.0-2-x86_64.pkg.tar.zst

We weten dat we een upgrade hebben uitgevoerd van versie 81.0.1-1 naar 83.0-2 en vermoeden dat dit een probleem kan hebben veroorzaakt. Om deze theorie te testen, rolt u gewoon terug naar de versie 81.0.1-1 met behulp van de pacman cache met het volgende commando.

$ sudo pacman -U /var/cache/pacman/pkg/firefox-81.0.1-1-x86_64.pkg.tar.zst
Op zoek naar Linux Systeem Analist !
Het UAF Geophysical Institute, is op zoek naar een ervaren Linux Systems Analyst om hun team van research cyber infrastructuur analisten en ingenieurs te versterken. LOCATIE: Fairbanks, Alaska, USA
APPLY NOW

Je ziet de volgende output.

loading packages...warning: downgrading package firefox (83.0-2 => 81.0.1-1)resolving dependencies...looking for conflicting packages...Packages (1) firefox-81.0.1-1Total Installed Size: 206.76 MiBNet Upgrade Size: -0.13 MiB:: Proceed with installation? 

Als u y typt om verder te gaan, hebt u de eerder geïnstalleerde versie van firefox geïnstalleerd en kunt u deze openen om te zien of het probleem is opgelost.

Meerdere pakketten downgraden

Met de pacman cache kunt u meerdere pakketten downgraden door ze als aparte argumenten mee te geven aan pacman -U. Bijvoorbeeld

$ sudo pacman -U /var/cache/pacman/pkg/firefox-81.0.1-1-x86_64.pkg.tar.zst /var/cache/pacman/pkg/alsa-lib-1.2.3.2-1-x86_64.pkg.tar.zst /var/cache/pacman/pkg/adwaita-icon-theme-3.38.0-1-any.pkg.tar.zst

Bij het downgraden van meerdere pakketten kan het handig zijn om naar de /var/cache/pacman/pkg directory te gaan, zodat u niet het volledige pad hoeft in te typen van elk pakket dat u wilt downgraden.

$ cd /var/cache/pacman/pkg$ sudo pacman -U firefox-81.0.1-1-x86_64.pkg.tar.zst alsa-lib-1.2.3.2-1-x86_64.pkg.tar.zst adwaita-icon-theme-3.38.0-1-any.pkg.tar.zst

Waarschijnlijk begint u te denken dat het downgraden van een groot aantal pakketten op deze manier op zijn zachtst gezegd vervelend zou zijn. U kan in situaties terechtkomen waar u vermoedt dat 20 verschillende packages een probleem zouden kunnen veroorzaken of u hebt geen idee welke packages een probleem veroorzaken en u wil ze allemaal downgraden. Deze scenario’s zijn misschien beter geschikt om de Arch Linux Archive te gebruiken, maar laten we eerst enkele voorbeelden bekijken van situaties waarin we een oplossing kunnen hacken om de pacman cache voor dit doel te gebruiken, zonder elke pakketnaam handmatig te moeten intypen.

Downgraden van meerdere gerelateerde pakketten met een vergelijkbare naam

Stel dat u uw machine net hebt opgestart nadat u hem een paar weken niet hebt gebruikt. U gaat uw systeem updaten via het $ sudo pacman -Syu commando en u merkt dat al uw qt gebaseerde applicaties niet correct functioneren, maar alle andere apps wel. Omdat veel van de basis qt pakketten en bibliotheken qt in de bestandsnaam hebben en het zeer onwaarschijnlijk is dat niet-qt pakketten dit in de bestandsnaam hebben, is het mogelijk om alleen de qt updates terug te draaien van de laatste systeem upgrade.

Wanneer je een update uitvoert met pacman wordt er een record bijgehouden van wat je precies hebt geupgrade en wanneer in /var/log/pacman.log. Hieronder volgt een voorbeeldregel.

 upgraded qt5-xmlpatterns (5.15.1-1 -> 5.15.2-1)

We kunnen dit log gebruiken om ons te helpen alleen de qt pakketten systematisch te downgraden door te zoeken naar de regels in de pacman.log die pakketten tonen die qt bevatten in de bestandsnaam en die vandaag zijn geupgrade en daar wat tekst manipulatie op uit te voeren en ze dan als argumenten te geven aan pacman -U in een for loop. Het onderstaande voorbeeld gaat ervan uit dat de huidige datum 30 november 2020 is. Pas de datum aan als u er gebruik van wilt maken.

$ grep -a qt /var/log/pacman.log | grep 2020-11-30 > /tmp/qtupdates.txt$ awk '{print $4}' /tmp/qtupdates.txt > /tmp/lines1;awk '{print $5}' /tmp/qtupdates.txt | sed 's/(/-/g' > /tmp/lines2$ paste /tmp/lines1 /tmp/lines2 > /tmp/lines$ tr -d "" < /tmp/lines > /tmp/packages$ cd /var/cache/pacman/pkg/$ for i in $(cat /tmp/packages); do sudo pacman --noconfirm -U "$i"*; done

Downgraden van alle geüpgrade pakketten

Stel dat u uw machine net hebt opgestart nadat u hem een paar weken niet hebt gebruikt. U gaat uw systeem updaten via het $ sudo pacman -Syu commando en dan merkt u dat uw hele systeem abnormaal traag aanvoelt. U heeft geen idee welke pakket-update dit zou kunnen veroorzaken en u wilt ze alle 512 tijdelijk terugzetten naar de vorige versie die u geïnstalleerd had.
Dit kost eigenlijk niet meer moeite dan het vorige voorbeeld. U voert dezelfde stappen uit, behalve dat u het pacman.log bestand gebruikt om de namen te krijgen van alle pakketten die vandaag zijn ge-upgrade, niet alleen de pakketten die in een bepaald naamgevingsschema passen. Dit zal werken voor eender welk aantal pakketten, in wezen functionerend als een grote undo-knop voor pacman. Het voorbeeld hieronder gaat ervan uit dat de huidige datum 30 november 2020 is. Pas de datum aan als u er gebruik van wilt maken.

$ grep -a upgraded /var/log/pacman.log| grep 2020-11-30 > /tmp/lastupdates.txt $ awk '{print $4}' /tmp/lastupdates.txt > /tmp/lines1;awk '{print $5}' /tmp/lastupdates.txt | sed 's/(/-/g' > /tmp/lines2$ paste /tmp/lines1 /tmp/lines2 > /tmp/lines$ tr -d "" < /tmp/lines > /tmp/packages$ cd /var/cache/pacman/pkg/$ for i in $(cat /tmp/packages); do sudo pacman --noconfirm -U "$i"*; done

Hoe Arch Linux updates terug te draaien met het Arch Linux Archief

Het Arch Linux Archief is een officieel archief dat snapshots bevat van vorige versies van pakketten. Deze worden opgeslagen in de packages directory van de site. Er zijn twee potentiële voordelen aan het gebruik van de Arch Linux Archive boven de pacman cache. Ten eerste, de pacman cache neemt ruimte in op uw lokale opslag. Daarom zullen sommige mensen ervoor kiezen om regelmatig hun cache te wissen. Ten tweede, het Archief maakt alle eerdere versies van een pakket beschikbaar, niet alleen de versies die u eerder had geïnstalleerd.

Een enkel pakket downgraden

Om een pakket te downgraden naar een eerdere versie, zoekt u het eerst op in het archief en gebruikt dan pacman om te downgraden naar die specifieke versie. Als we ons vorig voorbeeld van het downgraden van Firefox herbekijken, zijn we niet langer beperkt tot het downgraden van versie 83.0-2 naar 81.0.1-1. Zoals u kunt zien in het firefox-archief, hebben we ook de mogelijkheid om te downgraden naar de volgende tussenliggende versies: 81.0.2-1, 82.0-1, 82.0.2-1, 82.0.3-1, 83.0-1.

Om te downgraden naar Firefox versie 83.0-1 met behulp van de Arch Linux Archive voer het volgende commando in.

$ sudo pacman -U https://archive.archlinux.org/packages/f/firefox/firefox-83.0-1-x86_64.pkg.tar.zst

Downgrade alle pakketten naar een eerdere datum

Een andere optie die u ter beschikking heeft wanneer u de Arch Linux Archive gebruikt, is om alle pakketten op uw systeem terug te zetten naar de “huidige” versie die op een specifieke datum in de repositories bestond. Dit kan nuttig zijn als je nu problemen ondervindt met je Arch systeem, maar je herinnert je dat je die problemen een paar weken geleden nog niet had. In het volgende voorbeeld zullen we alle pakketten downgraden naar 10 november 2020. Om de packages te downgraden moeten we pacman laten weten dat we de archief repo willen gebruiken door /etc/pacman.d/mirrorlist te bewerken. Alvorens wijzigingen aan te brengen in het bestand, is het aangeraden om er een back-up van te maken zodat we gemakkelijk kunnen terugkeren naar het huidige mirrorlist bestand wanneer we dat zouden willen.

$ sudo cp /etc/pacman.d/mirrorlist{,.bak}

Volgende, bewerk uw /etc/pacman.d/mirrorlist bestand met de editor van uw keuze:

$ sudo vim /etc/pacman.d/mirrorlist

en verander de inhoud in het volgende.

### Arch Linux repository mirrorlist### Created to downgrade to Nov 10th 2020Server=https://archive.archlinux.org/repos/2020/10/11/$repo/os/$arch

Nu om het downgraden van de pakketten af te ronden voert u het volgende commando in.

$ sudo pacman -Syyuu

Conclusie

In dit artikel hebben we twee methoden onderzocht om pakketten terug te draaien of te downgraden in Arch Linux, de pacman cache en de Arch Linux Archive. Het zijn beide krachtige methodes die hun eigen voordelen hebben. Laten we kort stilstaan bij die voordelen als we dit artikel afsluiten.

Het belangrijkste voordeel van het gebruik van de pacman cache is dat er geen internetverbinding of downloaden van pakketten voor nodig is, omdat het lokaal wordt opgeslagen. Hierdoor verloopt het downgraden sneller. Een ander voordeel is dat de pacman cache versies bevat van pakketten die u eerder op uw systeem hebt geïnstalleerd, daarom hebt u hoogstwaarschijnlijk een idee van hoe goed ze werkten. Een derde voordeel is dat u meerdere pakketten kunt downgraden zonder configuratiebestanden te hoeven bewerken.

Het belangrijkste voordeel van het gebruik van de Arch Linux Archive is dat u kunt downgraden naar elke versie van een pakket, ongeacht of u het ooit eerder had geïnstalleerd. Een ander voordeel is dat het geen lokale opslagruimte in beslag neemt, dus als je bijna geen opslagruimte meer hebt en je pacman cache wil leegmaken, weet je dat er nog een andere optie is om te downgraden. Een derde voordeel is dat je gemakkelijk elk pakket op je systeem kunt downgraden door slechts één configuratiebestand te bewerken.

Berichtnavigatie

21 Day Fix Maaltijdplan A | Eetplan A 1.200-1.499 Calorieën
Voel je je liever bij het vissen?

Geef een reactie Antwoord annuleren

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Meest recente berichten

  • 9 Beste Vitaminen en Supplementen voor honden voor een betere gezondheid
  • CD-rentevoorspelling voor 2021: Tarieven blijven waarschijnlijk laag, maar kunnen later in het jaar stijgen
  • Hoe de documentatie van het kwaliteitsmanagementsysteem te structureren
  • Chronische bekkenpijn en prostatitis: symptomen, diagnose en behandeling
  • Mixed Berry Crisp
  • Koolhydraatarm chocoladepuddingrecept
  • Gezonde spelletjes en activiteiten voor kinderen | UIC Online Informatics
  • De voordelen van borstvoeding na één jaar
  • Is het veilig om koffiedik door de gootsteen te spoelen | Atomic Plumbing
  • Onze werkzaamheden

Meta

  • Inloggen
  • Berichten feed
  • Reacties feed
  • WordPress.org

Archief

  • maart 2021
  • februari 2021
  • januari 2021
  • december 2020
  • DeutschDeutsch
  • NederlandsNederlands
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • PolskiPolski
  • 日本語日本語
©2021 Info Cafe | WordPress Theme by SuperbThemes.com