31/7/2023

mariadb unix_socket authentication plugin

Filed under: — cybrarian @ 8:51 am

unix_socket authentication?
Bij het draaien van mariadb-secure-installation na installatie van mariadb komt de vraag:
Switch to unix_socket authentication [Y/n]
Enabled successfully!
Reloading privilege tables..
... Success!

Gebruiker maken:
CREATE USER username@hostname IDENTIFIED VIA unix_socket;
of
GRANT SELECT ON db.* TO username@hostname IDENTIFIED VIA unix_socket;

Uitzondering maken
Voor bepaalde account de gewone wachtwoorden gebruiken:

ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;
SET PASSWORD = PASSWORD('mijnwachtwoord');


Opgepast bij root; misschien zijn er systeemscripts die veronderstellen dat er unix_socket verificatie is.

Starten zonder unix_socket authentication:

mysql unix_socket=OFF

PhpMyAdmin
Origineel werkte login op phpMyAdmin niet meer; na het draaien van het mysql_secure_installation met het uitdrukkelijk opgeven van het wachtwoord voor root werkt het wel, en kan je op phpMyAdmin dus inloggen met “root”.

You already have your root account protected, so you can safely answer 'n'.
.
Change the root password? [Y/n]
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

Zoniet moet je een aparte “phpmyadmin” account aanmaken en die alle rechten geven.

CREATE USER phpmyadmin@localhost IDENTIFIED BY 'mijnwachtwoord';
GRANT ALL ON '*.*' TO phpmyadmin@localhost WITH GRANT OPTION;

23/5/2023

MariaDb fouten “Can’t connect ..” / “.. is not allowed to connect ..”

Filed under: — cybrarian @ 12:30 pm

Twee foutmeldingen die dikwijls voorkomen na een login poging:

ERROR 2002 (HY000): Can’t connect to server on ‘zundert.mylab.loc’ (115)

ERROR 1130 (HY000): Host ‘192.168.1.205’ is not allowed to connect to this MySQL server

1. Can’t connect: configuratiebestand

cybr@achel:~> mysql -u copyleftboardRW -h zundert.mylab.loc -p
Enter password:
ERROR 2002 (HY000): Can't connect to server on 'zundert.mylab.loc' (115)

Ga naar de configuratie van de database server:
root@zundert:/# mcedit /etc/mysql/my.cnf

Verander het ip adres van waar de server naar “luistert”;
van localhost 127.0.0.1 naar een ander, bv 0.0.0.0 (voor alle) of een specifiek adres.

Database server herstarten, en opnieuw proberen.

Het antwoord is veranderd naar:

cybr@achel:~> mysql -u copyleftboardRW -h zundert.mylab.loc -p
Enter password:
ERROR 1130 (HY000): Host '192.168.1.205' is not allowed to connect to this MySQL server

2. Host is not allowed: gebruikers en rechten

Voeg nu het ip adres toe bij de user (bv met phpMyAdmin)

 	Gebruiker 	Machine 	Wachtwoord 	Globale rechten 	Gebruikersgroep 	Toekennen 	Actie
 	copyleftboardRW 	achel.mylab.loc 	Ja 	USAGE 		Nee

of als via de naam niet werkt, ip-adres:

 	Gebruiker 	Machine 	Wachtwoord 	Globale rechten 	Gebruikersgroep 	Toekennen 	Actie
 	copyleftboardRW 	192.168.1.205 	Ja 	USAGE 		Nee

Heel ruim: alle adressen

 	Gebruiker 	Machine 	Wachtwoord 	Globale rechten 	Gebruikersgroep 	Toekennen 	Actie
 	copyleftboardRW 	% 	Ja 	USAGE 		Nee

Rechten bewerken:

Achteraan bij gebruiker 'copyleftboardRW'@'achel.mylab.loc' "Rechten wijzigen"

en expliciet rechten geven op bepaalde databanken.

Rechten herladen (nl-talige phpmyadmin: “de rechtentabel vernieuwen” )

Ok.

14/2/2023

OpenSUSE 15.4 mariadb server bereikbaar maken

Filed under: — cybrarian @ 3:47 pm

Via zypper mariadb als database geïnstalleerd.

De database kan gestart worden met systemctl start mysql

Ik heb via zypper geprobeerd phpMyAdmin bij te installeren, maar is nog niet beschikbaar/aktief.

Eerst de database naar buiten beschikbaar maken:

Zet firewall open voor mysql:

– in Yast, security/users, firewall, Zones public:
Services: mysql, Add -> Allowed (naast dhcpv6-client en ssh)
(bij ports staan al 80 en 443 omdat ik apache2 heb geïnstalleerd en werkt)
– in yast bewaren met Accept, en afsluiten.

nc -v server.bremen.loc 3306

nc: connect to server.bremen.loc port 3306 (tcp) failed: Connection refused

systemctl stop mysql

Configuratiebestand mariadb/mysql: /etc/my.cnf
zoek:

bind-address=127.0.0.1

Afzetten:
# bind-address=127.0.0.1 (met comment ervoor)
(of bind-address = * (??)

Bewaar, herstart mysql/mariadb met systemctl start mysql

nc -v server.bremen.loc 3306

Connection to server.bremen.loc 3306 port [tcp/mysql] succeeded!
H�jHost ‘192.168.1.05’ is not allowed to connect to this MariaDB server

Om in te loggen moet er natuurlijk een geschikte user zijn gemaakt in mariadb.

CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'XXXXXXXXXXXXXXXXXX'
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
flush privileges;

6/1/2023

MariaDb phpMyAdmin privileges foutmelding: Illegal mix of collations

Filed under: — cybrarian @ 2:49 pm

Op mijn laptop (opensuse 15.3, mariadb), in phpMyAdmin, bij het kiezen van de privileges
krijg ik een foutmelding:

#1267 – Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_unicode_ci,COERCIBLE) for operation ‘<>‘

Hier (2) vond ik een beschrijvnig:

Ik zie in Server:localhost, Settings, Features, Databases:

http://localhost/phpMyAdmin/prefs_forms.php?form=Features#tab_Databases

Server connection collation:
utf8mb4_unicode_ci

Verander utf8mb4_unicode_ci naar utf8mb4_general_ci.

Daarna kan ik weer de privileges opvragen en bewerken..

Ok!

ps: op een andere computer met Nederlandstalige desktop heb ik dat probleem niet ondanks dat daar ook die unicode versie ingesteld is.

Links:
(1) http://localhost/phpMyAdmin/server_privileges.php?db=mysql&table=global_priv&checkprivsdb=mysql&checkprivstable=global_priv&viewing_mode=table
(2) https://www.iwally.nl/1267-illegal-mix-of-collations-utf8mb4-general-ci-coercible-and-utf8mb4-unicode-ci-coercible-for-operation

25/10/2022

Mysql/Mariadb, phpMyAdmin: Illegal mix of collations

Filed under: — cybrarian @ 12:38 pm

De LAMP server draait MariaDb, gebruiker heeft toegang met phpMyAdmin vanop dezelfde machine.

Bij het opvragen van de “privileges” in phpMyAdmin (url: hieronder)…
http://localhost/phpMyAdmin/server_privileges.php?db=mysql&table=user&checkprivsdb=mysql&checkprivstable=user&viewing_mode=table

…krijg ik volgende foutmelding:

#1267 – Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_unicode_ci,COERCIBLE) for operation ‘<>‘
Current selection does not contain a unique column. Grid edit, Edit, Copy and Delete features may result in undesired behavior. Documentation

Ik ga deze oplossing uitproberen als ik tijd heb:
(stackoverflow)

27/4/2022

MariaDb zonder root: en phpMyAdmin dan?

Filed under: — cybrarian @ 11:54 am

Korte versie:

Maak, als root, een phpmyadmin account met de nodige rechten:
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'wachtwoord';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Ik begon van OpenSUSE 15.3 geïnstalleerde mysql (=MariaDb):
Server version: 10.5.15-MariaDB MariaDB package

Geen root login meer?

cybrarian@MijnMachine:~> mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Of toch?

cybrarian@MijnMachine:~> su
Password:
MijnMachine:/home/cybrarian # mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 23
Server version: 10.5.15-MariaDB MariaDB package
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

MariaDB [(none)]> select Host, User, Password from mysql.user;
+-----------+-------------+----------+
| Host      | User        | Password |
+-----------+-------------+----------+
| localhost | mariadb.sys |          |
| localhost | root        | invalid  |
| localhost | mysql       | invalid  |
| localhost |             |          |

Ik lees dat ze dit veranderd hebben in versie 10.4: https://mariadb.com/kb/en/authentication-from-mariadb-104/

Dit heeft het voordeel dat de root account vanaf installatie afgeschermd is, en dat je niet hals-over-kop eerst je root account moet gaan toe-zetten, zoals vroeger.

Het root account wordt automatisch gemaakt, en je kan het gebruiken als je root bent op je systeem, ofwel met sudo.

Het test account lijkt voor iedereen open te staan nu:

cybrarian@MijnMachine:~> mysql -u test
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 16
Server version: 10.5.15-MariaDB MariaDB package
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> select CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| @localhost     |
+----------------+
1 row in set (0.001 sec)
MariaDB [(none)]> select USER();        
+----------------+
| USER()         |
+----------------+
| test@localhost |
+----------------+
1 row in set (0.000 sec)
MariaDB [(none)]> exit
Bye

met een willekeurige naam:

cybrarian@MijnMachine:~> mysql -u joskevermeulen
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 19
Server version: 10.5.15-MariaDB MariaDB package
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> select USER();        
+--------------------------+
| USER()                   |
+--------------------------+
| joskevermeulen@localhost |
+--------------------------+
1 row in set (0.001 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.001 sec)
MariaDB [(none)]> exit
Bye

Beveiligen
Het script na installatie blijft bestaan:

mysql_secure_installation

Het laat toe de root wachtwoord en login instellingen aan te passen, en eindigt met :


Remove test database and access to it? [Y/n]
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n]
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

