Considérons cet écran libreoffice:
mercredi 18 décembre 2024
Contraintes d'intégrité référentielle
jeudi 28 novembre 2024
Postgesql Fedora: accès depuis le réseau
Je vais montrer comment accéder à une base de données postgresql depuis un poste client qui n'est pas sur la machine du serveur mais sur le même réseau. Tout d'abord dans le fichier postgresql.conf, dé-commenter et modifier la ligne listen_addresses:
listen_addresses = '*' # what IP address(es) to listen on;
Ensuite je m'occupe du fichier pg_hba.conf en ajoutant le lignes qui conviennent:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer map=map01
# IPv4 local connections:
host all all 127.0.0.1/32 ident map=map01
# IPv4 lan connections
host all all 192.168.1.0/24 ident map=map02
# IPv6 local connections:
host all all ::1/128 ident map=map01
# IPv6 lan connections
host all all fe80::/10 ident map=map02
Puis j'adapte pg_ident.conf qui pourrait maintenant ressembler à:
# MAPNAME SYSTEM-USERNAME PG-USERNAME
map01 postgres postgres
map01 mifel michel
map01 mifel titi
map02 michel michel
map02 michel titi
map02 viviane titi
Les fichiers concernés se trouvent dans /var/lib/pgsql/data. J'utilise sudo nano pour procéder.
En ce qui concerne le pare-feu, les commandes à lancer sont:
mifel@fedora:~$ sudo firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="192.168.1.0/24" service name="postgresql" accept'
mifel@fedora:~$ sudofirewall-cmd --permanent --add-rich-rule 'rule family="ipv6" source address="fe80::/10" service name="postgresql" accept'
mifel@fedora:~$ sudo firewall-cmd --reload
Le service postgresql ouvre le port 5432:
mifel@fedora:~$ firewall-cmd --permanent --service=postgresql --get-ports
5432/tcp
La commande hostnamectl m'informe que le nom 'hostname' n'est pas défini de manière statique: j'y remédie:
mifel@fedora:~$ sudo hostnamectl hostname fedora
Pour les connexions réseau je pouvais choisir dans pg_hba.conf une identification par mot de passe, mais j'ai préféré garder ident.
Donc je dois maintenant sur chaque poste client installer et activer oidentd (voir post précédent)
Ensuite pour le pare-feu:
michel@arcturus:~$ sudo firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="192.168.1.0/24" service name="ident" accept'
michel@arcturus:~$ sudo firewall-cmd --permanent --add-rich-rule 'rule family="ipv6" source address="fe80::/10" service name="ident" accept'
michel@arcturus:~$ sudo firewall-cmd --reload
Le port 113 est maintenant ouvert:
michel@arcturus:~$ firewall-cmd --permanent --service=ident --get-ports
113/tcp
Et voilà:
dimanche 24 novembre 2024
Postgresql Fedora: démarrer
Postgresql est puissant gestionnaire de base de données, mais le démarrage de cet outil pose parfois certains problèmes. Je vais expliquer comment les résoudre.
Il s'agit en premier de sélectionner le paquet qui convient. Dans Fedora le paquet 'postgresql' donnera seulement le client. Il faut donc installer le paquet 'postgresql-server', ce qui provoquera par entrainement l'installation du paquet 'postgresql'. Je procède en ligne de commande (dans un terminal):
mifel@fedora:~$ sudo dnf install postgresql-server
Puis
mifel@fedora:~$ sudo dnf install oidentd
Puis
Dans un prochain article je traiterai des connexions depuis un poste client situé sur une autre machine.
lundi 6 novembre 2023
Presse-papier dans linux mint
Il semblerait que beaucoup de personne se plaigne de l'absence d'un presse-papier dans Linux Mint Cinnamon.
Pourtant il existe l'applet gpaste rechargé qui nécessite évidemment que soit installé gpaste. Le problème est que l'applet continue à réclamer sont installation alors que gpaste est déjà installé.
En fait il faut installer aussi gir1.2-gpaste et puis ça fonctionne.
Comme Linux Mint est basé sur Ubuntu, dans Ubuntu Cinnamon, ça se règle de la même façon.
Pour Fedora Cinnamon, pas de gir1.2-gpaste, mais on essaie quand même.
Catastrophe: Cinnamon se plante dès l'instant où on insère l'applet gpaste rechargé dans le tableau de bord. On tombe alors dans un mode de secours, où la possibilité est offerte de désactiver les applets. On refuse. Dans le mode de secours, le tableau de bord a disparu. On peut cependant faire apparaître des menus dans la partie supérieure gauche de l'écran. Il est alors possible de se déconnecter. A la reconnexion, miracle: tout fonctionne:
dimanche 5 novembre 2023
Disque externe bootable legacy et uefi
J'ai un disque dur externe usb que j'ai formaté de manière à ce qu'il puisse booter aussi bien de manière traditionnelle (legacy) que en mode uefi:
vendredi 1 septembre 2023
Blscfg et Fedora
Fedora utilise par défaut BLSCFG (Boot Loader Specification Configuration) comme on peut le vérifier dans le fichier /etc/defaults/grub qui contient GRUB_ENABLE_BLSCFG=true. De ce fait /boot/grub2/grub.cfg ne contient aucune entrée menuentry pour Fedora, mais seulement des entrées pour les autres systèmes d'exploitation.
Par contre on y trouve:
insmod
blscfg
La commande blscfg ajoute des entrées au menu en se basant sur le contenu du dossier /boot/loader/entries. Ici le dossier contient 4 fichiers:
jeudi 24 février 2022
Substitution de variables d'environnement
Il existe un utilitaire qui permet la substitution de variables d'environnement: il s'agit de envsubst. Franchement, je ne connaissais pas cet utilitaire jusqu'à ce que je me heurte au problème suivant: substitution de variables dans une commande sed, lorsque le script avec les instructions de sed est un fichier (voir article précédent)
Expérimentons cet utilitaire. Tout d'abord je crée des variables d'environnement (dans un terminal):
export var1=Titine var2=Toto var3=Riri
Le mot export est nécessaire ou sinon on crée des variables du shell.
Ensuite je lance l'utilitaire en tapant envsubst suivi d'un appui sur ENTER.
Le curseur n'est pas après l'invite de commande: le système attend une action de ma part car envsubst renvoie vers la sortie standard (stdout), après traitement, le texte qui lui est fourni en entrée. Et rien ne lui est fourni.
Allons-y! L'entrée standard est dans notre cas le clavier.
Je tape le texte
$var2 aime $var1
suivi de ENTER pour envoyer. Aussitôt le retour apparaît à l'écran:
Je peux continuer à procéder, puis terminer avec CTRL-D, ce qui ramène le curseur après l'invite de commande:
Ce que j'ai tapé à l'écran je peux aussi le mettre dans un fichier appelé avant et lancer la commande:
envsubst < avant
$var2 aime $var1
mais $var3 aime aussi $var1
Je peux aussi créer le fichier après comme ceci:
envsubst < avant > après
Rien n’apparaît à l'écran puisque la sorte standard a été redirigée vers le fichier après.
Je peux aussi indiquer quelles sont les variables à considérer:
$var1 joue avec $var2
$var1 va au restaurant
dimanche 13 février 2022
sed et substitution
Je considère le fichier toto:
Je m'appelle Toto.
Je vais à l'école avec Tata
Nous allons à pied car ce n'est pas loin.
Elle m'aime et ça c'est cool!
Et oui Tata aime Toto et Toto aime Tata.
La vie est belle car Tata habite près de Toto.
Ils se voient tous les jours!
jeudi 8 juillet 2021
Imprimante HP et openSUSE
J'ai eu quelques petits soucis lors de l'installation de mon imprimante HP dans openSUSE15.3 (kde)
Aussi je vais tout reprendre dans cet article;
En premier j'installe hplip. En ligne de commande:
sudo zypper install hplip
Pour moi c'est le plus rapide et le plus facile. Mais on peut aussi procéder via une interface graphique
Choisir Yast software dans le menu:
puis effectuer une recherche sur hplip:
sélectionner hplip, clic droit et dans le menu contextuel qui surgit, prendre 'Installer' (évidemment sur l'image hplip est déjà noté comme étant installé).
Ensuite dans le menu j'ouvre Yast (administration du système, en fait c'est yast2). Dans la section 'Imprimante', j'appuie sur 'Ajouter une imprimante'. Aucune imprimante n'est trouvée, mais je peux maintenant lancer hp-setup:
J'ai déjà connecté mon imprimante au réseau via mon smartphone et je connais son adresse ip, et j'ai coché et entré les informations qui conviennent dans l'écran suivant:
Si j’avais coché comme type de connextion wifi (ce qui est pourtant le cas) j'aurais du établir une connexion usb temporaire entre l'imprimante et un ordinateur.
Je termine l'installation, puis j'ai accès au gestionnaire de l'imprimante soit via le menu:
soit en lançant la commande hp-toolbox.
Je peux vérifier les niveaux d'encre:
définir la taille du papier (A4) et sélectionner une impression recto verso. Ce genre d'impression s'effectue sans aucune manipulation de papier. Je peux prendre comme charnière virtuelle soit bord long, soit bord court.
Les soucis ont commencés lorsque j'ai voulu utiliser le scanner. L'installation d'un plugin est requise.
Hélas:
Pour en sortir, j'ai téléchargé ici les fichiers hplip-3.20.11-plugin.run et hplip-3.20.11-plugin.run.asc .
Ensuite j'ai lancé la commande
sudo sed -i 's/pool.sks-keyservers.net/keyserver.ubuntu.com/g' /usr/share/hplip/base/validation.py
qui remplace dans le fichier /usr/share/hplip/base/validation.py, pool.sks-keyservers.net par keyserver.ubuntu.com.
Bien sûr on pourrait procéder autrement: ouvrir le Gestionnaire de fichier en mode super utilisateur,
naviguer jusqu’au fichier validation.py, l'ouvrir avec un éditeur puis effectuer le remplacement. Mais un copier-coller de la commande indiquée est quand même plus rapide.
Cette fois l’installation du plugin réussit en prenant le choix qui convient:
L'installation du plugin peut se demander avec la commande hp-plugin.jeudi 20 mai 2021
Hypnotix et wayland
Wayland est devenu le protocole d’affichage par défaut pour la nouvelle version (21.04) d'Ubuntu, à la place de Xorg.
Certes il est toujours possible de choisir Xorg dans la fenêtre de connexion (en bas à droite) .
Pour vérifier ce qui est utilisé, il suffit de lancer la commande:
inxi -G
Hypnotix, le lecteur de TV développé pour Linux Mint, peut s'installer facilement dans Ubuntu (voir par exemple ici).
Il fonctionne directement sans problème avec Xorg, mais pas avec Wayland: quelques petits ajustements sont nécessaires.
Dans les préférences d'hypnotix
ajouter vo=x11 dans les options MPV
Il reste alors à lancer hypnotix avec la commande
GDK_BACKEND=x11 hypnotix
Je désire ne plus passer par la ligne de commande, mais cliquer sur une icone du menu. Ces icônes sont liées à des fichiers desktop qui se trouvent dans
/usr/share/applications
Il faut alors modifier le fichier desktop qui convient, remplacer dans la clause Exec 'hypnotix' par 'env GDK_BACKEND=x11 hypnotix'
Je peux par exemple lancer la commande
sudo sed '/Exec/s/hypnotix/env GDK_BACKEND=x11 hypnotix/' /usr/share/applications/hypnotix.desktop
ou procéder avec
sudo gedit /usr/share/applications/hypnotix.desktop
(suite à un problème 'Editer en tant que root' ne fonctionne actuellement pas avec Ubuntu 21.04)
Pour être certain que le menu utilise le bon fichier desktop, il reste à copier celui que l'on vient de modifier dans le répertoire personnel de l'utilisateur:
cp /usr/share/applications/hypnotix.desktop ~/.local/share/applications/
mercredi 28 avril 2021
Hypnotix: passer à la version 1.6 avec Ubuntu
Si dans Ubuntu, on a installé la version 1.1 d'hypnotix (comme expliqué un peu partout), on peut envisager d'installer la nouvelle version 1.6 telle qu'elle est développée pour linux mint;
Je télécharge le paquet (depuis un terminal, c'est rapide et pratique):
wget http://packages.linuxmint.com/pool/main/h/hypnotix/hypnotix_1.6_all.deb
puis je l'installe (à l'aide d'une commande):
sudo apt install ./hypnotix_1.6_all.deb
Et voilà, ça fonctionne; Hélas le fournisseur n'est plus le même et la liste des stations est fortement réduite.
Qu'à cela ne tienne, je reviens en arrière est installant l'ancien paquet, afin de récupérer l'adresse de l'ancien fournisseur.
Sur l'écran d’accueil, je clique sur la petite TV en haut à droite
Erreur!
J'affiche les détails:
Lançant hypnotix depuis un terminal, j'obtiens les mêmes infos: l'erreur est indiquée clairement.
Elle se situe ligne 799 du fichier /usr/lib/hypnotix/hypnotix.py
sudo gedit /usr/lib/hypnotix/hypnotix.py
(gedit ou n'importe quel autre éditeur de textes)
Pour les allergiques à la ligne de commande, il leur est loisible de passer par le navigateur de fichiers nautilus (le paquet nautilus-admin doit avoir été installé):
Dans l'éditeur de textes, je peux facilement procéder à la correction:
lundi 1 mars 2021
rpm hypnotix pour openSUSE
Dans cet article j'avais expliqué comment sur Fedora construire facilement grâce à rpmerizor un paquet rpm pour hypnotix pour autant qu'on dispose du paquet deb.
Comme indiqué ici ce paquet peut aussi être construit et installé dans openSUSE.
Ce paquet ne fournit malheureusement aucune indication sur ce qui est requis pour que hypnotix fonctionne. Les paquets nécessaires peuvent être installés à part, mais rien empêche que l'un deux ne soit désinstallé. L'idéal est donc d'indiquer ce qui est requis dans le paquet rpm.
rpmerizor a construit non seulement le paquet mais aussi l'arborescence qui convient:
et aussi un fichier spec qui peut être modifié pour inclure les dépendances.
Dans ce fichier spec, introduire après le tag Group le tag Requires:
Summary: IPTV Player
Name: %{name}
Version: %{version}
Release: 1
License: GPL
Group: video
Requires:python3-IMDbPY python3-setproctitle typelib-1_0-XApp-1_0 python3-pycairo python3-python-mpv python3-requests python3-gobject-Gdk
En image:
Il reste alors à régénérer le paquet rpm avec la commande
rpmbuild -bb --buildroot=/tmp/rpmerizor_buildroot ~/rpmbuild/SPECS/hypnotix-1.1.spec
A noter que toutes ces manipulations peuvent s'effectuer en tant qu'utilisateur ordinaire;
Il suffit maintenant d’installer le paquet pour que tout ce qui est nécessaire s'installe.
L'inconvénient d'un tel paquet est qu'il est maintenant valable pour une distribution donnée.
vendredi 26 février 2021
Désinstallation multiple
Je suis dans openSUSE, distribution basée sur le système de paquets rpm. J'ai installé un programme dont je ne veux plus.
La commande
sudo zypper remove -u nom-du-programme
va désinstaller le programme en question et toutes les dépendances venues avec lui et qui sont maintenant inutiles.
Très bien, mais si j'ai effectué de nombreuses installations et que je veux revenir en arrière?
La commande
rpm -qa --last | more
il est important de vérifier le nombre de paquets qui vont être supprimés. Certains paquets sont peut-être devenus indispensables pour d'autres paquets installés ultérieurement: dans ce cas, ceux-ci seront aussi supprimés.
mardi 23 février 2021
Hypnotix sur openSuse
Hypnotix est lecteur IPTV développé pour Linux Mint. Il est facilement installable sur les distributins dérivées d'Ubuntu. Il peut aussi être installé et utilisé sur d'autres distribution. Dans cet article, j'avais traité de son installation sur Fedora avec un rpm construit à l'aide de rpmerizor. Cet rpm peut être installé sur openSUSE, distribution qui utilise aussi le système de paquets rpm. Pour l'installation de rpmerizor et la construction du paquet hypnotix, voir l'article précédent (remplacer dans la commande dnf par zypper).
Ensuite, dans un terminal ouvert où se trouve le paquet:
sudo zypper install ./hypnotix-1.1-1.x86_64.rpm
Le système averti que le paquet n'est pas signé: on ignore.
La différence avec Fedora sont les dépendances à installer.
Tout d'abord il faut ajouter le dépôt packman-essentials.
Ensuite installer les paquets qui conviennent en lançant la commande:





































