13 May 2024, 00:00

Tailles en plomberie

Les tailles en mm sont de la forme AxB. A correspond environ au diamètre intérieur du raccord mâle, et B correspond environ au diamètre extérieur du raccord femelle.
On peut comparer avec une pièce € en la posant sur le raccord mâle.

3/8 = 12x17 mm = 1cts
1/2 = 15x21 mm = 5cts
3/4 = 20x27 mm = 2€

05 Dec 2023, 00:00

Pipewire

A priori pipewire est utilisé par défaut pour l’audio à partir de bookworm.

https://wiki.debian.org/PipeWire

Si message br-connection-profile-unavailable lors de la connexion d’un appareil audio bluetooth, il faut peut-être (ré)installer le bluetooth par pipewire :
sudo apt install pipewire-audio
qui devrait notamment installer
libspa-0.2-bluetooth

23 Nov 2023, 00:00

Régler la date via NTP en mode recovery de MacOS

Testé depuis un media d’install de Catalina.

Connecter au réseau puis
sntp -sS pool.ntp.org

23 Nov 2023, 00:00

SMB non fonctionnel après MAJ vers DSM 7

La mise à jour de DSM 6.x vers 7.x change un certain nombre de paramètres par défaut dans la configuration de SMB. Il est possible que la connexion ne fonctionne pas sur les partages réseaux SMB.
Un article sur le site de Synology explique quelques causes/solutions possibles :

  • activer NTLMv1
  • mettre la version SMBv1 en valeur minimum
  • donner le droit à l’application SMB (qui n’existait pas dans DSM 6) aux utilisateurs/groupes concernés

Mais dans mon cas tout ceci n’a pas réglé le problème.

La solution fut alors de se connecter en SSH (avec droits sudo/su) et de sauvegarder le fichier smb.conf puis de restaurer le fichier par défaut :

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.BAK
sudo cp /etc.defaults/samba/smb.conf /etc/samba/smb.conf

puis de vider le cache SMB (Panneau de conf -> Service de fichiers -> Paramètres avancés) ce qui redémarre le service SMB. Les connexions ont alors refonctionné correctement.

08 Nov 2023, 00:00

Changer le numéro des partitions

MBR

En cas de suppression puis création de partition en milieu de disque, il peut arriver que les partitions ne soient plus numérotées dans l’ordre de leur positionnement sur le disque.

Bien que non gênante en fonctionnement, cette situation diminue la lisibilité du disque et augmente les risques de confusion lors de manipulations de partitions.

Pour remédier à ceci, on peut renuméroter les partitions dans leur ordre logique.

Pour les partitions MBR, il faut le faire à la main : on dumpe la table de partition, on la modifie, puis on la réécrit sur le disque.

dev=/dev/sdX

sudo sfdisk --dump ${dev} > sdX.bkp

nano sdX.bkp
# changer le chiffre

sudo sfdisk -f {dev} < sdX.bkp
# débrancher/rebrancher disque (ou reboot) pour forcer la relecture de la table de partition

Source

GPT

Pour les partitions GPT, voir cet article

17 Oct 2023, 00:00

Notes en vrac sur l'USB

Récap

USB 2.0 : 480Mbps théorique, soit ~ 60Mo/s théorique (souvent 30-45 en réalité)
4 broches

USB 3.0 : 5Gbps théorique, mais 4Gpbs “théoriques réels” car codage 8b/10b, donc 500Mo/s théoriques (en pratique ~450 Mo/s)
9 broches
3.0 = 3.1 Gen 1 = 3.2 Gen 1x1 = SS = SS-5

3.1 = 3.1 Gen 2 = 3.2 Gen 2x1 = SS-10 ; 10Gbps théoriques

3.2 = 3.2 Gen 2x2 = SS-20 ; 20 Gbps théoriques

USB 4.0 = SS-40 ; 40Gbps théoriques ; n’existe qu’en USB-C.

Identifier vitesse théorique d’un périph de stockage sous Linux

On peut bien sûr mesurer les débits via un transfert de fichier, ou fio, mais on peut aussi constater directement le débit via lsusb. Pour ceci, il faut déjà identifier l’USB-ID d’un matériel ; par exemple avec un boitier SATA-USB3 Orico, un lsusb nous donne :
Bus 003 Device 032: ID 152d:0576 JMicron Technology Corp. / JMicron USA Technology Corp. Gen1 SATA 6Gb/s Bridge

C’est donc l’identifiant 152d:0576 pour ce matériel. On le stocke :
usbid=152d:0576

On peut alors lancer lsusb -tv pour avoir l’arbre USB détaillé. La vitesse théorique d’un périphérique est indiquée en fin de ligne. L’USB-ID du matériel étant indiqué à la ligne suivante, on peut filter avec grep en récupérant la ligne précédente ainsi :
lsusb -tv | grep ${usbid} -B 1

Si on veut tester différents branchements sans toucher au clavier, on peut lancer un monitoring automatique avec :
watch -n 0.5 "lsusb -tv | grep ${usbid} -B 1"

On peut monitorer plusieurs appareils avec une commande du genre
watch -n 0.5 "lsusb -tv | grep -e ${usb1} -e ${usb2} -e ${usb3} -B 1"

Connecteurs et USB-C

Il y’a plusieurs connecteurs, USB-A, USB-B, mini-B, micro-B, etc. Les câbles peuvent être équipés de différents nombres de broches en fonction de leur utilisation prévue (courant uniquement, wattage possible, courant + données, USB-2, USB-3 etc)

L’USB-C, au même titre que les autres, est simplement un format physique. Ses possibilités théoriques sont + étendues, mais non garanties. Il est possible d’avoir un câble C <-> C qui ne fasse que le transfert de courant sans données, ou bien qui ne fonctionne qu’en USB-2. Un connecteur USB-C peut également faire transiter des signaux non-USB (DisplayPort, HDMI, jack, électricité jusqu’à 240W).
Un cable USB-C possède (jusqu’à ?) 24 broches. Contrairement à l’USB-A, il ne me semble pas possible d’identifier visuellement le capacités d’un câble USB-C.

On peut également avoir des adaptateurs USB-C vers un autre format. Les capacités de ceux-ci dépendent également de leur conception. Il est possible d’avoir un adaptateur C <-> A qui soit limité à la vitesse USB2, voire qui ne fasse que le courant.

Dans le cas d’adaptateurs C <-> A en USB3, il est possible que les performances dépendent du sens d’insertion de l’USB-C. Dans mon expérience, pour bénéficier de l’USB-3, il faut que l’ensemble de la chaîne respecte le sens “classique”, à savoir la partie pleine du connecteur mâle vers le bas. Si on renverse un connecteur USB-C, alors le débit pourrait n’être que 480Mbps (USB2).
Je suppose que ceci dépendra de la conception des adaptateurs.

SATA <-> USB

Selon la conception de la puce, il est possible que l’adaptateur soit vu même sans disque, ou bien qu’il nécessite le branchement d’un disque SATA pour être détecté. Penser à tester les 2.

05 Sep 2023, 00:00

Incohérence des adresses mails entre AD, OAC et EAC

Dans le cas d’une synchronisation d’un AD local vers Azure Active Directory (AAD), il peut arriver d’avoir une incohérence dans les adresses mail d’un utilisateur entre l’AD local, le Office Admin Center (OAC) et le Exchange Admin Center (EAC).

Par exemple, supposons que

  • nous avons un domaine local de type mondomaine.ville.entreprise.fr . Ce domaine n’est pas routable sur internet. Nous avons en plus un domaine monentreprise.com qui est routable sur internet et est le domaine utilisé pour les adresses mail
  • monentreprise.com a bien été ajouté comme UPN dans le domaine local
  • nous avons également créé entreprise.onmicrosoft.com chez Microsoft 365, et ajouté/validé le domaine monentreprise.com sur M365
  • le serveur local synchronise les utilisateurs vers AAD
  • l’utilisateur possède une license qui octroie une boîte mail

