Using ZyXEL packages (NSA-212)

From NAS-Central Zyxel Wiki
Jump to: navigation, search

Using MetaRepository it's possible to install ZyXEL packages on a Medion. However, not all packages work.

Package list

Package Version Status Remarks
BackupPlanner Seems to work
Dropbear Works
DyDns Seems to work
Gallery Doesn't work Page gives an error.
Google Drive Not tested
MetaRepository Works Duh!
MidnightCommander Works
NFS Seems to work
Nzbget Doesn't work Needs another version of /usr/lib/
PHP-MySQL-phpMyAdmin Page loads, and gives a database error. I think it conflicts with build-in MySQL. But PHP seems to work.
Polcast Not tested
Smart Doesn't work Needs another version of /usr/lib/

Use the Medion package instead

Squeezecenter Not tested
Syslog Seems to work
Tftp Seems to work
Transmission Not tested
Tweaks Works
WordPress Not tested
anyterm Doesn't work Needs another version of /usr/lib/
btsync Works
eMule Not tested
ffp Works
ownCloud Doesn't work Kills httpd. Think it changes the configuration script, or adds an incompatible plugin to Apache.
pyLoad Seems to work

Note: Seems to work means the user interface works, I didn't test the underlying functionality.

URL fix

On a ZyXEL box the package interface url is http://<ip-of-nas>/pkg/<package>. On my Medion it is http://<ip-of-nas>/r36258,/adv,/pkg/<package>. To solve this I added hotpatching to MetaRepository. The startscripts of other packages are hotpatched on start of MetaRepository, and on asking the url of MetaRepository itself. So if a new installed package uses a wrong url, refresh the page, to force the hotpatching.

Disabling malfunctioning packages

I advice to install Dropbear first, and to verify you can login over ssh, even after a reboot. When your webinterface dies, you can't enable the telnet backdoor anymore.

When a package is malfunctioning, and you can't disable it in the webinterface, you can disable it manually. Login over ssh, and execute

cd /usr/local/zy-pkgs/etc/init.d/

Now you see a list of startscripts. Find the startscript which belongs to your target package, and execute:

packagescript shutdown
packagescript disable

Where you exchange 'packagescript' by the real name of the script.