en dan is:

MariaDB [(none)]> select Host, User, Password, plugin from mysql.user;
+-----------+-------------+----------+-----------------------+
| Host      | User        | Password | plugin                |
+-----------+-------------+----------+-----------------------+
| localhost | mariadb.sys |          | mysql_native_password |
| localhost | root        | invalid  | mysql_native_password |
| localhost | mysql       | invalid  | mysql_native_password |
+-----------+-------------+----------+-----------------------+
3 rows in set (0.002 sec)

phpMyAdmin
Als je hierboven *geen* root wachtwoord hebt gezet, dan zal phpMyAdmin niet werken met root.

From mysql 5.7 and mariadb 10.4 on, one cannot use ‘root’ login with default authentication method. One solution is to create a new admin user for the database just for phpMyAdmin.

Je moet dus ofwel

  • “root” weer gaan aktiveren en er een wachtwoord aan toekennen,
  • een gebruiker bijmaken voor phpMyAdmin, om zelf mee in te loggen via phpMyAdmin.

Aangezien ze root verwijderd hebben voor een reden, en dat ook zo in de volgende versies zal zijn, leer je er beter me leven. Kies een goede naam, waarmee je zelf weet waar hij voor dient (“phpmyadmin”?), of gebruik je eigen naam bv als je jezelf vertrouwt met root rechten; beperk eventueel tot localhost.

Log in als root (of je eigen gekozen beheerdersaccount).
ps: De “whoami” van mysql? check wie je nu bent met:
SELECT CURRENT_USER();

In de tabel mysql:
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'VerzinZelf1Wachtwoord';

MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]>CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'VerzinZelf1Wachtwoord';

MariaDB [mysql]> select Host, User, Password, plugin from mysql.user;

+-----------+-------------+-------------------------------------------+-----------------------+
| Host      | User        | Password                                  | plugin                |
+-----------+-------------+-------------------------------------------+-----------------------+
| localhost | mariadb.sys |                                           | mysql_native_password |
| localhost | root        | invalid                                   | mysql_native_password |
| localhost | mysql       | invalid                                   | mysql_native_password |
| localhost | phpmyadmin  | *60BE5F4C0B7FD3747C1845476CED1F220739403B | mysql_native_password |
+-----------+-------------+-------------------------------------------+-----------------------+

Helaas; ik kan nu wel inloggen in phpMyAdmin, maar ik zie geen tabellen, ik kan niets doen.
Nog rechten toekennen aan de nieuwe gebruiker:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.004 sec)

en de rechten herladen:

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)

Hallo phpMyAdmin!

26/11/2021

mariadb mysql import van commandolijn

Filed under: — cybrarian @ 2:28 pm

Een groot .sql bestand moet geïmporteerd worden in mariadb. Het is meer dan één GB groot, en ik kan het niet importeren langs phpMyAdmin.
Ik heb eerst de structuur van de databases geëxporteerd en geïmporteerd (die is kleiner, gaat wel met phpMyAdmin).

Daarna vanop de commandolijn:

mysql -u root -p DBNAAM < DBNAAM.sql

Enter password:

Het kan (na het ingeven van het wachtwoord) een paar (tientallen) minuten duren eer de import klaar is; je krijgt ondertussen geen statusinformatie (je kan wel naar je processorbelasting gaan kijken, bleef hier bv rond 10%, om dan terug te vallen op 2% als de import klaar was).

20/10/2020

mariadb of mysql databank server verbinding over netwerk

Filed under: — cybrarian @ 2:17 pm

Verbinding van buitenaf
Een databank als mysql of mariadb is standaard geïnstalleerd in OpenSUSE 15.1. Meestal met het mysql_secure_installation script, dat er voor zorgt dat de databank in een veilige toestand op de server komt (niet zoals vroeger met alles draaiend, open, zonder root wachtwoord en een bekende voorgedefinieerde gast of test account…). Je kan na de installatie vanop de eigen server (localhost) inloggen. Maar als je nu vanop afstand wil inloggen op mysql of rechtstreeks vanuit programma’s de databank wil aanspreken, moet je een paar aanpassingen doen. Hieronder enkele voor intern gebruik (in een eigen lokaal netwerk), en even situeren:

1. Installatie
2. local user
3. remote use
A. Firewall
B. listen to port
C. remote use
D. SSL tunnel/VPN

1. en 2. zijn gebeurd is het uitgangspunt.

3. remote use
3.A. Firewall
Opensuse YAST: Firewall tool, service “mysql”, in zone “public” (is bv default).

op de commandolijn:
systemctl status firewalld
(om te zien of hij draait)

firewall-cmd --list-all
toont lijst met bv:

..
services: ssh dhcpv6-client mysql
ports:

grep mysql /etc/services

toont op welke poorten de diensten zitten

grep mysql /etc/services
mysql-cluster 1186/tcp # MySQL Cluster Manager [Arjen_Lentz]
mysql-cluster 1186/udp # MySQL Cluster Manager [Arjen_Lentz]
mysql-cm-agent 1862/tcp # MySQL Cluster Manager Agent [Andrew_Morgan]
mysql-cm-agent 1862/udp # MySQL Cluster Manager Agent [Andrew_Morgan]
mysql-im 2273/tcp # MySQL Instance Manager [Petr_Chardin]
mysql-im 2273/udp # MySQL Instance Manager [Petr_Chardin]
mysql 3306/tcp # MySQL [Monty]
mysql 3306/udp # MySQL [Monty]
mysql-proxy 6446/tcp # MySQL Proxy [Kay_Roepke]
mysql-proxy 6446/udp # MySQL Proxy [Kay_Roepke]
mysqlx 33060/tcp # MySQL Database Extended Interface [Oracle_8] [Omer_BarNir]

3.B. listen to port

telnet mysql.servernaam.loc 3306

Trying 192.168.1.205…
telnet: connect to address 192.168.1.205: Connection refused

nc -v mysql.servernaam.loc 3306

nc: connect to mysql.servernaam.loc port 3306 (tcp) failed: Connection refused

Connection refused: waarschijnlijk is poort wel open, maar luistert de dienst niet.

Dat wordt bepaald in /etc/my.cnf
staat standaard uitgecomment:

#port = 3306

en bind-address=127.0.0.1 staat standaard aan; uit-commenten zodat hij die algemene bind netwerk doet.
bind-address=127.0.0.1

3.C. user name, ip
Gebruiker bijmaken voor gebruik vanop afstand. (voor elk ander gebruik dan root-beheer moet je een andere account maken).

CREATE USER ‘my_app_user’@’10.132.51.34’ IDENTIFIED BY ‘some-strong-password’;

In plaats van op 1 bepaald ip addres kan ook een reeks adressen gebruikt worden:
netmask IPV4: ‘my_app_user’@’10.132.51.0/255.255.255.0′
Wildcards:’my_app_user’@’%.example.com’

systemctl status mysql
systemctl restart mysql

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?

26/2/2017

MariaDB, waar is /var/log/messages ?

Filed under: — cybrarian @ 11:22 pm

Op een recent geïnstalleerde Linux server installeer ik mariadb, en zoek ik hoe de database te starten en hoe te kijken of ze gestart is. Ze heet waarschijnlijk niet meer “mysql”? Of toch? En Apache?

MySQL / MariaDB

MariaDB na installatie starten:

systemctl start mysql

Check of ze gestart is:
cat /var/log/messages ? Zo was het vroeger.
Sinds de overgang naar systemctl is ook de systeemlog gewijzigd naar journalctl. Dat commanda op zich opent een nogal heel grote tekst-log-file waarin je zonder filteren niet veel bent.

Uitleg en opties:
man journalctl

journalctl -u myqsl

Elke lijn begint met de tijd, hostname, en de bron van de loglijn; er uit met q van quit.
Feb 26 23:00:39 myhost mysql-systemd-helper[3186]:
(ik heb die hieronder vervangen door _ om het wat overzichtelijker te houden)

