Elanor

Elanor is de opvolger van Samwise. Het is een QNAP TS-459 Pro +, een raid-5 NAS, met de mogelijkheid als server te opereren via packages. Disks: 4 Western Digital Red 3TB.

Elanor

Elanor Gardner, ook bekend als Elanor the Fair, is het eerste kind van Samwise Gamgee en zijn vrouw Rose Cotton (ze kregen er 13!).

Elanor Gardner

Info over de QNAP:

Serienummers e.d.

Servernaam elanorFirmware versie 3.5.0 Build 0815TSerienummer Q114I04902Ethernet 1 Mac = 00:08:9B:C7:F5:8A IP address = 10.10.10.10 Network mask = 10.10.255.255Ethernet 2 Mac = 00:08:9B:C7:F5:8B

Admin

Admin gebruiker is admin, password is bekend.

Rebooten

Rebooten duurt lang, enkele uren. Bovendien raakt het netwerk helemaal in de war omdat Elanor al die tijd geen routertaken uitvoert (dhcp en nameserver). Na het rebooten is het nodig Frits opnieuw op te starten. De dhcp server lijkt niet vanzelf op te starten, en named start wel, maar staat dan niet goed geconfigureerd….

  • IP address opnieuw configureren
  • Spotweb werkt niet doordat MySQL niet opstart.
    /etc/init.d/mysql.sh restart
  • /etc/init.d/Qthttpd.sh opnieuw patchen

Via het boot script:

  • dhcp starten
  • bind starten
  • ip address configureren?
  • mysql goed starten?
  • Couchpotato

Configuratie

Qnap zet configuratie in /etc/…. Deze lijken te worden overschreven door de configuratie in /mnt/HDA_ROOT./config

In resolv.conf de regel search home.vdmeulen.net toevoegen.

Crontab editor kiezen door .bashrc te editen.

Crontab editen met nano

nano /etc/config/crontab
crontab /etc/config/crontab
#en voor de zekerheid
crontab -l
#tenslotte de wijzigingen doorvoeren
/etc/init.d/crond.sh restart

Of staat crontab in /mnt/HDA_ROOT/.config/crontab ?

Wachtwoorden van gebruikers veranderen

Gebruik de change password mogelijkheid van de LDAP server!

Beveiling

Voordat de server live kan:

Default passwords veranderen

Gebruik date | md5 om passwords te genereren

