Synology-Forum.nl
Tweaks / Addons A.K.A. The Underground => 3rd party apps integratie in DSM => Topic gestart door: wizjos op 28 april 2009, 14:52:44
-
Onlangs las ik een tip van Cogmios (http://www.synology-forum.nl/viewtopic.php?f=21&t=2911) (waarvoor dank!) over het maken van een backup van de repository van IPKG. Dit heeft mij er toe gebracht om de originele webinterface voor IPKG eens op de schop te nemen.
Mijn oorspronkelijke idee was om een backupvoorziening in te bouwen in deze interface. Echter, mijn CGI kennis schiet hiervoor te kort.
Dan maar eens een poging wagen e.e.a. te herschrijven in PHP....
En met succes.
Ik heb de interface qua werking zo veel mogelijk hetzelfde gehouden als het origineel. Je kan dus overzichten krijgen van reeds geïnstalleerde pakketten met de mogelijkheid ze te verwijderen of bij te werken (in geval van een beschikbare nieuwere versie) en je kan nog niet geïnstalleerde pakketten installeren.
Daarnaast heb ik een paar nieuwe dingen toegevoegd:
- De mogelijkheid om informatie over de geïnstalleerde pakketten uit te lezen (naast versie etc. zie je ook waar welk bestand heen gekopiëerd is)
- Backup en restore functionaliteit
Een ander niet onbelangrijk voordeel is dat deze PHP-versie beduidend sneller is dan de CGI-variant! Het opvragen van bijvoorbeeld een lijst met nog niet geïnstalleerde pakketten gaat ongeveer 3 keer zo snel!
Een en ander is te bewonderen op m'n site (http://synowiz.homeip.net/), alwaar je ook de download vindt.
Veel plezier er mee!
Wizjos
-
Hey....superhandig! Ik zal hem dadelijk even testen, pretty cool. Ik lees "/opt/lib/ipkg" als copy bron maar bij mij staan deze op de een of andere manier in "/lib/ipkg" ? (dus vanaf de root /lib/ipkg).
Ed
p.s. je schrijft op http://wizjos.endofinternet.net/cms4ds/hacks.html (http://wizjos.endofinternet.net/cms4ds/hacks.html) dat je na het aanpassen van je .profile zou moeten rebooten, dat hoeft niet.
Je kunt ook ingeven:
. ~/.profile
dat sourced je ash profile bestand opnieuw.
p.p.s. op http://wizjos.endofinternet.net/cms4ds/scripts.html (http://wizjos.endofinternet.net/cms4ds/scripts.html)
staat "installeer vanaf de prompt (telnet) IPKG-web via commando : ipkg -install ipkg-web" maar bij mij moet dat minnetje voor "install" weg.
p.p.p.s. ipkgphp geinstalleerd, moest nog even:
1) /usr/syno/etc/php.ini : "safe_mode_exec_dir = none" ingeven gevolgd door /usr/syno/apache/bin/httpd -k restart
2) even de admin check regels commenten
3) het pad naar de repository aanpassen naar $path_IPKGLIB = '/lib/ipkg';
maar doet het, mooi!
p.p.p.p.s.: waarom staat er naast sommige packages update en naast andere niet?
(http://edward.de.leau.net/images/c.jpg)
:)
-
Cogmios,
Leuk dat je 't kan waarderen! Even wat korte reacties/antwoorden (anders is m'n vrije dag gelijk gevuld :mrgreen: ):
ad ps: Ga ik eens uitproberen! 'k Weet nog lang niet zo veel van Linux als van Dos/Windows, dus learning all the time...
ad pps: Heb je gelijk in! Slip of the finger. 'k Haal 'm weg.
ad ppps 1): Klopt. Zonder deze instelling functioneert het niet.
ad ppps 2): Kan, maar maar e.e.a. is wat onveiliger.
ad ppps 3): Kan, dan heb je IPKG blijkbaar via een andere source geïnstalleerd dan via ipkg.nslu2-linux.org...
ad pppps: Vreemd! Er wordt een vergelijk gedaan tussen de versies van de geïnstalleerde pakketten en de lijst met beschikbare pakketten (en versies). Als hier de versies verschillen zou je onder I-Ver de huidige versie moeten zien staan en onder P-Ver de beschikbare nieuwere versie. Om de een of andere reden geeft 'ie bij jou, ondanks gelijke versies, tóch een update aan... Bij mij doet 'ie dit:
(http://192.168.131.119/images/syno/phpmyipkg6.jpg)
Mag ik vragen waar jouw ipkg z'n updates vandaan haalt (ipkg.conf)? Vergelijk anders ook een op de prompt de uitkomst tussen de versies (ipkg list_installed versus ipkg list).
Groet,
Wizjos
-
src synoware http://www.maartendamen.com/synoware
dest root /
src/gz syno-x07 http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable
!
-
Er staat volgens mij een foutje in de application.cfg.
Er staat als path vermeld: path = /phpsrc/PhpMyIPKG/package.cgi
Dat zal toch: path = /phpsrc/PhpMyIPKG/PhpMyIPKG moeten wezen?
Overigens werkt het dan bij mij nog niet geheel. Ik krijg het correcte startscherm te zien maar met de volgende melding erbij:
Warning: include(dbug.php) [function.include]: failed to open stream: No such file or directory in /usr/syno/synoman/phpsrc/PhpMyIPKG/PhpMyIPKG.php on line 159
- Updaten van IPKG lukt via deze webinterface wel.
- not installed Package list verschijnt correct
- installed Package list blijft helaas leeg. Er verschijnt niets.
Zal met paden te maken hebben, maar ik kom er niet achter. Svp hulp hiermee.
ps Ik heb ooit IPKG geïnstalleerd met synoware van Maarten Damen. Ik heb de verwijzing naar zijn website later verwijderd en verandert in http://ipkg.nslu2-linux.org/feeds/optwa ... s/unstable (http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable).
-
Wowo,
Fijn dat er oplettende mensen zijn! Je hebt volkomen gelijk! Ik heb de zip inmiddels voorzien van een aangepast .cfg en .php bestand :oops:
Dank daarvoor dus! Een en ander zou nu moeten werken zonder verdere foutmeldingen.
Voor wat betreft de lijst met geïnstalleerde packages een paar vraagjes: Wat gebeurt er als je gewoon op de prompt ipkg list_installed ingeeft? Waar heb je ipkg geïnstalleerd staan? is dat wel in /opt/bin? Bij IPKG hoort een bestand 'status'; hierin staan de geïnstalleerde packages. Waar staat bij jou dit bestand?
Ik vermoed dat e.e.a. inderdaad een gevolg is van de alternatieve installatie van destijds :roll:
Groet,
Wizjos
-
Wat gebeurt er als je gewoon op de prompt ipkg list_installed ingeeft?
Ik krijg enkel de melding: Successfully terminated.
Waar heb je ipkg geïnstalleerd staan? is dat wel in /opt/bin?
Ik zie ipkg staan in zowel /opt/bin als ook in volume1/opt/bin (beide dezelfde grootte en datum)
Bij IPKG hoort een bestand 'status'; hierin staan de geïnstalleerde packages. Waar staat bij jou dit bestand?
Dit bestand staat bij mij in /lib/ipkg. Dit bestand is overigens geheel leeg.
In /lib/ipkg staat ook een directory /info die leeg is en een directory /lists waarin het bestand syno-x07 waarin de beschikbare packages opgesomd zijn.
De door mij geïnstalleerde packages staan zowel in /opt/share (bv midnight commander) als ook /opt/lib/ipkg/alternatives (bv unzip)
Hopelijk kan je wat met deze info.
Mvg WoWo
[Edit] Met de nieuwe versie krijg ik de foutmelding niet meer, maar ik krijg nog steeds geen geinstalleerde paketten te zien
-
Wowo,
Ik vrees dat je slachtoffer bent van wat Cogmios elders op het forum al beschreef: het bestand (of de inhoud) waar ipkg in bijhoudt welke pakketten er geïnstalleerd zijn is verdwenen...
Als ik bij mij in /opt/lib/ipkg kijk zie ik:
/alternatives
/info
/lists
status
Bij jou is de inhoud van het bestand status dus verdwenen. Zodoende weet ipkg niet welke pakketten er geïnstalleerd zijn
De inhoud is wel weer te produceren, maar dan moet je wel weten welke pakketten je geïnstalleerd hebt.
De inhoud van het status bestand ziet er als volgt uit:
Package: bzip2
Version: 1.0.5-1
Status: install ok installed
Architecture: powerpc
Package: e2fslibs
Version: 1.41.4-1
Status: install ok installed
Architecture: powerpc
Package: expat
Version: 2.0.1-1
Status: install ok installed
Architecture: powerpc
Package: fontconfig
Version: 2.5.0-0
Depends: expat, freetype, gconv-modules
Status: install ok installed
Architecture: powerpc
Voor ieder pakket dus deze vier regels, met een witregel er tussen (denk om de ^M's!)
Verder schrijf je dat in lib/ipkg een lege dir info staat (bij mij is die hele directory er niet). Zou dus evt. weg kunnen.
In /opt/share staan bij mij ook de geïnstalleerde packages. In /opt/lib/ipkg/alternatives staan bij mij een drietal bestanden (bzip2, clear en unzip). De inhoud daarvan is gewoon tekst bv. Bzip2:
/opt/bin/bzip2
/opt/bin/bzip2-bzip2 80
Je zou eens kunnen testen of een nieuw te installeren package ook daadwerkelijk geïnstalleerd wordt en in het status bestand wordt vermeld. Als dat het geval is lijkt het er op dat IPKG normaal werkt en dat zoals boven geschreven, domweg alle inhoud uit status verdwenen is en je status dus handmatig zal moeten vullen.
Als een nieuw geïnstalleerd package niet in status wordt opgenomen, dan denk ik dat je een herinstallatie van ipkg moet overwegen...
Succes!
Wizjos
-
Ik heb een nieuw package geïnstalleerd (bitchx) via het programma PhpMyIPKG (en alles verloopt goed.
Bij geinstalleerde pakketten (Package List) worden nu 2 packages vermeld: bitchx en ncurses (wat blijkbaar tezamen met bitchx geïnstalleerd wordt).
Als ik bij mij in /opt/lib/ipkg kijk zie ik:
/alternatives
/info
/lists
status
Bij staat zoals nog steeds alleen vermeld in deze directory:
/alternatives (bzip2,clear,unzip)
/info (leeg)
Vreemd is echter dat bij jou de directory lib/ipkg niet bestaat. Bij mij staat nu (na het installeren van bitchx) in deze directory:
/info (met de nodige info over bitchx en ncurses)
/lists (met daarin het bestand syno-x07 met alle beschikbare packages)
status
In de status staat nu het volgende:
Package: bitchx
Version: 1.1a-final-1
Depends: ncurses
Status: install user installed
Architecture: arm
Installed-Time: 1241529809
Package: ncurses
Version: 5.7-1
Status: install ok installed
Architecture: arm
Installed-Time: 1241529804
Als ik dus iets nieuw installeer, lijkt alles goed te functioneren, alhoewel een aantal zaken in andere directory's terecht komen. (wat waarschijnlijk het gevolg is van de alternatieve installatie)
Het bestand status (wat bij dus ook in een andere directory staat) is zoals jij vermoedde op een of andere manier inderdaad "leeg" geraakt. Dit zou ik dus handmatig verder moeten aanvullen.
Ik weet echter niet of het vullen van het info bestand ook noodzakelijk is.
Liever zou ik echter de alternatieve installatie ipkg installatie willen verwijderen, en opnieuw gaan installeren. :cry: Daar zal ik eerst weer even wat moed voor moeten verzamelen. :wink:
-
Het opnieuw installeren van ipkg/optware als ook de bootstrap doe ik toch maar liever niet.
Ik heb het verdwenen status bestand handmatig herstelt met daarin de info over de packages die ik via ipkg geïnstalleerd had.
/info, /lists en status staan bij mij niet in /opt/lib/ipkg geïnstalleerd maar in /lib/ipkg zodat ik het pad in het phpscript heb aangepast naar: /lib/ipkg.
Alles functioneert prima (Hulde voor Wizjos :!: ), maar de backupfunctie helaas bij mij nog niet. :cry:
Als ik op backup klik krijg ik de volgende meldingen:
Checking backupdir...
Creating: /volume1/NetBackup/IPKGBackup
Warning: mkdir() [function.mkdir]: No such file or directory in /usr/syno/synoman/phpsrc/PhpMyIPKG/PhpMyIPKG.php on line 289
Creating: /volume1/NetBackup/IPKGBackup/IPKG_1242046407
Warning: mkdir() [function.mkdir]: No such file or directory in /usr/syno/synoman/phpsrc/PhpMyIPKG/PhpMyIPKG.php on line 295
Data succesfully backed up!
Vreemd genoeg is er echter niets gebeurd.
Er is geen backupdirectory genaamd /volume1/Netbackup te vinden. :roll:
Wat kan hier aan de hand zijn ??? :?:
-
Wowo,
Bestaat bij jou de dir /volume1/NetBackup/IPKGBackup zelf wel?
Ik zal vanavond even kijken waar in de code precies op gestruikeld wordt...
Tot later,
Wizjos
-
Bedankt alvast voor je snelle reactie.
Bestaat bij jou de dir /volume1/NetBackup/IPKGBackup zelf wel?
Deze directory bestaat bij mij niet. Hij wordt aldus niet aangemaakt.
Ik denk dat in mijn geval (MDamen ipkg installatie) zowel zaken uit /lib/ipkg alsook uit /opt/lib/ipkg meegenomen dienen te worden?
-
Ha Wowo,
Je legt zelf eigenlijk al de vinger op de zere plek:
Doordat deze dir niet bestaat loopt de zaak in 't honderd.. Volume1 heb je wel( :mrgreen: ), maar de dir /NetBackup niet... Dez wordt gedefiniëerd op regel 11($backup_dir = '/volume1/NetBackup';). Oplossing is om óf deze dir alsnog aan te maken, óf om de instelling op regel 11 aan te passen (denk er om, NIET met een '/' eindigen en laat het quote-je en de puntkomma vooral staan!).
De reden dat ik dit zo in elkaar heb gezet is dat ik mijn 3rd party manager ook naar deze dir laat wijzen (/volume1/NetBackup dus) met daaronder de dir 3rdpartyBackupSynology. Zo hou ik alles onder een noemer... :D
Hopelijk kom je er zo verder mee, zo niet dan lees ik het wel!
Groet,
Wizjos
-
Niet zo slim van mijzelf. Ik ging er namelijk vanuit dat deze directory vanzelf aangemaakt zou worden als hij/zij nog niet bestond. :wink:
Dankzij jou hulp, werkt alles weer. :)
-
(http://edward.de.leau.net/images/c.jpg)
Ziet er cool uit zo'n phpMyIPKG, maaruh kloppen de links nog? ik kan nergens een directe verwijzing naar phpMyIPKG vinden....of mis ik iets?
-
zdDog,
Zie het onderschrift onder mijn bericht (of het eerste bericht in deze post). Daar staan links naar mijn site, alwaar je onder 'scripts' PhpMyIPKG terug kunt vinden.
Happy hunting!
Wizjos
-
Dank voor de snelle reactie, nu gevonden, meteen proberen
-
Mmmm..
Warning: exec() [function.exec]: PHP exec disable. in /volume1/web/phpmyipkg/PhpMyIPKG.php on line 4
zelfde geldt voor 3rd party manager
moet ik in php.ini iets wijzigen?
gr zdDog
-
Warning: exec() [function.exec]: PHP exec disable. in /volume1/web/phpmyipkg/PhpMyIPKG.php on line 4
zelfde geldt voor 3rd party manager
moet ik in php.ini iets wijzigen?
Klopt! Lees de 3rd party apps handleiding (http://www.synology-forum.nl/viewtopic.php?f=83&t=2182) door! Synology heeft standaard de exec functie uitgeschakeld... Tevens zal je je openbasedir moeten aanpassen.
Succes!
Wizjos
-
aha, ik dacht al...dit is te makkelijk ;)
OK wordt even een meerdaags project, heb al eens eerder zo diep gehacked in mijn terziele zijnde freecom datatank
dank alvast voor de links en het geduld
I'll be back... :lol:
-
Succes!
-
Daar ben ik weer
ik heb volgens mij alle aanwijzingen gevolgd (http://www.synology-forum.nl/viewtopic.php?f=83&t=2182), maar de output blijft uit
ik heb het idee dat php niet wordt geparsed; dit had ik ook al met het cronjobs (http://www.synology-forum.de/showthread.html?t=2217) script van itari; als ik https://mijnsynonaam:5001/phpsrc/cronjobs/cronjobs.php (https://mijnsynonaam:5001/phpsrc/cronjobs/cronjobs.php) gebruik dan wil hij na een waarschuwing (certificaat) het bestand downloaden ipv parsen
plaatje van de output: graag je advies...
(http://sisal.dyndns.org/remote/images/ipkg_syno1.png)
PS, het maak je ogen mooier is van mijn dochter :lol:
-
voor het gemak
edit: obsoleet
-
Hoi zdDog,
Ik krijg een 'pagina niet gevonden'-melding op http://sisal.dyndns.org/info.. (http://sisal.dyndns.org/info..). Plaatje is ook wat onwillig :( , dus daar kan ik even niet zo veel over roepen.
Ik kom er binnnenkort op terug: ik ga eerst nog even op huwelijksreis! :mrgreen:
Tot volgende week....
Wizjos
-
gefeliciteerd!
inmiddels was mijn DSM onbereikbaar geworden en moet ik even helemaal opnieuw beginnen, vandaar dat het niet lukt
goede reis!
edit: gelukkig weer online, poeh!
-
(http://10.0.0.12/remote/images/ipkg_syno2.png)
gelukt! :P
maar cron is a different story :?
viewtopic.php?f=83&t=2181&p=12877#msg12877 (http://synology-forum.nl/viewtopic.php?f=83&t=2181&p=12877#msg12877)
-
Foutje gevonden in de weergave van de geïnstalleerde pakketten...:
Als er updates zijn van geïnstalleerde pakketten dan zou normaliter het nieuwe versienummer in de kolom P-ver moeten verschijnen. Tot mijn verrassing zag ik bij P- en I-ver dezelfde waarden!.
Is met de nieuwe 1.2 versie (http://synowiz.homeip.net/scripts.html?id=PhpMyIPKG) verholpen.
Verkrijgbaar in de smaken zip en spk :mrgreen:
Groet,
Wizjos
-
En dan kom je er achter dat het filter eigenlijk niet goed werkt.... Versie 1.3 (http://synowiz.homeip.net/scripts.html?id=PhpMyIPKG) dus... :mrgreen:
Daarnaast nog een paar veranderingen doorgevoerd die ik toch al in gedachten had:
-Hoofdletter gevoeligheid in- en uitschakelbaar bij filter
-Duidelijker labels
-Simpele weergave van de kengetallen: aantal beschikbare IPKG pakketten; aantal geïnstalleerde IPKG pakketten en laatste datum IPKG update
Uiteraard weer in de smaken zip en spk.
Groet,
Wizjos
-
Ik heb hetzelfde in versie 1.3 als de afbeelding van zdDog. Ik heb de PhpMyIPKG.spk file van jouw site geïnstalleerd op een DS207+,DSM 2.2-0914.
Ik heb geen verstand van programeren, maar het lijkt er op dat de code op regel 165:foreach ($haystack as $k=>$v) {
de '>' teken roet in het eten gooit. Of moet ik ergens iets instellen?
EDIT: Gerelateerd nieuw topic begonnen: http://www.synology-forum.nl/viewtopic.php?f=84&t=3232
-
(http://sisal.dyndns.org/remote/images/phpmyIPKG1.jpg) na upgrade DSM 2.2
het werkt verder wel
ik gebruik de .spk
3rd partyman kon niet alles fijn herstellen
heb natuurlijk wel alle php.ini en httpd-sys wijzigingen uit 3rdpartyman opnieuw uitgevoerd, ik kan zien aan andere 3rd apps dat ze goed werken
het ^M probleem bekeken, is het ook niet
Het lijkt erop of er toch iets anders zit na de upgrade
je wijze raad is altijd gewaardeerd
gr zdDog
-
never mind...het is gek genoeg, na een aantal .spk installaties opgelost...mmmm...
-
(http://sisal.dyndns.org/remote/images/phpmyIPKG1.jpg) na upgrade DSM 2.2
het werkt verder wel
ik gebruik de .spk
3rd partyman kon niet alles fijn herstellen
heb natuurlijk wel alle php.ini en httpd-sys wijzigingen uit 3rdpartyman opnieuw uitgevoerd, ik kan zien aan andere 3rd apps dat ze goed werken
het ^M probleem bekeken, is het ook niet
Het lijkt erop of er toch iets anders zit na de upgrade
je wijze raad is altijd gewaardeerd
gr zdDog
Bij mij hetzelfde probleem, zit toch echt iets niet goed in versie 1.3.
Alles werkt verder wel zoals zdDog ook al aangeeft.
-
Heb het geluk gehad dat mijn harde schijf het heeft begeven zodat ik eens met een geheel schone lei kon beginnen. :D
Natuurlijk wel gezorgd voor de nodige backups, maar alles terugzetten kost een hoop tijd .......
De alternatieve ipkg-installatie van Maarten Damen heb ik nu niet meer. Werk dus nu met het officiële IPKG-gebeuren.
Wizjos, ik heb gezien dat op jouw Syno Pages een package van PhpMyIPKG te downloaden zou zijn.
De download-link werkt bij mij helaas niet.
Zou je hier even naar kunnen kijken.
-
Wowo,
Heb het geluk gehad dat mijn harde schijf het heeft begeven zodat ik eens met een geheel schone lei kon beginnen.
Dan zijn we hierin collega's vrees ik :mrgreen:. Mijn systeem heeft uiteindelijk min of meer het loodje gelegd... :(
Ik ben druk bezig om een nieuw systeem op te tuigen. Als je nog even geduld hebt is de zaak weer online en kan je alles weer downloaden.
Groet,
Wizjos
-
Dan zijn we hierin collega's vrees ik :mrgreen:. Mijn systeem heeft uiteindelijk min of meer het loodje gelegd... :(
Ik ben druk bezig om een nieuw systeem op te tuigen. Als je nog even geduld hebt is de zaak weer online en kan je alles weer downloaden.Wizjos
Toeval bestaat. :mrgreen:
Omdat mijn schijf net 2 jaar oud was, heb ik van mijn leverancier gratis een nieuwe gekregen. :!:
Downloaden werkt al weer. Bedankt daarvoor.
-
Ha Wizjos,
tja ik loop een tijd achter met van alles dus ook met dit.
1. Wanneer ik PhpMyIPKG installeer met de "3rd party manager" wordt alles keurig geïnstalleerd maar krijg ik de melding "pagina kan niet weergegeven worden"
Dit heb ik echter kunnen oplossen doordat ik zag dat je bestand in je zip file "PhpMyIPKG.php" heet (met hoofdletters dus) en er na de installatie in de application.cfg dit is omgezet naar een bestandsnaam met KLEINE letters.... :mrgreen:
2. Dit aangepast hebbende krijg ik: Parse error: syntax error, unexpected T_STRING in /usr/syno/synoman/phpsrc/phpmyipkg/phpmyipkg.php on line 235
Overigens heb ik de vorige (cgi versie) er ook nog op staan en deze werkt wel zoals het hoort.
Een idee?
Padnaam voor de backup op Volume1 heb ik aangepast.
Groet,
Grafcom
-
Grafcom,
Hmm, als ik op regel 235 kijk wordt daar de de if afgesloten (met een }), die begint op regel 161 (if ($_REQUEST['typefilter'] != 'none' && $_REQUEST['typefilter'] != '') {). Zou je zo goed willen zijn eens te kijken wat er bij jou op regel 235 staat? Als ik 'm hier laat lopen, loopt alles normaal... Vreemd dus.
Heb je overigens de zip- of de spk versie in gebruik? Ik gebruik hier zonder (installatie-)problemen de spk versie...
PM mij anders de inhoud van PhpMyIPKG.php even...
Groet,
Wizjos
-
Wizjos,
ter aflsuiting voor mij (en eventueel andere lezers) op dit Topic.
De .spk bestand versie werkte meteen dus oke :D
Toch nog eigenwijs zitten piemelen en de zip versie handmatig in de Syno gebracht.... enne... werkte meteen..... :D
Dan moet er dus iets mis gaan wanneer ik de 3rd Party Manager gebruik.... :(
Groet,
Grafcom