Starting MySQL server…
_ Creating MySQL privilege database…
_ Installing MariaDB/MySQL system tables in ‘/var/lib/mysql’ …
_ 170226 23:00:40 [Note] /usr/sbin/mysqld (mysqld 10.0.29-MariaDB) starting as process 3225 _ OK
_ Filling help tables…
_ 170226 23:00:51 [Note] /usr/sbin/mysqld (mysqld 10.0.29-MariaDB) starting as process 3252 …
_ OK
_ PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
_ To do so, start the server, then issue the following commands:
_ ‘/usr/bin/mysqladmin’ -u root password ‘new-password’
_ ‘/usr/bin/mysqladmin’ -u root -h myhost password ‘new-password’
_ Alternatively you can run:
_ ‘/usr/bin/mysql_secure_installation’
_ which will also give you the option of removing the test
_ databases and anonymous user created by default. This is
_ strongly recommended for production servers.
_ See the MariaDB Knowledgebase at http://mariadb.com/kb or the
_ MySQL manual for more instructions.
_ You can start the MariaDB daemon with:
_ rcmysql start
_ You can test the MariaDB daemon with mariadb-test package
_ Please report any problems at http://mariadb.org/jira
_ The latest information about MariaDB is available at http://mariadb.org/.
_ You can find additional information about the MySQL part at:
_ http://dev.mysql.com
_ Consider joining MariaDB’s strong and vibrant community:
_ https://mariadb.org/get-involved/
_ Waiting for MySQL to start
_ 170226 23:00:54 [Note] /usr/sbin/mysqld (mysqld 10.0.29-MariaDB) starting as process 3289 …
_ MySQL is alive
Feb 26 23:00:55 myhost systemd[1]: Started MySQL server.

Check eigen mariadb server log:
cat /var/log/mysql/mysqld.log

En dan nog steeds het veilig in gebruik stellen van mariadb/mysql:
mysql_secure_installation

Apache

ps: Hetzelfde geldt voor apache, moest dat de volgende vraag zijn:

systemctl start apache

En eigenlijk is het apache2 natuurlijk, dus vind je het in de logs als:

journalctl -u apache2

Na installatie van phpMyAdmin apache stoppen en terug starten:

systemctl stop apache
systemctl start apache

of
systemctl restart apache2

27/4/2014

Apache mysql/mariadb phpMyAdmin openSUSE 13.1

Filed under: — cybrarian @ 2:13 am

In openSUSE 13.1 is het allemaal voorzien, en eenvoudig te installeren via het menu Installa/Remove Software, of dezelfde optie in Yast (1), of natuurlijk via zypper (4). Na installatie de servers starten (2), en extra instellingen doen (3).

1. Installatie
In Yast, in het tabblad Search zoek je naar:

  • mysql

    • mysql-community-server

    met bijhorende bestanden, uit Oss/update repo

  • Ofwel, wat eerder de standaard vervanging voor mysql is, maar waarvoor je anders moet zoeken:
    mariadb

    • mariadb Server part of MariaDB

    met bijhorende bestanden, uit Oss/update repo; verder volledig te gebruiken als mysql – er zijn nodige links voorzien om het gebruik transparant te maken. Zo zullen voor phpMyAdmin, Gambas, enz nog programmaonderdelen met de naam “mysql…” voorkomen.

  • apache
    • apache2 The Apache Web Server Version 2.2

    en een aantal bijhorende bestanden, uit Oss/update repo (er zijn wat verschillende versies beschikbaar, bv 64 bit ea)

  • php

    • apache2-mod_php5 PHP5 module for Apache 2.0

    en een aantal bijhorende bestanden, uit oss/update, overeenkomende versie met Apache.

  • phpMyAdmin

    • phpMyAdmin Administration of MySQL over the web – 4.1.8

    bij deze versie van openSUSE dus aanwezig in de gewone repositories (Oss/update)

  • Nb: Volgorde
    Als je achteraan begint, bij phpMyAdmin, worden waarschijnlijk ineens de webserver, php, en de database mee geïnstalleerd uit de afhankelijkheden.

2. Starten en checken van de servers
Starten van servers gebeurt momenteel in openSUSE met systemcontrol:

  • systemctl start mysql.service
  • op de commandolijn kan je nu verbinden met mysql of mysqladmin
  • Nb: Hoewel mariadb geïnstalleerd is, wordt mysql.service aangeroepen, en de client mysql gebruikt.

  • systemctl start apache2.service
  • Vroeger kreeg je daarna in je browser een leuke welkom-pagina te zien bij openSuse, maar de frivoliteit is er wat af als je nu naar http://localhost gaat; je wordt afgesnauwd met “Access forbidden!”. Dat betekent niet dat je installatie niet werkt; integendeel. Onderaan zie je “Apache/2.4.6 (Linux/SUSE)”; het is je Apache die deze foutmelding geeft omdat er nog geen inhoud is.

3. Instellingen

  • Mysql/mariadb
    De databaseserver moet in het begin minstens voorzien worden van een wachtwoord voor de beheerder of root (in de betekenis van root voor de database, hoeft niet overeen te komen met die van het systeem). Zolang dat niet is ingesteld zal phpMyAdmin weigeren te werken:

    Login without a password is forbidden by configuration (see AllowNoPassword)

    Er is een scriptje voorzien om mysql/mariadb in te stellen, te draaien als root:

    mysql_secure_installation

    Verloop:

    • Geef het wachtwoord voor de databank als je het al gezet zou hebben; zoniet enter
    • Kies een wachtwoord voor de beheerder of root user van de databank; herhaal het. Je ziet uit de reaktie dat het wachtwoord is geupdate, en de rechten herladen worden.
    • Kies om de anonieme gebruiker te verwijderen (Y)
    • Uitschakelen van inloggen op afstand voor root gebruiker (Y voor online systeem; voor lokale installatie kan je het voor het gebruiksgemak laten aanstaan als dat nodig is. Of maak een eigen extra gebruiker aan met de nodige rechten zodat je toch root kan buitensluiten)
    • Verwijder de standaard aanwezige test databank: (Y); maak zel zelf aan als je ze nodig hebt, met een eigen relevante naam die aangeeft wat je aan het testen bent, dan kan je gemakkelijker opkuisen nadien.
    • De laatste stap is het bevestigen van het herladen van de rechten
  • PhpMyAdmin

    In je brower, bv Firefox, kan je nu inloggen op phpMyAdmin, vanop hetzelfde toestel http://localhost//phpMyAdmin

    Opmerkingen:
    Je krijgt onderaan een foutmelding die doorverwijst naar documentatie, bv over de Server relation.
    Maar niet alle documentatie lijkt aanwezig, ik miste bv http://localhost/phpMyAdmin/pmadb
    Een online link met interessante uitleg daarover is http://wiki.phpmyadmin.net/pma/control_user
    Een goed begin is waarschijnlijk het configuratie bestand aanpassen of maken config.inc.php (zie setup doc).

4. Zypper:
Goede Engelstalige uitleg met gebruik van zypper commandolijn-tool.
http://www.unixmen.com/install-lamp-server-apache-mariadb-php-opensuse-13-1/

5/6/2023

Raspberry Pi OS

Filed under: — cybrarian @ 11:22 pm

Het is even geleden dat ik een Raspberry Pi geïnstalleerd heb (ze zijn nog altijd niet te krijgen, dus dat gebeurt enkel als ik er eens kan hergebruiken omdat het originele project niet meer loopt). Even snel in het klad mijn log:

Download
Raspberry Pi image (systeem) downloaden van https://www.raspberrypi.com/software/operating-systems/

keuze tussen bv 32 bit en 64 bit versies; bv 64 bit:

2023-05-03-raspios-bullseye-arm64.img

Als het afgehaalde bestand “gecomprimeerd” is moet je het “uitpakken” eventueel met een tool als Ark.

2023-05-03-raspios-bullseye-arm64.img.xz

Imager voor Raspberry Pi
De volgende stap is het overbrengen van
Er wordt aangeraden de imager te gebruiken, ik vind geen uitleg om gewoon de commandolijn te gebruiken met bv dd, zoals ik voor andere ISO’s doe. Maar goed, als iemand de moeite heeft gedaan er software voor Linux voor te schrijven, proberen we die. Ik zoek bij (opensuse) software en vind:

rpi-imager - Raspberry Pi Imaging Utility

Raspberry Pi Imager is the quick and easy way to install Raspberry Pi OS and other operating systems to a microSD card, ready to use with your Raspberry Pi. Watch our 45-second video to learn how to install an operating system using Raspberry Pi Imager.
Download and install Raspberry Pi Imager to a computer with an SD card reader. Put the SD card you’ll use with your Raspberry Pi into the reader and run Raspberry Pi Imager.

Na installatie te vinden in het menu onder “hulpmiddelen” als Imager (met een framboos icoon).

Indrukwekkend genoeg start die in het Nederlands (het was me niet onmiddellijk duidelijk of dat als root moest..)

* Kies besturingssysteem
Je kan een besturingssysteem kiezen uit een hele lijst van beschibkare systemen, er staat bij hoe groot de download is. Maar je kan ook een reeds gedownload bestand selecteren.

* Kies opslagapparaat
Interne SD kaartlezer..”Voorbereiden …” ..
“Schrijven …” ..
“Verifieren … ” ..

* Schrijf
Vraagt root wachtwoord.. (daarmee is die vraag beantwoord).

“Voorbereiden …” ..
“Schrijven …” ..
“Verifieren … ” ..

Ps: Er is ook een Annuleer knop voorzien.