Dans le cas où, en local, dans “Utilisateurs et Ordinateurs AD” (ADUC), le “Nom d’ouverture de session de l’utilisateur” (UPN) est “@mondomaine.ville.entreprise.fr”, alors l’utilisateur apparaîtra comme “@entreprise.onmicrosoft.com” dans l’OAC et dans l’EAC. Les mails envoyés arriveront via la même adresse “onmicrosoft”. L’adresse “@monentreprise.com” apparaît normalement comme un alias, et les mails envoyés à cette adresse sont bien reçus.

Si on modifie le nom d’ouverture de session en “@monentreprise.com”, après synchronisation (et délai de qqs minutes), l’adresse sera modifiée dans l’OAC.
Selon les cas, l’adresse peut également être modifiée dans l’EAC, mais pas systématiquement. Dans le cas où elle reste en “onmicrosoft”, c’est que l’attribut “mail” en local (ADUC) est manquant.
Si on ajoute l’attribut “mail” et lui donnant la valeur “@monentreprise.com”, après synchronisation (et délai), alors elle sera bien mise à jour dans l’EAC, et les mails envoyés auront l’adresse correcte.

30 Jul 2023, 00:00

Live-USB Bookworm

Même procédure que pour buster avec quelques variations :

sudo aptitude install live-build live-tools
mkdir bookworm_live && cd bookworm_live
mkdir auto && cp /usr/share/doc/live-build/examples/auto/* ./auto/

config

Fichier auto/config

#!/bin/sh

set -e

lb config noauto \
	--architectures 'amd64' \
	--archive-areas 'main contrib non-free non-free-firmware' \
	--bootappend-live 'boot=live config locales=fr_FR.UTF-8 keyboard-layouts=fr' \
	--binary-images 'iso-hybrid' \
	--distribution 'bookworm' \
	--linux-flavours 'amd64' \
	--source 'false' \
	--backports 'true' \
	"${@}"

puis
lb config

Liste de paquets

Fichier config/package-lists/live.list.chroot

live-boot
live-config
live-config-systemd
systemd-sysv

#FIRMWARE
firmware-linux firmware-atheros firmware-b43-installer firmware-bnx2x firmware-brcm80211 firmware-iwlwifi firmware-libertas firmware-myricom firmware-netxen firmware-qlogic firmware-realtek broadcom-sta-dkms

#UTILS
nmap rcconf gparted hfsprogs ntfs-3g hfsplus hfsutils dosfstools lightdm bash-completion chntpw dcfldd bootlogd less mesa-utils numlockx ethtool grub2 ssh gdisk testdisk iftop nethogs pm-utils dmraid aptitude apt-file smartmontools debootstrap pciutils usbutils cifs-utils e2fsprogs mtools screen lvm2 net-tools mdadm lsscsi haveged rng-tools cryptsetup efibootmgr efivar ncdu wireless-tools dnsutils git iperf iperf3 lshw pmount grub-efi-ia32-bin grub-pc-bin grub-efi-amd64-bin curl dislocker apfsprogs apfs-dkms ntp ntpdate

# TEAMVIEWER
libqt5webkit5 qml-module-qtquick2 qml-module-qtquick-controls qml-module-qtquick-dialogs

# DESKTOP
hplip system-config-printer xsane simple-scan mate-desktop-environment caja-open-terminal mesa-utils firefox-esr-l10n-fr chromium-l10n pulseaudio pavucontrol pavumeter mate-media-common mate-media mate-settings-daemon-dev mate-settings-daemon-common mate-settings-daemon chromium engrampa unrar pluma bluez blueman pulseaudio-module-bluetooth gddrescue ddrescueview vlc rdesktop conky network-manager-gnome webcamoid cheese webp-pixbuf-loader

#

Noyau, backports et pinning

Voir notes pour Bullseye

09 Jul 2023, 00:00

WordPress, reverse proxy et https

Si on héberge un WordPress derrière un reverse proxy (dans mon cas jwilder-nginx+letsencrypt) qui gère le https et les certificats, WordPress verra le trafic en non-chiffré.
Il faut donc l’informer que le trafic est chiffré de manière externe, et qu’il doit modifier les URLs en https://.
Si je comprends bien, ceci se fait via la détection d’une en-tête définie par le reverse proxy.

Pour ceci, on ajoute dans le wp-config.php (dans le volume) :

//Load Balancer NGINX Proxy
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
    $_SERVER['HTTPS']='on';

19 Jun 2023, 00:00

Exchange online et Powershell

https://docs.microsoft.com/fr-fr/powershell/exchange/connect-to-exchange-online-powershell?view=exchange-ps

Installation

Install-Module ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement

Si les message ModuleNotFound s’affiche, il faut installer ce module. Depuis mars 2020, il faut forcer TLS 1.2 au minimum, pour assurer l’installation correcte des modules et leurs dépendances :
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Si un message disant “L’éxécution de scripts est désactivée sur ce système”, il faut l’activer avec :
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
(à voir s’il est nécessaire de lancer PS en admin pour ça ?)

Connect-ExchangeOnline -UserPrincipalName user@domain.com
Si le nom fourni est un admin, il pourra consulter les statistiques des autres boîtes mail.

Si un message du genre
Impossible de charger le fichier ou l'assembly 'System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ou une de ses dépendances. Le fichier spécifié est introuvable.
s’affiche, il faut probablement installer une version + récente du framework DotNet (genre 4.8 ?)

Connection RPS (remote PowerShell) dépréciée :
Connect-ExchangeOnline -UseRPSSession

Limite de taille

La sortie de certaines commandes peut être tronquée (avec ...) si la fenêtre n’est pas assez large pour tout afficher, et ce même si on redirige la sortie vers un fichier. Pour avoir les lignes complètes, on peut utiliser | out-string -Width 999999 .

Lister les dossiers d’une boîte mail par ordre de taille

$mailbox = "user@domain.com"
(guillemets obligatoires)

Pour la taille de chaque dossier uniquement, sans les sous-dossiers :
Get-EXOMailboxFolderStatistics $mailbox | Select FolderPath,FolderSize,@{ name="FolderSizeBytes"; expression={((($_.FolderSize -replace '^(.*\()(.*)(\sbytes\))$','$2').Replace(',','')) -as [bigint])}}| Sort-Object -Property FolderSizeBytes -Descending | Out-String -Width 999999 | ft

Avec les sous-dossiers :
Get-EXOMailboxFolderStatistics $mailbox | Select FolderPath,FolderAndSubfolderSize,@{ name="FolderAndSubfolderSizeBytes"; expression={((($_.FolderAndSubfolderSize -replace '^(.*\()(.*)(\sbytes\))$','$2').Replace(',','')) -as [bigint])}}| Sort-Object -Property FolderAndSubfolderSizeBytes -Descending | Out-String -Width 999999 | ft

On peut le piper vers un fichier : > report.txt

Afficher les infos générales d’une boîte mail

Get-EXOMailboxStatistics $mailbox

Lister les dossiers vides d’une boîte mail

Pour lister les dossiers qui sont vides, y compris les sous-dossiers :
Get-EXOMailboxFolderStatistics $mailbox | Where {$_.ItemsInFolderAndSubfolders -eq 0} | Select Identity | out-string -Width 999999

Uniquement dans un sous-dossier

Get-EXOMailboxFolderStatistics $mailbox | Where {$_.ItemsInFolderAndSubfolders -eq 0 -and $_.FolderPath -Match "/Boîte de réception/Mon sous-dossier" }

| Select FolderPath,FolderID,Identity