wildcard domain pour les environnements de developpeur

Lorsque vous êtes développeurs vous devez pouvoir lier un nom de domaine a une adresse ip locale sur votre lan, ceci est facile pour declarer par exemple domain.org a un champ A 192.168.12.12, le fichier /etc/hosts est fait pour cela

mais si il me prenait l’envie de déclarer des FQDN comme
sub2.domain.com 192.168.12.12
sub2.domain.com 192.168.12.12


le fichier hosts ne le permet pas

La solution serait d’utiliser dnsmasq avec systemd pour répondre a cet problematique

– dnsmasq repond au domaine wildcard
– systemd renvoie vers dnsmasq toutes les demandes liées a ce domaine
– tout ce qui ne concerne pas ce domaine est résolu par le dns resolver de votre reseau

installer dnsmasq
puis ajouter comme configuration

dans /etc/dnsmasq


bind-interfaces
no-resolv

#Create Domain wildcard for remote hosts
address=/domain.org/192.168.100.195

address=/domain2.org/192.168.100.196

dans /etc/systemd/resolved.conf.d/custom_dns.conf

[Resolve]
# ajouter un autre dns resolver (optionnel)
DNS=192.168.12.1
# déclarer lui meme en dns resolver (obligatoire)
DNS=127.0.0.1
# list of wildcard domains to redirect to dnsmasq
Domains=~domain.org
Domains=~domain2.org

puis demarrer les services

systemctl restart systemd-resolved.service dnsmasq.service

Posted in: Creative Commons by-sa

disable root login in xfce

Xfce use the lightdm to login, no settings to disable the root login, but we could use pam to prevent the root login to lightdm

vim /etc/pam.d/lightdm

and add `auth required pam_succeed_if.so user != root` like below. The order is important. Then restart the server

#%PAM-1.0# Block login if they are globally disabled
auth requisite pam_nologin.so
auth required pam_succeed_if.so user != root

Posted in: Creative Commons by-sa

Remove a key from a rpm repository

List the rpm repository keys

rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'

gpg-pubkey-9867c58f-601c49ca Fedora (35) fedora-35-primary@fedoraproject.org public key
gpg-pubkey-7fac5991-4615767f Google, Inc. Linux Package Signing Key linux-packages-keymaster@google.com public key
gpg-pubkey-be1229cf-5631588c Microsoft (Release signing) gpgsecurity@microsoft.com public key
gpg-pubkey-d651ff2e-5dadbbc1 RPM Fusion free repository for Fedora (2020) rpmfusion-buildsys@lists.rpmfusion.org public key
gpg-pubkey-94843c65-5dadbc64 RPM Fusion nonfree repository for Fedora (2020) rpmfusion-buildsys@lists.rpmfusion.org public key
gpg-pubkey-0491b852-5a784220 luminoso_Signal-Desktop (None) public key
gpg-pubkey-823e89d4-5d5076bc elxreno_preload (None) public key
gpg-pubkey-0c1289c0-58c6ad7d TeamViewer GmbH (TeamViewer Linux 2017) support@teamviewer.com public key
gpg-pubkey-38ab71f4-60242b08 Fedora (36) fedora-36-primary@fedoraproject.org public key
gpg-pubkey-fb40e474-5b1febaa jdoss_slack-repo (None) public key
gpg-pubkey-f6c6ffd4-613135f6 Slack Packages (Signing Key) packages@slack-corp.com public key
gpg-pubkey-7eb66c16-62c87c95 Slack Packages packages@slack-corp.com public key
gpg-pubkey-5323552a-6112bcdc Fedora (37) fedora-37-primary@fedoraproject.org public key
gpg-pubkey-eb10b464-6202d9c6 Fedora (38) fedora-38-primary@fedoraproject.org public key
gpg-pubkey-2980aecf-5719f4e1 Oracle Corporation (VirtualBox archive signing key) info@virtualbox.org public key
gpg-pubkey-a621e701-63bdbbe3 HashiCorp Security (HashiCorp Package Signing) public key
gpg-pubkey-621e9f35-58ade481 Docker Release (CE rpm) docker@docker.com public key
gpg-pubkey-18b8e74c-62f2920f Fedora (39) fedora-39-primary@fedoraproject.org public key
gpg-pubkey-d38b4796-570c8cd3 Google Inc. (Linux Packages Signing Authority) linux-packages-keymaster@google.com public key

Then you can remove the keys that is obsolete
sudo rpm --erase --allmatches gpg-pubkey-d38b4796-570c8cd3

Posted in: Creative Commons by-sa

VTTFC carte du larzac

