Einzelne Pakete in älteren Versionen updaten

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Einzelne Pakete in älteren Versionen updaten

      Grundlage ist, dass ich noch die 2.2rc3 einsetze. Es heißt ja bekanntermaßen: Never touch a running system. ;)

      Super, aber dennoch sind ja die Pakete wie z.B. ssl nicht unbedingt fehlerfrei bzw. bekommen neue Features und werden weiter entwickelt.
      Mit einem Update auf eine aktuellere efw-Release kann man zwar alles komfortabel auf einmal updaten, aber ein Kollege hat da so einige schlechte Erfahrungen gemacht, die mich davor abhalten, ein Netzwerk für ein paar Tage lahmzulegen:
      • Zum einen, ist meine Release (wie in einem früheren Beitrag erläutert) mit einem Fremdkernel ausgestattet. Da stellt sich resultierend die Frage: Jetzt gehts, bootet nachher mein System noch/wieder mit dem efw-Kernel? - Der Schritt bis zum Funktionieren war (zeit-)aufwendig.
      • Zum anderen gab es in der 2.2final ein Problem (wohl ein Bug), dass in dem Netz des Kollegen keine Updates von Win2008 & Win7 durchgelassen wurden. Zum Update auf die 2.3 führte der Umstand, dass in der 2.2rc3 beim VPN zu Linux-Clients die DNS-Einträge nicht übermittelt wurden - mit der 2.3 klappt es bei ihm (scheint in dem Fall an der alten vpn-Version zu liegen). Allerdings waren die Backups der 2.2 nicht in die 2.3 übertragbar und es musste alles von Hand neu eingetragen werden.
      • Vor kurzem kam es bei ihm vor, dass plötzlich die Hosts-Liste gelöscht war... :shock: :eek: (whatever)

      Es gibt also für mich genug Grund bei der lieben funktionierenden Version zu bleiben. Zumindest die Features die geboten werden - Firewall-Optionen, die meine grafischen Wünsche in die komplexe IPTABLES-Notation übersetzen (und ich bewundere jeden, der IPTABLES händisch versteht :ugeek:). Alle anderen Features sind mit etwas Wissen auch "von Hand" :geek: arbeitbar.
      So habe ich auch das openvpn an der Konsole gemanaged inklusive Zertifikatszeug und eigener CA - funktioniert prima, und die Firewall steht und Portweiterleitungen lassen sich grafisch wunderbar weiter klicken.

      Dennoch muss man auch mal das eine oder andere Paket (vielleicht sogar den Kernel) dann selbst aktualisieren, und das habe ich z.B. gerade mit openvpn getan: Vorher 2.1rc7, Jetzt 2.1rc22
      Dieses HowTo soll als Beispiel dienen, wie man den Server um Software-Pakete erweitert oder Software-Pakete aktualisiert ohne die Release zu wechseln. Man verzichtet natürlich teilweise auf die erleichternde grafische Oberfläche mit neuen Konfigurationsfeatures. Aber vor einem Release-Wechsel warte ich lieber noch ein bischen :)

      Installiert habe ich das Ganze unter /opt/local
      der Compiler-Prefix lautete dann: --prefix=/opt/local


      • Developer-Erweiterung EFW-COMMUNITY-2.2-rc3-devel-rpms.tar.gz herunterladen und entpacken
      • Quellcode

        1. rpm -iv gcc4-4.1.2-14.endian1.i586.rpm binutils-2.15.92.0.2-24.endian1.i586.rpm glibc-devel-2.3.4-2.39.endian6.i386.rpm libgomp-4.1.2-14.endian1.i586.rpm glibc-headers-2.3.4-2.39.endian6.i386.rpm glibc-kernheaders-2.4-9.1.100.EL.endian1.i386.rpm

      • /etc/profiles editieren

        Quellcode

        1. # Path manipulation
        2. PATH="/opt/local/bin:/opt/local/sbin:/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin"

      • Umgebungsvariablen für weitere Installation anpassen

        Quellcode

        1. export PATH=/opt/local/bin:$PATH
        2. export CC=gcc4


        WGET (1.12) installieren
      • bisher keins vorhanden, Dateien mussten mit scp von anderem Rechner geholt werden
      • GNU libidn downloaden, kompilieren
      • GNU wget downloaden, kompilieren

        GCC (4.4.2) aktualisieren
      • Installiertes rpm enthält nicht c++, neuere Version
      • Vorher: GNU m4, bison, flex downloaden, kompilieren (flex unter flex.sourceforge.net)
      • Für das gcc habe ich nur das gcc-core und das gcc-g++ Paket geholt
      • Zusätzlich sind noch herunterzuladen: GNU gmp-4.3.1 und mpfr (mpfr.org)

        Quellcode

        1. wget http://www.mpfr.org/mpfr-current/mpfr-2.4.1.tar.gz
        2. tar xvfz gcc-core-4.4.2.tar.gz
        3. tar xvfz gcc-g++-4.4.2.tar.gz
        4. tar xvfz gmp-4.3.1.tar.gz
        5. mv mpfr-2.4.1 gcc-4.4.2/mpfr
        6. mv gmp-4.3.1 gcc-4.4.2/gmp

      • kompilieren (braucht Zeit, bei Mehrkern multithread empfohlen, z.B.: make -j 20)
      • Umgebungsvariablen anpassen:

        Quellcode

        1. export CC=gcc


        NCURSES (5.7) installieren
      • Der gcc hatte bei der Konfiguration auch nach ncurses gesucht. Dieses Paket wird in anderen Installationen genutzt (z.B. Kernel-config)
      • GNU ncurses, texinfo downloaden, kompilieren
      • Wer möchte, kann nun nochmal den gcc neu kompilieren

        OPENVPN (2.1rc22) aktualisieren
      • Vorher muss noch lzo (oberhumer.com/opensource/lzo) heruntergeladen und kompiliert werden
      • openssl (0.9.81) herunterladen und kompilieren:

        Quellcode

        1. ./config --prefix=/opt/local --openssldir=/opt/local/openssl

      • Falls nicht schon früher geschehen: in /etc/profiles eintragen:

        Quellcode

        1. export OPENSSL_CONF=/etc/openvpn/openssl.cnf

      • openvpn (2.1rc22) herunterladen und kompilieren:

        Quellcode

        1. ./configure --prefix=/opt/local --with-lzo-headers=/opt/local/include --with-lzo-lib=/opt/local/lib

      • Umgebungsvariablen anpassen, altes openvpn stoppen:

        Quellcode

        1. /etc/init.d/openvpn stop
        2. export PATH=/opt/local/sbin:$PATH

      • Scripte an Pfad anpassen (progdir-Variable): /etc/init.d/openvpn /etc/init.d/openvpnclient

        Quellcode

        1. /etc/init.d/openvpn start


      :arrow: Als nächstes könnte man auch noch das Perl updaten, da in openssl/openvpn auch mit Perl-Scripten gearbeitet wird.

      Edit:
      Also so reicht es für openvpn offenbar noch nicht ganz aus - Dem Verbose zu urteilen muss wohl auch noch python updatet werden.

      Edit:
      Tja, also um python zu aktualisieren müsste man auch die glibc aktualisieren - 5 Simulationen und jedes Mal schlägt die Installation einer aktuelleren glibc, mit dem Resultat das ganze System zerschossen zu haben, fehl. :evil: