20/11/2017

Firefox bookmarks overbrengen na nieuwe installatie

Filed under: — cybrarian @ 9:47 am

Als je een nieuw systeem installeert, en je nog toegang hebt tot het oude systeem, bv op een harde schijf die aan een usb-aansluiting hangt, kan je bookmarks overbrengen. Je kan op deze manier instellingen overnemen zonder op een externe server prive gegevens te bewaren met een “online profiel”.

Bookmark backups
De bookmarks worden door Firefox af en toe automatisch bewaard in een backup folder.

ps: Als je oude systeem nog draait kan je er eerst de backup nog eens manueel aktiveren om zeker alles mee te hebben.

Die backup zit in de verborgen .mozilla map in je user (bv myname) directory:

/home/myname/.mozilla/firefox/3jqqjvtn.default/bookmarkbackups/

Vanop een harde schijf aan usb kan dat er zo uitzien:

/myname/286b3fbe-74de-4fb9-9710-d97192b067bb/myname/.mozilla/firefox/3jqqjvtn.default/bookmarkbackups/

Backup overbrengen

Sluit Firefox.

Kopieer de inhoud van die bookmarkbackups naar de gelijkaardige map op je nieuwe systeem; de willekeurige lettercombinatie zal er natuurlijk anders uitzien.

Start Firefox.

Ga naar het menu Bookmarks, Show all bookmarks (Ctrl-Sh-O).
Kies import en backup.
Kies Restore; daar krijg je een lijst waaruit je de meest recente kiest.

Bookmarks zichtbaar
Zet je bookmarks zichtbaar met menu View, Toolbars, Bookmarks toolbar.

Login en wachtwoorden
Gelijkaardig als het overzetten van de bookmarks van oude naar nieuwe gebruiker.
Daarvoor moet je in de map met rare lettertjes zoeken naar volgende bestanden:

key3.db
logins.json

Die zet je in je nieuwe directory.

14/11/2017

Desktop instellingen na installatie

Filed under: — cybrarian @ 9:43 am

Het artikel Desktop configuratie uit 2006 blijft een goede basis om van te vertrekken voor het ‘TODO’ lijstje na de basisinstallatie van een Linux distributie.

Hier een huidige versie:

* Repositories
– Community repositories (packman, libdvdcss..) voor mp3, flashplayer,..

* netwerk:
– hostname: naam van de computer zoals die zichbaar is op het netwerk enz. Op zich niet zo belangrijk en meestal al gekozen tijdens de installatie.
– IP adres (vast om toestel te kunnen bereiken binnen het netwerk, willekeurig als het toegewezen wordt door de gateway)
– eventueel dns instellingen, gateway adres als dat afwijkt
– wifi

* auto login
– indien gewenst voorkeur user op auto login

* Taalinstelling.
– Check de finesses van het toetsenbord (euro, accenten, …).
– Voor veel admins die het onderhoud van computers doen is het aangenamer om in het Engels te werken, dus de installatie van het systeem kan in het Engels gebeuren om ervoor te zorgen dat de root account, de terminals enz. niet vertaald zijn naar Nederlands en daardoor ongebruipelijke onzin spuien.
– Voor veel gebruikers is het aangenaam om in eigen taal te werken. Dus de desktop vertalingen afhalen en de desktop instellingen naar Nederlands zetten.

* Bestandsbeheerder (filemanager, Dolphin)
– icoon voor splitsen venster in toolbar bijzetten moest het er nog niet staan.
– standaard-directory instellen op Documents (ipv /home/gebruiker) kan sommige gebruikers aanzetten om bestanden een beetje geordend te bewaren.

* Browser:
– Link op desktop om “private browsing mode” te starten (firefox --private).
– Openingspagina veranderen (Firefox: Edit, Preferences, General, Use Current Page)
– alle reklame links/bookmarks weggooien.
– bookmarks “Home” categorie: veelgebruikte sites op deze locatie instellen (bv locale servers, fora enz).
– bookmarks “News etc”: slashdot en enkele andere favoriete links invullen. Maar eigenlijk heb je best een pagina met je meestgebruikte links online staan. Dan zet je die als openingspagina en kan je ze vanaf elke computer gebruiken. upd: Of je kan je oude instellingen overnemen zoals hier beschreven.

* Desktop: (KDE5)
– Wallet: wachtwoord voor wallet, instellingen wallet.
– Aantal desktops (standaard meestal 2 of 4) instellen en een naam geven.
Uitbreiden: 1File, 2Browse, 3Consoles, 4Edit, 5Work, 6tmp/snd… Hoewel dit nu minder zin heeft omdat je geen verschillende desktopinstellingen meer kan doen omdat ze overschakeld zijn op “activities”.
– Klok instelling: datum tonen aan.
– Widgets voor systeembelasting: processor, netwerk, geheugen, schijfaktiviteit
– Widget voor harde schijfgebruik: (monitoren schijf vol)
– Systeem, toetsenbord: NumLock aanzetten bij start
– Workspace behaviour: “Screen edges” reactie bij slepen naar hoek of zijkant scherm / vergroten vensters af.
– Screen lock na 5 min. : af (screensaver functie die wachtwoord vraagt)
– Lock screen on resume: af (wachtwoord na terug van wisselen gebruiker)
– Energiebesparing: scherm af na 10 min: instellen naar wens. Suspend session: off, ..

* Mail client (KMail, Thunderbird of andere)
– servers smtp en pop of imap
– accounts, signature, mappen, mailfilters
– met KMail heb je nu wel je handen vol om die enigszins bruikbaar te krijgen; de layout van de standaardinstallatie is onbegrijpelijk onbruikbaar; vooral het soort indeling per dag etc van de e-mails neemt enkel maar plaats in beslag en belemmert het overzicht. Kies “flat date view” of zo om terug overzicht te krijgen over je mails. Ik moet nog je juiste manier vinden om dat voor het hele programma toe te passen (of misschien komt het door de upgrade van een bestaande) ipv voor elke map apart.

