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

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.

.

Versuch 1, Also zuerst "entware" (opkg) installieren .......

.

Vorwort und Einstieg ...... der SSH-Dienst wird gebraucht :

Hier wird der ssh-Dienst aktiviert.

Erfahrung : Grundsätzlich macht man soetwas nur im lokalen Netz als "admin"- oder "root"- User. Alles andere ist nur mühsam und draußen im Internet zusätzlich riskant. Wir brauchen einen "root" Konsolen-Zugang zum Server. Ist im Web-Interface der "SSH Terminal Zugang" zum NAS-540 freigeschaltet, können wir sowohl über "putty" als auch über "winscp" auf den NAS-Server zugreifen. Mit "putty" holen wir uns eine Server-Konsole auf einen lokalen PC und zwar als user "root" mit dem von uns vergebenen (admin) Kennwort. Und jetzt brauchen wir den Paket-Manger "entware" bzw. "opkg".

(https://github.com/Entware/Entware/wiki/Install-on-Zyxel-NAS542) - Dort finden Sie die nachfolgende Anleitung, (die aber dann aber doch nicht funktioniert).
.

Installing "Entware" (aus dem Software Repository)

.
aber immer der Reihe nach :
.

Wie in der Anleitung beschrieben : Step (1) und (2) auf Test-1

(1) First create a file named "USRPKG_DEPS_START" under "/i-data/.system/zy-pkgs" and make it executable. Put one line in that file called "entware". This is the name of the script that the system will run when it boots.

  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

.
(2) Next, you need to find the name of your volume. This can be determined by running the following command:

cd /i-data/.system

(der jetzt angezeigte Pfad enthält die "Volume-ID" - das ist der häufig gebrauchte "Name" der Partition - auf der 1. Platte)
.

Step (3)

(3) Now create the bash-script that creates the directories "/opt", starts Entware, and includes opkg in your path. This script has to be called 'entware' and placed in "/i-data/.system/zy-pkgs/" in order to be executed.

The content of the script is as follows (with "YOUR_VOLUME_ID_HERE" substituted with the unique value you got in step 2):

========== der Inhalte der Datei "entware" (ausführbar gemacht) ================
!/bin/sh

# Define the ID of your volume VOL="YOUR_VOLUME_ID_HERE"
# bei unserem Test-Server wäre das zum Beispiel "VOL=aa6cb00c"

VOL=aa6cb00c

mkdir -p /i-data/$VOL/opt > /dev/null 2>&1
mkdir -p /opt mount -o
bind /i-data/$VOL/opt /opt

# diese Zeile könnte nur in diesem m Script "entware" starten - aus dem jetzt verlinkten root-Verzeichnis /opt/ heraus

/opt/etc/init.d/rc.unslung start

# Add opkg to your path
echo 'export PATH=$PATH:/opt/bin:/opt/sbin' >> /etc/profile
exit 0

===================================================================
will ich diese Zeilen von dem Vorschlags-Script hilfsweise von Hand auf der Kommandozeile ausführen, muß ich die Script-Variable "VOL" natürlich vorher in den Zeilen händisch durch den echten Namen ersetzen.

Das lautet dann so :

  1. mkdir -p /i-data/aa6cb00c/opt > /dev/null 2>&1
  2. mkdir -p /opt
  3. mount -o bind /i-data/aa6cb00c/opt /opt


Erst jetzt kann ich diese Zeile mit dem rc.unslung aufrufen :

/opt/etc/init.d/rc.unslung start
.
es kommt aber immer noch ein Fehler

/opt/etc/init.d/rc.unslung: line 38: /opt/bin/find: not found
.

Und schon gehts nicht mehr - Was ist da faul ?

.
Anmerkung : Diese obige Textdatei (ein bash script) erzeugen wir NICHT mit dem "vi", es ist viel zu kompliziert, wir machen das mit dem im "
winscp" enthaltenen Text-Editor. Den seit 20 Jahren bekannten Editor "joe" konnten wir bislang noch nicht installieren.
.
Das Verzeichnis "/opt/etc/init.d/", in dem "rc.unslung" stehen sollte und aufgerufen würde, ist noch gar nicht angelegt worden und damit auch nicht verfügbar. Damit stimmt dieser erste Mustervorschlag überhaupt nicht. Später hatte ich herausgefunden, daß es mit der zweiten Install-Variante (dem install.sh Script) funktioniert, aber auch wieder nur, wenn diese erste Version bis zum Fehler durchgelaufen war - alles sehr sehr sonderbar - oder Bastelkram.
.

Mit Step (4) auf Test-1 sollte es weiter gehen

(4) Reboot your NAS. - dafür brauchen wir auf der Komandozeile des putty Terminals nur "reboot" einzugeben.

After the system 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/<YOUR_VOLUME_ID_HERE>/opt on /opt type none (rw,bind)

Leider Pech gehabt, diese obige Zeile fehlt in der folgenden Ausgabe ....

~ # mount
/proc on /proc type proc (rw)
/sys on /sys type sysfs (rw)
none on /proc/bus/usb type usbfs (rw)
devpts on /dev/pts type devpts (rw)
ubi7:ubi_rootfs2 on /firmware/mnt/nand type ubifs (ro)
/dev/md0 on /firmware/mnt/sysdisk type ext4 (ro)
/firmware/mnt/sysdisk/sysdisk.img on /ram_bin type ext2 (ro)
/ram_bin/usr on /usr type none (ro,bind)
/ram_bin/lib/security on /lib/security type none (ro,bind)
/ram_bin/lib/modules on /lib/modules type none (ro,bind)
/ram_bin/lib/locale on /lib/locale type none (ro,bind)
/dev/ram0 on /tmp/tmpfs type tmpfs (rw,size=5m)
/tmp/tmpfs/usr_etc on /usr/local/etc type none (rw,bind)
ubi3:ubi_config on /etc/zyxel type ubifs (rw)
/dev/md2 on /i-data/aa6cb00c type ext4 (rw,noatime,usrquota,data=ordered,barrier=1)
/i-data/aa6cb00c/.system/zy-pkgs/pkggui on

>>>>>>>>> hier fehlt die obige Zeile <<<<<<<<<<<<<<<

/usr/local/apache/htdocs/desktop,/pkg type none (rw,bind)
configfs on /sys/kernel/config type configfs (rw)
~ #

Da ist also doch ein Fehler ist aufgetreten. - Dieser Versuch ist damit schief gelaufen - und darum muß ich erst mal den Fehler suchen.
.

Es ist ein Fehler aufgetreten - Eine Nacharbeit ist erfoderlich

Also wird auf diesem NAS (wegen der VOL-ID Variablen) von Hand mit diesen korrigierten Kommandozeilen jeweils einzeln das Verzeichnis /opt angelegt usw.

  • mkdir -p /i-data/aa6cb00c/opt > /dev/null 2>&1
  • mkdir -p /opt mount -o bind /i-data/aa6cb00c/opt /opt
  • ./i-data/aa6cb00c/opt/etc/init.d/rc.unslung start


Ergebnis : die Datei "rc.unslung" : (immer noch nicht) not found - warum ??? Wo ist sie ??
.
-sh: /opt/etc/init.d/rc.unslung: not found
.
Also wo kommt "rc.unslung" her oder wo ist es geblieben ? Im "entware" Forum antworten die entware Mitmacher, sie hätten keine Zyxel NAS, haben aber dennoch diese Prozedur bzw. dieses Script ausführlich für Zyxel NAS 542 aufgeführt.

Da das Verzeichnis /opt/ leer ist und keine Befehls-Zeile die fehlende Datei reinkopiert hatte, kann sie gar nicht da sein !!! Das ist für mich sehr sonderbar und sehr befremdlich. So sollte es nicht sein.
.
Nachtrag : Diese fehlende Datei hatte ich dann von einem anderen NAS rüber geholt, aber das hilft auch nichts.
.

Darum Step (5) und (6) (erstmal auf Eis gelegt)

Schon mal vorweg - Im Nachhinen war es ein Fehler, die beiden Steps 5 und 6 zu überspringen. - (Ich weiß auch nicht mehr, warum ich diesen Weg gewählt hatte.)

(5) To install "Entware" on the device run the installation script:

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

(Hole dieses Script ab und führe es in der bash Shell aus.)

(6) Next, you need to create the shutdown script. The following commands will do so:
.

  • #Create USRPKG_DEPS_SHUTDOWN

 .

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

 .

  • #Create sdentware and fill it in

  1. touch /i-data/.system/zy-pkgs/sdentware
  2. echo '#!/bin/sh' >> /i-data/.system/zy-pkgs/sdentware
  3. echo '/opt/etc/init.d/rc.unslung stop' >> /i-data/.system/zy-pkgs/sdentware
  4. chmod +x /i-data/.system/zy-pkgs/sdentware

.

(7) und auch übersprungen

(7) That's it. Now you can use opkg to install packages. The repo of the packages with description is at Entware Packages

https://bin.entware.net/armv7sf-k3.2/Packages.html
.
Kommentar : Die Liste der zusätzlich installierbaren Pakete für den oder die NAS Server 540/541 ist eindrucksvoll.
.
Dennoch ----- bislang funktionert es nicht.
.

Also weiter gegoogelt und etwas gefunden - ein Auto-Installer

Versuch 2 (immer noch) auf dem Test-1 Server (NAS-540)

.

nach einer längeren Suche - hier steht es :
https://community.zyxel.com/en/discussion/comment/31562#Comment_31562

die dortige Anweisung http://pkg.entware.net/binaries/armv5/installer/ schlägt vor:

"Hier findet man den (auto-) install-shell-script und holt ihn mit wget ab, macht ihn dann noch ausführbar und läßt ihn dann laufen ..........."
.
in das Verzeichnis "/i-data/aa6cb00c/.system/zy-pkgs" verwzeigen und dann :

wget pkg.entware.net/binaries/armv5/installer/entware_install.sh
.

und dann diesen Shell-Script aufrufen :

# ./entware_install.sh und es geht los :

Info: Checking for prerequisites and creating folders...

Warning: Folder /opt exists!
Warning: Folder /opt/etc/init.d exists!
Warning: If something goes wrong please clean /opt folder and try again.
.
.........
.................................... hier kam ganz viel Text .......... und keine Fehler ............
.
Info: Congratulations!

Info: If there are no errors above then Entware-ng was successfully initialized.

Info: Add /opt/bin & /opt/sbin to your PATH variable

Info: Add '/opt/etc/init.d/rc.unslung start' to startup script for Entware-ng services to start

Info: Found a Bug? Please report at
https://github.com/Entware-ng/Entware-ng/issues/i-data/aa6cb00c/.system/zy-pkgs
.

Erkenntnis : Diese Install-Variante hat funktioniert - toll !

Der Installationsmanager "entware" wird somit in dem (jetzt auf die Festplatte Disk-0 verlinkten) "System-root" - also in "/opt/" abgelegt, einem anfänglich virtuellen Verzeichnis in der RAM-Disk, dessen Inhalte jetzt aber physikalisch real und resident auf der Festplatte in "/i-data/aa6cb00c/opt/" gespeichert werden.
.

Ob dieser "entware_install" Installer ohne den obigen abgebrochenen Versuch-1 auch so problemlos durchgelaufen wäre, kann ich im Moment nicht beurteilen. (Nachtrag : hätte er nicht, weil das /opt/ Verzeichnis sowie der symlink nicht da gewesen wäre.)

Jedenfalls sind jetzt in im virtuellen "/opt/" (virtuell im system-root) und in meinem echten physikalischen Verzeichnis auf der Platte in "/i-data/aa6cb00c/opt" jetzt die gleichen Unterverzeichnisse drinnen. (Das hatte ich mit einem selbst angelegten eigenen Testverzeichnis lieber nochmal getestet).
.

Wie geht es weiter ?

Jetzt funktioniert der "mount" Befehl und gibt das hier aus :

/opt #
# mount
========================================================
/proc on /proc type proc (rw)
/sys on /sys type sysfs (rw)
none on /proc/bus/usb type usbfs (rw)
devpts on /dev/pts type devpts (rw)
ubi7:ubi_rootfs2 on /firmware/mnt/nand type ubifs (ro)
/dev/md0 on /firmware/mnt/sysdisk type ext4 (ro)
/firmware/mnt/sysdisk/sysdisk.img on /ram_bin type ext2 (ro)
/ram_bin/usr on /usr type none (ro,bind)
/ram_bin/lib/security on /lib/security type none (ro,bind)
/ram_bin/lib/modules on /lib/modules type none (ro,bind)
/ram_bin/lib/locale on /lib/locale type none (ro,bind)
/dev/ram0 on /tmp/tmpfs type tmpfs (rw,size=5m)
/tmp/tmpfs/usr_etc on /usr/local/etc type none (rw,bind)
ubi3:ubi_config on /etc/zyxel type ubifs (rw)
/dev/md2 on /i-data/aa6cb00c type ext4 (rw,noatime,usrquota,data=ordered,barrier=1)
/i-data/aa6cb00c/.system/zy-pkgs/pkggui on /usr/local/apache/htdocs/desktop,/pkg type none (rw,bind)

----- diese Zeile unten wäre bzw. ist wichtig zur Kontrolle : --------

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

configfs on /sys/kernel/config type configfs (rw)
/opt #
========================================================

Das wurde in Step 4 abgefragt und ist jetzt korrekt - warum nicht gleich so ??
.
Ich rufe in "putty" sicherheitshalber ein "reboot" auf, damit ich gleich sehe, was danach "noch oder schon" funktioniert
.

Die nächste Aktion .... hier steht, wie es gehen sollte:

.
https://metarepository.tk/forum/viewtopic.php?f=12
.

New zypkg: MetaRepository
.

  • diese Anleitung stammt aus 2018

.
Beitrag von Mijzelf am 14. Nov 2018
.
What is this? Basically that is a CGI script which runs locally on the NAS, and disguises itself as a http package repository. Using the web_prefix file the firmware package manager is pointed to it.

The script downloads the ZYPKG_INFO.tgz or ZYPKGS file from several repositories, and combines that to a single file, on base of (alphabetically) sorting the packages. Further it keeps a database of origin of all those packages, and when requested it downloads and offers them.

How to install
Step 1
Download the file web_prefix, and put it in the directory \\<NAS>\admin\zy-pkgs\ on the NAS. Make sure your browser doesn't add any extensions to the file.Habe ich gemacht und auf der Weboberfläche des NAS 420 im App-Center den Update Kringel angelickt.

Und siehe da, ein neues Icon erscheint. Habe erst das metarepository installiert und dann die Liste neu geladen. Toll : Ganz viele neue Icons sind auf dem Bildschirm.
.

.

"April April" - nein, das war es noch nicht .....

"mc", "tweaks" und nochwas installiert und schwupps, waren alle zusätzlich neu hinzugekommenen Icons wieder weg. Im "putty" Fenster funktioniert der über das Web-Icon installierte "mc" nicht, obwohl ich ihn ganz bestimmt installiert hatte. Wo sind die "Tweaks" geblieben ? Die ganzen neuen Icons sind wieder weg. Was war das jetzt ??. Also für einen Laien ist das ganze im Jan. 2022 immer noch nicht ausgegoren. Selbst der Profi staunt.
.

.

Die Methode mit "Versuch und Irrtum" funktioniert

Versuchsweise habe ich die Datei "web_prefix" nocheinmal an die gleiche Stelle kopiert und siehe da, auf der NAS-540 Web-Oberfläche unter "Alle Apps" sehe ich (wieder) ein einzelnes Icon "MetaRepository", das mir beim Klick auf "neu laden" wieder die ganzen neuen Icons anzeigt. Es ist also zur Zeit immer noch eine Spielwiese.

Ein zweiter Versuch mit dem "Midnight Commander" - es geht nicht, es wird nur "deinstallieren" angeboten. In dem Icon von "Tweaks" steht "unbekannter Fehler".

Die Begeisterung läßt sichtlich nach. Mitternacht ist auch schon vorbei. Und es "riecht" alles nach unausgereiftem Bastelkram.
.

.

  • Nur zur Info, ich hatte bislang zwei NAS 540 von Grund auf mit erstmal nur einer Platte ganz neu aufgesetzt und die aktuelle Firmware kontrolliert bzw. geladen.

  • Ein normaler Admin hätte mit (bzw. nach) diesen Versuchen und Erkenntnissen den "ganzen Kram" schon in die Tonne getreten und vermutlich QNAP oder sonstwas gekauft.

.

.

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