Deux cartes pour rouler sur le sud aveyron et larzac

http://geekeries.de-labrusse.fr/wp-content/uploads/2023/06/carte-vtt2023_compressed.pdf

http://geekeries.de-labrusse.fr/wp-content/uploads/2023/06/VTT_LodevoisetLarzac.pdf

Posted in: Creative Commons by-sa

onepress remove footer

for stephane.de-labrusse.fr, if you want to remove the footer of the template onepress

vim wp-content/themes/onepress//inc/template-tags.php

and remove line 1559 and 1560

you could grep by 
grep -srni 'theme by' .

Posted in: Creative Commons by-sa

Partage d’écran avec chrome et wayland

Exit le X11 car une passoire a permission mais avec Linux nous ne pouvons plus utiliser le partage d’écran (screensharing) avec wayland comme cela.

Effectivement si Firefox permet de partager son écran directement, Chrome a des paramètres cachés (pourquoi ?) à activer

Ouvrer dans la barre URL de chrome : chrome://flags/#enable-webrtc-pipewire-capturer

activer le paramètre : WebRTC PipeWire support

Posted in: Creative Commons by-sa

Centos7 : failed to mount /sysroot

En cas d’extinction directe vous pouvez avoir votre VM centos qui ne démarre plus, un lien qui peut vous aider: https://unix.stackexchange.com/questions/337289/how-to-repair-centos-failed-to-mount-sysroot

La commande qui m’a sauvé, j’ai pu reconstruire les index :

xfs_repair -v -L /dev/dm-0

Posted in: Creative Commons by-sa

Remove the trailing line in VIM

In order to get rid of the trailing newline character in the last line, you need to do this in Vim:

:set noendofline binary
:w

Posted in: Creative Commons by-sa

Créer un bridge réseau avec nmcli pour libvirt

Avec libvirt (KVM) vous avez plusieurs possibilitées de connecter vos VM à internet, la plus facile, la NAT mais vos machines n’auront pas une IP provenant de votre réseau local. On parle en anglais de Bridge to local network. En effet dans certains cas il est intéressant d’avoir une ip permettant à votre VM d’être une machine comme les autres de votre LAN

On commence par les choses qui fâchent, ce n’est pas possible de bridger une machine sur une carte wifi, ceci n’est valable que pour les interfaces réseaux filaires

An premier on regarde comment fonctionne notre réseau

$ nmcli con show --active
NAME UUID TYPE DEVICE
docker0 770d6801-47dc-44a3-9d11-17249f11ef26 bridge docker0
wired-direct 73157bec-12fb-42d0-98c4-f4576742e095 802-3-ethernet enp0s25

On cree notre bridge

$ nmcli con add ifname br0 type bridge con-name br0
 Connection 'br0' (892869fe-f8ac-4f17-ace9-b8aeeeee61a0) successfully added.

$ nmcli con add type bridge-slave ifname enp0s25 master br0
 Connection 'bridge-slave-enp0s25' (33ee8c62-48d8-4789-97df-604c479b6860)
 successfully added.

On ne veut pas du stp (si vous avez besoin du spanning tree gardez le à yes)

$ nmcli con modify br0 bridge.stp no

on verifie que notre bridge existe

$ nmcli con show
 NAME                   UUID                                  TYPE             DEVICE
 docker0                770d6801-47dc-44a3-9d11-17249f11ef26  bridge           docker0
 wired-direct           73157bec-12fb-42d0-98c4-f4576742e095  802-3-ethernet   enp0s25
 br0                    892869fe-f8ac-4f17-ace9-b8aeeeee61a0  bridge           --
 bridge-slave-enp0s25   33ee8c62-48d8-4789-97df-604c479b6860  802-3-ethernet   -

on vérifie l’état du réseau, on voit que BR0 n’a toujours pas d’ip, nous utilisons encore enp0s25

$ ip a s
 1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
 2: enp0s25:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
     link/ether 54:ee:75:76:50:8e brd ff:ff:ff:ff:ff:ff
     inet 192.168.3.160/24 brd 192.168.3.255 scope global dynamic enp0s25
        valid_lft 86394sec preferred_lft 86394sec
     inet6 fe80::56ee:75ff:fe76:508e/64 scope link 
        valid_lft forever preferred_lft forever
 4: docker0:  mtu 1500 qdisc noqueue state DOWN group default 
     link/ether 02:42:e7:79:09:d0 brd ff:ff:ff:ff:ff:ff
     inet 172.17.0.1/16 scope global docker0
        valid_lft forever preferred_lft forever
 7: br0:  mtu 1500 qdisc noqueue state DOWN group default qlen 1000
     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff

il temps de stopper notre connection sur enp0s25 interface:

$ nmcli con down wired-direct
 Connection 'wired-direct' successfully deactivated (D-Bus active path:
 /org/freedesktop/NetworkManager/ActiveConnection/11)

et on demarre notre br0

$ nmcli con up br0
 Connection successfully activated (master waiting for slaves) (D-Bus active
 path: /org/freedesktop/NetworkManager/ActiveConnection/12)
$ sudo systemctl restart NetworkManager.service

on check si br0 a trouvé une IP en DHCP (si vous avez un service DHCP)

$ ip a s
 1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
 2: enp0s25:  mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
     link/ether 54:ee:75:76:50:8e brd ff:ff:ff:ff:ff:ff
 4: docker0:  mtu 1500 qdisc noqueue state DOWN group default 
     link/ether 02:42:e7:79:09:d0 brd ff:ff:ff:ff:ff:ff
     inet 172.17.0.1/16 scope global docker0
        valid_lft forever preferred_lft forever
 7: br0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
     link/ether 54:ee:75:76:50:8e brd ff:ff:ff:ff:ff:ff
     inet 192.168.3.160/24 brd 192.168.3.255 scope global dynamic br0
        valid_lft 86211sec preferred_lft 86211sec
     inet6 fe80::d813:5274:e201:f3/64 scope link 
        valid_lft forever preferred_lft forever

Maintenant on s’occupe de Libvirt, (suivant les configurations vous pouvez avoir besoin de sudo), on regarde les réseaux de libvirt

$ virsh net-list --all
  Name                 State      Autostart     Persistent
 
 default              active     yes           yes

on cree le réseau dans libvirt

$ cat > bridge.xml <<EOF 
<network>
     <name>host-bridge</name>
     <forward mode="bridge"/>
     <bridge name="br0"/>
 </network> EOF
$ virsh net-define bridge.xml
 Network host-bridge defined from bridge.xml

on démarre le réseau et on le rend persistent au démarrage

$ virsh net-start host-bridge Network host-bridge started $ virsh net-autostart host-bridge Network host-bridge marked as autostarted

$ virsh net-autostart host-bridge Network host-bridge marked as autostarted
$ virsh net-list --all
Name                 State      Autostart     Persistent
 ----------------------------------------------------------
  default              active     yes           yes
  host-bridge          active     yes            yes

Conclusion

A partir de ce point vous pouvez utilisez le réseau bridge br0 pour vos machines virtuelles. N’utilisez pas NetworkManager pour modifier BR0, vous allez casser la configuration, si cela arrive alors vous devez lancer

$ nmcli con down wired-direct
$ nmcli con up br0

Posted in: Creative Commons by-sa

Utiliser les boutons fn1 fn2 fn3 du trackball elecom huge

Le trackball d’elecom huge  M-HT1DRBK  possède des boutons FN que le noyau linux reconnait mais nous devons mapper leur utilisation. A priori ce que nous allons faire est valable pour tout trackball a partir du moment ou nous connaissons le numéro du bouton.

sur une votre linux installez : xbindkeys xvkbd

puis trouvez les numéros de boutons en cliquant dans la fenetre qui s’ouvre

xev | grep ', button'

on va editer un fichier qui va utiliser un fichier de configuration, ci dessous les numéros des boutons FN avec le ELECOM huge

  • b10 -> fn1
  • b11 -> fn2
  • B12->fn3 (je ne l’utilise pas car j’ai parametré le scroll avec la boule du trackpad
nano ~/.xbindkeysrc

coller le contenu, décommenter ou commenter si vous voulez un page up/down ou un copier/coller avec les boutons, perso je préfère le copier/coller

#"xvkbd -text '[Page_Up]'" # sends pgup
 b:10
# "xvkbd -text '[Page_Down]'" # sends pgup
 b:11
 "xvkbd -no-jump-pointer -xsendevent -text '\Cc'" # ctrl + c
 b:10
 "xvkbd -no-jump-pointer -xsendevent -text '\Cv'" # ctrl + v
 b:11

pour tuer xbindkeys après chaque configuration : killall xbindkeys

pour lancer xbindkeys avec la nouvelle configuration : xbindkeys -f ~/.xbindkeysrc

pour utilser le scroll avec gnome et la balle : https://geekeries.de-labrusse.fr/?p=3467

pour avoir plein d’idées d’affectation de bouton : http://xahlee.info/linux/linux_xvkbd_tutorial.html

Posted in: Creative Commons by-sa