* Printer
– Drivers, printeropties
– A4 instelling checken (standaard altijd Letter, ondanks regio keuzes vooraf).
– recto-verso keuze

* Directories organiseren;
– de meestgebruikte directories worden tegenwoordig door de distributies zelf wel aangemaakt in de Home directory van de gebruiker: Documents, Pictures, Downloads, Music, Video…
– Uitbreidingen zijn bv: Uploads, Print (of ToPrint), Backup, MyConfig, …

Als je regelmatig van computer verandert of een aantal medewerkers dezelfde basisindeling wil geven, kan je het maken van de mappen in een script zetten.

Orig. art. 2006

3/11/2017

Euro symbool op qwerty toetsenbord geeft euroteken

Filed under: — cybrarian @ 9:58 am

Euro
Het Euro teken € is op een qwerty toetsenbord (keyboard US) niet standaard aanwezig.

Toevoegen/aktiveren
In KDE (bv openSuse Leap 42.3 KDE Frameworks 5.32.0
Qt 5.6.2):

  • Systeeminstellingen, Toetsenbord, geavanceerd.
  • Toetsenbord-opties instellen.
  • Toegang tot het derde niveau: bv rechter Alt-toets aanvinken.
  • Valutatekens aan bepaalde toetsen toevoegen: bv Euroteken op 5 (als daar het symbool op de toets staat)

Ook tekens als ë zijn niet te maken.

UTF-8: 0xC3 0xAB
UTF-16: 0x00EB
C octal escaped UTF-8: \303\253
XML decimal entity: & # 2 3 5 ;

toets kiezen

Handigste zou een Widget op het scherm zijn, maar die lijkt er momenteel voor de huidige KDE 5.32 niet te zijn.

Toch kan je een toets kiezen via een hulpmiddel.
Dat vind je via het KDE menu Hulpmiddelen, KCharSelect
In bv de European Scripts, Latin-1 Supplement kan je de meeste tekens terugvinden die je nodig hebt in Nederlands, Frans, enz.

Virtueel toetsenbord
Ook handig: een virtueel toetsenbord voor op het scherm.

Algemeen: xvkbd is de eenvoudigste (minste dependencies), maar die werkt in mijn huidig systeem niet.

Het volgende alternatief is kvkbd:

Kvkbd is a virtual keyboard for KDE, it contains many features like system tray and dock support, autodetection and on the fly change of the keyboard layout, scripting with DBus, etc.

Het geeft een kleurrijk toetsenbord op het scherm, waarvan alle kliks op toetsen uitgevoerd worden op je desktop (dus let op waar je cursor staat als je het programma opent en even zit te testen)
Terug sluiten met de rode knop op het virtuele toetsenbord.
Het toetsenbord blijft als een icoon in je takenbalk onderaan staan en kan daar terug opgeroepen worden, of met rechtklik, Quit gesloten worden.

25/10/2017

Boot, BIOS en UEFI

Filed under: — cybrarian @ 2:36 pm

EFI: Extensible Firmware Interface
UEFI: Unified Extensible Firmware Interface

Error 1962 No boot system found

Intel Boot Agent .. Client mac addr: 01 1E … DHCP … (timeout)

Voorbeeld van een vervelende situatie: de computer start (boot) niet maar toont een cryptische (fout)melding.

Oorzaak kan zijn*: harde schijf ontbreekt of is defect, computer is vergeten wat voor disks waar aangesloten zijn (bios backup batterij leeg), er is helemaal nog niets aangesloten met een besturingssysteem, door een fout in de configuratie vindt de computer zijn systeem niet, enz.

Hetzelfde soort probleem krijg je als je Linux wil installeren, en je niet wil starten van het bestaande systeem / harde schijif, of als je een lege harde schijf hebt geïnstalleerd: hoe starten van usb/dvd?

Alternatief starten
Je kan de computer wel doen starten vanaf een ander “medium”, zoals een aangesloten usb-drive. Maar de computer kan ingesteld zijn om dat niet automatisch te proberen, en dan moet je bij het opstarten een toetsencombinatie indrukken om de startprocedure te onderbreken en een “bios” scherm te krijgen waar je kan kiezen hoe je start of andere instellingen kan aanpassen.

Welke toetsencombinatie?
Enkele goede kandidaten: ESC, F9, F10, F11, F12, DEL, INSERT

Concrete voorbeelden:

ThinkCenter M Series:

  • F12 van bij het begin geeft Starup Device Menu
  • ENTER om opstarten te onderbreken, Enter dan krijg je Startup Interrupt Menu. Daar: F1 Bios setup, F12 temporary startup device.

Bij HP is het dikwijls F9 dacht ik.

  • F9 : kies startmedium

Als het echt niet lukt, probeer een andere Linux Distributie. We hebben de keuze voor iets!


* Nb:
Oorsprong: boot probleem op ThinkCenter M Series (intel i5) en OpenSUSE 42.2.
Na heel wat installeren en (her)configureren las ik deze Ubuntu beschrijving. Misschien is er wel overeenkomst: Lenovo systeem, feit dat installeren wel lukt, alles ook aanwezig is op HD, maar starten een probleem vormt. De computer lijkt zelfs niet te proberen, hoewel ik de HD wel hoor beginnen draaien bij het starten.
In BIOS kan de start op EUFI of Legacy gezet worden, beiden geprobeerd om toch te starten van HD.

22/10/2017

64 bit of 32 bit Linux?

Filed under: — cybrarian @ 9:27 pm

Hoeveel bits is mijn Linux systeem A? En B?
(en hoe zit het met mijn hardware?)
Het eenvoudiste lijkt een commandolijn te nemen en ..

CLI

Eerst even de hardware:

lscpu
A:

Architecture: i686
CPU op-mode(s): 32-bit

Dit is een 32 bit processor.

B:

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit

Deze processor kan beide (en is dus 64 bit)

Dan het geïnstalleerde systeem:

getconf LONG_BIT

A:

32

–> 32 bit systeem

B:

64

–> 64 bit systeem

Andere commando’s om systeem informatie op te vragen:

uname -m
(uname -a geeft alle informatie die uname kan geven)

A:

i686

B:

x86_64

Allebei 64? Neen, helaas, de i686 betekent juist dat het 32 bit is…

arch
(Architecture)
Geeft dezelfde antwoorden als uname -m.

Grafisch
Zeer afhankelijk van je gekozen desktop en distributie kan je ergens in het venster met systeeminformatie vinden wat voor type systeem je hebt.
Voor de hardware moet je zoeken naar de hardware/processor eigenschappen.

Voor het geïnstalleerde systeem:

– Sparky
Menu, System Tools, System Profiler and .. , Operating system:

Kernel Linux .. x86_64

– Linux Mint
Menu Applications, System Tools, System monitor, Tab System:

Release Linux Mint 18 Sarah 32-bit

– OpenSUSE (42.2/KDE)
Menu System, KInfoCenter (i) About system (eerste item) OS Type: 64 bit.
(Ook in System, HardInfo .. x86_64)

– Ubuntu (14)
System settings, Details, Overview, OS Type: 64 bit.

18/10/2017

Gebruikers na opensuse Leap 42.3 installatie (update)

Filed under: — cybrarian @ 9:11 pm

Geen gewone update, omdat de bestaande versie opensuse 13.1 ‘bottle’ al wat te oud was, dus een installatie en de users overgenomen van de ondertussen uitgebouwde en extern aangesloten disk. De aangeboden gebruiker kwam mij niet bekend voor.*

Dat lijkt niet helemaal juist verlopen te zijn; de oude gebruikers kwamen in het nieuwe systeem niet voor. De home/username directory was er wel, maar dat kan het gevolg zijn van het eenvoudig hergebruiken van de partitie met de home directories.

In yast, gebruikers dan de gebruiker bijgemaakt, er wordt dan gevraagd of de bestaande directory gebruikt mag worden (die al die naam heeft). De rechten worden automatisch aangepast. Je moet dus de gebruikersnaam wel letterlijk geven zoals de bestaande directory genoemd is.

Daarna eventueel de inloggegevens aanpassen (auto login account bv).

De aangeboden gebruiker kwam waarschijnlijk van de partitie met de andere distributie…

Geluidskaart in openSUSE Leap 42.3

Filed under: — cybrarian @ 8:51 pm

Om een of andere duistere reden werkt het geluid niet na installatie van mijn laptop met KDE op openSUSE leap 42.3. Op de desktop staat een rode min bij een luidspreker icoon.

Yast, geluidsinstellingen Sound Configuration:

Not configured 8280 ICH9 Family audio controller

Edit, quick automatic setup, ik hoor een klik.

Configured as sound card number 0
Driver snd-hda-intel

Krijgt Index: 0

Na het bewaren hoor ik weer een klikje. In KDE nog geen verschil, misschien na uitloggen.
In YAST kan ik onder ‘other’ volume, test sound, set as primary card, pulse audio configuration … dus een test vinden.
(waarom staat dat niet gewoon zichtbaar, rest van scherm is volledig vrij…)

Test sound is indrukwekkend 🙂

Backup kopie van harde schijf (harddisk clone)

Filed under: — cybrarian @ 11:07 am

Ik wil een exacte kopie van de harde schijf van een computer, omdat ik wil experimenteren met upgrades maar terug wil kunnen gaan naar het oorspronkelijke systeem als het nodig is.

Voorbereiden
Een live-distro in klaarhebben om te starten van USB-stick of cd/dvd.

(Knoppix, een repairt toolkit, .. Ik gebruikte bv Rescatux 0.41 gebaseerd op Debian Jessie)

De schijven verwisselen; de nieuwe monteren als uiteindelijke harde schijf voor het toestel.
Met een bakje of een interfacekabel kan je de originele harde schijf aan je computer via usb-aansluiten.

Misschien nog gemakkelijker: computer openmaken en de harde schijf aan sluiten op het passende kabeltje (hopelijk is er nog één vrij voor een harde schijf, anders kan je de dvd-lezer losmaken en die even gebruiken, of via een (externe) sub-naar-sata kabel werken.

Live start

Je start de computer met een usb-disk met een “live” Linux op, en doet van daaruit de kopie; opletten wat bron en wat bestemming is!

Als de computer niet spontaan van de USB/DVD start, zoeken naar de bios-toetsen: Bij het opstarten een bepaalde toets indrukken als de bios meldingen komen. Ze flitsen waarschijnlijk zo snel voorbij dat je wat toetsen moet proberen, bv:
ESC (meestal om bios-meldingen te zien of bios menu te krijgen)
F9 (soms BootMenu)
..

Open een root terminal (of een terminal en gebruik sudo) voor volgende commando’s:

Let op mogelijk QWERTY instelling; dat zou verkeerde commando’s of parameters kunnen veroorzaken.
Wie geen qwerty toetsenbord bij de hand heeft:
het = (qwerty) teken zit onder – (azerty)
(qwerty) – (azerty):
het teken zit onder )
het = teken zit onder
het / teken zit onder =
de a zit onder de q


fdisk -l

geeft mooi overzicht, bv

/dev/sda1   Linux Swap
/dev/sda2 * Linux
/dev/sda3   Linux
/dev/sda4 ...

Het sterretje geeft de boot-disk aan, dat is normaal de partitie met het Linux systeem.
De andere partitie is die met de /home directory in mijn geval.
(en ik had nog een partitie met een ander Linux systeem om uit te proberen)

De harde schijf die aan een usb-connector hangt kan er bv zo uitzien:

dd
Harde schijf kopieren van de gebruikte disk naar de nieuwe:
dd … is het gevaarlijke commando, als je je van richting vergist, kopieer je een lege disk over je volle…

# dd if=/dev/sdX of=/dev/sdY bs=64K conv=noerror,sync

In sommige distro’s (Arch) kan je:
# dd if=/dev/sdX of=/dev/sdY bs=64K conv=noerror,sync status=progress

