Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Problem mit Update auf 2.2

    Deutsch
    2
    10
    2.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • -flo- 0-
      -flo- 0
      last edited by

      Hallo Zusammen,

      ich habe heute versucht ein Upgrade von 2.1.5 auf 2.2 zu machen, leider ohne Erfolg. Ich bekomme eine Meldung "Something went wrong when trying to update the fstab entry. Aborting upgrade." im Dashboard. Im file /cf/conf/upgrade_log.txt ist der letzte Eintrag "Checking for post_upgrade_command…".

      Das Ganze passiert sowohl beim Manual Update als auch beim Auto Update.

      Ach ja, ich habe pfSense auf einem Alix.

      Kennt jemand das Problem? Wie kann ich das lösen??

      Danke!

      -flo-

      1 Reply Last reply Reply Quote 0
      • V
        viragomann
        last edited by

        Hi!

        Hast du dich an den Upgrade Guide gehalten?
        https://doc.pfsense.org/index.php/Upgrade_Guide

        Hast du im Speziellen vorher /usr/local/sbin/ufslabels.sh ausgeführt?

        Grüße

        1 Reply Last reply Reply Quote 0
        • -flo- 0-
          -flo- 0
          last edited by

          Gerade versucht, das sieht so aus:

          
          [2.1.5-RELEASE][admin@pfSense.localdomain]/usr/local/sbin(5): ./ufslabels.sh 
          sed: 1: "s/ufs/pfsense1/ufsid\/5 ...": bad flag in substitute command: 'u'
          FS: / on device ufs/pfsense1 with ufsid 53fb2f9508868d1d
          sed: 1: "s/ufs/cf/ufsid\/5230fb9 ...": bad flag in substitute command: 'u'
          FS: /cf on device ufs/cf with ufsid 5230fb93d76dccc8
          ====================
          Current fstab:
          /dev/ufs/pfsense1 / ufs ro,sync,noatime 1 1
          /dev/ufs/cf /cf ufs ro,sync,noatime 1 1
          ====================
          New fstab:
          /dev/ufs/pfsense1 / ufs ro,sync,noatime 1 1
          /dev/ufs/cf /cf ufs ro,sync,noatime 1 1
          Commit changes? (y/n):
          
          

          Da gibt es offenbar einen Fehler (kommt mir das nur so vor oder ist das Skript kaputt, sind insb. in dem Suchstring die Slashes so in Ordnung?). Außerdem würde das Skript wohl nichts ändern. Ich habe hier abgebrochen.

          Muß das so aussehen?

          Was macht denn das Skript genau? Evtl. kann ich das von Hand auch machen? Hat jemand so ein fstab vorher und nachher noch zur Hand?

          -flo-

          1 Reply Last reply Reply Quote 0
          • -flo- 0-
            -flo- 0
            last edited by

            Ich habe mal etwas genauer geschaut, was das Skript macht. Offenbar soll es Partition-Ids aus der fstab ersetzen. Evtl. ist meine fstab bereits in der benötigten Form?

            [2.1.5-RELEASE][admin@pfSense.localdomain]/usr/local/sbin(9): ls /dev/ufs
            cf       pfsense1
            [2.1.5-RELEASE][admin@pfSense.localdomain]/usr/local/sbin(10): ls /dev/ufsid
            54c170b329c83dd8
            [2.1.5-RELEASE][admin@pfSense.localdomain]/usr/local/sbin(11): glabel status
                              Name  Status  Components
                            ufs/cf     N/A  ad0s3
                      ufs/pfsense1     N/A  ad0s1a
            ufsid/54c170b329c83dd8     N/A  ad0s2a
            

            Der Fehler beim Upgrade kommt aus dieser Stelle im Skript /etc/rc.firmware:

             # Update fstab
                    cp /etc/fstab /tmp/$GLABEL_SLICE/etc/fstab
                    sed -i "" "s/pfsense${OLD_UFS_ID}/pfsense${UFS_ID}/g" /tmp/$GLABEL_SLICE/etc/fstab
                    if [ $? != 0 ]; then
                            echo "Something went wrong when trying to update the fstab entry.  Aborting upgrade."
                            file_notice "UpgradeFailure" "Something went wrong when trying to update the fstab entry.  Aborting upgrade."
                            rm -f $IMG
                            rm -f /var/run/firmwarelock.dirty
                            rm -f /var/run/firmware.lock
                            umount /tmp/$GLABEL_SLICE
                            /etc/rc.conf_mount_ro
                            exit 1
                    fi
            
            

            Für mich sieht das so aus, als ob das Skript dort "pfsense1" durch "pfsense0" ersetzen soll. Nur ist während der Ausführung OLD_UFS_ID 0 und nicht 1, also falsch herum (wenn ich das Skript nicht ganz falsch verstanden habe …).

            Ein fstab aus einer 2.2. nach dem Upgrade auf einem Alix wäre wirklich hilfreich.  :D

            1 Reply Last reply Reply Quote 0
            • -flo- 0-
              -flo- 0
              last edited by

              Also das Skript /usr/local/sbin/ufslabels.sh funktioniert nur mit einer fstab, die device Ids beinhaltet. Es versucht die folgende Ersetzung:

              /dev/ufs/pfsense1 nach /dev/ufsid/53fb2f9508868d1d

              Allerdings klappt das mit dem sed-Kommando nicht:

              /usr/bin/sed -i'' -e "s/${DEV}/ufsid\/${UFSID}/g" ${FSTAB}.tmp
              

              $DEV beinhaltet in diesem Fall "ufs/pfsense1" und nicht eine Device-Id wie ad0s1a. $UFSID ist 53fb2f9508868d1d.

              Ergo pamit passiert folgendes:

              /usr/bin/sed -i'' -e "s/ufs/pfsense/ufsid\/53fb2f9508868d1d/g" ${FSTAB}.tmp
              

              Logisch, daß das nicht geht: Der Ersetzungsteil fängt nach dem 2. Slash an, also dem vor dem 'p'. Mit dem dritten Slash, der eigentlich den Ersetzungsteil einleiten soll, ist sed dann überfordert. (Dieses Skript ist nicht ausreichend robust programmiert.)

              Soweit so klar.

              Das Ergebnis ist wohl so gedacht:

              Statt

              /dev/ufs/pfsense1 / ufs ro,sync,noatime 1 1
              /dev/ufs/cf /cf ufs ro,sync,noatime 1 1
              

              dann

              /dev/ufsid/53fb2f9508868d1d / ufs ro,sync,noatime 1 1
              /dev/ufsid/5230fb93d76dccc8 /cf ufs ro,sync,noatime 1 1
              

              Kann das jemand bestätigen (nicht die Ids natürlich, nur grundsätzlich). Danke!

              1 Reply Last reply Reply Quote 0
              • V
                viragomann
                last edited by

                @-flo-:

                Das Ergebnis ist wohl so gedacht:

                Statt

                /dev/ufs/pfsense1 / ufs ro,sync,noatime 1 1
                /dev/ufs/cf /cf ufs ro,sync,noatime 1 1
                

                dann

                /dev/ufsid/53fb2f9508868d1d / ufs ro,sync,noatime 1 1
                /dev/ufsid/5230fb93d76dccc8 /cf ufs ro,sync,noatime 1 1
                

                Kann das jemand bestätigen (nicht die Ids natürlich, nur grundsätzlich). Danke!

                Das klingt zumindest logisch aufgrund der obigen Fehlermeldung, die ja die UFSIDs zeigt.
                Bestätigen kann ich es leider nicht, weil ich noch kein NanoBSD upgegradet habe. Bei der HDD-Version wird jedenfalls in der fstab nur der Device-Name durch die ID ersetzt.

                1 Reply Last reply Reply Quote 0
                • -flo- 0-
                  -flo- 0
                  last edited by

                  Ok, danke erstmal! Ich werde mal im internationalen Forum "stiften gehen". :-)

                  -flo-

                  1 Reply Last reply Reply Quote 0
                  • -flo- 0-
                    -flo- 0
                    last edited by

                    Für's Archiv: Das script /usr/local/sbin/ufslabels.sh ist wohl nicht für eine embedded Installation gedacht.

                    1 Reply Last reply Reply Quote 0
                    • V
                      viragomann
                      last edited by

                      @-flo-:

                      Für's Archiv: Das script /usr/local/sbin/ufslabels.sh ist wohl nicht für eine embedded Installation gedacht.

                      Okay. Davon ist aber im Upgrade Guide nichts zu lesen.

                      Was gelernt. Ich hab ja erwähnt, ich habe die Nano selbst noch nicht upgegradet.

                      Heißt das, die Embedded verwendet nach wie vor die Gerätenamen? Kann ich mir nicht so recht vorstellen.

                      1 Reply Last reply Reply Quote 0
                      • -flo- 0-
                        -flo- 0
                        last edited by

                        Nein, es sind keine Device-Ids in der fstab. Daher ist das Skript ja auch nicht erforderlich. Es arbeitet ja nur mit Device-Ids.

                        Ich habe den Upgrade-Guide nochmal gelesen:

                        ATA disks are labeled as /dev/adaX rather than /dev/adX. […] For a full install, running /usr/local/sbin/ufslabels.sh before the upgrade will convert /etc/fstab to UFS labels rather than disk device names bypassing any device name issues that could arise due to the switch.

                        Solange also keine Device-Ids in der fstab stehen, ist das gar kein Problem.

                        Und Du hast recht: Der Upgrade-Guide ist da nicht ausreichend genau.

                        -flo-

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.