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

Problem mit Update auf 2.2

Scheduled Pinned Locked Moved Deutsch
10 Posts 2 Posters 2.0k Views
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
    last edited by Feb 1, 2015, 7:33 PM

    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 Feb 1, 2015, 11:56 PM

      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
        last edited by Feb 2, 2015, 5:40 AM

        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
          last edited by Feb 2, 2015, 6:23 AM

          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
            last edited by Feb 2, 2015, 6:51 AM

            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 Feb 2, 2015, 4:38 PM

              @-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
                last edited by Feb 2, 2015, 5:14 PM

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

                -flo-

                1 Reply Last reply Reply Quote 0
                • -
                  -flo- 0
                  last edited by Feb 2, 2015, 7:08 PM

                  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 Feb 2, 2015, 9:50 PM

                    @-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
                      last edited by Feb 3, 2015, 8:08 PM

                      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
                      10 out of 10
                      • First post
                        10/10
                        Last post
                      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                        This community forum collects and processes your personal information.
                        consent.not_received