Stilte
Dit is zo één van die commando’s (zonder status=progress) dat geen voortgang weergeeft, je vervalt dus in een spannende stilte.
(en waarschijnlijk springt je screensaver nog aan ook)
Dat duurt bv een goed uur bij een schijf van 160 GB (en ook iets meer dan een uur voor één van 500 GB).

Daarna krijg je terug je command prompt met verslag van in en out, en eventuele foutmeldingen.

Ok, je kan toch al vroeger iets te weten komen, met het commando kill -USR1 en dan het pid nummer van het proces.
Dat moet je doen vanuit een andere terminal, het antwoord komt wel in die met het dd commando.
De PID kan je eerst opvragen of zien met bv top. Ik zie hier dd met 1469 bovenaan in top staan, dus ik doe:

kill -USR1 1469

Je krijgt dan een gelijkaardige uitvoer als die op het einde, alleen zal je zien dat er bv 214 GB copied staat, terwijl je weet dat het er 500 zijn.

Error
Een schijf van 160 GB naar een schijf van 160 GB: toch niet groot genoeg?

# dd if=/dev/sdX of=/dev/sdY bs=64K conv=noerror,sync

dd: error writing ‘/dev/sda’: No space left on device
2442045+1 records in
2442045+0 records out
160041885696 bytes (160 GB) copied, 4476.86 s, 35.7 MB/s

ps: Deze fout hoeft niet te betekenen dat het totaal niet gelukt is. Zie verder.

Starten

De vroegere systeem-harde schijf loskoppelen en/of verwijderen.
! Alvorens de nieuwe te starten: je moet kiezen of je dit systeem onmiddellijk met internet verbonden wil hebben, of eerst offline wil checken of het goed werkt, en dus de kabel uittrekt en/of de wifi schakelaar afzet. Anders zou het kunnen dat het nieuwe systeem e-mail afhaalt en wist op de server, en dan ben je die kwijt als je terug wil naar het vorige systeem.

In principe moet opstarten juist hetzelfde verlopen als voorheen, je hebt een exacte kopie. Als je bv een menu kreeg om te kiezen tussen verschillende Linux versies/distributies, krijg je dat nu ook.
Ik kan in dit voorbeeld nadien beide distributies starten en gebruiken.

Foutmeldingen

* Error …
De meest voorkomende foutmeldingen hebben te maken met de syntax; controleer de preciese schrijfwijze, spaties, enz.
Sommige parameters zijn verschillend per gebruikt start-systeem, werk eventueel zonder de feedback op het scherm.

* dd:erro writing ‘/dev/loop0’: Operation not permitted

Dit is de dvd speler!

Disk /dev/loop0: 672 MiB, ...
Device
/dev/loop0p1
/dev/loop0p2

29/9/2017

GIT commando’s, vb, problemen

Filed under: — cybrarian @ 10:45 pm

(in de reeks Git heb ik deze afgesplitst van het algemene Git artikel. Zie ook handboek inhoud en …)

Commando’s

git config --global user.name "mijn naam"
git config --global user.email mijnemail@mijndomein.tld
git config --list

Deze configuraties worden met –global eenmalig gedaan; je kan ze zonder global uitvoeren voor een project met afwijkende gegevens.
Je kan op dezelfde manier je editor en diff tool instellen.
Bekijk de instellingen met (de laaste lijn) –list. (antwoord leeg=geen instellingen)

git init = start gebruik git; creatie van ~/.git/ directory in de projectdir waar je bent

git clone git://gitserver.org/iemandsdirectory/eenproject.git = haalt een bestaand project af en maakt een werkdirectory klaar.

Initialized empty Git repository in /home/name/Gambas3Prj/PrjName/.git/

Waarna git status:

# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use “git add” to track)

Beginnen met een kopie van een project:
git clone git://gitlab.com/iemand.naam/eenProject.git

Cloning into ‘eenProject.git’ …

(Fouten zie ook 4*)

git status = overzicht toestand, bv nieuwe bestanden enz
git status -s = korte samenvatting toestand, met afkortingen als M, MM, A, ??
git add test.txt = toevoegen aan staging (of nieuw bestand opvolgen- in “tracked”)
git rm --cached test.txt = untrack/unstage test.txt;
git add '*.txt' = als wildcards gebruikt worden: aanhalingstekens
git
git commit -m "beschrijving van de inhoud of wijziging" = toevoegen aan repository van alles wat in staging staat; anders filenaam opgeven
git commit test.txt = commit alleen deze file
git commit -a = gaat zelf de nodig add en remove (rm) doen
git commit -a -m 'grote lijn van wijziging' = combinatie -a en -m

git log = geeft in volgorde al de laatste handelingen
Remote instellen:
git remote add korteNaam git@gitlab.com/userdirectory/repository.git = opgeven van repository op de gitruimte ; standaard branch is ‘master’
git remote add korteNaam https://domain.tld/userdirectory/repository.git = versie met https in plaats van git of ssh.
git remote -v = lijst van gedefinieerde fetch en push remotes

git push -u korteNaam master = alles naar online

git pull korteNaam master = alles terug binnenhalen om te werken.

git diff = verschillen zien tussen working directory en staging
git diff HEAD = verschillen zien tov laatste commit, meest recente=’HEAD’
git diff --staged = verschillen zien eigen staged tov laatste online pull
git diff --cached = ” ” ”

git reset = verwijder laatste staged (maar file blijft wel tracked)
git checkout -- unwantedfile.txt = (spatie laten)

git branch branchname_voor_mij = maak nieuwe branch
git checkout branchename_voor_mij = overschakelen naar branch

git rm '*.txt' = verwijderen van de files + wijz. klaarzetten in staging

Bij (merge) conflict, bv na git pull:
git mergetool
Dat brengt je in een gestuurde oplossing file per file, met info en keuzes als: use modified (m) or deleted (d) file, abort (a) …
Je moet dan eerst een git commit doen en daarna terug git pull.

Ik wil …

– controleren welke (exluded/uit te sluiten) bestanden mee in git zitten:

git ls-files (alleen bestanden)
git ls-files --stage (meer detail: [tag] mode object stage file)

