Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe
allgemeine Kategorie => Installation & Einrichtung => Thema von: Andreas am 15. Oktober 2019, 07:54:56

Titel: aktuelles Update-Script für Arch basierte Systeme (Stand 0.1.17 vom 03.09.2020)
Beitrag von: Andreas am 15. Oktober 2019, 07:54:56

Hallo liebe Mitstreiter,

hier (https://www.suletuxe.de/pb4a/) findet ihr die jeweils aktuelle Version meines Scriptes "swupdate" - im Ordner "swupdate-<Version>_<vom_Datum>"

Ich werde es immer, wenn ich etwas verbessert habe, aktualisieren.

Update vom 03.09.2020:
- Fehler bei der Behandlung des "...existiert im Dateisystem..." - Problems beseitigt


Update vom 30.06.2020:
- eine nicht automatisch auflösbare Abhängigkeit zwischen zwei Standard-Repo-Paketen wird erkannt. Der User wird darüber informiert und bekommt die Möglichkeit den Konflikt händisch aufzulösen


Update vom 26.06.2020:
- eine nicht automatisch auflösbare Abhängigkeit zwischen einem Standard-Repo-Paket und einem AUR-Paket wird erkannt und automatisch ausgelassen. Der User wird darüber informiert und kann den Konflikt dann händisch auflösen


Update vom 02.06.2020:
- Beseitigung eines weiteren Problems bei nicht-Erreichbarkeit eines Repositories


Update vom 26.05.2020:
- Beseitigung kleiner Fehler
- das Script wird ab sofort zum Download angeboten - nicht mehr hier im Forum. Ihr findet es im entsprechenden Ordner mit der jeweils aktuellen Versionsnummer im Downloadbereich (https://www.suletuxe.de/pb4a/)


Update vom 23.05.2020:
- Nach einem Update wird jetzt eine Warnung von Pacman für einen notwendigen Neustart angezeigt. Dies betrifft nicht nur Kernelupdates - es gibt noch eine ganze Reihe von Paketen bei denen ein Neustart auch dringend anzuraten ist.
- neu dazugekommen ist der Parameter --without-kernels. Wird swupdate mit diesem Parameter aufgerufen wird alles upgedatet außer den Kerneldateien (sofern dazu Updates anstehen). Der Parameter ist nicht-destruktiv: sollten keine Kernelupdates anstehen schadet er nicht.


Update vom 11.05.2020:
- Bei anstehenden / gelaufenen Kernelupdates wird ein Hinweis ausgegeben dass der Rechner neu gestartet werden sollte


Update vom 09.04.2020:
- es kann jetzt auch mehr als ein klemmendes "...Datei existiert im Dateisystem..." Problem in einem Durchlauf automatisch aufgelöst werden


Update vom 07.03.2020:
- ruft man das Script mit dem Parameter --check auf,werden verfügbare Updates angezeigt, aber kein Update ausgeführt


Update vom 08.02.2020:
- eine weitere Ursache für ein nicht-Erreichen des AUR-Datenbankservers identifiziert und eingebunden


Ihr habt ja bereits ein swupdate Script von mir auf euren Rechnern. Es befindet sich in /usr/local/bin/ . Dort befinden sich in Linux-Systemen alle "selbst erstellten" Programme oder Scripte (also solche, die NICHT mit dem System selbst ausgeliefert wurden und auch nicht mit dem Paketmanager installiert wurden). Der Vollständigkeit halber: es gibt auch noch den Ordner /usr/local/sbin/ - in dem befinden sich ebensolche Programme, aber welche, die nur der Superuser ausführen darf.
Das Script ist ein sogenanntes "Bash-Script". Dort ist in einer sehr simplen "Programmiersprache" einfach eine Aneinanderreihung von Befehlen, die ihr auch ebensogut auf der Konsole selbst eintippen könntet, hintereinandergereiht. Ihr könnt euch das Script mit einem Texteditor ansehen (aber Obacht: nicht "draufklicken" - dann wird es ausgeführt wenn es bereits Ausführungsrechte hatte! Ihr wollt es jetzt ja ansehen / öffnen). Geeignet ist jeder Texteditor (egal ob auf der Konsole oder in der grafischen Umgebung). Auf der Konsole würde ich den "mc" empfehlen, in der grafischen Oberfläche den "kate".
Das Script gehört "root" - und nur root darf es verändern oder löschen / ersetzen.

Das folgende Vorgehen ist seit dem 26.05.2020 obsolet und wird nur noch zur Information hier belassen!!
Wenn ihr das Script von dieser Seite auf eurem System "installieren" wollt schlage ich folgenden Weg vor:
  • Startet den Texteditor "kate"
  • kopiert den gesamten (!!) Text aus dem grauen Fenster unten in den leeren Texteditor (kontrolliert insbesondere, ob die erste und die letzte Zeile vollständig kopiert wurde)
  • speichert die Datei unter dem Namen "swupdate" irgendwo in eurem Heimatverzeichnis ab (ich gehe jetzt mal vom Ordner "Dokumente" aus)
  • Optional: sichert das alte Script, damit ihr es bei Problemen wieder herstellen könnt. Das geht z.B. mit cp /usr/local/bin/swupdate /root/swupdate. Wohin ist die Sicherheitskopie gegangen? Ihr könnt das natürlich auch wieder mit dem mc machen...


  • Aktuell gilt nur noch dieser Punkt:

    • ladet das Script von unserer Downloadseite herunter (Link siehe unten). Speichert es auf eurem PC (ich gehe hier vom Pfad ~/Downloads/ aus)
    • Führt die folgende Befehlszeile aus: sudo rm -f /usr/local/bin/swupdate; sudo cp ~/Downloads/swupdate /usr/local/bin/swupdate; sudo chown root:root /usr/local/bin/swupdate; sudo chmod 755 /usr/local/bin/swupdate Das waren insgesamt vier Befehle! Könnt ihr die Zeile in die vier einzelnen Befehle zerlegen? Vielleicht könnt ihr ja mal versuchen herauszubekommen, was jeder einzelne Befehl tut? Vielleicht können wir so beim nächsten Treffen in Sachen "Konsole" beginnen? ::) Das würde mich sehr freuen! Man kann die Datei auch mit dem mc kopieren und die Rechte ändern, ebenso den Besitzer / die Gruppe zuweisen...

    • Jetzt seid ihr fertig und beim nächsten Aufruf von "swupdate" wird der neue Befehl verwendet.

      Aktuell werden folgende Probleme erkannt und entweder automatisch gelöst oder dem Nutzer Lösungsfragen gestellt:

      • es ist keine Internetverbindung vorhanden (Meldung an User)
      • einer der Arch-Repository-Server ist nicht erreichbar (automatische Lösung: erneuter Versuch unter Auslassung des betreffenden Servers)
      • eine im Dateisystem bereits vorhandene Datei verhindert ein Update eines Paketes (automatische Lösung: die Datei wird durch das neue Paket überschrieben)
      • eine Abhängigkeit kann nicht aufgelöst werden (automatische Lösung: das Paket wird vom Update ausgenommen)
      • ein Paket steht in einem Konflikt mit einem anderen (dem User wird das Problem zur Entscheidung vorgelegt)
      • die Verbindung zum AUR-Server konnte nicht aufgebaut werden (automatische Lösung: es wird noch neunmal versucht, den Server zu erreichen)
      • yay kann sich nicht selbst updaten (automatische Lösung: der AUR-cache wird als root gelöscht)
      • die Gültigkeits-Prüfung ist fehlgeschlagen (automatische Lösung: die Prüfsummen werden neu erstellt)

      • Und hier das Script:
        Zum Downloadbereich (https://www.suletuxe.de/pb4a/)

        LG
        Andreas


Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.