Logrotate

  • Config in opt/etc/logrotate.conf
    compress
    
    /var/log/messages.disable {
    	missingok
    	rotate 5
    	postrotate
    		/bin/killall syslogd
    		/bin/killall klogd
    	endscript
    }
    
    /opt/var/log/apache/*.log {
    	rotate 25
    	postrotate
    		/etc/init.d/thttpd.sh restart 2>/dev/null
    	endscript
    }
    
    /opt/var/log/spotweb/*.log {
    	missingok
    	rotate 5
    }
    
    /opt/var/log/subliminal/*.log {
    	missingok
    	rotate 14
    }
    
    include /opt/etc/logrotate.d
  • crontab:
    15 0 * * * root /opt/sbin/logrotate /opt/etc/logrotate.conf &>/dev/null

Updates

Automatisch updaten lijkt niet lekker te werken. Handmatig via de webinterface wel. Download de nieuwe firmware, pak uit en upload het .img bestand. Als dat niet werkt: http://wiki.qnap.com/wiki/Manually_Updating_Firmware

Na het updaten eerst via de webinterface SSH aanzetten. Vervolgens het after reboot script uitvoeren.

Na een update werd niet meer netjes verwezen naar het python qpkg packages. Of zou dat liggen aan een conflict met optware. In de web-interface het packade deactivefren en daarna weer activeren hielp.

export EDITOR=nano                 #nano als default editor in plaats van vi. Werkt niet.
ln -s /share/MD0_DATA/home /share  #/share/home symlinken
ln -s /opt/bin/bash /bin           #/bin/bash symlinken (om bash scripts te laten werken)

Raid configuratie uitbreiden

  1. Stop the services
    /etc/init.d/services.sh stop
  2. Check the size of the RAID
    df /dev/md0
  3. Check the state of the RAID
    mdadm -D /dev/md0
  4. Checked the mtab for the file system (which is ext4 in my case)
    cat /etc/mtab
  5. Unmount the RAID
    umount /dev/md0
  6. Turn ext4 journaling off
    tune2fs -O ^has_journal /dev/md0
  7. RAID voodoo (without this resize2fs said that there is nothing to do) with:
    mdadm --grow --size=max /dev/md0
  8. Check your filesystem for errors:
    e2fsck -f /dev/md0
  9. Extend the RAID, this will take a while
    resize2fs /dev/md0
  10. Recheck the filesystem using the -n option so no changes are made:
    e2fsck -n /dev/md0
  11. Turn the journaling back on
    tune2fs -j /dev/md0
  12. Since the RAID is degenerated now it takes a while to be fine again. See:
    cat /proc/mdstat
  13. Speed up the regeneration
    echo 500000 > /proc/sys/dev/raid/speed_limit_max
    echo 100000 > /proc/sys/dev/raid/speed_limit_min
  14. After the rebuild is done
    reboot
  15. And done

Filesystem

Deels op vaste schijven, deels op ramdisk. De raid5 disk staat op /share/MD0_DATA. De /var directory staat op ramdisk; gebruik /opt/var/, die staat op de raid array.

Log files

In /mnt/HDA_ROOT/.logs

conn.logevent.log In SQLite formaat 3kmsg soort van /var/log/messages kmsg.1kmsg.2

The most interesting log is kmsg, which is similar to on most Linux systems.

Boot script

Om een script automatisch te laten uitvoeren bij het booten: http://wiki.qnap.com/wiki/Running_Your_Own_Application_at_Startup

mkdir /share/MD0_DATA/.qpkg/autorun
cd /share/MD0_DATA/.qpkg/autorun/
touch autorun.sh
chmod +x autorun.sh

Zorgen dat het script bij boot (uit flash) wordt aangeroepen:

mount -t ext2 /dev/sdx6 /tmp/config
echo '#!/bin/sh' > /tmp/config/autorun.sh
echo '/share/MD0_DATA/.qpkg/autorun/autorun.sh' >> /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
umount /tmp/config

Troubleshooting

Smarte Error, RAID5 in degraded mode

SSL key expired

  1. Open een (PuTTY) shell, en geef:
    cd /share/MD0_DATA/homes/DOMAIN=VDMEULEN
    openssl genrsa -out priv.key 1024  #1024 is the length, you may change it to the value you like
    openssl req -config /etc/ssl/openssl.cnf -new -key priv.key -out server.crt -x509 -days 365
  2. Je krijgt dan de volgende dialoog:
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:NL
    State or Province Name (full name) [Some-State]:.
    Locality Name (eg, city) []:De Meern
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Famile Van der Meulen
    Organizational Unit Name (eg, section) []:.
    Common Name (eg, YOUR name) []:elanor.vdmeulen.net
    Email Address []:admin@vdmeulen.net

    Let op bij common name moet de fqdn van buitenaf worden ingevuld. Komt in het certificaat! Als dit allemaal gelukt is heb je de bestanden priv.key en server.crt gecreëerd.

  3. Log via het web interface in op de server: http://elanor:8080
  4. Klik op “Administratie”, “Systeembeheer”, “Veiligheid”, “Importeer SSL Secure Certificaat & Private Sleutel”
  5. Open priv.key via WinSCP en kopieer de inhoud naar het “Private sleutel” vak
  6. Open server.crt via WinSCP en kopieer de inhoud naar het “Certificaat” vak
  7. Click “Uploaden”
  8. Klaar is Kees

Naar: http://wiki.qnap.com/wiki/Use_OpenSSL_to_generate_certificate_for_QNAP_NAS_SSL_connection

Certificaat laten valideren: http://www.struinersunie.nl/Site/index.php/artikelen/45-hands-on/68-gratis-startssl-gecertificeerd-ssl-certificaat-op-uw-qnap-nas-in-begrijpelijke-stappen

Static IP address verdwenen na reboot

http://forum.qnap.com/viewtopic.php?p=134208

/sbin/setcfg eth0 "Gateway" 10.10.10.1
/sbin/setcfg eth0 "Netmask" 255.255.0.0
/sbin/setcfg eth0 "IP Address" 10.10.10.10
/etc/init.d/network.sh restart

Of simpelweg:

ifconfig eth0 add 10.10.10.10 netmask 255.255.0.0 
route add default gw 10.10.10.1

Taken

QNAP TS-459 Pro+

NAS

  • Samba, FTP, NFS {ook mac support)

Samba

Elke gebruiker krijgt zijn eigen home share. De shares staan op /share/MD0_DATA/homes/DOMAIN=VDMEULEN/%user%

  • Vergeet niet smbpasswd -w hetpassword
  • Winbind start niet op als idmap uid niet is gedefinieerd!!!
    smb.sh
    idmap uid = 10000-20000
    idmap gid = 10000-20000<code>
      *Clear windows share passwd: <code dos>
    rundll32.exe keymgr.dll, KRShowKeyMgr
    net use
    net use \\elanor\hatseflats /delete
    net use \\elanor\hittepetit

    Vergeet niet om windows verkenner af te sluiten, die lijkt de credentials zelf te cachen.

  • LDAP werkt nog wel, maar Samba kent niemand meer. Gebruikers en- groepen niet zichtbaar op “Privilege instellingen” van Elanor
    echo -n `cat /etc/config/nss_ldap.ensecret` > /etc/config/nss_ldap.ensecret
    /etc/init.d/smb.sh restart

FTP

Standaard PropFTPd. Configuratie in /etc/config/proftpd.conf.

SSH

In de firmware alleen voor admin. Bekijken of dat voldoet. Eventueel is er een ipkg voor OpenSSH.

SSH doet het niet meer als toegangsbeheer - domeinbeveiliging niet meer wertl, bijvoorbeeld omdat het LDA root dn password is veranderd.

LDAP

Vanaf 3.6 ingebouwd in de firmware.

Root dn cn=admin,dc=vdmeulen,dc=netPassword d80d6499b74ab466dae82985bade5be9 “”…Password propageren naar /etc/zarafa/ldap.cfg Samba wordt niet automatisch aangepast bij wijzigen password. Bij toegangsbeheer - domeinbeveiliging opnieuw toepassen hielp.Config http://elanor:8080, ga maar applicatie servers, LDAP server http://elanor/LAM. LAM master password is bekend. Profielpassword als boven. /etc/openldap Zonodig phpldapadmin installeren (qpkg). Test:
ldapsearch -D "cn=admin,dc=vdmeulen,dc=net" -w d80d6499b74ab466dae82985bade5be9 -b "dc=vdmeulen,dc=net"

Dit hoort een dump van de LDAP database te geven.

Logs /etc/openldap/slapd.conf.
loglevel 4095
/etc/syslog.conf
# save OpenLDAP log
local4.*    /var/log/ldap.log
1      trace function calls
                      2      debug packet handling
                      4      heavy trace debugging
                      8      connection management
                      16     print out packets sent and received
                      32     search filter processing
                      64     configuration file processing
                      128    access control list processing
                      256    stats                            log
                             connections/operations/results
                      512    stats log entries sent
                      1024   print   communication   with   shell
                             backends
                      2048   entry parsing

Routertaken

  • NTP server
  • DNS server (bind)
    • Configuratie in /opt/etc/named/named.conf
    • Starten: /opt/etc/init.d/S09named start
    • Config controle met named-checkzone en named-checkconf
    • Managment met rndc. Bijvoorbeeld: rndc status
    • rndc configuratie in rndc.conf, gemaakt door rndc-confgen
    • Of course, you may want to set your name server in the GUI to 127.0.0.1 or your local ip-address.
  • DHCP server
    • Starten /opt/etc/init.d/S56dhcp start
    • Configuratie: /opt/etc/dhcpd.conf

Mailserver

Webserver

  • Standaard aanwezig (apache).
  • Documentroot /share/Web
  • Opstarten/stoppen: /etc/init.d/Qthttpd.sh. Ket op er is ook een thttpd.sh.
  • Config in /etc/config/apache. Wijzig zoveel mogelijk in vdmeulen.conf. Daarna /usr/local/apache/bin/apachectl graceful.
  • logs in /opt/var/log/apache/

PHP

  • php.ini van firmware staat in /etc/config
  • Elanor gebruikt optaware php, daarvan staat php.ini in opt/etc

LDAP module doet het niet

In /usr/local/apache/bin/apachectl staat een fout path waardoor de enironmetnt vars niet worden gezet. Daardoor kan apache de LDAP modules niet vinden. Verbeteren:

# pick up any necessary environment variables
#if test -f /root/daily_build/3.8.x/Model/TS-459/../../NasMgmt/HTTP/apache_install_tmp/bin/envvars; then
if test -f /usr/local/apache/bin/envvars; then
# QNAP
  . /usr/local/apache/bin//envvars
fi
#

Vanaf firmware 4.0.2 werkt dit niet meer. Nu het inlezen van de env vars toegevoegd aan de prepare_apache functie van /etc/init.d/Qthttpd.sh:

	#Door Pieter
	if test -f ${APACHE_DIR}/bin/envvars; then
		. ${APACHE_DIR}/bin//envvars
	fi

Dat lijkt te werken. Tot de volgende reboot.

Hetzelfd via patch files

*** Qthttpd.sh	2015-02-14 16:08:48.000000000 +0100
--- Qthttpd.better	2015-04-08 15:18:13.000000000 +0200
***************
*** 398,403 ****
--- 398,407 ----
 
  prepare_apache(){
 
+ 	#Patched to read apache envvars (Pieter vd Meulen)
+ 	if test -f ${APACHE_DIR}/bin/envvars; then
+ 		. ${APACHE_DIR}/bin//envvars
+ 	fi
  	if [ -f ${UPDATEPKG_DIR}/apache_php5.tgz ];then
  		[ ! -f $APACHE_SOURCE ] || /bin/rm -f $APACHE_SOURCE
  		APACHE_SOURCE="${UPDATEPKG_DIR}/apache_php5.tgz"

Dokuwiki

Geïnstalleerd als QNAP package. Zie Dokuwiki beheer.

MariaDB database server

MariaDB is e opvolger van MySQL. Zie MariaDB.

Online backup

Ook wel cloud backup? Nog uitzoeken. Zie Online Backup. Backup is gewenst voor de volgende directories:

  • Home shares, inclusief Maildir (/share/Homes)
  • Familie share /share/Familie
  • Ouders share /share/Ouders
  • Boeken share /share/Boeken
  • Foto share /share/Plaatjes
  • LDAP directory database
  • MySQL database
  • Dokuwiki data /opt/share/www/dokuwiki/data
  • Configuratie bestanden:
    • /etc
    • opt/etc
    • /mnt/HDA_ROOT/.config/

Calibre

De boekenverzameling staat op \\elanor\noeken. Hij is via het web (COPS) te bekijken via http://elanor/boeken

Squeezebox server

Standaard aan te zetten. Opstartscrip heet ssots.sh. Zie Bombadil.

Links:

Sabnzbd

NZB download manager. We gebruiken het SabNZB+ QPKG package. Heeft python nodig!. Zie http://wiki.sabnzbd.org/.

SabNZBd staat op /share/MD0_DATA/.qpkg/SABnzbdplus., en de administratieve sqlite database op /share/MD0_DATA/.qpkg/SABnzbdplus/Config/admin.

Links:

Downloaden via tweede ethernet interface

Naar https://forums.sabnzbd.org/viewtopic.php?t=5104&start=0

route add -host news.i-telligent.com gw 192.168.178.1

Automatisch XXX historie verwijderen

Eerst een Sqlite shell commando installeren:

opkg install sqlite3-cli
\share\homes\pieter\remove_xxx.sh
#!/bin/sh
# Removes xxx downloads from SabNZB history
 
SQLITE=/opt/bin/sqlite3
HISTORY=/share/MD0_DATA/.qpkg/SABnzbdplus/Config/admin/history1.db
QUERY="delete from history where category='xxx'"
 
$SQLITE "${HISTORY}" "${QUERY}"

Vervolgens dit commando crontabben

Spotweb

CouchPotatoe

Films downloaden. Houdt in de gaten of je film al beschikbaar is.

Installation Path: /share/MD0_DATA/.qpkg/CouchPotato

SickBeard

Subliminal

Ondertitels voor films en TV series. Subliminal is te gebruiken als shell command. Zie Subliminal.

Sonarr

Zie https://www.tweaking4all.nl/thuis-bioscoop/qnap-sonarr/

Gebruikt twee QPKG´s van QNAP club.

  1. Qmono
  2. QSonarr3

Beiden voor X86 programmatuur, 32-bits.

Configuratie

Updates

Klik op “System” en ga naar de tab “Updates“. Je ziet nu een lijst met wijzigingen in de huidige of nieuwere versies. Als je een knopje “Install this version” ziet, klik deze dan. Als je dat knopje niet ziet, dan is Sonarr al up-to-date.

Installeer het Media Info CLI (Shared) package. Kan met AppCenter.

Surfshark OpenVPN verbinding

Surfshark gebruikt OpenVPN op basis van een .ovpn bestand. Het QPKG package dat daarmee om kan gaan is niet te installeren onder QTS 4.2.6. Onderstaande stappen gezet voor een werkende VPN verbinding. Zie deze gebruiksaanwijzing van Surfshark.

  • Download de Surfshark configurations, pak ze uit, selecteer nl-ams.prod.surfshark.com_tcp.ovpn en kopieer dat bestand naar /etc/openvpn kan met WinSCP).
  • Haal op https://account.surfshark.com/setup/manual onderaan de pagina username en password op, en plaats deze onder elkaar in een tekstbestand:
    | /etc/config/openvpn/surfshark-login.txt
    n4Xn36HBjFt3UqyRXP4pWFhx
    G8cF4fBVYDXvmmcmD78vZwJX
  • Stel de ouder server.conf veilig en kopieer nl-ams.prod.surfshark.com_tcp.ovpn naar server.conf:
    cd /etc/openvpn
    mv server.conf server.conf.dist
    cp nl-ams.prod.surfshark.com_tcp.ovpn server.conf
  • Pas met WinSCP of nano server.conf aan, zodat username en password automatisch worden ingevuld. De regel auth-user-pass wordt auth-user-pass /etc/openvpn/surfshark-login.txt.
  • Start openvpn opnieuw op:
    /etc/init.d/Entware-ng restart

Er is nu VPN tunnel via network interface tun0.

Squid proxy server

Geinstalleerd als pakket van QNAP club (QSquidProxy).

Installatie directory /share/MD0_DATA/.qpkg/QSquidProxy /opt/QSquidProxyConfiguratie directory /share/MD0_DATA/.qpkg/QSquidProxy/etc Proxy port 3128Controle script /etc/init.d/QSquidProxy.sh start|stop|restartCheck /opt/QSquidProxy/bin/squid -k check (geeft niets terug als alles OK is) ps aux | grep squid

Maak een local user squid in local group squid aan, zonder rechten. Maak de squid user eigenaar van van share en var sudirectories.

Optware

Geinstalleerd als QPKG package.

Packages. Niet:

Wel:

  • nano

mkvtoolnix

Foutmelding: locale::facet::_S_create_c_locale name not valid

export LC_ALL=C
mkvinfo

logrotate

Het package heet logrotate, configureren in /opt/etc/logrotate.conf.

/opt/etc/init.d

Hierin staan opstart- en afsluitscripts die niet automatisch worden aangeroepen door /etc/init.d/Optware.sh.

#!/bin/sh
 
RETVAL=0
QPKG_NAME="Optware"
PUBLIC_SHARE=`/sbin/getcfg SHARE_DEF defPublic -d Public -f /etc/config/def_share.info`
 
_exit()
{
    /bin/echo -e "Error: $*"
    /bin/echo
    exit 1
}
 
# Determine BASE installation location according to smb.conf
BASE=
publicdir=`/sbin/getcfg $PUBLIC_SHARE path -f /etc/config/smb.conf`
if [ ! -z $publicdir ] && [ -d $publicdir ];then
	publicdirp1=`/bin/echo $publicdir | /bin/cut -d "/" -f 2`
	publicdirp2=`/bin/echo $publicdir | /bin/cut -d "/" -f 3`
	publicdirp3=`/bin/echo $publicdir | /bin/cut -d "/" -f 4`
	if [ ! -z $publicdirp1 ] && [ ! -z $publicdirp2 ] && [ ! -z $publicdirp3 ]; then
		[ -d "/${publicdirp1}/${publicdirp2}/${PUBLIC_SHARE}" ] && BASE="/${publicdirp1}/${publicdirp2}"
	fi
fi
 
# Determine BASE installation location by checking where the Public folder is.
if [ -z $BASE ]; then
	for datadirtest in /share/HDA_DATA /share/HDB_DATA /share/HDC_DATA /share/HDD_DATA /share/MD0_DATA; do
		[ -d $datadirtest/$PUBLIC_SHARE ] && BASE="/${publicdirp1}/${publicdirp2}"
	done
fi
if [ -z $BASE ] ; then
	echo "The Public share not found."
	_exit 1
fi
QPKG_DIR=${BASE}/.qpkg/Optware
 
case "$1" in
  start)
  if [ `/sbin/getcfg ${QPKG_NAME} Enable -u -d FALSE -f /etc/config/qpkg.conf` = UNKNOWN ]; then
  	/sbin/setcfg ${QPKG_NAME} Enable TRUE -f /etc/config/qpkg.conf
  elif [ `/sbin/getcfg ${QPKG_NAME} Enable -u -d FALSE -f /etc/config/qpkg.conf` != TRUE ]; then
  	_exit  "${QPKG_NAME} is disabled."
  fi
 
  /bin/echo "Enable Optware/ipkg"
	# sym-link $QPKG_DIR to /opt
	/bin/rm -rf /opt
	/bin/ln -sf $QPKG_DIR /opt
 
	# adding Ipkg apps into system path ...
	/bin/cat /etc/profile | /bin/grep "PATH" | /bin/grep "/opt/bin" 1>>/dev/null 2>>/dev/null
	[ $? -ne 0 ] && /bin/echo "export PATH=$PATH":/opt/bin:/opt/sbin >> /etc/profile
 
  	# Patch per http://wiki.qnap.com/wiki/Install_Optware_IPKG
  	/bin/echo "Run Optware/ipkg /opt/etc/init.d/*"
  	source /etc/profile
       # Start all init scripts in /opt/etc/init.d
	# executing them in numerical order.
	for i in /opt/etc/init.d/S??* ;do
	    # Ignore dangling symlinks (if any).
    	    #[ ! -f "$i" ] && continue
           case "$i" in
           	*.sh)
	            # Source shell script for speed.
	            (
		        trap - INT QUIT TSTP
			set start
		        . $i
	    	    )
	        ;;
	        *)
	    	    # No sh extension, so fork subprocess.
	    	    $i start
                ;;          
            esac            
        done                
	# End patch
 
	;;
  stop)
  /bin/echo "Disable Optware/ipkg"
 
  	# Patch per http://wiki.qnap.com/wiki/Install_Optware_IPKG
  	/bin/echo "Run Optware/ipkg /opt/etc/init.d/*"
  	source /etc/profile
       # Start all init scripts in /opt/etc/init.d
	# executing them in numerical order.
	for i in /opt/etc/init.d/K??* ;do
	    # Ignore dangling symlinks (if any).
    	    #[ ! -f "$i" ] && continue
           case "$i" in
           	*.sh)
	            # Source shell script for speed.
	            (
		        trap - INT QUIT TSTP
			set stop
		        . $i
	    	    )
	        ;;
	        *)
	    	    # No sh extension, so fork subprocess.
	    	    $i stop
                ;;          
            esac            
        done                
	# End patch
 
	export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
 
	/bin/sync
	/bin/sleep 1
	;;
  restart)
	$0 stop
	$0 start
	;;
  *)
	echo "Usage: $0 {start|stop|restart}"
	exit 1
esac
 
exit $RETVAL

Video editen

Met mkvtoolnix. Het lijkt nodig export LC_ALL=C te geven voor je het gebruikt.

Perl

Geinstalleerd als optware package. Stond ook al in de firmware?

CPAN

Edit Config.pm: nano /opt/lib/perl5/5.10.0/CPAN/Config.pm. Verander de volgende instellingen:

'cpan_home' => q[/share/MD0_DATA/.cpan/build],
'build_dir' => q[/share/MD0_DATA/.cpan/build],
'histfile' => q[/share/MD0_DATA/.cpan/histfile],
'keep_source_where' => q[/share/MD0_DATA/.cpan/sources],
'prefs_dir' => q[/share/MD0_DATA/.cpan/prefs],

Zorg nu ook dat betreffende directories bestaan:

cd /share/MD0_DATA
mkdir .cpan
cd .cpan
mkdir build
mkdir histfile
mkdir sources
mkdir prefs
which make
#en als make niet gevonden is:
#ipkg install make
perl -MCPAN -e 'install CPAN'

Zie http://www.cpan.org/misc/cpan-faq.html#How_install_Perl_modules voor meer info.

Debian chroot

Vervanging

Kandidaten:

/share/Web/dokuwiki/data/pages/beheer/elanor.txt · Laatst gewijzigd: 2020/09/20 20:47 door 114.119.132.9
CC Attribution-Share Alike 4.0 International
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5