– fout opgezette lokale repo wissen en opnieuw beginnen: rm -rf .git

(hier zit alles in). Check je .gitignore file in de project directory (waar .git stond), met git init wordt die overschreven?
rm -rf .git
git ls-files
fatal: Not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)

– weten of mijn lokale repo bij is met online: git status

git status
# On branch master
# Your branch is ahead of ‘nieuws/master’ by 1 commit.
# (use “git push” to publish your local commits)
#
# Untracked files:
# (use “git add …” to include in what will be committed)
#
# ProjectToTrack/.settings
nothing added to commit but untracked files present (use “git add” to track)

(zie ook 5*)

– mijn versie naar boven naar online duwen git push

git push –all
Counting objects: 9, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 521 bytes | 0 bytes/s, done.
Total 5 (delta 1), reused 0 (delta 0)
To git@gitlab.com:/mat.abc/Test.git
9512a28..a72f459 master -> master

– de laatste online versie afhalen git pull test master

git pull test master
Pass a valid window to KWallet::Wallet::openWallet().
Pass a valid window to KWallet::Wallet::openWallet().
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
From https://gitlab.com/mat.ara/Test
* branch master -> FETCH_HEAD
9512a28..a72f459 master -> test/master
Updating 9512a28..a72f459
Fast-forward
ProjectToTrack/.src/FMain.form | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