Gemist
Pas als hij helemaal klaar is en vraagt de SD te verwijderen, zie ik de knop met het tandwieltje.
Die geeft een scherm met “geavanceerde instellingen”, die ubuntu-achtig verstopt waren dus.
Conclusie: Ik mistte de kans om de hostnaam in te stellen, de SSH te laten inschakelen, de gebruikersnaam/wachtwoorden in te stellen, de wifi te aktiveren en in te stellen, de regio-instelling te doen…

Met de optie “alleen voor deze sessie” of “altijd toepassen”.

Ok?
In ieder geval, nu zou je SD kaart klaar moeten zijn voor gebruik.

Eerste start

Bij het starten zie ik meldingen voorbijrollen als:

Resizing root filesystem (het zou fantastisch zijn als hij automatisch de rest van de kaartruimte bruikbaar maakt ..)
generating ssh keys
rebooting

Er start een Instellingen programma: een scherm dat doet denken aan de Raspberry Pi 400, met tekeningetjes van allerlei componenten op de witte achtergrond.

Country (kiezen uit een ellendige lijst en het toetsenbord werkt niet; scrollen dus … )
Belgium / Flemish / timezone Brussels (setting location..)

Create user, password: nu moet je zelf een gebruikersnaam kiezen, en een wachtwoord opgeven (vroeger was de standaard gebruiker “pi”, maar dat maakt het ook makkelijker voor aanvallers…).

Ik sla de wifi over.

Dan wordt gevraagd om te checken of er updates zijn, dus ik sluit de kabel aan.

Getting updates .. Downloading updates ..
Installing …
Setup Complete. System is up to date. Ok.
Restart to let the settings take effect.

Een vurige lucht vult het scherm, ik start de bestandenbeheerder, vrije ruimte: 24 G (dat is goed, de sd kaart is 32 Gig, dus het beschikbaar maken van de extra ruimte op de kaart gebeurt automatisch nu).

Installeren software
* Gambas
sudo apt install gambas3-ide (bevestigen)
Ok, menu programmeren, Gambas3, De Gambas IDE start als versie 3.15.2

Maar dan zijn er veel onderdelen niet mee geïnstalleerd, dus ik probeer nog
sudo apt install gambas3. Dat haalt nog een groot aantal onderdelen af.

Daarna: free: 23.4G

* MariaDb

29/3/2023

Tijd en tijdzone op een Linux server (en desktop pc)

Filed under: — cybrarian @ 2:39 pm

Server1

