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