Enkele vragen blijven nog:

  • worden er bestanden bijgemaakt door git in de specifieke subdirectories van een project, of alleen in de onzichtbare .git directory op hoogste niveau?
  • wat is beste methode: directories opnemen en files excluden, of specifieren welke wildcard-files moeten opgenomen worden?
    Bv voor gambas: ./*.txt; ./src/*.class; ./src/*.form
  • Wat met .png, .jpg, enz. Apart opslaan omdat ze binary zijn?
  • moet een projectdir dezelfde naam hebben op de verschillende locaties? (De dir waarin je git init doet waarschijnlijk niet, en de rest haal je mee binnen zeker?)
  • Hoe werken vanop verschillende computers (als dezelfde ‘gebruiker’ (zelfde e-mail adres); ssh keys kopieren of meer keys maken?

Links
Een paar links voor zolang ze geldig zijn:

Nederlandstalig! https://git-scm.com/book/nl/v1/Aan-de-slag
https://git-scm.com/book/en/v1/Getting-Started-First-Time-Git-Setup
https://help.github.com/articles/se-up-git/
https://try.github.io/levels/1/challenges/1
Goede commit messages zien er zo (niet) uit:
https://chris.beams.io/posts/git-commit/
https://longair.net/blog/2009/04/16/git-fetch-and-merge/ fetch, merge (of pull?)

(meer…)

20/9/2017

KMail verzonden komt niet aan

Filed under: — cybrarian @ 10:11 am

Bij het melden van een fout ivm het vesturen van e-mail over een proximus verbinding, werd me detail-informatie gevraagd over de verzonden mail.
Die kon ik in de headers van de outbox van kmail niet vinden, ook niet met “All headers” aangezet in de opties.

KMail gebruikt een hulpmiddel voor het verzenden van de mail, nl Akonadi. Daar ten rade dus, maar Akonadi komt als applicatie niet voor in je desktop menu.

Open een terminal of ga via menu naar “run command” en tik:
akonadiconsole

Het programma Akonadi Console laat toe om “Enable debugger” aan te vinken. Als je dan een mail verstuurd kan je allerlei details zien.

Er zijn volgende tabbladen:

Agents – Browser – Debugger – Raw Socket – DB Browser – DB Console – Job Tracker – Resources Scheduler – Notification Monitor – Item Search

De Debugger heeft/krijgt nog sub-tabbladen als akonadi_maildir_resource_0

Je ziet er dingen als:

855 UID FETCH 43299 FULLPAYLOAD CACHEONLY ANCESTORS INF EXTERNALPAYLOAD (UID REMOTEID REMOTEREVISION COLLECTIONID FLAGS SIZE) 
* 43299 FETCH (UID 43299 REV 1 REMOTEID ... 

Hopelijk helpt dat voort.

16/9/2017

Mysql, MariaDB databank: welk type sleutel of id, en hoe groot?

Filed under: — cybrarian @ 10:27 am

Hoe groot kan een id worden? Meestal zet je de waarde van de sleutel op auto-increment.
Maar je wil liefst niet verrast worden door een databank waar je geen records meer kan toevoegen.

UNSIGNED INT: 4.294.967.295
UNSIGNED BIGINT: 18.446.744.073.709.551.615

Ik zie aangeraden worden om
– niet te spaarzaam te zijn op ruimte
– werk je op een 32 bit of 64 bit systeem?
– UNSIGNED te gebruiken als het kan; als je niet van plan bent om negatieve waarden te gebruiken kan je het bereik van een type als INT of BIGINT verdubbelen.
– INT(8) of INT(44) maakt geen verschil, aangezien dat getal enkel slaat op de weergave van de getallen, niet op de (maximum) waarde.

Waarschijnlijk is het niet slecht om in je applicatie een test in te bouwen bij het aanmaken van records, en het niet kunnen maken van een nieuw record op te vangen met een foutafhandeling. Maar zelfs dan kan het moeilijk worden om je applicatie overeind te houden, en levert het zeker problemen op voor de gebruiker. Misschien iets inbouwen voor als je in de richting van het maximum gaat?

8/9/2017

phpMyAdmin logt uit na 1440 seconden

Filed under: — cybrarian @ 9:22 am

Het is nu eenvoudig om de instelling van phpMyAdmin te veranderen zonder zelf in de configuratie bestanden te moeten gaan zoeken:

  • Start phpMyAdmin, log in
  • Kies het hoofdscherm (bv server:localhost) met General Settings en Appearance settings in het midden, en Database server – Web server – phpMyAdmin in de rechterkolom
  • Appearance settings, klik onderaan op “More settings”
  • Klik op het tweede tabblad met een steeksleutel: “Features”
  • Login cookie validity (seconden): verander 1440 naar een gepast getal.
  • Klik “Apply” om te bevestigen.

Helaas is deze instelling enkel geldig voor de huidige sessie!

Voor een meer permanente moet je toch op de server zijn:

In config.inc.php :
$cfg['LoginCookieValidity'] = 36000;

en in .htaccess bestand in de phpMyAdmin site:
php_value session.gc.maxlifetime 36000

Voor het gemak wat omrekeningen:

1140 seconden = 24 minuten
3600 seconden = 1 uur
28800 seconden = 8 uur
86400 seconden = 24 uur
432000 seconden = 5 dagen.

enz.

27/8/2017

Snelheid vergelijken

Filed under: — cybrarian @ 1:26 pm

Ik mag kiezen tussen twee computers; hoe vergelijken? Wat is de snelste?

Tools om te meten

Twee tools die beschikbaar zijn in verschillende distro’s (debian/buntu; opensuse):

  • stress-ng
  • sysbench (oorspronkelijk voor mysql servers?)

20/8/2017

OpenSUSE Leap 42.2

Filed under: — cybrarian @ 5:23 pm

Installatie vanaf USB-stick (gaat snel: 17:20 – 17.40 + updates en instellingen 0:30 ) op een laptop.
Omstandigheden:

  • Gebruik hele harde schijf (bevatte oude opensuse 13.1)
  • Gebruik LVM encryptie voor homedirectory
  • Importeer bestaande gebruikersaccounts (waren er 2)
  • Land BE, Taal: US Eng (standaard), later zal ik eventueel de desktop gebruiker NL talig maken.
  • Standaard desktop KDE, met voorlopig standaar software selectie.

25/7/2017

RJ-45 stekkers op netwerkkabel zetten

Filed under: — cybrarian @ 10:38 am

Koop:

  • Netwerkkabel CAT5, CAT5e, CAT6 (laatste is duurder/beter)
  • RJ-45 stekkers, en vooral: trekbeveiliging!

Je kan de stekkers+trekbeveiliging samen kopen; de trekbeveiliging bestaat uit een plastic hoesje dat een uitstulping heeft op de plaats van het uitstekende weerhaakje dat de stekker vasthoudt in de netwerkaansluiting. Soms heeft het de vorm van twee “oortjes” aan beide zijden van het haakje.

De trekbeveiliging moet vermijden dat de “klik”-lipjes van de stekker afbreken als je de kabel ergens doorheen haalt, bv terug uit een bussel kabels trekt. Als dat weerhaakje afbreekt, klikt de stekker niet meer vast in je computer of je switch, en geeft dat onbetrouwbare netwerkverbinding. Soms lijkt het stekkertje er nog in te zitten, maar heb je toch geen netwerk, omdat het contact niet goed is.

Een zeer duidelijk handleiding (Engelstalig) vond ik hier: www.wikihow.com/Crimp-Rj45

Ik geef even de Nederlandstalige uitleg erbij:

  1. draad en stekkers (zie boven; denk aan de trekbeveiliging!): Steek het hoesje over de kabel met de smalle kant, zodat de open kant naar het einde van de draad wijst. Nadien zal je het over de stekker schuiven.
  2. strip 3 cm van de buitenkant van de draad af. Je krijgt vier draadparen te zien: oranje-wit, groen-wit, bruin-wit, blauw-wit (of andere kleuren).
  3. plooi de draadparen allemaal om zodat de kern of drager van de draad vrijkomt; dat kan een plastic kabel zijn, of een voorgevormde (doorsnee kruis) scheiding van de vier draadparen.
  4. snij die binnendrager af (mag weg).
  5. maak de uiteinden van de opgedraaide draadparen recht, zodat de draden mooi plat naast elkaar komen te liggen.
  6. Volgorde: bruin-wit, groen-wit, blauw-wit, oranje-wit. De witte draad heeft altijd een bijhorende kleur (van origineel draadpaar); soms heeft de witte draad ook een zachte kleuraanduiding, bv een dun lijntje, dat toont waar hij bij hoort. Sorteer in de volgorde hieronder aangegeven.
  7. knip mooi recht af.
  8. schuif in de stekker (ps: hoes niet vergeten?). Bovenzicht op weerhaakje of onderaanzicht; check dat de kleurenvolgorde klopt en dat je de draad goed vasthebt om in de tang te passen.
  9. steek de stekker in de tang en knijp vast. Knijp een tweede keer om goed vast te zetten. Schuif de beschermhoes over de stekker (trekbeveiliging).
  10. herhaal hetzelfde aan de andere kant van de kabel.
  11. check de kabel met een kabeltester: elke draad 1-8 moet goed zijn. (ground is niet aangesloten)

Als de test slecht is, knip de meest verdachte stekker eraf en begin opnieuw. De stekkers zijn wegwerp eens dat je ze gebruikt hebt.

Draad naar beneden, stekker onderkant:

wiOrOran– wiGrBlauw – wiBlGroen – wiBrBruin

Draad naar beneden, stekker bovenkant:

Bruin – wiBrGroen – wiBlBlauw – wiGrOranje – wiOr

Hoewel de draadjes aan iedere stekker hetzelde uitkomen, is het toch belangrijk om de juiste draad (groen-blauw) anders aan te sluiten dan gewoon de opeenvolgende kleuren. De snelheid gaat eronder lijden als het niet juist is (bv maar 100 megabit ipv 1000).

Nummeren
Zet een nummer en een datum op de mantel van de draad, aan beide kanten.

Houd een rekenblad bij met de nummers, lengte, kleur en de plaats en/of het doel van de kabel. Later zal je blij zijn als je bv aan de datum ongeveer kan weten waarvoor je die kabel gelegd hebt, en waar die dus waarschijnlijk naartoe loopt, of je kan het opzoeken in je rekenblad adhv het nummer.

24/7/2017

OpenSUSE Software updates in desktop: error?

Filed under: — cybrarian @ 9:55 am

Meestal lopen de updates die je in de desktop start na een melding dat er nieuwe updates zijn, goed. Uitzonderlijk eindigt het met een foutmelding en wordt de update niet uitgevoerd. Soms loopt die nadien wel en is het probleem opgelost. Maar anders blijf je met een niet-geupdate systeem zitten.

Logisch is om naar de foutmeldingen te gaan kijken:
/var/log/pk_backend_zypp

Er gewoon even doorbladeren levert misschien al een hint op, hoewel een gewone desktopgebruiker er misschien niet veel boodschap aan zal hebben (moet trouwens met root-toegang). Oudere logs hebben een cijfertje erachter, bv /var/log/pk_backend_zypp-1

Je kan met een klik op de updates melding op de desktop kijken naar de updates in detail, en bv een van de updates afzetten (uitproberen welke / hoeveel). Ik zet wel eens alles af behalve de eigen (suse) systeemupdates, die zijn het belangrijkste. Als de update dan wel loopt, zat het probleem bij een van de paketten die je afgezet hebt.

Een andere manier om uit te proberen of je het probleem kan omzeilen, is in de repositories de minder belangrijke af te zetten, meestal van zelf extra bijgeïnstalleerde software zoals media, programmeeromgevingen, speciale hardware-dingen enz.
Dat kan van binnen Yast (root wachtwoord nodig), Software, Software Repositories, kijk naar de kolom met de vinkjes “enabled” (ingeschakeld). Schakel op het eerste zicht minder belangrijke uit, probeer de update (nu zullen de updates van die repo’s er niet mee inzitten). Schakel ze nadien terug in, waarna je nog eens de update probeert.

Ook kan je in Yast zelf manueel je updates starten bij Yast, Software, Online Update. Dan kan je beter zien wat er gebeurt.

Als dat niet helpt kan je naar de commandolijn, niet moeilijk en werkt altijd:

Open een terminal, en tik:
sudo zypper up
Je moet het wachtwoord geven van root.
De update rolt nu in tekst over je scherm, en zal ergens stoppen, bv bij de update van een “commmerciële” software. Die stelt de vraag of je akkoord bent met de gebruikersvoorwaarden, en daar moet je op antwoorden (meestal “y” of zo).
Daarna loopt de update voort.

Eigenlijk was er dus geen probleem, maar lijkt die vraag om de licentievoorwaarden te bevestigen niet door te komen naar de grafische interface (wat vroeger wel werkte meen ik me te herinneren).

ps:
Mogelijk is dat een instelling ergens in yast, als ik het vind doe ik een update hier.


Volgens
https://doc.opensuse.org/documentation/leap/startup/html/book.opensuse.startup/cha.onlineupdate.you.html
bestaat die instelling inderdaad. Op mijn systeem krijg ik die keuze niet, maar in
Yast/Software: Online Update/Configuration/Online Update...
wordt me verteld om extra packages bij te installeren:
yast2-online-update-configuration

Dat levert dan een “automatic online update” venster op met de keuze dat systeem aan te zetten, en “Agree with licenses” aan te vinken, “skip interactive packages” uit te zetten, alsook het interval in te stellen, “recommended packages” mee te nemen enz.

23/7/2017

Overbruggen tussen azerty be en azerty fr en andere Linux toetsen – tekens

Filed under: — cybrarian @ 10:46 am

Probleem: een laptop heeft een ander toetsenbord dan wat je zelf gebruikt; bv de hardware is een Franse azerty (azerty fr), en zelf gebruik je een Belgische azerty. Ik heb een voorbeeld van een netbook die blijkbaar aangepast is, en ik vermoed van franse azerty naar belgische. Het toetsenbord heeft sommige toetsen overplakt; de letters niet, maar vooral lettertekens, daar zitten juist de verschillen tussen de Belgische en de Franse azerty.

Probleem <>
De groter-dan > en kleiner-dan tekens < vind ik echter niet op dit toetsenbord. Er is geen enkele toets waar die op voorkomen. Na heel wat rondspelen met de combinatietoetsen shift, control, alt, en alt-gr vind ik de juiste combinatie:

alt-gr shift w geeft <

alt-gr shift x geeft >

Ik ben nu nog op zoek naar de backslash…

UPD: alt-gr ) geeft \
dus de toets met haakje en graden teken [)°]

Veel kan je terugvinden op deze wiki pagina, onderaan het toetsenbord met linux deadkeys:
https://en.wikipedia.org/wiki/AZERTY

14/7/2017

LibreOffice Draw standaard lijndikte en vlakvulling

Filed under: — cybrarian @ 9:56 am

Als je LibreOffice na installatie start, en in Draw een object tekent uit het flowcharts menu, zijn die altijd blauw van kleur en het vlak is helemaal opgevuld, de lijnen zijn grijs of zo, niet handig voor een afdruk.

Ik wil een zwarte lijn, dik genoeg op gedrukt te kunnen worden, en de vlakken leeg zodat ik er iets in kan schrijven. En ik wil dat de volgende keer als ik een document open, het standaard zo ingesteld is.

Standaard instelling bepalen
LibreOffice gebruikt een template bij het openen van een nieuw document. We moeten een standaard template maken voor onze wensen.

Instellingen
Open een nieuw document. Open de stijlen (F11 of Format, Styles and Formatting).
Bovenaan staat “Default”. Klik rechts (je krijgt een keuze New… en Modify…) en kies “Modify”.
Je krijgt een venster “Graphic Styles: Default”, met tabbladen voor de eigenschappen van lijnen, vlakken, lettertype, enz.
Wijzig naar:

  • Line Properties: Color: Black
  • Line Properties: Width: 0.01 cm (*)
  • Area Fill: None

* De lijndikte is wat eigenaardig; hier staat de dikte in cm. In mijn tekeningen krijg ik bij “properties” de maat in puntdikte: 0,5 pt. Probeer uit vanaf welke dikte je het (leesbaar/duidelijk zichtbaar) kan afdrukken, en kies dat als standaardinstelling.

Bewaren (als standaard)
Bewaar met File, Templates, Save as Template.
Geef een naam, bv “MijnStandaardDocument”, en vink het vakje “Set as Default Template” aan.
Bewaar (save).

De volgende keer als je een nieuw document maakt, worden deze instellingen geladen.
Het kan handig zijn om hier ook standaard voetnoot met (organisatie)naam, document bestandsnaam, of print-datum mee in op te nemen.

5/7/2017

OOP: Object Oriented Programming (object geöriënteerd programmeren)

Filed under: — cybrarian @ 11:22 am

Ik houd verder in het artikel de afkorting OOP aan, want is “ogp” en wat een lelijke vertaling – misschien beter “pmo”; “programmeren met objecten”?)

Basisprincipes van OOP:

  • encapsulation: insluiting
  • inheritance: overerving
  • polymorphism : polymorfie

Encapsulation (insluiting)
Een stukprogramma vormt een module die niet helemaal afgesloten is van de buitenwereld, maar wel enkel op een beperkte en voorgedefinieerde manier met de buitenwereld communiceert, via een “interface”. De binnenkant is de “implementation”, en die bepaalt hoe het stukje code intern zijn werk doet. Door de definitie van de interface kan de binnenkant aangepast binnen de grenzen van de interface (zonder de interface te veranderen), waardoor het stukje code gewoon blijft werken in de programma’s die het gebruiken. Het veranderen van de interface heeft grote gevolgen, dat moet dus vermeden worden: dit vereist goed nadenken over de interface.

Inheritance
Overerving kan dienen voor:

  • hergebruiken implementatie: code automatisch beschikbaar maar kies kritisch!
  • specialisatie: uitbreiding enkel het verschil bijprogrammeren, bv extra dimensie z-coördinaat, of herdefiniëren
  • typevervanging

Belangrijke voorwaarde: als je overerving gebruikt, test altijd of de betekenis klopt met child is een parent (bv kind is een mens, auto is een voertuig enz).

De klasse-hiërarchie moet relatief ondiep en dus overzichtelijk blijven!
Algemene dingen moeten naar abstracte basisklassen.

Tijdens het opbouwen van de klassenhiërarchie zullen klassen regelmatig herschreven moeten worden, dat is een goed moment om herhalen van code te vermijden.

Polymorphism
(…)


OOP woordenlijst
:

Abstraction
Accessor
Child (child class)
Class
Constructor
Definition
Encapsulation
Generalisation (itt specialisation)
Implementation
Inheritance
Initialisation
Initiation
Interface
Method
Object
Overriding (vervanging methode)
Parent (parent class)
Polymorphism
Private
Protected
Public
Refactoring (herschrijven van klassen)
Responsability (in het object door afsluiten implementatie)
Root (root class)
Specialisation
Subclass

29/6/2017

Git voorbeeld: gitlab

Filed under: — cybrarian @ 3:31 pm

Samenwerken of verdeeld werken

Een van de online diensten die git aanbieden is gitlab.com

Ik heb die gebruikt als voorbeeld bij mijn git artikel.

Registratie
Je maakt een account aan met een naam, wachtwoord en e-mail adres. Op dat laatste krijg je dan een bevestigingsmail met een link.
Je kan een icoontje voor jezelf kiezen (“avatar”) zoals in veel online diensten, of het wordt herkend als je geregistreerd hebt bij een centraal register van avatars.
Je kan je ssh key (het publieke deel) in de user settings invoegen.

Project
Gitlab laat op dit moment toe om een account aan te maken en je project in te stellen als:

  • publiek open source project
  • privé project

Het privé project belet je niet om toch met anderen samen te werken (*).
Voor het project heb je Settings: “General-Members-Integrations-Repository-Pipelines-Pages-Audit Events”; kies “Members”, “Select members to invite”. Rol en vervaldatum kunnen ingesteld worden.

(*) Ergens zag ik aangeraden om daarvoor een “group” te gebruiken.
Je kan trouwens ook een “group” invite doen om te delen.

Groep
Daarvoor maak je een groep aan (menu “+”, new group), die je een naam naar keuze geeft; ik hou hem vrij algemeen omdat het gemakkelijk is om veel projecten te delen met 1 groep.

Daarna ga je de leden voor de groep kiezen. Zelf ben je al lid doordat je de groep gemaakt hebt. Je kan een andere account opzoeken in de bestaande gitlab accounts, en lid maken van de groep. Je kan zoeken op naam, e-mail adres. Je kan de duur instellen van het lidmaatschap, en het niveau (Guest, Reporter, Developer, Master, Owner); Owner ben je zelf.

De andere partij krijgt dan een mail met “Access to the NewGroupName group was granted”. Hij kan met een klik weer uit de groep stappen.

Die andere account kan natuurlijk ook een andere account van jezelf zijn, waarbij je bv thuis een andere account gebruikt dan op het werk.

Groepsproject
Het is de bedoeling dan een nieuw project te maken binnen die groep. Je kan een bestaand project aan die groep toevoegen / overzetten van persoonlijk project naar groepsproject; je gaat het importeren als het ware, maar dat houdt in dat de naam van het project (url) verandert, en dat kan onverwachte problemen geven wordt opgemerkt door gitlab. Je kan natuurlijk ook gewoon een nieuw project maken en daar de bestaande code van het moment in invoeren.

Rechten
De volgende stap is dan de toegangsniveau’s instellen. Hier bepaal je de fijnere betekenis van bv Developer; maar ze hebben al een ingevulde standaardbetekenis volgens deze tabel: (Permissions).
Rondkijken kan iedereen, labels toekennen bijna iedereen, en de Master kan een project maken in de groep.

Afhalen
(upd 2017-09-17)
Als je ingelogd bent op de site kan je ook in je browser door de broncode bladeren; je ziet het voorgesteld als een bestandssysteem met betanden. Je kan iedere individuele file bekijken of afhalen als download.
Op hoger/het hoogste niveau kan je ook het project afhalen (symbool van pijl naar beneden op plat streepje); je krijgt dan de keuze aangeboden om het als een gecomprimeerd pakket (bv tar.gz) te downloaden.

Powered by WordPress