Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Diskussion zum HowTo nodejs-Installation und upgrade

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Diskussion zum HowTo nodejs-Installation und upgrade

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sticks @Thomas Braun last edited by sticks

      @thomas-braun
      Kann es sein das der SUDO Befehl hier:

      sudo apt-get install python3-cffi-backend

      ...dazu führt das iobroker selbst nun nicht nach /tmp/ schreiben kann !?
      Vor Ausführen des oberen Befehls hatte ich da bisher kein Problem, von daher kann ich mir das gar nicht so recht erklären !?

      Thomas Braun 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @sticks last edited by Thomas Braun

        @sticks sagte in Diskussion zum HowTo nodejs-Installation und upgrade:

        Kann es sein

        Nein.

        ls -lA /
        ls -lA /tmp/
        
        S 1 Reply Last reply Reply Quote 0
        • S
          sticks @Thomas Braun last edited by

          @thomas-braun

          pi@iobrokerpi:~ $ ls -lA /
          total 60
          lrwxrwxrwx   1 root root     7 Oct 30  2021 bin -> usr/bin
          drwxr-xr-x   4 root root  4096 Jan  1  1970 boot
          drwxr-xr-x  16 root root  3820 Sep 14 05:08 dev
          drwxr-xr-x  81 root root  4096 Sep 14 16:35 etc
          drwxr-xr-x   4 root root  4096 Jan  8  2022 home
          lrwxrwxrwx   1 root root     7 Oct 30  2021 lib -> usr/lib
          drwx------   2 root root 16384 Oct 30  2021 lost+found
          drwxr-xr-x   2 root root  4096 Oct 30  2021 media
          drwxr-xr-x   2 root root  4096 Oct 30  2021 mnt
          drwxr-xr-x   3 root root  4096 Jan  8  2022 opt
          dr-xr-xr-x 224 root root     0 Jan  1  1970 proc
          drwx------   7 root root  4096 Jun 27 06:43 root
          drwxr-xr-x  23 root root   720 Sep 14 16:34 run
          lrwxrwxrwx   1 root root     8 Oct 30  2021 sbin -> usr/sbin
          drwxr-xr-x   2 root root  4096 Oct 30  2021 srv
          dr-xr-xr-x  12 root root     0 Jan  1  1970 sys
          drwxrwxrwt   9 root root  4096 Sep 14 16:35 tmp
          drwxr-xr-x  11 root root  4096 Oct 30  2021 usr
          drwxr-xr-x  11 root root  4096 Oct 30  2021 var
          
          

          Und hier Nr. 2:

          pi@iobrokerpi:~ $ ls -lA /tmp/
          total 288
          drwxrwxrwt 2 root     root       4096 Sep 14 05:08 .font-unix
          drwxrwxrwt 2 root     root       4096 Sep 14 05:08 .ICE-unix
          drwx------ 3 root     root       4096 Sep 14 05:08 systemd-private-1f8c8f63333a4886917f437f74746bd9-systemd-logind.service-RsaXEi
          drwx------ 3 root     root       4096 Sep 14 05:08 systemd-private-1f8c8f63333a4886917f437f74746bd9-systemd-timesyncd.service-FkRZFg
          drwxrwxrwt 2 root     root       4096 Sep 14 05:08 .Test-unix
          -rw------- 1 iobroker iobroker 265969 Sep 14 05:37 tmpe2fzpg92cacert.pem
          drwxrwxrwt 2 root     root       4096 Sep 14 05:08 .X11-unix
          drwxrwxrwt 2 root     root       4096 Sep 14 05:08 .XIM-unix
          
          
          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @sticks last edited by

            @sticks

            Du bist mit dem Thema auch komplett off topic hier im Thread.

            Aber hier hatte das Problem auch mal jemand:
            https://forum.iobroker.net/topic/54265/esphome-error-process-exited-with-code-25/60

            S N 2 Replies Last reply Reply Quote 0
            • S
              sticks @Thomas Braun last edited by sticks

              @thomas-braun

              Sorry, ich werde mich mal im anderen Thread einlesen und ggfs. dort weiterposten.
              Danke erstmal.

              Edit: Kleines Mini-Feedback: Nach kompletten durchlesen des anderen Threads scheint es ja so zu sein, dass man für ESPHOME-Installation ein 64bit OS auf dem Raspberry installiert haben muss (ARMv8), da ESPHOME sich scheinbar nicht mehr auf einem 32bit Raspberry-OS (ARMv71) installieren lässt.

              1 Reply Last reply Reply Quote 0
              • N
                Nordischerjung @Thomas Braun last edited by

                @thomas-braun
                Moin,

                ich möchte auch auf Nodjs 16 upgraden, bekomme das hier

                sb@iOBroker:/opt/iobroker$ npm ls | grep -E 'github|ERR'
                +-- iobroker.enigma2@1.3.3 (github:Matten-Matten/ioBroker.enigma2#17f9d0c2d8a337e46a5e16cbabb9b305d32fd233)
                +-- iobroker.esphome@0.2.4 (github:DrozmotiX/ioBroker.esphome#479f1eec57b0fa67cb6b72e14d3db853ca778801)
                +-- iobroker.icons-icons8@0.0.1 (github:ioBroker/ioBroker.icons-icons8#119cfa311105f1dbe4e674909c975cce7046977f)
                | | | +-- github-from-package@0.0.0
                |     +-- github-from-package@0.0.0 deduped
                npm ERR! peer dep missing: tough-cookie@^4.0.0, required by http-cookie-agent@4.0.1
                npm ERR! peer dep missing: tough-cookie@^4.0.0, required by http-cookie-agent@4.0.1
                +-- iobroker.sourceanalytix@0.4.14 (github:DrozmotiX/ioBroker.sourceanalytix#9c4635239c7b9321601dcf0fcdd8677a55a8b13f)
                |   +-- github-url-from-git@1.5.0
                |   +-- new-github-release-url@1.0.0
                +-- iobroker.vis-jqui-mfd@1.0.12 (github:ioBroker/ioBroker.vis-jqui-mfd#e949cc65600df553a4feaabc385919be1b50eaf1)
                +-- iobroker.vis-materialdesign@0.2.60 (github:Scrounger/ioBroker.vis-materialdesign#599bce25371a1481ba03ef1132a9c0ab439129f4)
                
                

                die Adapter gibt es so nur von github, muss ich die wirklich deinstallieren? Was mache ich mit dem npm Err Meldungen?

                Thomas Braun 1 Reply Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @Nordischerjung last edited by

                  @nordischerjung sagte in Diskussion zum HowTo nodejs-Installation und upgrade:

                  enigma = git
                  Der Rest ist mindestens über das Beta-Repo erhältlich:

                  esphome
                  github:	0.2.4
                  latest:	0.2.4 for 13 months
                  stable:	-.-.-
                  
                  icons-icons8
                  github:	0.0.1
                  latest:	0.0.1 for 78 months
                  stable:	0.0.1 for 78 months
                  
                  sourceanalytix
                  github:	0.4.14
                  latest:	0.4.14 for 7 months
                  stable:	-.-.-
                  
                  vis-jqui-mfd
                  github:	1.0.12
                  latest:	1.0.12 for 51 months
                  stable:	1.0.12 for 51 months
                  
                  vis-materialdesign	
                  github:	0.5.93
                  latest:	0.5.9 for 15 months
                  stable:	-.-.-
                  

                  Die peer dep missing Meldungen werden von npm8 gerade gerückt werden.

                  Alles in allem würde ich hier einfach auf nodejs16 springen, das sieht nicht wirklich wild aus bei dir.

                  1 Reply Last reply Reply Quote 1
                  • M
                    MacQuire last edited by

                    Hallo zusammen,

                    ich möchte von nodejs 14 auf 16 updaten
                    Installiert ist aktuell 14.20.1

                    npm ls | grep -E 'github|ERR'
                    

                    Bringt folgendes Ergebnis

                    pi@raspberrypi:/opt/iobroker $ npm ls | grep -E 'github|ERR'
                    │ │ │ ├── github-from-package@0.0.0
                    │   ├── github-url-from-git@1.5.0
                    │   ├─┬ new-github-release-url@1.0.0
                      │ │ │   ├── github-from-package@0.0.0 deduped
                    

                    Die Datei nodesource.list habe ich angelegt und auch mit ENTER abgeschlossen.

                    apt policy nodejs
                    

                    ergibt folgendes:

                    pi@raspberrypi:/opt/iobroker $ apt policy nodejs
                    nodejs:
                      Installiert:           14.20.1-deb-1nodesource1
                      Installationskandidat: 14.20.1-deb-1nodesource1
                      Versionstabelle:
                     *** 14.20.1-deb-1nodesource1 100
                            100 /var/lib/dpkg/status
                         10.24.0~dfsg-1~deb10u2 500
                            500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
                    
                    sudo apt update
                    

                    bringt folgende Fehlermeldungen:

                    pi@raspberrypi:/opt/iobroker $ sudo apt update
                    OK:1 http://phoscon.de/apt/deconz buster InRelease
                    OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
                    OK:3 http://archive.raspberrypi.org/debian buster InRelease
                    Holen:4 https://deb.nodesource.com/node_14.x bullseye InRelease [4.586 B]
                    Holen:5 https://deb.nodesource.com/node_16.x bullseye InRelease [4.586 B]
                    Fehl:4 https://deb.nodesource.com/node_14.x bullseye InRelease
                      Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                    Fehl:5 https://deb.nodesource.com/node_16.x bullseye InRelease
                      Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                    Paketlisten werden gelesen... Fertig
                    W: GPG-Fehler: https://deb.nodesource.com/node_14.x bullseye InRelease: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                    E: Das Depot »https://deb.nodesource.com/node_14.x bullseye InRelease« ist nicht signiert.
                    N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt werden, daher ist es standardmäßig deaktiviert.
                    N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8).
                    W: GPG-Fehler: https://deb.nodesource.com/node_16.x bullseye InRelease: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                    E: Das Depot »https://deb.nodesource.com/node_16.x bullseye InRelease« ist nicht signiert.
                    N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt werden, daher ist es standardmäßig deaktiviert.
                    N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8).
                    

                    Wie mache ich nun weiter?

                    Danke schon mal im Voraus !

                    crunchip 1 Reply Last reply Reply Quote 0
                    • crunchip
                      crunchip Forum Testing Most Active @MacQuire last edited by crunchip

                      @macquire sagte in Diskussion zum HowTo nodejs-Installation und upgrade:

                      Die Datei nodesource.list habe ich angeleg

                      Und jetzt beide versionen drin, nicht anlegen sondern ersetzen, ausserdem hast du ein mix aus buster und bullseye

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        MacQuire @crunchip last edited by

                        @crunchip sagte in Diskussion zum HowTo nodejs-Installation und upgrade:

                        @macquire sagte in Diskussion zum HowTo nodejs-Installation und upgrade:

                        Die Datei nodesource.list habe ich angeleg

                        Und jetzt beide versionen drin, nicht anlegen sondern ersetzen, ausserdem hast du ein mix aus buster und bullseye

                        Hab jetzt nur die 16er Version in der nodesource.list drin und das bullseye durch buster erstsetzt...

                        Jetzt kommt folgendes:

                        pi@raspberrypi:~ $ sudo apt update
                        OK:1 http://phoscon.de/apt/deconz buster InRelease
                        OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
                        OK:3 http://archive.raspberrypi.org/debian buster InRelease
                        Holen:4 https://deb.nodesource.com/node_16.x buster InRelease [4.584 B]
                        Fehl:4 https://deb.nodesource.com/node_16.x buster InRelease
                          Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                        Paketlisten werden gelesen... Fertig
                        W: GPG-Fehler: https://deb.nodesource.com/node_16.x buster InRelease: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                        E: Das Depot »https://deb.nodesource.com/node_16.x buster InRelease« ist nicht signiert.
                        N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt werden, daher ist es standardmäßig deaktiviert.
                        N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8).
                        
                        crunchip 1 Reply Last reply Reply Quote 0
                        • crunchip
                          crunchip Forum Testing Most Active @MacQuire last edited by

                          @macquire z.b. https://techoverflow.net/2020/06/19/problemloesung-die-folgenden-signaturen-konnten-nicht-ueberprueft-werden-weil-ihr-oeffentlicher-schluessel-nicht-verfuegbar-ist-no_pubkey-78bd65473cb3bd13/?lang=de

                          Dennoch ist buster schon etwas alt, würd mal generell über ein allgemeines upgrade nachdenken

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MacQuire @crunchip last edited by

                            @crunchip
                            @crunchip sagte in Diskussion zum HowTo nodejs-Installation und upgrade:

                            @macquire z.b. https://techoverflow.net/2020/06/19/problemloesung-die-folgenden-signaturen-konnten-nicht-ueberprueft-werden-weil-ihr-oeffentlicher-schluessel-nicht-verfuegbar-ist-no_pubkey-78bd65473cb3bd13/?lang=de

                            Vielen Dank !

                            Habe die Schlüssel nach dieser Anleitung importiert - hat soweit auch gut geklappt.
                            Lediglich beim letzten klappt es nicht...

                            pi@raspberrypi:~ $ sudo apt update
                            OK:1 http://phoscon.de/apt/deconz buster InRelease
                            OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
                            OK:3 http://archive.raspberrypi.org/debian buster InRelease
                            Holen:4 https://deb.nodesource.com/node_16.x buster InRelease [4.584 B]
                            Fehl:4 https://deb.nodesource.com/node_16.x buster InRelease
                              Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                            Paketlisten werden gelesen... Fertig
                            W: GPG-Fehler: https://deb.nodesource.com/node_16.x buster InRelease: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                            E: Das Depot »https://deb.nodesource.com/node_16.x buster InRelease« ist nicht signiert.
                            N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt werden, daher ist es standardmäßig deaktiviert.
                            N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8).
                            
                            pi@raspberrypi:~ $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1655A0AB68576280
                            Executing: /tmp/apt-key-gpghome.EtyQ8d4x4u/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 1655A0AB68576280
                            gpg: Schlüssel 1655A0AB68576280: "NodeSource <gpg@nodesource.com>" nicht geändert
                            gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
                            gpg:                             unverändert: 1
                            
                            
                            Thomas Braun 1 Reply Last reply Reply Quote 0
                            • Thomas Braun
                              Thomas Braun Most Active @MacQuire last edited by

                              @macquire

                              Zieh das mal über das Installer-Skript von nodesource rein:

                              curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash
                              

                              Das legt auch die keys an.

                              sudo apt update
                              

                              sagt danach?

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MacQuire @Thomas Braun last edited by

                                @thomas-braun
                                Leider keine Besserung

                                pi@raspberrypi:~ $ curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash
                                
                                ## Installing the NodeSource Node.js 16.x repo...
                                
                                
                                ## Populating apt-get cache...
                                
                                + apt-get update
                                OK:1 http://phoscon.de/apt/deconz buster InRelease
                                OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
                                OK:3 http://archive.raspberrypi.org/debian buster InRelease
                                Holen:4 https://deb.nodesource.com/node_16.x buster InRelease [4.584 B]
                                Fehl:4 https://deb.nodesource.com/node_16.x buster InRelease
                                  Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                                Paketlisten werden gelesen... Fertig
                                W: GPG-Fehler: https://deb.nodesource.com/node_16.x buster InRelease: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                                E: Das Depot »https://deb.nodesource.com/node_16.x buster InRelease« ist nicht signiert.
                                N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt werden, daher ist es standardmäßig deaktiviert.
                                N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8).
                                Error executing command, exiting
                                pi@raspberrypi:~ $ sudo apt update
                                OK:1 http://phoscon.de/apt/deconz buster InRelease
                                OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
                                OK:3 http://archive.raspberrypi.org/debian buster InRelease
                                Holen:4 https://deb.nodesource.com/node_16.x buster InRelease [4.584 B]
                                Fehl:4 https://deb.nodesource.com/node_16.x buster InRelease
                                  Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                                Paketlisten werden gelesen... Fertig
                                W: GPG-Fehler: https://deb.nodesource.com/node_16.x buster InRelease: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 1655A0AB68576280
                                E: Das Depot »https://deb.nodesource.com/node_16.x buster InRelease« ist nicht signiert.
                                N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt werden, daher ist es standardmäßig deaktiviert.
                                N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8).
                                
                                Thomas Braun 1 Reply Last reply Reply Quote 0
                                • Thomas Braun
                                  Thomas Braun Most Active @MacQuire last edited by

                                  @macquire

                                  Wie sieht die Datei jetzt aus?

                                  cat /etc/apt/sources.list.d/nodesource.list
                                  
                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    MacQuire @Thomas Braun last edited by MacQuire

                                    @thomas-braun

                                    #node 14
                                    #deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x buster main
                                    #deb-src [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x buster main
                                    
                                    #node 16
                                    deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x buster main 
                                    deb-src [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x buster main 
                                    
                                    Thomas Braun 1 Reply Last reply Reply Quote 0
                                    • Thomas Braun
                                      Thomas Braun Most Active @MacQuire last edited by

                                      @macquire sagte in Diskussion zum HowTo nodejs-Installation und upgrade:

                                      Das muss auch

                                      
                                      deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x buster main
                                      

                                      heißen

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        MacQuire @Thomas Braun last edited by

                                        @thomas-braun sagte in Diskussion zum HowTo nodejs-Installation und upgrade:

                                        @macquire sagte in Diskussion zum HowTo nodejs-Installation und upgrade:

                                        Das muss auch

                                        
                                        deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x buster main
                                        

                                        heißen

                                        Du meinst also nur diese eine Zeile drin, sonst nichts ?

                                        Thomas Braun 1 Reply Last reply Reply Quote 0
                                        • Thomas Braun
                                          Thomas Braun Most Active @MacQuire last edited by

                                          @macquire

                                          Stand da eben nicht was anderes in deinem Posting?
                                          Da war noch irgendwas anderes am Ende der Zeile, meine ich.

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            MacQuire @Thomas Braun last edited by

                                            @thomas-braun
                                            Das war ein copy/Paste Fehler…. Ich hab das dann gleich berichtigt …. So wie es jetzt ist, steht’s drin ….

                                            Thomas Braun 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            959
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            nodejs
                                            91
                                            844
                                            171391
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo