Sie sind hier : Homepage →  > Linux (12) Technik des NAS-540→  Versuch 5 auf einem NAS-542

Diese Seiten sind unsere internen Protokolle aus dem Labor.

Aufgrund der fortlaufenden Protokollierung der Ergänzungen sowie der Verbesserungen ist die Reihenfolge / Chronologie der Seiten aus dem Ruder gelaufen - leicht durcheinander geraten.

.

Bis hier ganz viel Wissen "getankt" - mit viel Zeit und Mühe !

6. Feb. 2022 - Das Wissen um die Software-Umgebung der aktuellen Zyxel NAS-Server ist weit verstreut und man findet in den "letzen" Ecken Informationen bzw. Teile davon fast nur durch Zufall, Informationen, die man sich erst mal zusammenbauen muß.

Diese Seiten finden Sie iin unserem Menü in der linken Spalte auf vielen Seiten, die eine Zeile weiter oben stehen. Die Verkettung von Boot-Loadern und Boot-Scripten ist schon eine Story für sich.
.

Ziel war und ist die Installation von "entware" bzw "opkg",

Hier finden Sie als Beispiel die drei Volumen-IDs von einem Test-Server mit insgesamt 3 Festplatten

Am Anfang war die Installation dieses Paketmanagers nahezu unverständlich, weil es nicht klar war, warum in diesem Script alle diese Klimmzüge gemacht wurden, die dann auch einzeln von Hand nicht funktionieren.

Wenn der Test-Server hochgefahren ist, ist doch die erste (wichtige) Festplatte (immer die Disk-0) bereits hinter einem fertig angelegten symbolischen Link zu erreichen.
.

  • Der automatisch eingerichtete direkte Pfad

    "/i-data/.system"

    (achte auf den Punkt vor "system") verweist (bei unserem Test-Server Beispiel) nämlich auf

    "/i-data/e1e0ed3c/.system", (Siehe nebenstehendes Bild)

.
wobei "e1e0ed3c" die Test-Server Volumen-ID der 1. Festplatte ist.
Wann und wo diese Links erstellt werden, liest man in den zwei Start-Scripts.
.
.

Wir brauchen ein dauerhaftes /opt/ Verzeichnis und mehr .....

Dieser nachfolgende Pfad verweist auch auf die erste lokale Festplatte (Disk 0) :

/i-data/.system/zy-pkgs/

In diesem Verzeichnis "zy-pkgs" werden Scripte (alle ? - Nachtrag : nein - das war falsch - nur Scripte mit bestimmten Namen) beim Start des Servers automatisch ausgeführt.

Dort sollen wir ein Mini-Start-Script "USRPKG_DEPS_START" mit nur "einem Wort" als Inhalt erstellen und das geht so :
.

  1. touch /i-data/.system/zy-pkgs/USRPKG_DEPS_START
  2. chmod +x /i-data/.system/zy-pkgs/USRPKG_DEPS_START
  3. echo entware > /i-data/.system/zy-pkgs/USRPKG_DEPS_START

.
Nachtrag : Auf unserem völlig neuen Musterserver Nr. 4 sieht das dann so aus :
.
/i-data/4b253d0d/.system/zy-pkgs #
/i-data/4b253d0d/.system/zy-pkgs # touch /i-data/.system/zy-pkgs/USRPKG_DEPS_START
/i-data/4b253d0d/.system/zy-pkgs # chmod +x /i-data/.system/zy-pkgs/USRPKG_DEPS_START
/i-data/4b253d0d/.system/zy-pkgs # echo entware > /i-data/.system/zy-pkgs/USRPKG_DEPS_START
.
.

Das Script mit Namen "entware"

Dieses neu erzeugte zweite Mini-Script "entware" muß auf jeden Fall noch überarbeitet werden. Darin ist nämlich diese eine Variable, die wir von Hand einfügen / eintragen "müssen", das ist die vom System erstellte "Volumen-ID" von unserer Disk 0. - Sonst läuft dieses Script nicht.

(Da wir bis jetzt weder den "joe" noch den "mc" haben, müssen wir das trickreich mit dem Editor von "winscp" als user "root" machen !!!!)
.

Hier nochmal der Step (3) - Erstellen des "entware" Scripts :

Diese Script-Datei "entware" muß auch in "/i-data/.system/zy-pkgs" liegen und der erzeugt die beiden "/opt" Verzeichnisse und startet später "Entware-ng" und vervollständigt den gesamten Pfad. Auch "entware" muß ausführbar sein.

Ich habe das jetzt so gemacht
.

  1. touch /i-data/.system/zy-pkgs/entware
  2. chmod +x /i-data/.system/zy-pkgs/entware
  3. echo #!/bin/sh > /i-data/.system/zy-pkgs/entware

.
Dann habe ich mit dem "winscp" Text-Editor diesen (korrigierten) Inhalt (für meinen Testserver) reingeschrieben :
.

  • #!/bin/sh
    !!!!! diese obige Zeile muß mit dem # beginnen, das ist kein Kommentar !!!! das ist ein Shell-Script
  • VOL=xxxxxxxx
       #diese Variable "VOL" muß für jeden Server jeweils einzeln händisch eingefügt werden !!!!! "VOL" kommt hier in 3 Zeilen vor

  • mkdir -p /i-data/$VOL/opt > /dev/null 2>&1
       # alle Fehler werden mit der Option in den Wind geschrieben

  • mkdir -p /opt mount
       # bind /i-data/$VOL/opt /opt
       # -sh: bind: not found - der bind Befehl ist nicht da - das ist natürlich ganz großer Mist.

  • mount -o bind /i-data/$VOL/opt /opt
       # hier fehlt nicht nur eine Zeile - wer macht "/opt/etc/init.d/" und kopiert "rc.unslung" da rein ?
  • /opt/etc/init.d/rc.unslung start
       # -sh: /opt/etc/init.d/rc.unslung: not found
    Das kann ja zu diesem Zeitpunkt noch gar nicht da sein, wird erst mit dem "generic.sh" install-Script dorthin kopiert - also das hier war wirklich völlig falsch.

  • echo 'export PATH=$PATH:/opt/bin:/opt/sbin' >> /etc/profile
    # das funktioniert und ist wichtig

  • exit 0

.
Das bedeutet, beim Neustart

(Stufe 1) soll die Datei "USRPKG_DEPS_START" ausgeführt werden,
(Stufe 2) und dann die dort aufgerufene Datei "entware". Sollten Sie das obige Script übernehmen wollen, unbedingt die Kommentare und die Zeilen mit dem rc.unslung entfernen.
.
Nach dem Neustart : Mit der Abfrage des Environments "env" sowie des Befehls "mount" kann man dann prüfen, ob die Befehle/Inhalte von "entware" wirklich ausgeführt wurden.
.
Und das mache ich gleich .......
.
.

"rebooot" und dann : Es hat nicht alles funktioniert .......

Aus der Anleitung : After it has booted - run the command "mount" and check if you have the line below. This will mean the steps above worked for you and you can continue with the installation of "Entware".

/i-data/<die Variable VIL-ID>/opt on /opt type none (rw,bind)
.

Erfolg - Diese obige erwartete "Prüf-Zeile" ist (endlich) da :

.
/i-data/e1e0ed3c/opt on /opt type none (rw,bind)

Mit der letzten verbesserten Version des "entware" Scripts ist zumindest die zu vergleichende Prüfzeile in der Textausgabe von "mount" resident vorhanden.
.
Auch mein testweise in "/opt/" angelegtes "testgert" Verzeichnis ist nach dem reboot noch da, und natürlich auch auf der Platte in dem verlinkten "/i-data/e1e0ed3c/opt/". Das hatte (zum Glück) bislang verlässlich funktioniert.
.
.

Und darum den übersprungenen Step 5 anwerfen - Download des Install-Scriptes "generic" mit "wget" und Ausführen in der Shell

To install "Entware" on the device run the installation script "generic.sh" (aus dem "entware" Repositiory).:

"wget -O - http --- bin.entware.net/armv7sf-k3.2/installer/generic.sh | /bin/ash"

Diese Zeile hier verbessern mit "http://......" und dann erst komplett auf die Konsole in putty übernehmen, und es läuft danach eine Menge Text durch.
.

Wenn der "wget" Fehler auftriit .......

Das "wget" funktioniert auf diesem NAS nicht ???????? Was ist da faul ?

Gefunden - Der eingetragene Nameserver löst die Adresse nicht auf - und die IP Nummer geht nicht, weil die Adresse im Script mehrfach vorkommt.
.
Im putty Fenster muss genau der nachfolgende Text runterlaufen - sonst stimmt etwas nicht :
.

/ # clear
/ # wget -O - http --- /bin.entware.net/armv7sf-k3.2/installer/generic.sh | /bin/ash
Connecting to bin.entware.net (188.114.97.7:80)
-                    100% |*****************************************|  2765   0:00:00 ETA
Info: Checking for prerequisites and creating folders...

Warning: Folder /opt exists!
Info: Opkg package manager deployment...
Connecting to bin.entware.net (188.114.96.7:80)
opkg                 100% |***************************************|   734k  0:00:00 ETA
Connecting to bin.entware.net (188.114.96.7:80)
opkg.conf            100% |**************************************|   171   0:00:00 ETA

Info: Basic packages installation...
Downloading bin.entware.net/armv7sf-k3.2/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Installing entware-opt (227000-3) to root...
Downloading bin.entware.net/armv7sf-k3.2/entware-opt_227000-3_all.ipk
Installing libgcc (8.4.0-11) to root...
Downloading bin.entware.net/armv7sf-k3.2/libgcc_8.4.0-11_armv7-3.2.ipk
Installing libc (2.27-11) to root...
Downloading bin.entware.net/armv7sf-k3.2/libc_2.27-11_armv7-3.2.ipk
Installing libssp (8.4.0-11) to root...
Downloading bin.entware.net/armv7sf-k3.2/libssp_8.4.0-11_armv7-3.2.ipk
Installing libpthread (2.27-11) to root...
Downloading bin.entware.net/armv7sf-k3.2/libpthread_2.27-11_armv7-3.2.ipk
Installing librt (2.27-11) to root...
Downloading bin.entware.net/armv7sf-k3.2/librt_2.27-11_armv7-3.2.ipk
Installing libstdcpp (8.4.0-11) to root...
Downloading bin.entware.net/armv7sf-k3.2/libstdcpp_8.4.0-11_armv7-3.2.ipk
Installing entware-release (1.0-2) to root...
Downloading bin.entware.net/armv7sf-k3.2/entware-release_1.0-2_all.ipk
Installing zoneinfo-asia (2021e-1) to root...
Downloading bin.entware.net/armv7sf-k3.2/zoneinfo-asia_2021e-1_armv7-3.2.ipk
Installing zoneinfo-europe (2021e-1) to root...
Downloading bin.entware.net/armv7sf-k3.2/zoneinfo-europe_2021e-1_armv7-3.2.ipk
Installing findutils (4.8.0-1) to root...
Downloading bin.entware.net/armv7sf-k3.2/findutils_4.8.0-1_armv7-3.2.ipk
Installing terminfo (6.2-3) to root...
Downloading bin.entware.net/armv7sf-k3.2/terminfo_6.2-3_armv7-3.2.ipk
Installing libpcre (8.45-2) to root...
Downloading bin.entware.net/armv7sf-k3.2/libpcre_8.45-2_armv7-3.2.ipk
Installing grep (3.7-2) to root...
Downloading bin.entware.net/armv7sf-k3.2/grep_3.7-2_armv7-3.2.ipk
Installing locales (2.27-9) to root...
Downloading bin.entware.net/armv7sf-k3.2/locales_2.27-9_armv7-3.2.ipk
Installing opkg (2021-06-13-1bf042dd-1) to root...
Downloading bin.entware.net/armv7sf-k3.2/opkg_2021-06-13-1bf042dd-1_armv7-3.2.ipk
Installing entware-upgrade (1.0-1) to root...
Downloading bin.entware.net/armv7sf-k3.2/entware-upgrade_1.0-1_all.ipk

Configuring libgcc.
Configuring libc.
Configuring libssp.
Configuring libpthread.
Configuring librt.
Configuring terminfo.
Configuring libpcre.
Configuring grep.
Configuring locales.

Entware uses separate locale-archive file independent from main system
Creating locale archive /opt/usr/lib/locale/locale-archive
Adding en_EN.UTF-8
Adding ru_RU.UTF-8

You can download locale sources from http --- bin.entware.net/other/i18n_glib227.tar.gz
You can add new locales to Entware using /opt/bin/localedef.new
Configuring entware-upgrade.
Upgrade operations are not required.

Configuring opkg.
Configuring zoneinfo-europe.
Configuring zoneinfo-asia.
Configuring libstdcpp.
Configuring entware-release.
Configuring findutils.
Configuring entware-opt.

Info: Congratulations!
Info: If there are no errors above then Entware was successfully initialized.
Info: Add /opt/bin & /opt/sbin to $PATH variable
Info: Add "/opt/etc/init.d/rc.unslung start" to startup script for Entware services to start
Info: Found a Bug? Please report at https://github.com/Entware/Entware/issues
/ #

.
Nach etwas langem Suchen auf dem 4. Test-NAS nach dem funktionierenden Nameserver lief dieser Install-Script sauber durch und ich habe gleich ein "reboot" gestartet - einfach zur Kontrolle.
.

Verblüffend - ein Install-Script sogar ohne Fehler .....

Dieser "entware"-Install-Script ist jetzt komplett durchgelaufen und sowohl in "/opt/" wie auch auf das verlinkte Verzeichnis auf meiner Test-Server Platte in "/i-data/e1e0ed3c/opt" sind die Verzeichnisse gleichermassen zu sehen.

Auf der Kommandozeile wird das "opkg" Programm (erst mal versuchsweise ohne irgendeine Option) als im System bekannt - mit den Hilfetexten - ausgeführt.

Glauben heist aber "nicht wissen" ! Jetzt machen wir sicherheitshalber ein "reboot" (habe ich weitr obenbereits angekündigt ud ausgeführt), ob danach auch noch alles neu Hinzugekommene da ist.

Nach dem Neustart sind die vom heruntergeladenen "entware"-Install-Script angelegten Verzeichnisse alle noch da. Erfreulich.

.
Und das sollten Sie auch gleich anwerfen :
.
.

Empfehlung bezüglich Aktualität : update und upgrade

Warum auch immer, musste ich nochein mal ein "reboot" anwerfen, damit die korrigierten Pfade verfügbar wurden - opkg wollte noch nicht - - testen mit "env", da werden die Pfade angezeigt, ---    /opt/sbin" muss zu sehen sein !!!!!

/ # opkg update
Downloading http:// bin.entware.net/armv7sf-k3.2/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
/ # opkg upgrade
/ #

Da gabs nichts Neues - Das scheint also ok zu sein.
.

Probieren wir, den MC "von Hand" zu installieren .......

.

/ # opkg install mc

Installing mc (4.8.27-2) to root...

Downloading http:// bin.entware.net/armv7sf-k3.2/mc_4.8.27-2_armv7-3.2.ipk
Installing libiconv-full (1.16-1) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libiconv-full_1.16-1_armv7-3.2.ipk
Installing libintl-full (0.21-2) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libintl-full_0.21-2_armv7-3.2.ipk
Installing zlib (1.2.11-3) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/zlib_1.2.11-3_armv7-3.2.ipk
Installing libffi (3.4.2-2) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libffi_3.4.2-2_armv7-3.2.ipk
Installing libattr (2.5.1-3) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libattr_2.5.1-3_armv7-3.2.ipk
Installing glib2 (2.70.0-1) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/glib2_2.70.0-1_armv7-3.2.ipk
Installing libslang2 (2.3.2-4) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libslang2_2.3.2-4_armv7-3.2.ipk
Installing libuuid (2.37-1) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libuuid_2.37-1_armv7-3.2.ipk
Installing libblkid (2.37-1) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libblkid_2.37-1_armv7-3.2.ipk
Installing libmount (2.37-1) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libmount_2.37-1_armv7-3.2.ipk
Installing libmbedtls (2.16.11-1) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libmbedtls_2.16.11-1_armv7-3.2.ipk
Installing libssh2 (1.9.0-2) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libssh2_1.9.0-2_armv7-3.2.ipk

Configuring libiconv-full.
Configuring libintl-full.
Configuring zlib.
Configuring libffi.
Configuring libattr.
Configuring glib2.
Configuring libmbedtls.
Configuring libssh2.
Configuring libslang2.
Configuring libuuid.
Configuring libblkid.
Configuring libmount.
Configuring mc.
/ #
.
Der so installierte "mc" kennt die Pfeiltasten nicht. Dieses Programm "screen" hier in 2008 gefunden, soll den "mc" bunt machen und auch die Pfeiltasten aktivieren:

.
/ # opkg install screen
Installing screen (4.8.0-2) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/screen_4.8.0-2_armv7-3.2.ipk
Configuring screen.
/ #
.

  • jetzt den "mc" aufrufen mit :  / # screen mc

.
endlich - es funktioniert ohne Probleme !!!!!!!!!!!!!!!!!!! - auch auf dem Test-NAS 4
.

Probieren wir, auch "htop" und "joe" zu installieren

.
./ # opkg install htop
Installing htop (3.1.0-1) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/htop_3.1.0-1_armv7-3.2.ipk
Installing libncursesw (6.2-3) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libncursesw_6.2-3_armv7-3.2.ipk
Installing libncurses (6.2-3) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/libncurses_6.2-3_armv7-3.2.ipk
Configuring libncursesw.
Configuring libncurses.
Configuring htop.
/ #

/ # opkg install joe
Installing joe (4.6-2) to root...
Downloading http:// bin.entware.net/armv7sf-k3.2/joe_4.6-2_armv7-3.2.ipk
Configuring joe.
/ #

endlich zufrieden - das hatte aber gedauert .............................. es gibt immer wieder kleine Macken wie bei dem "USRPKG_DEPS_START" Script, bei dem nur ein Zeichen (#) gefehlt hatte.
.

.

Startseite -- © 2001/2022 - Copyright by Dipl.-Ing. Gert Redlich / Germany - D-65191 Wiesbaden - Telefon-Nummer - Impressum