Centos 7 nach 8 InPlace upgrade

Centos 8 ist nun seit einigen Wochen veröffentlicht.

Leider wurde hier auf das leapp Paket verzichtet welches ein inplace upgrade von RHEL 7 nach RHEL 8 erlaubt.

Während es generell zu empfehlen ist solche release Upgrades mit einer Neuinstallation zu verbinden, werde ich hier einen Ansatz umschreiben welcher es ermöglicht das Upgrade direkt durchzuführen.

! Achtung !

Diese Anleitung hat keine Garantie zu funktionieren, wird nicht unterstützt und generell eine schlechte Idee.

Vorbereitung:

Aktualisiere den Host auf die neusten Pakete:
yum update
Installiere dnf
yum -y install dnf yum-utils
und benutze package-cleanup --orphans --leaves um alte Pakete die nicht benötigt werden zu entfernen.

Danach starte neu um sicherzugehen dass alles noch funktioniert.

Das Upgrade

Zuerst beende alle Dienste die auf dem Server laufen (z.b. MySQL)
Nun entferne yum mit dnf remove "yum*"
und update die Centos Release Version mit dnf install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm .
Benutze die selbe Methode um alle anderen Repositories wie EPEL oder RPMFusion auf die CentOS 8 Version zu aktualisieren, und kontrolliere danach die Repository URLs in /etc/yum.repos.d/ (elrepo z.b. schreibt das el7 fest in die URL rein und muss von Hand auf el8 umgeschrieben werden)

Jetzt bereinigen wir den dnf cache und aktualisieren alles:
dnf clean all
dnf --releasever=8 --allowerasing distro-sync


Dieser befehl wird aller Wahrscheinlichkeit zu einem Transaction check error: führen.
Hier ist es die einfachste Möglichkeit das entsprechende Paket zu entfernen und später wieder zu installieren. (in meinem Fall musste ich pycairo entfernen, wenn man den Standard kernel von centos verwendet wir dieser auch entfernt werden müssen)

Wenn der distro sync funktioniert hat muss man die Änderungen an den configdateien sich anschauen und möglichst übernehmen.
Dies geht mit rpmconf -a

Falls man vor der Installation den alten Kernel entfernt hatte, sollte man nun sicherstellen dass dieser wieder installiert ist: dnf install kerne-core

Danach sollte man auch die minimalen dependencies von centos installieren: dnf groupinstall  "Minimal Install"
Hierbei musste ich vorher erst das Verzeichniss /etc/yum löschen damit die Installation von yum funktioniert.

Vor dem finalen Neustart sollte man kontrollieren ob die /boot/grub/grub2.cfg auch die richtigen Kernel enthält.
Sollte dies nicht der fall sein kann es helfen in der /etc/default/grub den Parameter GRUB_ENABLE_BLSCFG auf false zu setzen und die Datei mit grub2-mkconfig > /boot/grub2/grub.cfg neu zu erstellen.

Finaler Neustart

Nach einem Neustart ist das System ein vollständiges Centos 8 .
Ab hier kann man mit package-cleanup --orphans übrig gebliebenes entfernen und beginnen die einzelnen Dienste die man vorher verwendet hat zu testen.






Wie geht’s hier weiter?

Ursprünglich als Blog für eine Nerd-WG Geplant und später auch ein eine Art eigendoku, ist es „ein bisschen“ eingeschlafen.

Nach ein paar Jobwechseln, Umzügen und diversen anderen Änderungen habe ich jetzt mal entschlossen das ganze Ding auszumotten und mal so kleine Dinge aus meinem Technik-Alltag zu schreiben.

Hacking Alexa Skills for Fun and Gadgets

Seit Februar 2017 sind die Amazon Echos mit dem Alexa Assistenten für Jeden in Deutschland erhältlich.

Um die Auswahl an Apps (bei Alexa Skills genannt) in Deutschland zu vergrößern gibt es von Amazon fast monatlich einige Aktionen, bei denen es einige interessante Gewinne für einen Skill mit aktiven Usern gibt.

Was machen also zwei Informatiker mit genügend Spaß am Gerät?

Mit wenig Aufwand so viel Profit wie möglich erarbeiten!

„Hacking Alexa Skills for Fun and Gadgets“ weiterlesen

Gitlab Source Installation zu Gitlab-omnibus umziehen

Ich habe vor kurzem unsere gitlab Installation von einer source Installation zu gitlab-omnibus migriert.

Hintergrund hierfür ist, dass Updates mit omnibus deutlich schneller und einfacher sind. Insbesondere wenn es neue Features wie die Docker Registry gibt können diese damit deutlich flotter und fehlerfreier ausgerollt werdem.

„Gitlab Source Installation zu Gitlab-omnibus umziehen“ weiterlesen