~ # timedatectl
Local time: wo 2023-03-29 15:32:26 CEST
Universal time: wo 2023-03-29 13:32:26 UTC
RTC time: wo 2023-03-29 13:32:26
Time zone: Europe/Brussels (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

Deze server draait Suse:
~ # cat /etc/os-release
NAME="openSUSE Leap"
VERSION="15.4"
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.4"
PRETTY_NAME="openSUSE Leap 15.4"

Server2

~# timedatectl
Failed to get D-Bus connection: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

maar wel:
:~# cat /etc/timezone
Europe/Brussels

Dit is een Debian:
~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux jessie/sid"
NAME="Debian GNU/Linux"
ID=debian

Een server die hierop draait (mariadb, ..) zal normaal deze tijdzone volgen; dwz dat een datum/tijd volgens deze tijdzone wordt bewaard.
Maar als een applicatie UTC gebruikt, krijg je mogelijk een verschil van een (paar) uur…

28/2/2023

SQLite (op openSuse)

Filed under: — cybrarian @ 12:48 am

Geen SQLite
Hoewel sqlite gebruikt wordt in allerei andere software, heb ik er geen idee van of hij geïnstalleerd is op mijn huidig systeem;

Als je toevallig in de sqlite prompt terechtkomt, (bv door sqlite version te doen ipv sqlite --version) kan je:
.quit
ps het is trouwens niet sqlite maar sqlite3

Na installatie* :
sqlite3 --version

3.39.3 2022-09-05 11:02:23 4635f4a69c8c2a8df242b384…

(* zie verder)

Database manager?

In openSuse:

sqliteman – An Sqlite3 manager
Sqliteman is a graphical frontend for querying and editing SQLite3 databases.
This package contains: Sqliteman

Sqliteman kan je in het menu “Office”-applications terugvinden.
Start met een scherm waarop zowat alles grijs staat behalve het menu File en Help.

In dat Help menu kan je lezen:

Sqliteman is the best developer’s and/or admin’s GUI tool for Sqlite3 in the world. No joking here (or just a bit only) – it contains the most complete feature set of all tools available.

In File doe ik New, kies een locatie, geef een naam met “test” erin, save.
Nu komen een aantal opties beschikbaar, en wie al eens met mysql/mariadb/phpMyAdmin gewerkt heeft, zal veel herkennen.

Je krijgt een hierarchische structuur:

Main
- Tables (0)
- Views (0)
- System Catalogue(1)
|- sqlite_master

Op Tables, rechtsklik, kan je “new” doen.

Geef een table naam, bv “stockobject”

Maak velden; hier “columns” genoemd:
je krijgt: Name, Type, Not Null, Default kolommen;
Eerste lijn staat klaar om in te vullen, onderaan add/remove en Create
Het zou handig zijn om de Add automatisch te laten gaan …

bv
id, PK Autoincrement, Not Null, –
name, Text, -, –
producer, Text, -, –
ref-producer, Text, -, –
detail, Text, -, –
category, Text, -, –
date-in, ????

Datum blijkt niet te bestaan?
Ik neem voorlopig text.

Knop “Create”

Table created successfully

Knop “Close”

Schema, main, Tables(1) vertoont nu “stockobject”.
Je kan dat openklkken:
columns – (alle kolommen);
Indexes(0);
System Indexes(0);
Triggers (0);

Ik kan ook records (rijen) toevoegen door de veldjes aan te klikken en in te vullen.
Niet gebruiksvriendelijk voor grote aantallen… zelf iets schrijven in Gambas3 dus.
Ik lijk ook zelf mijn record id in te moeten geven, terwijl de keuze “PK Autoincrement” scheen te bestaan…

Als ik die kolom probeer te veranderen in (uit de documentatie) INTEGER PRIMARY KEY, krijg ik een foutmelding, en is er een _alter0-stockopbject (met de records) en een lege stockobject tabel.

Conclusie (voorlopig):

  • Er zijn toch wel wat specifieke zaken aan sqlite, als primary key, datum, enz.
  • Sqliteman is niet vlot genoeg, springt niet automatisch naar het volgende in te geven veld, enz., maar misschien wel goed om een tabel te bekijken of een kleine wijziging te doen.
  • Gebruik onder programmacontrole: (nog doen)

Log
sqlite3
sqlite> exit
...> exit
...> quit
...> ;
Parse error: near "exit": syntax error
exit exit quit ;
^--- error here
sqlite> quit;
Parse error: near "quit": syntax error
quit;
^--- error here
sqlite> quit
...> ^C
...> ;
Parse error: near "quit": syntax error
quit ;
^--- error here

Juiste commando is : .quit

Installatie
:~ # zypper install sqlite3
Loading repository data...
Warning: Repository 'openSUSE:Backports:SLE-15-SP4' appears to be outdated. Consider using a different mirror or server.
Reading installed packages...
Resolving package dependencies...
.
The following 2 NEW packages are going to be installed:
akonadi-server-sqlite sqlite3
.
2 new packages to install.
Overall download size: 823.3 KiB. Already cached: 0 B. After the operation, additional 1.6 MiB will be
used.
Continue? [y/n/v/...? shows all options] (y):

Waarom komt akonadiserver mee? Ik dacht dat die iets met KMail te maken had …

Retrieving package akonadi-server-sqlite-21.12.3-bp154.2.3.1.x86_64 (1/2), 75.3 KiB ( 95.4 KiB unpacked)
Retrieving: akonadi-server-sqlite-21.12.3-bp154.2.3.1.x86_64.rpm ....................................[done]
Retrieving package sqlite3-3.39.3-150000.3.20.1.x86_64 (2/2), 748.0 KiB ( 1.5 MiB unpacked)
Retrieving: sqlite3-3.39.3-150000.3.20.1.x86_64.rpm .................................................[done]

Checking for file conflicts: ........................................................................[done]
(1/2) Installing: akonadi-server-sqlite-21.12.3-bp154.2.3.1.x86_64 ..................................[done]
(2/2) Installing: sqlite3-3.39.3-150000.3.20.1.x86_64 ...............................................[done]

Eens proberen de versie te vragen:

~ # sqlite3 -version
3.39.3 2022-09-05 11:02:23

en de volgende stap is waarschijnlijk

sqlite3 --help

Log sqliteman

~ # zypper install sqliteman
Loading repository data…
Warning: Repository ‘openSUSE:Backports:SLE-15-SP4’ appears to be outdated. Consider using a different mirror or server.
Reading installed packages…
Resolving package dependencies…

The following 3 NEW packages are going to be installed:
libqscintilla2_qt5-15 qscintilla-qt5 sqliteman

3 new packages to install.
Overall download size: 2.3 MiB. Already cached: 0 B. After the operation, additional 9.3 MiB will be used.
Continue? [y/n/v/…? shows all options] (y):

y

Retrieving package libqscintilla2_qt5-15-2.13.1-bp154.1.104.x86_64    (1/3),   1.1 MiB (  3.9 MiB unpacked)
Retrieving: libqscintilla2_qt5-15-2.13.1-bp154.1.104.x86_64.rpm .........................[done (1.8 MiB/s)]
Retrieving package qscintilla-qt5-2.13.1-bp154.1.104.x86_64           (2/3), 205.9 KiB (  3.2 MiB unpacked)
Retrieving: qscintilla-qt5-2.13.1-bp154.1.104.x86_64.rpm ............................................[done]
Retrieving package sqliteman-1.2.2-bp154.1.72.x86_64                 (3/3), 1012.1 KiB (  2.2 MiB unpacked)
Retrieving: sqliteman-1.2.2-bp154.1.72.x86_64.rpm ...................................................[done]

Checking for file conflicts: ........................................................................[done]
(1/3) Installing: libqscintilla2_qt5-15-2.13.1-bp154.1.104.x86_64 ...................................[done]
(2/3) Installing: qscintilla-qt5-2.13.1-bp154.1.104.x86_64 ..........................................[done]
(3/3) Installing: sqliteman-1.2.2-bp154.1.72.x86_64 .................................................[done]

25/1/2023

OpenSUSE update naar 15.4 (van 15.3)

Filed under: — cybrarian @ 10:18 am

Algemeen

  1. alle updates huidig systeem bijwerken
  2. overbodige repo’s afzetten
  3. check releasever gebruik in repo’s
  4. repo’s over naar nieuwe releasever
  5. upgrade
  6. reboot
  7. eventueel terug aan te zetten repo’s

UitvoerenLogAlgemeen

Let op* voor “Closing the Leap Gap”

Warning: Due to Closing the Leap Gap some repos which had “openSUSE_Leap_${releasever}” for 15.3 may change target to just “${releasever}” for 15.4 ( from now on it will be the same for SLES and Leap so OBS don’t need to keep two versions of binary identical rpm’s). Obviously query above won’t handle this so you will get “Repository ‘xxxxx’ is invalid.” error.
Solution – follow repo URL but one level up from “openSUSE_Leap_15.3” and check available targets. If “15.4” is there just manually correct URL.

Bron: https://en.opensuse.org/SDB:System_upgrade

UitvoerenLogAlgemeen

Uitvoeren

  • zypper refresh
    zypper update
  • zypper repos -u
  • grep "releasever" /etc/zypp/repos.d/*
  • zypper --releasever=15.4 refresh
  • zypper --releasever=15.4 dup
    of
    zypper --releasever=15.4 dup --download-in-heaps
  • reboot
  • eventueel:
    zypper addrepo --name

UitvoerenLogAlgemeen

Log

  1. zypper refresh

    Alle opslagruimtes zijn vernieuwd

    zypper update

    Geen aktiviteit

  2. overbodige repo’s afzetten:
    – check repos met zypper repos -u
    – repo’s afzetten kan in Yast2, softwarebronnen (afvinken).
  3. check releasever gebruik in repo’s:
    Overzicht in Yast2 bv. waar je de (oude) URL/distro versies kan zien:

    CrossToolchain:avr (arduino)

    URL: https://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_Leap_15.2/
    Category: YUM

    Education: (voor Gambas?)

    URL: http://download.opensuse.org/repositories/Education/openSUSE_Leap_15.2/
    Category: YUM

    Java:packages (voor??)

    URL: https://download.opensuse.org/repositories/Java:/packages/openSUSE_Leap_15.2/
    Category: YUM

    Libdvdcss

    URL: http://opensuse-guide.org/repo/openSUSE_Leap_15.2/
    Category: YUM

    home/jevez (voor Belgian e-ID)

    URL: https://download.opensuse.org/repositories/home:/jevez/openSUSE_Leap_15.2/
    Category: YUM

    Packman lijkt al wel ok:

    URL: http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.3/
    Raw URL: http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/
    Category: YUM

    Als het nodig is:
    sed -i 's/15.3/${releasever}/g' /etc/zypp/repos.d/*.repo

  4. repo’s over naar nieuwe releasever:
    zypper --releasever=15.4 refresh

    Waarschuwing: Afgedwongen instelling: $releasever=15.4
    Ophalen van metagegevens uit opslagruimte ‘openSUSE:Leap:15.3’ …………………………………………………………………………………………………………………….[gereed]
    Cache van opslagruimte ‘openSUSE:Leap:15.3’ wordt gebouwd ———————————————————————————————————————————————–[|]
    (…)
    Alle opslagruimtes zijn vernieuwd.

  5. upgrade:
    zypper --releasever=15.4 dup

    33 problems: Problem with the installed
    gstreamer-plugins-bad-1.6..
    gstreamer-plugins-bad-lang..
    libavcodecs57, 58
    libavdevices57, 58
    libavfilter
    libavformat
    libavresample
    libavutil
    libgstadaptivedemux
    libgstbadaudio
    libgstbasecamerabinsrc
    libsst…

    libpostproc54-..
    libpostproc55-..
    libsox3..
    libswresample2…
    libswresample3…
    libswscale4..
    libswscale5..
    sox

    Solutions gekozen:
    gstreamer: install gstreamer-plugins-bad-1.20.. from vendor openSUSE (2 x )
    libavcodec57: keep obsolete (vendor SUSE was 3.4.2-150200 ipv 3.4.9-pm153) (8-tal keer)
    libgst: install libgstadaptivedemux-1_0-0-1.20.1-lp154.1.1.x86_64 from openSUSE (ipv 16.3 van packman) x keer
    libpostrproc54 : keep 3.4.9 (ipv SUSE versie 3.4.2) x2
    libsox : install 14.4.2-bp154.1.100.x86_64 from openSUSE (ipv oude packman -pm153.2.8)
    libswresample: keep 3.4.9 (ipv 3.4.2 van SUSE)
    libswscaled4: keep
    libswscaled5: keep
    sox: install bp154 van openSUSE

    2001 packages to upgrade, 62 to downgrade, 173 new, 138 to remove, 15 to change vendor, 5 to change arch.

    Eindigt met:

    Executing %posttrans scripts … [done]
    Update notifications were received from the following packages:
    mariadb-10.6.10-150400.3.17.1.x86_64 (/var/adm/update-messages/mariadb-10.6.10-150400.3.17.1-something)
    View the notifications now? [y/n]

    y

    Melding van pakket mariadb:
    WARNING: You are upgrading from different stable version of MySQL!

    Your database will be migrated automatically during next restart of MySQL.
    Before you do that make sure you have up to date backup of your data. It
    should be mainly in /var/lib/mysql directory.

  6. reboot
    – Gambas3 is verdwenen (zat in de “openSUSE:Backports:SLE-15:SP3” repository)
    – Bij een wat speciale installatie, bv met twee schermen etc, kan het dat je de instellingen terug moet doen.
    Mijn “dev” station met 2 schermen stond na de update in “default” 1024×768 (4:3) @76Hz 100% op 1 scherm (nVidia GF119).
    (zie verder).
  7. eventueel terug aan te zetten repo’s
    – Yast: bron voor NVidia gecheckt op 15.4 -ok; terug aangezet.
    Het bovenstaand probleem was magisch opgelost.
    – Gambas3: wordt een andere bron?
    Gambas3 terug geïnstalleerd via https://software.opensuse.org/package/gambas3-ide (home:munix9, 3.18.0 met 1click install).
    Er komen onderweg wat foutmeldingen op repo’s, en gambas3 is niet geïnstalleerd, maar kan daarna wel gekozen worden in softwarebeheer.
    Of een tweede keer: kies aangepaste installatie, en schakel de probleemrepositories uit: LSE-15-SP1..4 in Yast. Ok!

UitvoerenLogAlgemeen

Andere:

– ook uitgevoerd vanuit een terminal op de GUI op een ander toestel.


Nog een andere, installatie die reeds teruggaat tot 2017:
Update 15.4 gestart;
Foutmelding:

Bestand './x86_64/python3-base-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm' niet gevonden op medium 'http://download.opensuse.org/update/leap/15.4/sle/'

Ik probeer opnieuw maar helpt niet, overslaan dus ..

Ophalen: python3-base-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm ........................................................[niet gevonden]
Bestand './x86_64/python3-base-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm' niet gevonden op medium 'http://download.opensuse.org/update/leap/15.4/sle/'
Afbreken, opnieuw proberen, negeren? [a/o/n/...? alle opties tonen] (a): o
Ophalen: python3-base-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm ........................................................[niet gevonden]
Bestand './x86_64/python3-base-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm' niet gevonden op medium 'http://download.opensuse.org/update/leap/15.4/sle/'
Afbreken, opnieuw proberen, negeren? [a/o/n/...? alle opties tonen] (a): o
Ophalen: python3-base-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm ........................................................[niet gevonden]
Bestand './x86_64/python3-base-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm' niet gevonden op medium 'http://download.opensuse.org/update/leap/15.4/sle/'
Afbreken, opnieuw proberen, negeren? [a/o/n/...? alle opties tonen] (a): o
Ophalen: python3-base-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm ........................................................[niet gevonden]
Bestand './x86_64/python3-base-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm' niet gevonden op medium 'http://download.opensuse.org/update/leap/15.4/sle/'
Afbreken, opnieuw proberen, negeren? [a/o/n/...? alle opties tonen] (a): n
Waarschuwing: U hebt ervoor gekozen om aan een probleem met het downloaden of installeren van een pakket geen aandacht te geven. Dit kan leiden tot gebroken afhankelijkheden van andere pakketten. U kunt het beste 'zypper verify' uitvoeren nadat de bewerking is beëindigd.
SKIP request: User-requested skipping of a file
Geschiedenis:
- Can't provide ./x86_64/python3-base-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm
- Bestand './x86_64/python3-base-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm' niet gevonden op medium 'http://download.opensuse.org/update/leap/15.4/sle/'

Ophalen: python3-base-3.6.15-150300.10.40.1.x86_64.rpm ...................................................................[gereed (4,9 KiB/s)]
pakket libpython3_6m1_0-3.6.15-150300.10.40.1.x86_64 wordt opgehaald (568/2215), 870,1 KiB ( 2,7 MiB uitgepakt)
Delta wordt opgehaald: ./x86_64/libpython3_6m1_0-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm, 40,3 KiB
Ophalen: libpython3_6m1_0-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm ....................................................[niet gevonden]
Bestand './x86_64/libpython3_6m1_0-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm' niet gevonden op medium 'http://download.opensuse.org/update/leap/15.4/sle/'
Afbreken, opnieuw proberen, negeren? [a/o/n/...? alle opties tonen] (a): n
Waarschuwing: U hebt ervoor gekozen om aan een probleem met het downloaden of installeren van een pakket geen aandacht te geven. Dit kan leiden tot gebroken afhankelijkheden van andere pakketten. U kunt het beste 'zypper verify' uitvoeren nadat de bewerking is beëindigd.
SKIP request: User-requested skipping of a file
Geschiedenis:
- Can't provide ./x86_64/libpython3_6m1_0-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm
- Bestand './x86_64/libpython3_6m1_0-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm' niet gevonden op medium 'http://download.opensuse.org/update/leap/15.4/sle/'

Nog eens ..

Bestand './x86_64/python3-tk-3.6.15-150300.10.37.2_150300.10.40.1.x86_64.drpm' niet gevonden op medium 'http://download.opensuse.org/update/leap/15.4/sle/'
Afbreken, opnieuw proberen, negeren? [a/o/n/...? alle opties tonen] (a):

opnieuw proberen lukt niet, negeren..

Deze komt er wel door met opnieuw proberen (automatisch).

Ophalen: typelib-1_0-Pango-1_0-1.50.4-150400.1.5.x86_64.rpm ............................................................................[fout]
Locatie 'http://download.opensuse.org/distribution/leap/15.4/repo/oss/x86_64/typelib-1_0-Pango-1_0-1.50.4-150400.1.5.x86_64.rpm' is tijdelijk niet toegankelijk.
Afbreken, opnieuw proberen, negeren? [a/o/n] (o):
Opnieuw proberen...

Upgrade is klaar, eens zien welk het effect is van die ontbrekende onbereikbare python paketten…. reboot.

Start terug op, Ok.

20/1/2023

KMail probleem: Unable to Fetch item from backend (items without RID)

Filed under: — cybrarian @ 3:52 pm

Probleem
KMail probleem: KMail is traag, en lijkt op iets te wachten wat nooit komt.
(check CPU/hd activity/netwerk monitor)

Inhoud van map wordt opgehaald
Even geduld . . .

Ook: filter werkt niet meer, (markering) van “gelezen” reageert/werkt niet meer, blijft ongelezen staan.

Onderaan bij KMail: “Unable to fetch item from backend..

Volgens docs.kde.org/ : … [LRCONFLICT]
Sluit KMail

Installeer indien nodig; gebruik akonadictl:

akonadictl fsck

Item “36440” in collection “35” has no RID.
Item “36441” in collection “35” has no RID.
Item “36443” in collection “35” has no RID.
Item “36444” in collection “35” has no RID.
Item …
Item “37537” in collection “35” has no RID.
Found 5422 items without RID.
Found 0 dirty items.
Looking for rid-duplicates not matching the content mime-type of the parent collection
Checking Kopano
Checking Lokale mappen
Checking Notities
Checking Persoonlijke contacten
Checking Search
Checking …
Migrating parts to new cache hierarchy…
Checking search index consistency…
Skipping virtual Collection 1
Checking Collection 3 search index…
Checking …
Checking Collection 55 search index…
Flushing collection statistics memory cache…
Making sure virtual search resource and collections exist
Consistency check done.

Een probleem dat zichtbaar is:

"Found 5422 items without RID."

Sluit KDE.
Ga naar de commandolijn, om in te loggen op de database server van KMail/Akonadi.
Daarvoor hebben we eerst wat gegevens nodig, die zichtbaar zijn in de processentabel (ps ux), en we willen vooral “mysql” processen:

ps ux | grep mysql

ps ux | grep mysql
gebruiker 3339 0.0 1.9 2482368 150304 ? Sl 11:40 0:05 /usr/sbin/mysqld –defaults-file=/home/gebruikernaam/.local/share/akonadi/mysql.conf –datadir=/home/gebruikernaam/.local/share/akonadi/db_data/ –socket=/run/user/1002/akonadi/mysql.socket –pid-file=/run/user/1002/akonadi/mysql.pid
gebruiker 8024 0.0 0.0 10248 768 pts/3 S+ 15:32 0:00 grep –color=auto mysql

en log in op de database server van KMail:

mysql --socket=/run/user/1002/akonadi/mysql.socket

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 65
Server version: 10.5.17-MariaDB MariaDB package

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

Even rondkijken:

show databases;

kijk of akonadi er bij staat. Dan:

use akonadi;

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

MariaDB [akonadi]> show tables;

+----------------------------------+
| Tables_in_akonadi                |
+----------------------------------+
| collectionattributetable         |
| collectionmimetyperelation       |
| collectionpimitemrelation        |
| collectiontable                  |
| flagtable                        |
| mimetypetable                    |
| parttable                        |
| parttypetable                    |
| pimitemflagrelation              |
| pimitemtable                     |
| pimitemtagrelation               |
| relationtable                    |
| relationtypetable                |
| resourcetable                    |
| schemaversiontable               |
| tagattributetable                |
| tagremoteidresourcerelationtable |
| tagtable                         |
| tagtypetable                     |
+----------------------------------+
19 rows in set (0,001 sec)

Kijk of pimitemtable er bij staat.
Toon de structuur (niet echt nodig maar interessant)

select * from pimitemtable limit 1;

Kijk of er “lege” pointers in zitten:

SELECT * FROM pimitemtable WHERE remoteId IS NULL;

+-------+-----+----------+----------------+------+--------------+------------+---------------------+---------------------+-------+------+
|   id  | rev | remoteId | remoteRevision | gid  | collectionId | mimeTypeId | datetime            | atime               | dirty | size |
+-------+-----+----------+----------------+------+--------------+------------+---------------------+---------------------+-------+------+
|    1  |   0 | 25260    | NULL           | NULL |           23 |          3 | 2022-02-09 10:38:52 | 2022-02-09 10:39:11 |     0 | 4539 |
+-------+-----+----------+----------------+------+--------------+------------+---------------------+---------------------+-------+------+
.....
| 37536 |   2 | NULL     | NULL           | NULL |           35 |          3 | 2023-01-06 14:40:54 | 2023-01-10 09:02:38 |     1 |  11771 |
| 37537 |   1 | NULL     | NULL           | NULL |           35 |          3 | 2023-01-06 14:40:54 | 2023-01-10 09:02:38 |     1 |  11497 |
+-------+-----+----------+----------------+------+--------------+------------+---------------------+---------------------+-------+--------+
5422 rows in set (0,020 sec)

Verwijder die:

MariaDB [akonadi]> DELETE FROM pimitemtable WHERE remoteId IS NULL;

Query OK, 5422 rows affected (0,282 sec)

Start KDE Mail terug op.
Succes!

Nota: soms resultaat
– dit loste op mijn laptop het probleem op dat ik bepaalde mails niet kon verplaatsen (naar een bijgemaakte archiefmap). Nadien ging dat perfect.
(in dat geval: Query OK, 424 rows affected na DELETE FROM pimitemtable.. commando).
– dit heeft bij mij op een ander toestel de problemen van kmail niet opgelost.
– ik heb nog een extra stap gedaan op eigen initiatief, ivm de melding van de collections:

MariaDB [akonadi]> select * from collectiontable where remoteId IS NULL;
+----+----------+----------------+--------+----------+------------+---------+----------+-------------+-----------+--------------------+--------------------------+-------------------------+-------------------------+-----------------------+-------------+-----------------+------------------+-----------+
| id | remoteId | remoteRevision | name   | parentId | resourceId | enabled | syncPref | displayPref | indexPref | cachePolicyInherit | cachePolicyCheckInterval | cachePolicyCacheTimeout | cachePolicySyncOnDemand | cachePolicyLocalParts | queryString | queryAttributes | queryCollections | isVirtual |
+----+----------+----------------+--------+----------+------------+---------+----------+-------------+-----------+--------------------+--------------------------+-------------------------+-------------------------+-----------------------+-------------+-----------------+------------------+-----------+
|  1 | NULL     | NULL           | Search |     NULL |          1 |       1 |        2 |           2 |         2 |                  1 |                       -1 |                      -1 |                       0 | NULL                  | NULL        | NULL            | NULL             |         1 |
+----+----------+----------------+--------+----------+------------+---------+----------+-------------+-----------+--------------------+--------------------------+-------------------------+-------------------------+-----------------------+-------------+-----------------+------------------+-----------+
1 row in set (0,001 sec)

MariaDB [akonadi]> delete from collectiontable where remoteId IS NULL;
Query OK, 1 row affected (0,001 sec)

maar ook dat heeft niet geholpen.

De KMail client blijft hangen in:

Inhoud van map wordt opgehaald
Even geduld . . .

en

Kopano: items bijwerken
Kopano: server is niet beschikbaar

Foutmelding

Unable to fetch item from backend(collection-1): Unable to retrieve item from resource: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

16/11/2022

SQL opvraging over verschillende databanken

Filed under: — cybrarian @ 9:43 am

Ja, je kan in 1 sql-statement een opvraging van verschillende databanken combineren (als je er toegang toe hebt met je account).

SELECT db1.table1.*, db2.table2.name FROM db1.table1, db2.table2 WHERE db2.table2.id=db1.table1.external_id

Je kan verschillende rechten hebben op de databases; bv op de ene tabel lees-wijzig-invoeg rechten, en op de andere alleen leesrechten.

Toepassing: database user planktonalfheim heeft enkel leesrecht op Alfheim2.application om de naam op te zoeken:

REVOKE ALL PRIVILEGES ON `Alfheim2`.* FROM 'planktonalfheim'@'localhost'; GRANT SELECT ON `Alfheim2`.* TO 'planktonalfheim'@'localhost';
REVOKE ALL PRIVILEGES ON `plankton`.* FROM 'planktonalfheim'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON `plankton`.* TO 'planktonalfheim'@'localhost';

MariaDbServer
* Alfheim2

  • application
    – id
    – name

* plankton

  • issue
    – id
    – description
    – isactive
    – application_id

SELECT plankton.issue.*, Alfheim2.application.name FROM plankton.issue, Alfheim2.application WHERE plankton.issue.isactive=1 AND Alfheim2.application.id=plankton.issue.application_id

31/5/2022

Databank structuur versie bijhouden in databank?

Filed under: — cybrarian @ 6:50 pm

Database versioning. Brainstorm.

Ontwerp
Ik maak een applicatie (bv in Gambas3), en gebruik een mariadb databank om de gegevens op te slaan.
Ik exporteer de structuur en bewaar die mee in de broncode om dat databank terug op te kunnen bouwen.
De vorige wordt overschreven, alleen de huidige, bij de software passende versie databank.sql wordt hier bewaard. Door het versiebeheersysteem (Git), kan je teruggaan naar oudere software versies, en dan heb je daar ook altijd de bijpassende databank struktuur bij.

Verandering
Als er een verandering gebeurt aan de code en aan de “database structure”, moet ik ergens kunnen bijhouden welke versie van de database struktuur dit is (zeker als mogelijk verschillende applicaties of versies van software gebruikt worden om die aan te spreken).

Een logische plaats zou zijn: in de database zelf.

De wijziging aan de database moet kunnen gedetecteerd worden door de software; en als maar 1 software die databank gebruikt, zou de software die ook (automatisch) kunnen aanpassen/opwaarderen, of de juiste aanpassing kunnen suggereren.
Upgrade/Downgrade: als er een upgrade script is, ook een downgrade script voor ingeval onverwachte problemen (in productie).

Het zou goed zijn als de toepassing de databank struktuur checkt bij het opstarten, dan kan er geen te oude code draaien met een niet meer kloppende nieuwere versie van de databank.

De software moet dus ook weten voor welke versie van databank ze gemaakt is; bv met een constante gedefinieerd in Main “dBVersion = 10”.

Als er een “library” gebruikt wordt om de database te benaderen kan dat daarin.

Vorm
Hoe gedetailleerd moet de database struktuur versienummering zijn?
bv:
Db is aangemaakt, is versie 1, Db v1
Db is aangepast, extra tabel, Db v 2
Db heeft extra index gekregen, Db v2.1
Nog een extra index gekregen, Db v2.2
Extra velden in tabel, Db v 3.0
Extra velden krijgen index, Db v 3.1
Tabel bijgemaakt, Db v 4.0
Velden bijgemaakt daarin, Db v 5.0
Nog een tabel extra Db v6.0

De hoofdversie vereist overeenkomstige wijziging aan de code die de data gebruikt.
Een minor versienummer levert bv een praktische versnelling op, maar geen code wijziging?

Waarschuwing
– major versienummer verschil: waarschuwing en afsluiten/readonly (?).
– minor versienummer verschil: waarschuwing en verderwerken.

Bij major aanpassing:
– telkens de database structuur bij de broncode, dan kan in principe vanaf die struktuur vertrokken worden bij nieuwe installatie van het geheel (dus ook nieuwe databank).
– de code om de database op deze stand te brengen vanuit de vorige toestand.
Dus bij de developer moet de database-wijziging gebeuren met code, dezelfde die mee geleverd wordt als upgrade code voor de gebruiker. Dat zal niet altijd kunnen, als er dingen uitgeprobeerd worden bij development; maar uiteindelijk moet de developer dan toch de vorige volle versie terugzetten en een upgrade script maken tot de gewenste toestand.

Bij minor aanpassing:
– telkens de database structuur bij de broncode, blijft.
– ook deze aanpassing als code meeleveren.

History?
– in database een history bijhouden van in gebruik geweeste versienummers, met datum, updaternaam enz.

Best eens een test maken om dat uit te proberen…

11/3/2022

openSUSE 15.2 naar 15.3

Filed under: — cybrarian @ 2:22 pm

Update van openSUSE 15.2 naar 15.3

OpenSUSE 15.2 is nu echt wel voorbij zijn houdbaarheidsdatum.
Updaten is aangewezen; doe onmiddellijk na deze distributie update naar 15.3 ook een gewone upgrade om te vermijden dat je tussendoor werkt met een lagere softwareversie!

Gebruik je:

  • 15.3 upgrade? (tenzij je voor het risico van tumbleweed kiest).
  • releasever?
  • automatisch wijzigen van softwarebron?
  • eventueel downgraden?

OPGELET:

de update procedure vangt (nog steeds) niet op dat je harde schijf vol loopt.
Vooral als je een aparte home partitie hebt die nog wel veel plaats heeft, moet je toch vooral de systeempartitie checken. Desnoods maak je op voorhand plaats vrij, of zit je klaar om dat in een andere terminal te doen als de installatie dreigt vast te lopen. Ik zag een distro update met zypper in een kde console venster mooi de mist in gaan toen de systeem disk volliep (en waar veel plaats was ingenomen door snapshots…).
Systeem startte niet meer op daarna…kwam tot grub. En dan de moeilijke vraag: hoeveel ruimte moet er vrij zijn?…

zie ook Disk (systeem) vol bij OpenSUSE update

Repositories (softwarebronnen)
– 15.3 zou beter met bestaande niet-essentiële repositories om kunnen. Nochtans is het wel het moment om repositories die je in gebruik hebt genomen om een probleem op te lossen door een recentere versie van een software te kunnen gebruiken, terug te vervangen door de standaard repositories (als daar dat probleem dan opgelost is ondertussen).
– Vb andere repo’s: CrossToolchain (arduino?), Java, Education (fritzing, Gambas), packman/libdvdcss (vlcl libav..), nvidia (drivers), home:jevez (Belgian E-ID).
Daarvan:

probleem met de geïnstalleerde fritzing-0.9.4-lp152.48.2.x86_64
Oplossing 1: install fritzing-0.9.3b-bp153.1.17.x86_64 from vendor openSUSE
replacing fritzing-0.9.4-lp152.48.2.x86_64 from vendor openSUSE-Education
Oplossing 2: verouderde fritzing-0.9.4-lp152.48.2.x86_64 behouden
probleem met de geïnstalleerde fritzing-parts-0.9.3b+git20220510.4713511c-lp152.12.1.noarch
Oplossing 1: install fritzing-parts-0.9.3b-bp153.1.14.noarch from vendor openSUSE
replacing fritzing-parts-0.9.3b+git20220510.4713511c-lp152.12.1.noarch from vendor openSUSE-Education

Daarna Gambas .. (maar afgebroken en verdergegaan met “–allow-vendor-change –allow-downgrade”).

– Er komen twee repositories bij met 15.3: Backports en SUSE Linux Enterprise (gebeurt automatisch).
– Check op voorhand (releasever ?: grep "releasever" /etc/zypp/repos.d/* )

Desktop computer
Neem commandolijn (konsole);

su
zypper up

Zet alle niet-essentiële repo’s af (bv via Yast).

Dan met releasever:

zypper --releasever=15.3 ref
zypper --releasever=15.3 dup

(of releasever eerst instellen)

2776 paketten .. duurt wel even, bv 00:14-01:18, een uurtje op DSL.

zonder releasever

sed -i 's/15.2/15.3/' /etc/zypp/repos.d/*

en
zypper ref
zypper dup

Server
Als je een mariadb server geïnstalleerd hebt, duurt het na de update even om die bij te werken als je hem voor het eerst start, bv een paar minuten eer je de bevestiging krijgt dat hij draait.

[sudo] wachtwoord voor root:
● mariadb.service – MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2022-06-29 10:36:31 CEST; 116ms ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 15678 ExecStartPre=/usr/lib/mysql/mysql-systemd-helper install (code=exited, status=0/SUC>
Process: 15684 ExecStartPre=/usr/lib/mysql/mysql-systemd-helper upgrade (code=exited, status=0/SUC>
Main PID: 15823 (mysqld)
Status: “Taking your SQL requests now…”
Tasks: 17 (limit: 4915)
CGroup: /system.slice/mariadb.service
└─15823 /usr/sbin/mysqld –defaults-file=/etc/my.cnf –user=mysql

jun 29 10:36:28 localhost.localdomain mysql-systemd-helper[15721]: information_schema
jun 29 10:36:28 localhost.localdomain mysql-systemd-helper[15721]: performance_schema
jun 29 10:36:28 localhost.localdomain mysql-systemd-helper[15721]: test
jun 29 10:36:28 localhost.localdomain mysql-systemd-helper[15721]: Phase 7/7: Running ‘FLUSH PRIVILEGE>
jun 29 10:36:28 localhost.localdomain mysql-systemd-helper[15721]: OK
jun 29 10:36:28 localhost.localdomain mysql-systemd-helper[15684]: Everything upgraded successfully
jun 29 10:36:28 localhost.localdomain mysql-systemd-helper[15684]: Shutting down protected MySQL
jun 29 10:36:30 localhost.localdomain mysql-systemd-helper[15684]: Final cleanup
jun 29 10:36:30 localhost.localdomain mysql-systemd-helper[15823]: 2022-06-29 10:36:30 0 [Note] /usr/s>
jun 29 10:36:31 localhost.localdomain systemd[1]: Started MariaDB database server.

Opmerkingen
Meestal gaat een Leap update vlot op OpenSUSE. Hieronder een paar opmerkingen bij uitgevoerde updates.

Vb

Geval 0: broadcom drivers de mist in.
Drivers voor BMC43224 waren apart bijgeinstalleerd uit andere repo; wifi werkt niet meer na installatie (op een ProBook 6560b (Device1510?).

Geval 1: desktop 8 Gb geheugen
Ik moet heel wat repo’s afzetten, en ben niet zeker dat alles nadien nog werkt.
Wordt vervolgd…

Geval 2: desktop 4 Gb geheugen, 2 Pentium DualCore E5400@2.70 GHz.
Weinig geheugen, maar ik doe toch de update, benieuwd of die bruikbaar blijft…
Ik krijg twee opmerkingen:
– LeoCAD: ik kies om over te schakelen naar de opensuse repo’s
– MP4 : ik kies voor behouden van het oude pakket.

Foutmelding:
Verwijderen van (113730)kernel-default-5.3.18-lp152.106.1.x86_64(@System) is mislukt:
Fout: Subprocess failed. Error: RPM is mislukt: /var/tmp/rpm-tmp.HbdVeu: line 1: /usr/lib/module-init-tools/kernel-scriptlets/rpm-preun: No such file or directory
error: %preun(kernel-default-5.3.18-lp152.106.1.x86_64) scriptlet failed, exit status 127
error: kernel-default-5.3.18-lp152.106.1.x86_64: erase failed

(komt 2x terug, telkens met een andere versie 102.1, 106.1 – 2 x negeren/ignore)

(meer…)

10/1/2022

OpenSUSE Desktop configuratie script

Filed under: — cybrarian @ 9:50 am

Lang geleden publiceerden we een script om standaard mappen te maken voor een gebruiker na installatie van Linux (2006: mapjes organiseren..). Ondertussen doen de distributies dat zelf, en heb je misschien enkel wat eigen uitbreidingen (ook voor root):

Root
Script om op uniforme manier mapjes voor te bereiden in de root directory om later drivers en software bij te installeren die langs een andere weg komen dan de eigen packet manager:

configNewRoot.sh

cd /root
mkdir install-log
touch install-log/install-log.txt
mkdir install-drivers
mkdir install-software

In install-log.txt kan je met datum toevoegen wat je (als root) verandert aan een systeem.
De map install-drivers kan bv gebruikt worden om een afgehaalde .tar.gz voor een printerdriver in neer te zetten en uit te pakken, en van daaruit te installeren.

Gebruiker
Script dat gebruikt werd om een aantal desktops gelijkaardig in te stellen:
– een “onzichtbare” .MyConfig directory zodat die gebruikers-instellingen en hulpbestanden als speciale icoontjes voor een link op de desktop enz niet in de weg zitten voor dagelijks gebruik en niet zo gemakkelijk per vergissing gewist worden).
– voor programma’s op maat die in de organisatie gebruikt worden hetzelfde: het woord “system” in de naam “.systemPrograms” doet de gebruiker hopelijk nadenken alvorens daar in te grijpen. De onderverdeling hier: Source voor het afhalen van de bronbestanden (in tar.gz vorm; dan kan je daar snel zien hoever het systeem bijgewerkt is of zou moeten zijn); de Project voor lokaal uitpakken en compileren, en debuggen vanuit de IDE indien nodig; en de Run voor de executable of uitvoerbare programma’s, waarnaar gelinkt kan worden vanuit een icoon op de desktop om het programma te starten)
De Desktop1..4 directories kan je gebruiken om een kopie/backup van hun desktops te maken, of een screenshot; handig als de gebruiker per vergissing zijn desktop overhoop haalt ..


configNewUser.sh

mkdir ~/Screenshot
mkdir ~/Print
# in case of use of nextcloud:
mkdir ~/Nextcloud
# to keep logs of scripts run
mkdir ~/bin/Log
# to mount Network drive for this user
mkdir ~/NetwerkU
touch ~/NetwerkU/notConnected.txt
echo "Netwerk drive not connected" > ~/NetwerkU/notConnected.txt
mkdir ~/AttachOut
echo "Klaarzetten attachments voor mail uit " > ~/AttachOut/AttachOut.txt
mkdir ~/.MyConfig
touch ~/.MyConfig/SeeAlsoRootInstall-log
# for icons used in (dekstop)links to programs
mkdir ~/.MyConfig/icons
echo "personal configurations " > ~/.MyConfig/MyConfig.txt
# to save desktop specific things..
mkdir ~/.MyConfig/Desktop1
mkdir ~/.MyConfig/Desktop2
mkdir ~/.MyConfig/Desktop3
mkdir ~/.MyConfig/Desktop4
ls -lFA ~/.MyConfig
# for inhouse applications:
mkdir ~/.systemPrograms
mkdir ~/.systemPrograms/gb3src
mkdir ~/.systemPrograms/gb3run
mkdir ~/.systemPrograms/gb3prj
ls -lFA ~/.systemPrograms
# for development work (lower cast for command line comfort)
mkdir ~/dev
# mkdir python, gb3, gb3/prj, gb3/src, gb3/run, ...
mkdir ~/dev/gb3
mkdir ~/dev/gb3/prj
mkdir ~/dev/gb3/src
mkdir ~/dev/gb3/run
mkdir ~/dev/gb3/lib


upd: “gb3Source” vervangen door “gb3src”, wat gemakkelijker tikt als je vanuit de commandline navigeert, bv omdat je met git werkt; Gambas is een programmeeromgeving, en ik heb:
– een prj directory waar de programmeeromgeving werkt met de broncodebestanden bv gambasapp.form, gambasapp.class enz
– een run directory voor de uitvoerbare gambasapp.gambas bestanden
– een src directory voor de gecomprimmeerde broncode bestanden gambasapp.tar.gz, die klaar staan om te verdelen of binnengekomen zijn.
De “verborgen” ~/.systemPrograms directory wordt gebruikt bij de eindgebruikers van de applicaties, zodat ze niet gehinderd worden door de bestanden die dienen om de programma’s te maken/updaten. Op de desktop komt een link naar de uitvoerbare programma’s in de ~/.systemPrograms/gb3run directory.

Software
Sript om je favoriete software te installeren:
Om zypper standaard te laten bevestigen op allerlei vragen bij installatie: gebruik -n; draai dit script met sudo:

install-software.sh

zypper -n in nextcloud-client
zypper -n in hplip
# als backup voor kate
zypper -n in kwrite
zypper -n in scribus
zypper -n in gimp
zypper -n in inkscape
zypper -n in krita
zypper -n in librecad
zypper -n in chromium
zypper -n in thunderbird
zypper -n in filezilla
zypper -n in ktorrent
zypper -n in mc
# voor programmeerwerk:
zypper -n in git
zypper -n in gambas3
# en/of als dat niet werkt:
zypper -n in gambas3-ide
zypper -n in gambas3-gb-jit

En als je op je desktop een database server wil of webdevelopment doet; serversoftware en wat tools:

install-lamp-software.sh

zypper -n in mariadb
zypper -n in apache2
zypper -n in phpMyAdmin
zypper -n in iftop
zypper -n in iptraf
zypper -n in nethogs
zypper -n in tmux
zypper -n in htop
#zypper -n in

Powered by WordPress