3/4/2020

usb-stick kopiere met dd

Filed under: — cybrarian @ 2:25 pm

Toepassing: een Linux distributie op een installeerbare usb-stick versie 3 naar usb-versie 2 kopieren.

dd if=/dev/sdb of=/dev/sdc bs=32M status=progress

Om te weten te komen welke usb-stick wat is, gebruik ik :
lsusb
lsblk
dmesg

Door die combinatie, en het herkennen van de merkgegevens, en partities (bv sdc is helemaal leeg) zie ik welke sdb en welke sdc is. dd kopieert van – naar!

bs is de buffer, status=progress geeft informatie op de commandolijn.

3/3/2020

Verbinding met oude smb-server

Filed under: — cybrarian @ 3:38 pm

Probleem bij een desktop update naar openSUSE 15.1: de mount van een netwerkdrive werkte niet meer.

Foutmelding: iets van directory bestaat niet zonder aanduiding of het een directory bij de client of bij de server betreft.

Oplossing: na totaal willekeurig tips proberen heeft het verwijzen naar een oudere versie in het commando het script terug doen werken:

sudo mount -t cifs -o rw,vers=1.0,uid=joske,username=joske,password=soske //server.domain.local/joske /home/joske/lokalemap/

Voor wie er iets aan heeft… de server had samba 3.0.28.

27/1/2020

MySQL Automatisch nummeren wijzigen (AUTO_INCREMENT)

Filed under: — cybrarian @ 1:06 pm

Een databank mijndata heeft tabel mijntabel met een veld id, waarvoor de eigenschap AUTO_INCREMENT gezet is.

Elke keer er een record bijgemaakt wordt, verhoogt de waarde met 1, en standaard begint die waarde bij 1.

Als je het laatste record verwijdert, bv dat met id 3, zal een nieuw gemaakt record waarde 4 krijgen (niet waarde 3!).

Aan de opeenvolging van deze record id’s kan je bv zien dat er records verwijderd zijn. (tenzij…)

Als het om één of andere reden toch nodig is om een verwijderd record te vervangen door één met hetzelfde nummer als reeds gebruikt, kan je hetvolgende doen:
– verwijder alle records vanaf 3; hier dus 3 en 4 (als je er zeker van bent dat het record id nergens andere gebruikt is!).
– wijzig de AUTO_INCREMENT teller die wordt bijgehouden op tabelniveau.

ALTER TABLE mijndata AUTO_INCREMENT=3

Je kan het ook automatisch laten bepalen door de databank zelf:
ALTER TABLE mijndata AUTO_INCREMENT=1
De databank zal dan het eerstvolgende vrije nummer nemen, in dit geval 3.

Met phpMyAdmin:
Selecteer de database tabel, en kies tab “Operations”. Daar zie je onder “Table Options” de wijzigbare AUTO_INCREMENT waarde staan. Denk eraan dat hier de volgende toe te kennen waarde staat.

De waarde die de database bijhoudt om het volgende recordnummer te maken kan je zien in de extra informatie over de tabel in phpMyAdmin “Structure”, “Information”.
Daar vind je de volgende waarde bewaard als “next autoindex”.

Op de commandolijn kan je “show” gebruiken:
SHOW CREATE TABLE mijntabel;
In dat antwoord zie je “AUTO_INCREMENT=4”.

22/1/2020

Sailfish updates 2020

Filed under: — cybrarian @ 2:34 pm

Sailfish OS
2020-01-09: Systeemupdate beschikbaar 3.2.0.12 Torronsuo

Vorig jaar:
Updates 2019

15/1/2020

Script starten na opstart

Filed under: — cybrarian @ 9:24 am

Systemd service

We moeten een “eigen” systemd service maken als bestand in de /etc/systemd/system directory. Dat moet niet executable zijn.
Daarin bv:

[Unit]
Description=Beschrijving
After=network.target

[Service]
Type=oneshot
ExecStart=/bin/sh -c ‘/usr/local/bin/disk-space-check.sh’

[Install]
WantedBy=graphical.target

(Hier bij login van grafische interfacte; WantedBy=multi.user.target kan ook)

registreren:
chmod 664 /etc/systemd/system/disk-space-check.service
systemctl daemon-reload
systemctl enable disk-space-check.service

edit: zonder .service:
systemctl enable disk-space-check

Dit laatste geeft een bevestiging.
(enkel eerste keer)

En dan moet je de inhoud maken voor
/usr/local/bin/disk-space-check.sh

Dat script moet uitvoerbaar zijn
chmod +x /user/local/bin/disk-space-check.sh

Oudere openSUSE (pre-2016)

Na het opstarten van het hele systeem wordt gekeken naar het bestaan van

/etc/init.d/after.local

Daarin kan je eender welk script starten.

Nu werkt dat niet meer.

6/1/2020

Update openSUSE 15.0 naar 15.1

Filed under: — cybrarian @ 4:09 pm

Het begin van de procedure om het systeem bij te werken van 15.0 naar 15.1 houdt ons niet van ons werk op deze desktop, we doen het tussendoor:

Check de bestaande repositories; zet de extra repositories af, blijft openSUSE-Leap-15.0-OSS, openSUSE-Leap-15.0-Update.
(gaat gemakkelijkste in yast2)

Kopieer de repository instellingen:
cp -Rv /etc/zypp/repos.d /etc/zypp/repos.d.20200106

Vervang alle 15.0 door 15.1
sed -i 's/15.0/15.1/' /etc/zypp/repos.d/*

Verversen van de repositories
zypper ref

Downloaden van de files van een distribution update:
zypper dup –download-only

(er komt een uitleg en een vraag om bevestiging, daarna start het ophalen van de paketten. Dat duurt even en de lijst rolt voorbij op het scherm.)

Nu komt het deel waar de eigenlijke upgrade op de computer gebeurt, en doen we een stapje opzij. Afmelden en in een terminal venster inloggen met root. (CTRL-ALT-F1)
We kunnen naar init 3 toestand gaan om de grafische login (op scherm ALT-F7) ook uit te schakelen.

init 3
zypper dup

(of zypper –no-refresh dup want de rest staat klaar in de cache van zypper).

Er moeten bv 2566 files geïnstalleerd worden; dat zie je aan de detaillijnen die voorbijrollen tijdens de installatie: vooraan wordt de teller bijgehouden.
Dit kan wel even duren…

5/12/2019

Apache start niet na update opensuse

Filed under: — cybrarian @ 2:44 pm

Updates rodn begin december veroorzaakten waarschijnlijk een probleem waardoor de webserver niet meer start bij OpenSUSE Leap 15.1 server met Apache, mysql (mariadb), postgresql, php, …

systemctl apache2 start

systemctl apache2 status

achel:/home/wim/bin # systemctl status apache2
● apache2.service – The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2019-12-10 16:14:50 CET; 20h ago
Process: 1982 ExecStart=/usr/sbin/start_apache2 -DSYSTEMD -DFOREGROUND -k start (code=exited, status=1/FAILURE)
Main PID: 1982 (code=exited, status=1/FAILURE)

dec 10 16:14:50 achel systemd[1]: Starting The Apache Webserver…
dec 10 16:14:50 achel start_apache2[1982]: httpd-prefork: Syntax error on line 210 of /etc/apache2/httpd.conf: Syntax error on line 119 of /etc/apache2/default-server.conf: Syntax error on line 1 of /etc/apache2/conf.d/pgadmin4.conf: Cannot load modules/mod_wsgi.so into>
dec 10 16:14:50 achel systemd[1]: apache2.service: Main process exited, code=exited, status=1/FAILURE
dec 10 16:14:50 achel systemd[1]: Failed to start The Apache Webserver.
dec 10 16:14:50 achel systemd[1]: apache2.service: Unit entered failed state.
dec 10 16:14:50 achel systemd[1]: apache2.service: Failed with result ‘exit-code’.

mod_wsgi dient voor python web applicaties.
Die is blijkbaar niet aanwezig. Bij-geïnstalleerd via Yast.

apache2-mod_wsgi – A WSGI interface for Python web applications in Apache

The mod_wsgi adapter is an Apacheache module that provides a WSGI compliant interface for hosting Python based web applications within Apache. The adapter is written completely in C code against the Apache C runtime and for hosting WSGI applications within Apache has a lower overhead than using existing WSGI adapters for mod_python or CGI.

Installed Packages: 1
apache2-mod_wsgi
Statistics
Elapsed Time: 00:02
Total Installed Size: 461,4 KiB
Total Downloaded Size: 155,8 KiB

Sorry, hier stopt het al, dat was de beschrijving van het probleem en ook de oplossing.

3/12/2019

Raspberry Pi starten zonder scherm of toetsenbord

Filed under: — cybrarian @ 2:35 pm

Raspberry Pi als toepassing
(Raspbian)
Je kan de Raspberry Pi ergens inbouwen en van een toepassing voorzien.
Als hij opstart wil je 2 dingen:

– dat je hem vanop afstand kan bereiken (inloggen, besturen, upgraden)
– dat hij de juiste toepassingen start (of de verkeerde/onnodig niet)

1. Afstandsbediening

1.1 Verbinding

Je moet zorgen dat je raspberry pi te bereiken is via het netwerk als je hem laat starten. Om hem te kunnen aanspreken moet je weten welk ip adres hij heeft. Zet het bv vast in /etc/dhcpcd.conf

interface eth0

static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

interface wlan0

static ip_address=192.168.0.200/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

1.2 SSH
Het protocol om vanop afstand in te loggen is ssh
Bij de instellingen (Raspbian: Voorkeuren, Raspberry pi configuratie programma)
– zet je SSH aan.
Als je al het nodige geïnstalleerd en getest hebt waarvoor je de desktop nodig hebt:
– zet je opstarten naar buroblad om naar CLI (command line interface)
ps: terug kan ook door sudo raspi-config te gebruiken.


2. Toepassing starten.

Er zijn 2 mogelijkheden:
1) je wil dat bij het opstarten een functie gestart wordt.
2) je wil dat na het starten op bepaalde momenten bepaalde functies lopen (programma’s gestart worden)

2.1 Shell script
In ieder geval is het handig om een shell script te schrijven van waaruit je de python toepassing start.
Stel dat het StartMyApp.sh heet en dat je daarin je eigenlijke programma start:

sudo python myapp.py

Algemeen ga je daarin de directory wijzigen naar waar het script moet draaien, en het script aanroepen met python interpretor

cd /home/pi/myapp
sudo python myapp.py

Het script uitvoerbaar maken
chmod 755 StartMyApp.sh

test met
sh StartMyApp.sh

Als je vanop afstand inlogt, kan je het script starten om het uit te proberen. Maar als je je terminal sluit wordt de verbinding verbroken en de uitvoering stopt. Om na het starten los te koppelen eindigen met een ampersand (en-teken &)

Hier bij het rechtstreeks testen van het programma (maar kan dus ook met je script)
sudo python myapp.py &

Je command prompt komt dan terug vrij, maar je blijft de meldingen krijgen. Wil je die kwijt, stuur ze naar het zwarte gat /dev/null:

sudo python myapp.py > /dev/null &

2.2. Script starten bij het opstarten van de Raspberry pi

Opnemen in opstart:

Het gemakkelijkste is het op te nemen in de crontab. Dat is een soort timer die allerlei taken kan inplannen op bepaade dagen, uren enz. Een speciaal geval van de crontab is de at reboot taak. Daar kan je hem inzetten met
crontab -e
en bekijken wat erin staat met
crontab -l

of voor root:
sudo crontab -e

De lijn die je moet toevoegen is bv
@reboot sh /home/bin/StartMyApp.sh >/home/pi/log/StartAppLog.txt 2>&1
De uitvoer wordt naar een logbestand gestuurd.

Als je wil controleren of het programma draait moet je vanop afstand in loggen met ssh en in de processen zoeken naar de combinatie van (in mijn geval):
cron sh sudo python

Tip: Uitslapen
Ik had wel eens een probleem dat mijn programma niet mooi opstartte (het moest in het begin een mail sturen om zijn start te melden – die kwam niet).
Bij het checken van de foutmeldingen kwam ik op het idee om een beetje vertraging in te bouwen, om de raspberry pi de tijd te geven om zijn ip adres in te stellen en zijn tijd af te halen.
In het begin van mijn StartMyApp.sh script geef ik twee minuutjes extra tijd alvorens de rest uit te voeren:
sleep 120s

2.3 Service
Je kan ook een service maken van je script, dan kan je het bedienen zoals andere diensten op je systeem.
Je moet dan wel de nodige informatie verschaffen aan het systeem over je “service”
update-rc.d StartMyApp.sh defaults
(niet met sudo)
Authentication complete…
(zie https://www.raspberrypi.org/forums/viewtopic.php?t=70520 )

2. Een script starten op bepaalde tijdstippen
(tip: cron)
In de cron kan je ook een script laten uitvoeren op bepaalde tijdstippen, dan hoeft het niet continue te draaien.

Bronnen:
https://www.instructables.com/id/Raspberry-Pi-Launch-Python-script-on-startup/
https://www.raspberrypi.org/forums/viewtopic.php?t=70520

Raspberry Pi stroomvoorziening met Strompi 2

Filed under: — cybrarian @ 2:24 pm

Strompi 2
Dit opsteekbord van joy-it voor de Raspberry Pi (tot v3 B) kost rond 30 euro. Er zijn andere vergelijkbare bordjes verkrijgbaar, en van dit bestaat ook een nieuwere versie 3.

Het maakt 2 scenario’s mogelijk:

1. Batterij backup
– normale voeding + batterij aan schroefaansluiting.
– instellen in USV stand
– propere shutdown bij stroomuitval (driver?).
– bij herneming van de stroom wordt opstartfunctie aktief (kan uitgeschakeld worden door bruggetje te verwijderen bij T pin)

2. Alternatieve stroombron
– kan gevoed worden met een breed scala aan gelijkstroom voedingen, van 6 tot 61 volt. Je kan dus een voeding van een defect apparaat recupereren of de stroombron dynamo/generator van een voertuig gebruiken.
– kan in een mobiele stand gezet worden om steeds een mobiele batterij/stroombron te gebruiken (dan wordt dit de primaire)
– kan meer stroom leveren aan de rapsberry pi als die andere stroomvretende uitbreidingen moet voeden.

29/11/2019

Raspberry Pi RTC (Real Time Clock)

Filed under: — cybrarian @ 2:12 pm

(Raspbian)

RTC
Een RTC module zorgt ervoor dat bij uitschakelen de Raspberry Pi zijn klok kan laten verder lopen met een batterij.
Er bestaan verschillende RTC uitbreidingen voor de Raspberry Pi, van goedkope opsteekkaartjes met enkel een batterij en de RTC functie, tot geïntegreerde RTC functies in een groter bord, zoals de Explorer 700 van Joy-IT.

Ik gebruikte bv die laatste, en daarvoor moest I2C aktief gemaakt worden in de instellingen met sudo raspi-config

Ik leerde ergens dat je de RTC kan checken met
sudo i2cdetect -y 1
Dat geeft een soort tabel met kolommen hexadecimalen 0 – f en rijen per 10 van 00 tot 70 met daarin de beschikbare i2C apparaten.
Op 60:8 zie ik daar 68, en dat zou de RTC moeten aangeven.

pi@ras003:~/$ sudo i2cdetect -y 1

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- 76 --                         

De utility hwclock laat je de klok ondervragen als ze herkend wordt.
Bij mij gaf sudo hwclock -r nog een foutmelding:

sudo hwclock -r --debug
hwclock from util-linux 2.29.2
hwclock: cannot open /dev/rtc: Bestand of map bestaat niet
No usable clock interface found.
hwclock: Cannot access the Hardware Clock via any known method.

De kernel kent de module nog niet, voeg toe met:

sudo modprobe rtc-ds1307

sudo bash
root@ras003:/home/pi/Explorer700/ExplorerApp/RTC# echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
root@ras003:/home/pi/Explorer700/ExplorerApp/RTC# exit
exit

Nu terug:
sudo hwclock -r --debug

hwclock from util-linux 2.29.2
Using the /dev interface to the clock.
Assuming hardware clock is kept in UTC time.
Waiting for clock tick…
/dev/rtc does not have interrupt functions. Waiting in loop for time from /dev/rtc to change
…got clock tick
Time read from Hardware Clock: 2015/08/12 20:35:47
Hw clock time : 2015/08/12 20:35:47 = 1439411747 seconds since 1969
Time since last adjustment is 1439411747 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2015-08-12 22:35:46.888095+0200

Goed opgemerkt, ze staat nog altijd fout!

Maar zonder verder iets te doen, een beetje later:

pi@ras003:~$ sudo hwclock -r --debug
hwclock from util-linux 2.29.2
Using the /dev interface to the clock.
Assuming hardware clock is kept in UTC time.
Waiting for clock tick…
/dev/rtc does not have interrupt functions. Waiting in loop for time from /dev/rtc to change
…got clock tick
Time read from Hardware Clock: 2019/11/29 13:27:17
Hw clock time : 2019/11/29 13:27:17 = 1575034037 seconds since 1969
Time since last adjustment is 1575034037 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2019-11-29 14:27:16.072253+0100

Dit ziet er al beter uit …

21/11/2019

Raspberry Pi en Explorer 700

Filed under: — cybrarian @ 11:39 am

Raspberry pi 3B (Raspbian)
Joy-it Explorer 700 (link)

Handleidingen (Engels, Duits) van Explorer: https://www.joy-it.net/de/products/RB-Explorer700

Bibliotheken (software om de mogelijkheden van de Explorer 700 aan te spreken):
Wiring pi
Wiring pi: wiringpi.com/download-and-install
sudo apt-get install wiringpi
sudo apt-get install wiringpi
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd
De statusinformatie wordt gelezen... Klaar
wiringpi is reeds de nieuwste versie (2.46).
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.

(of haal de broncode af en compileer)

BCM2835
Deze of andere versie afhalen:
http://www.open.com.au/mikem/bcm2835/bcm2835-1.17.tar.gz, ondertussen:
http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz

gunzip bcm2835-1.60.tar.gz
tar -xvf bcm2835-1.60.tar
cd bcm2835-1.60/
./configure
./configure
sudo make check
sudo make install

Configureren
De nodige kernel drivers moeten geaktiveerd worden bij het starten; die instelling gebeurt door:
sudo raspi-config
Niet bij Advanced options zoals de handleiding zegt, maar bij interfacing options, I2C en SPI selecteren.

Je moet bevestigen en krijgt dan SPI / I2C is enbled.

Op dezelfde manier de Serial port/login uitzetten (gebeurt samen).

Het configuratie-programma verlaten; het zal vragen om nu te herstarten, maar je kan nog eerst de volgende instellingen doen..

Zorgen dat de modules geladen worden in /etc/modules:

i2c-bcm2708
i2c-dev

toevoegen als ze er nog niet staan.

Dan de boot config aanpassen:

sudo nano /boot/config.txt

voeg toe:

Dtoverlay=w1-gpio-pullup

Nu kan je wel herstarten.

Voorbeelden
Bij het bord zijn een aantal voorbeeldprogramma’s voorzien, hier als Explorer700-1.zip
Uitpakken kan in de bestandsbeheerder van Raspberry pi.
2. KEY
De voorbeelden kan je bv uitproberen met python of vanuit de shell.

1.LED
Het eerste is de LED: ga naar de map van de voorbeelden (hier ~/Explorer700/ExplorerExamples)
cd ~/Explorer700/ExplorerExamples/LED/wiringPi
make (of sudo make?)
chmmod +x led
sudo ./led

De LED1 blijft pinken tot je CTRL-C doet.

PWM
Ter vergelijking het python programma dat nog iets meer doet:

cd ./../python/
sudo python pwm.py

De LED1 gaat langzaam aan en uit gloeien tot je ctrl-c doet.

2. KEY
Het voorbeeld KEY toont op de terminal dat je de knop van de mini joystick indrukt.

3. PCF8574
Dit programma reageert op de richtingen van de joystick. Alleen al handig om te weten hoe je de richting van de joystick moet beschouwen. Als je op/neer/links/rechts beweegt aan de joystick gebeuren er telkens 3 dingen:
– beepje
– terminal zegt up down left right
– LED2 gaat aan.

4. BMP280 Meting
Het BMP280 programma geeft telkens (tot je ctrl-c doet) een lijn met bv

Temperature = 30.54 C Pressure = 100.464 kPa

De thermometer is heel gevoelig, als je een kartonnen doosje over de Pi zet zie je onmiddellijk de getallen in honderdsten na de komma stijgen.

De druk heeft 3 cijfers na de komma en die schommelt doorlopend enkele duizendsten, bv 100.627 100.628 100.629 …

Real Time Clock
Voor de real time clock moet een CR1225 batterij aanwezig zijn, en die is niet meegeleverd. Als je ze zelf aangeschaft hebt, en in de batterijhouder hebt gestoken, is het klaar volgens de handleiding. Klopt bij mij niet, de aangegeven datum/tijd is iets van 2015-08-12 22:35:46

Zie installeren van “Raspberry Pi RTC (Real Time Clock)


DS18B20

Met dit programma kan je de temperatuur aflezen van de apart bijgelverde driebenige sensor die je dan eerst wel moet aansluiten natuurlijk.. (geen documentatie bijgeleverd).

IRM
Met deze sensor kan je infrarood signalen lezen van een afstandsbediening.

UART
Met een seriële kabel kan je de Pi verbinden met een computer. Je kan daarlangs dan data sturen.

OLED
Het laatste en spannendste voorbeeld werkte helaas niet: het mini scherm dat op het bordje zit.
Althans de python versie gaf bij alle programa’s de fout:
no module named Image
In de broncode zie je staan:
import Image
Mogelijk is de Image library niet geinstalleerd. (PIP of Pillow?)
Of moet ze anders aangeroepen worden nu, bv
from PIL import Image
(En in dispchar ook from PIL voor ImageDraw en ImageFont)

Gelukkig werkt de BCM versie wel, alleen heeft die een verkeerde naam, niet main maar oled moet je aanroepen na een make en chmod +x oled.
Je krijgt een blauw scherm met icoontjes alsof het een gsm is, met de tijd in het midden inclusief veranderende seconden.
Bij het afbreken van dit programma stopt de tijdsaanduidin op het scherm, maar het scherm blijft wel aan.

20/11/2019

Welke updates zijn uitgevoerd?

Filed under: — cybrarian @ 12:56 pm

OpenSUSE 42.3, 15.0, 15.1… ik wil controleren wat in de laatste updates zat.

Yast, Softwre Management, menu Extras, Show History

of op de commandolijn:

cat /var/log/zypp/history

14/11/2019

Accenten in apache2 php mysql applicatie

Filed under: — cybrarian @ 10:30 am

Een bestaande CMS applicatie maakt gebruik maakt van debian, apache2, php, mysql.
Bij het installeren van een reserve-systeem wordt de é niet juist weergegeven op het scherm.

De letter é wordt weergegeven als � in mijn (Firefox) browser.

Gevolg
Erger nog, als ik een “edit” doe van de gegevens, waarbij de bestaande gegevens in invulvelden worden weergegeven, blijft het veld met de accent-letter leeg, en na bewaar is een lege waarde bewaard. In de database is het veld leeg.

Als ik in de applicatie zelf een é invul, lijkt dat te gaan. Die wordt bewaard zonder foutmelding en weergegeven als é.
Maar! In de database zie ik: é. Speelt op zich geen rol maar wel als de andere é’s er als é inzitten en fout weergegeven blijven worden.

Locale en tekensets
Er zijn nogal wat niveau’s waarop taaleigen instellingen worden gemaakt: van de databank, naar de php/apache-server, tot in de browser die het weergeeft.

Server
root@myserver:~# locale

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_PAPER=”en_US.UTF-8″
LC_NAME=”en_US.UTF-8″
LC_ADDRESS=”en_US.UTF-8″
LC_TELEPHONE=”en_US.UTF-8″
LC_MEASUREMENT=”en_US.UTF-8″
LC_IDENTIFICATION=”en_US.UTF-8″
LC_ALL=

phpinfo
Een goed hulpmiddel om dat te onderzoeken is phpinfo. Maak op de server een bestand, bv info.php, waarin je phpinfo() aanroept.
Je krijgt een scherm met alle mogelijke informatie over het systeem waarop de CMS draait; server en software versies, instellingen enz.

Apache Environment
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP Headers Information
Accept-Language en-US,en;q=0.5
Core
default_charset iso-8859-1
PHP Variables
_SERVER["HTTP_ACCEPT_LANGUAGE"] en-US,en;q=0.5
mbstring
mbstring.language neutral
mbstring.encoding_translation Off

phpMyAdmin
Met phpMyAdmin kan je kijken hoe de database ingesteld is:
Database Server
Server charset: UTF-8 Unicode (utf8)
General Settings
Server connection collation: utf8mb4_general_ci
Database
Table collation: latin1_swedish_ci

Onzichtbare waarden
Als je in de instellingen (bv php.ini, …) alles exact hetzelfde hebt staan, is dat nog geen garantie voor gelijk gedrag.
De ene versie van php reageert anders dan de andere, zelfs al is het versie-verschil onnoemelijk klein. Zo kan een niet-opgegeven instelling standaard verschillend gedrag opleveren, omdat uitgegegaan wordt van een andere standaard of “default” waarde als er geen instelling gemaakt is.

Als de waarde default_charset niet voorkomt in het initialisatiebestand, geldt standaard…
PHP Version 5.6.0RC3 : iso-8859-1
PHP Version 5.6.40-0+deb8u6 : UTF-8

Dit kan je oplossen door de instelling impliciet op te geven in het php.ini bestand.

default_charset="UTF-8"
of, om op de recente compatibel te zijn met de RC3:
default_charset="iso-8859-1"
daarna:
service apache2 restart

Het resultaat kan je bv zien in bovenvermelde phpinfo()

12/11/2019

Firefox instellingen meenemen

Filed under: — cybrarian @ 3:10 pm

Als je een upgrade doet van een recent systeem naar een recent systeem is het gemakkelijk om je instellingen van Firefox mee te nemen: je kopieert gewoon de (verborgen) directory naar de nieuwe computer/het nieuwe systeem.

Ga naar het menu, Help, Troubleshoot information / Probleemoplossingsinformatie (je ziet about:support staan in de URL).
Hier zie je de locatie van de map met de instellingen bij “Profielmap” of “Profile Directory”.

Je kan de bestanden uit deze directory kopieren naar de op dezelfde manier te vinden map (met een andere naam dus) op de nieuwe Firefox.

Wat komt er mee:
– bookmarks, met icoontjes.
– bewaarde wachtwoorden.
– diverse instellingen.

Je kan ook enkel je bookmarks exporteren, maar dit gaat sneller.

7/11/2019

Nextcloud client synchronisatie probleem

Filed under: — cybrarian @ 10:07 am

Bij het opstarten van de desktop is er soms geen synchronisatie met de Nextcloud server. Dat stel je vast in de Nextcloud mappen door in een tekstbestandje een letter te wijzigen en terug te bewaren: het symbool van te synchroniseren blijft bij het bestand staan, ook na herladen van het Dolphin venster (F5).
De Nextcloud desktop client afsluiten en terug starten helpt niet.
In de client zie je ook geen foutmelding dat de server niet gevonden wordt. evenmin kan je zien waarom hij niet synchroniseert.
Binnen de Nextcloud client de verbinding verbreken en terug maken door af te melden voor Nextcloud en terug aan te melden, helpt ook niet.

OpenSUSE 42.3, KDE
Nextcloud desktop client Versie 2.3.3
Laptop die ook wifi verbindig maakt bv.

Lapmiddel
Ik ontdekte wel een manier om de verbinding juist te krijgen:
– Bij het opstarten het nextcloud wachtwoordvenster (dat soms ergens achter andere vesters -inclusief wallet aanmelding- staat) naar voor brengen, en daar eerst het originele Nextcloud wachtwoord ingeven. Als je daar eerst de wallet invult, is dat blijkbaar te laat voor de Nextcloud client.
– Is dat niet gelukt en is er geen synchronisatie: kde gebruiker uitloggen en terug inloggen. Dit gaat sneller dan helemaal terug opstarten, en triggert de Wallet; dit gaat eigenlijk altijd goed (doordat de computer al opgestart is?)

Instellingen?
Omdat het een timing probleem leek tussen de Nextcloud client en de wallet ging ik op zoek naar de instellingen van Nextcloud, bv om die client iets later aktief te laten worden of zo. Ik kon nergens de beschreven configuratiebestanden van de gebruiker vinden.
Om te testen maakte ik manueel een leeg bestand in de verborgen config directory van de gebruiker:
touch ~/.config/nextcloud.cfg
Het was de bedoeling te experimenteren met parameters, en te kijken of de Nextcloud client bij wijziging in de instellingen van de Desktop client daar gegevens in schrijft.

Maar vanaf dit bestand – leeg weliswaar – bestond, heeft het probleem zich niet meer voorgedaan.
Wel meldt de client vanaf dan dat er een update is met versienummer 2.6.
De OpenSUSE versie zelf heeft geen update gehad, die is einde ondersteuning.

Dit lijkt niet helemaal te kloppen. Bij het laat antwoorden op de Wallet login kom ik terug in een situatie waar mijn nextcloud niet wordt geupdate, en de client de melding geeft dat de server niet gevonden kan worden.

Op de commandolijn de nextcloud client zoeken en gedwongen afsluiten:
ps -AH
killall nextcloud

… en dan terug opstarten vanuit het menu, “Nexcloud Desktop sync client” geeft me onmiddellijk een melding van de update, en ook een hersynchronisatie van de de bestanden.

Fix
De client gedwongen afsluiten kilall nexcloud en terug starten.

25/10/2019

phpMyAdmin (Max: 2,048KiB)

Filed under: — cybrarian @ 8:57 am

Bij het importeren van een database bestand (bv export mijndata.sql, een data backup of een dump uit mysql/mariadb), stoot je soms op een limiet, hier 2 Mb:

Browse your computer: No file selected. (Max: 2,048KiB)

Als je doorgaat en bv een bestand van 7 Mb probeert te uploaden, krijg je een foutmelding zoals:

No data was received to import. Either no file name was submitted, or the file size exceeded the maximum size permitted by your PHP configuration. See FAQ 1.16.

Uit de link naar de uitleg leer je dat er een paar plaatsen zijn waar je instellingen kan/moet aanpassen in het php.ini bestand.
Dat kan je (bv OpenSUSE 42.3) vinden in /etc/php5/apache2

php.ini

file_uploads = On
upload_max_filesize = 2M
post_max_size = 50M
memory_limit = 128 M
max_execution_time = 30

In de eerste lijn zie je de waarde terugkomend die de phpMyAdmin interface ook weergeeft. Je kan die wijzigen naar je eigen nodenm bv 8M.
Daarbij moet post_max_size > upload_max_filesize !

service apache2 restart
http://localhost/phpMyAdmin/server_import.php (of F5 om te herladen)

Daar zie je dan bv:

Browse your computer: No file selected. (Max: 8,192KiB)

Soms is dat al genoeg om verder te kunnen met je te-grote upload in phpMyAdmin.

21/10/2019

systeem (processor) belasting op commandolijn

Filed under: — cybrarian @ 12:32 pm

top (aanwezig; processen-tabel levend)

htop (bij te installeren)
– levende tabel zoals top, maar met kleurkode en optie-menu als mc; bovenaan extra meters voor processorbelasting per cpu en geheugen + swap. De meters worden gevormd door gekleurde streepjes die doen denken aan LED-VU-meters.

netwerkverkeer op commandolijn

Filed under: — cybrarian @ 12:30 pm

De meeste tools moet je onderbreken met ctrl-c.
(soms is er een menu aanwezig dat je met de F1-F10 kan bedienen)

netstat -t -u -c (status dump: tcp verkeer, udp verkeer, continuous=voortscrollend)
iftop (installeren) soort netwerk (h)top
iptraf
tcpdump -i eth0
nethogs (installeren): netwerkverkeer per proces

8/10/2019

e-ID: Belgische identiteitskaart lezen

Filed under: — cybrarian @ 11:27 pm

Hieronder een log van de installatie van een e-Id lezer op Ubuntu 18.04.3 LTS.
Het is geen kant en klare handleiding, maar enkel een voorbeeld van hoe deze gelukte installatie er uit zag, en kan helpen om op hetzelfde platform hetzelfde te doen.

Hardware:
Nedis Smart card reader CRDRU25M1BK USB DC 5V
(made in China)

Gebruikte links, citaten, en (on*)volledig log:
(* ingekort: de feedback die over het scherm rolt is soms beperkt tot de eerste lijnen en de eindlijnen)

Linux eID software-installatie
eID software installatieprocedure

Volg deze twee stappen om de eID software te installeren op Linux:

Installeer het pakket “eID-archive”, zodat de eID pakketrepositories beschikbaar worden.
Installeer de “eid-viewer” en/of “eid-mw” pakketten via de normale weg voor uw distributie. Mogelijk moet u hiervoor eerst een update van de indexen doorvoeren, bijvoorbeeld. via “apt-get update”.

Downloads voor ondersteunde distributies:

Debian 8 “Jessie”
Debian 9 “Stretch”
Ubuntu 16.04 LTS “Xenial Xerus”
Ubuntu 18.04 LTS “Bionic Beaver”
Ubuntu 19.04 “Disco Dingo”
Linux Mint 18.3 “Sylvia”
Linux Mint 19.1 “Tessa”

Download eid-archive.deb

Fedora 29
Fedora 30

Download eid-archive-fedora.rpm

Red Hat Enterprise Linux 6 “Santiago”
Red Hat Enterprise Linux 7 “Maipo”
Gelijkwaardige distributies, zoals CentOS

Download eid-archive-epel.rpm

openSUSE Leap 15.1
openSUSE Leap 15.0

Download eid-archive-suse.rpm

Downloads voor niet-ondersteunde distributies:

U kan de software zelf samenstellen met behulp van de broncode:
eID softwareeid-mw.tar.gz

Alle pakketten en repositories zijn digitaal ondertekend door de OpenPGP-sleutel met de volgende vingerafdruk:

B37D 9040 098C 3DEE E00F 6D08 A357 43EA 6773 D225

Wij raden aan om geen pakketten te installeren die niet met deze sleutel ondertekend zijn. Indien u het correcte “eID-archive” pakket voor uw distributie gebruikt, wordt de correcte sleutel automatisch geconfigureerd en hoeft u zich dus geen zorgen te maken.

https://eid.belgium.be/nl/linux-eid-software-installatie

bv: kies 18.04 LTS “Bionic Beaver”

eID Toolkit Softwarelicentie

eid-archive
GnuPG archive keys of the Belgian eID package archive

The Belgian eID package archive has digitally signed Release files. This package contains the archive keys used for that archive, as well as a sources.list configuration file which immediately enables it.

Install this package if you want to install packages from the eID package archive.

Details

Version 2019.2
Source eid-archive_2019.2_all.deb

https://eid.belgium.be/nl/hoe-installeer-ik-de-eid-software
apt-get update

bevat (*)


Hit:2 http://files.eid.belgium.be/debian bionic InRelease

Hit:6 http://files2.eid.belgium.be/debian bionic InRelease

Installeer de eid-viewer
Deze kan je afzonderlijk gebruiken om de inhoud van een identiteitskaart te bekijken.

sudo apt-get install eid-viewer

Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
libbeidpkcs11-0 libbeidpkcs11-bin libccid libeidviewer0 libnss3-tools pcscd
The following NEW packages will be installed:
eid-viewer libbeidpkcs11-0 libbeidpkcs11-bin libccid libeidviewer0
libnss3-tools pcscd
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 1.518 kB of archives.
After this operation, 6.310 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Y

Get:1 http://files.eid.belgium.be/debian bionic/main amd64 libbeidpkcs11-bin amd64 4.4.21v4.4.21-0u1804-1 [21,8 kB]
Get:2 http://files.eid.belgium.be/debian bionic/main amd64 libbeidpkcs11-0 amd64 4.4.21v4.4.21-0u1804-1 [154 kB]
Get:3 http://files.eid.belgium.be/debian bionic/main amd64 libeidviewer0 amd64 4.4.21v4.4.21-0u1804-1 [65,7 kB]
Get:4 http://files.eid.belgium.be/debian bionic/main amd64 eid-viewer amd64 4.4.21v4.4.21-0u1804-1 [260 kB]
38% [Working]
….
ureadahead will be reprofiled on next reboot
Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.2) …
Processing triggers for libglib2.0-0:amd64 (2.56.4-0ubuntu0.18.04.4) …
Processing triggers for libc-bin (2.27-3ubuntu1) …

Klaar.

Tweede deel: eid-mw

sudo apt-get install eid-mw

Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
beid-mozilla-extension beid-mozilla-webext libacsccid1
The following NEW packages will be installed:
beid-mozilla-extension beid-mozilla-webext eid-mw libacsccid1
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 86,4 kB of archives.
After this operation, 227 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Y

Get:1 http://files.eid.belgium.be/debian bionic/main amd64 beid-mozilla-webext all 4.4.21v4.4.21-0u1804-1 [9.760 B]
Get:2 http://be.archive.ubuntu.com/ubuntu bionic/universe amd64 libacsccid1 amd64 1.1.5-1 [72,5 kB]
Get:3 http://files.eid.belgium.be/debian bionic/main amd64 beid-mozilla-extension all 4.4.21v4.4.21-0u1804-1 [2.264 B]
Get:4 http://files.eid.belgium.be/debian bionic/main amd64 eid-mw amd64 4.4.21v4.4.21-0u1804-1 [1.868 B]
Fetched 86,4 kB in 10s (8.498 B/s)
Selecting previously unselected package beid-mozilla-webext.
….
….
Unpacking beid-mozilla-extension (4.4.21v4.4.21-0u1804-1) …
Selecting previously unselected package eid-mw.
Preparing to unpack …/eid-mw_4.4.21v4.4.21-0u1804-1_amd64.deb …
Unpacking eid-mw (4.4.21v4.4.21-0u1804-1) …
Selecting previously unselected package libacsccid1.
Preparing to unpack …/libacsccid1_1.1.5-1_amd64.deb …
Unpacking libacsccid1 (1.1.5-1) …
Setting up libacsccid1 (1.1.5-1) …
Setting up beid-mozilla-webext (4.4.21v4.4.21-0u1804-1) …
Setting up beid-mozilla-extension (4.4.21v4.4.21-0u1804-1) …
Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox
Setting up eid-mw (4.4.21v4.4.21-0u1804-1) …

De software lijkt geïnstalleerd. Nu zou het handig zijn een paar testcommando’s ter beschikking te hebben…
even proberen:

sudo eid-viewer --help

“could not open file”?

en

venster met “eid-viewer”;

Ready to read identity card

Bij insteken kaart:

Reading ..

Toont foto en gegevens..

eid viewer ok.

Browser plugin?

Browser firefox, Add-ons manager. (about:addons)

Manage your extensions: Enabled:
eID Belgium.
Use the Belgian electronic identity card (eID) in Firefox.

Run in Private Windows
Allow Don’t Allow
When allowed, the extension will have access to your online activities while private browsing. Learn more
Version
1.0.29
Last Updated
November 16, 2018
Homepage
https://eid.belgium.be/

De plugin is aanwezig in de browser.

De test op de eid pagina werkt niet….
Test opnieuw in private browsing mode:

vraagt pincode …

Aanmelden geslaagd

De eID software en uw internetbrowser zijn correct geconfigureerd zodat u kan aanmelden met uw eID.
Opgelet! U blijft aangemeld bij alle online overheidsdiensten totdat u uw browser afsluit of zich afmeldt via een online overheidsdienst.

Daarna werkt het in de test :
https://iamapps.belgium.be/tma/success

En ook in bv
https://certificaatbeheer.vlaanderen.be/Central.UniekLoket.Web/Registration/Details?pApp=HD_HandelsDatabank

26/9/2019

Nieuwe SD kaart versleutelen in Sailfish X

Filed under: — cybrarian @ 9:59 pm

Als je een versleutelde opslag wil op je SD kaart kan je die kaart zo formatteren:

– steek nieuwe sd kaart in, bv 32 GB.
– Instellingen, scroll naar beneden tot Opslag.
– Je krijgt een overzicht van de verschillende opslaggebieden; Gebruikersgegevensm Systeemgegevens, en Geheugenkaart (onderaan)
– 32.0 kB gebruikt 29.0 GB Vrij Geheugenkaart (vfat), en nog een nummer 0123-4567. Selecteer die lang, dan krijg je een extra menu.
– Loskoppelen
– Lang selecteren, Formatteren (vfat).
– Versleutelen aanvinken, verandert naar Formatteren (luks)
– Wachtwoord invullen.
– Wachtwoord herhalen
– Authenticatie is vereist. Bevestigen
– Vergrendelde versleutelde geheugenkaart (en dan een lang nummer)
– Aanduiden, ontgrendelen
– Bevestigen

Resultaat:
60 MB gebruikt. 28.3 GB vrij.
Versleutelde geheugenkaart (en dan een lang nummer).

Je kan de SD kaart verwijderen en met een kaartlezer openen op je computer. Bv openSUSE/KDE geeft een melding van versleutelde kaart : “29 GB Encrypted drive”. Als je erop klikt vraagt hij het wachtwoord. Ik krijg helaas een foutmelding nadien, en heb geen toegang.
Maar: Als je je bestandsbeheerder opent als root, dan kan je ook echt aan de kaart.

ps: volgens wat ik gelezen heb kan je de kaart ook op je Linux computer formatteren met ext4.

Bron: Jolla Sailfish zendesk.

Powered by WordPress