01 Jan 0001, 00:00

https://linuxconfig.org/improve-hard-drive-write-speed-with-write-back-caching

Caching : écrire dans un mémoire tampon (RAM) les données, avant de les écrire réellement sur le support de stockage (plateau/mémoire flash).

Vérifier si le cache d’un disque est activé :

sudo hdparm -W /dev/sdX

01 Jan 0001, 00:00

Voir expiration d’un certificat :

client/serveur :
openssl x509 -in /etc/openvpn/easy-rsa/pki/issued/mon-pc-client.crt -text | grep "Not After"

CA :
openssl x509 -in /etc/openvpn/easy-rsa/pki/ca.crt -text | grep "Not After"

Tous les certificats clients/serveur :
for i in $(ls /etc/openvpn/easy-rsa/pki/issued/*.crt); do echo $i; openssl x509 -in $i -text | grep "Not After"; done

Vérifier validité certificat :
openssl verify -CAfile /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/easy-rsa/pki/issued/mon-pc-client.crt

01 Jan 0001, 00:00

Créer le superuser

docker exec -it funkwhale manage createsuperuser

Import /music folder in library

First create a library in the web app

then

docker exec -it funkwhale manage import_files LIBRARY_ID /music/**// –recursive –in-place –no-input

01 Jan 0001, 00:00

Voir état actication de MS Office

https://kb.wisc.edu/72524#toc2

cmd en admin

Aller dans le dossier d’Office (ajuster selon arch/version) cd C:\Program Files\Microsoft Office\Office16
cscript ospp.vbs /dstatus

On y voit le type de licence (MAK/KMS pour les VL, ou le serial pour les versions retail) et son état d’activation. Il peut être nécessaire de lancer une 1e fois office pour voir l’état de la licence.

Les licences KMS sont réactivées régulièremenet par contact d’un serveur KMS (interne à la structure).
Les licences MAK sont activées 1 fois pour toute via contact d’un serveur Microsoft. Une clé MAK peut être utilisée un certain nombre de fois, et finira par ne plus être acceptée pour les nouvelles activations.

01 Jan 0001, 00:00

https://hackintosh.gitbook.io/-r-hackintosh-vanilla-desktop-guide/

OpenCore ou CLover ? OpenCore est + récent, semble plus stable, plus fonctionnel avec certaines fonctions de macos (filevault, system integrity protection, meilleur support général), mais semble + complexe à mettre en oeuvre, et peut-être + instable, car + jeune

clover/Opencore : le bootloader. il modifie les id acpi, insere les kext (kernel extensions, basiquement les pilotes) pour rendre le noyau compatible avec le matériel https://github.com/Dids/clover-builder/releases

clover configurator (pour éviter de faire le ficher de conf à la main) genere le Config.plist ? fichier qui configure clover pour lui dire quoi faire

VirtualSMC - pour émuler la présence du chip (nécessaire pour booter) https://github.com/acidanthera/VirtualSMC/releases


les kexts doivent être choisies en fonction du matériel https://onedrive.live.com/?authkey=%21APjCyRpzoAKp4xs&id=FE4038DA929BFB23%21455036&cid=FE4038DA929BFB23

— création de l’usb d’install

La clé USB créée sera spécifique pour cette machine, avec les bons KExts chargés. Clover (/Opencore ?) doit être installé sur la clé elle-même.

—- matos X230 : https://dortania.github.io/OpenCore-Install-Guide/macos-limits.html#wireless-networking i5 3320M (ivyBridge) gpu intel HD 4000 (supporté de 10.7.3 à 10.15.7) wifi probablement not supported (ou peut-être 3d party ?)

—– Open Core USB Creation

Pour l’install, utiliser la version DEBUG ; si tout marche bien, passer à la RELEASE ?

Depuis maxOS, une clé complète d’install peut être créée. Depuis Linux/Windows, seule une clé de recovery par internet peut être créée. Créée sous Linux, seule le boot UEFI sera supporté. https://dortania.github.io/OpenCore-Install-Guide/installer-guide/linux-install.html

Télécharger OpenCore : https://github.com/acidanthera/OpenCorePkg/releases cd OpenCore-0.6.8-DEBUG/Utilities/macrecovery/
python ./macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download # download macOS depuis les serveurs Apple

Ceci donne, dans le répertoire actuel, BaseSystem.dmg et BaseSystem.chunklist (ou RecoveryImage.dmg/chunklist)

Formater la clé d’install :

  • table de partition GPT
  • 1 seule partition, GUID 0700 (ceci se voit avec fdisk -l /dev/sdX qui donne “Microsoft basic data” ; ou avec gdisk -l /dev/sdX qui donne “Code : 0700” ; peut se changer avec gdisk) Avec gdisk /dev/sdX
  • o
  • n (définir uniquement le type à 0700 ; laisser le reste par défaut)
  • w

sudo mkfs.vfat -F 32 -n "OPENCORE" /dev/sdX1

À la racine de la partition FAT32, mkdir com.apple.recovery.boot et copier les fichier .dmg et .chunklist dans ce dossier

———- Préparation des fichiers EFI

https://dortania.github.io/OpenCore-Install-Guide/installer-guide/opencore-efi.html

Dans l’archive d’OpenCore, copier les fichiers du dossier X64 (ou IA32 si EFI 32b) à la racine de la partition que l’on vient de créer.

dans OC\Drivers, supprimer les pilotes non souhaités (voir site) ; je ne garde QUE OpenRuntime.efi Dasn OC\Tools, ne garder QUE OpenShell.efi (optionnel, mais utile pour du debug)

On peut maintenant récupérer les pilotes pour NOTRE matériel ; .aml (SSDT et DSDT) vont dans ACPI ; .kext vont dans Kexts ; .efi vont dans Drivers. Il faut HfsPlus.efi

Pour les kext, sous Linux/Win, ce sont des dossiers ; il FAUT qu’ils aient l’extensions .kext On peut en trouver ici : http://kexts.goldfish64.com/ Il FAUT VirtualSMC et LiLu . Penser à supprimer les plugins non-nécessaires de VirtualSMC (SMCLightSensor si pas de capteur de luminosité, SMCBatteryManager pour l’install de l’OS (peut être rajouté plus tard), et SMCDellSensors si pas un Dell supporté)

Il FAUT WhateverGreen pour la gestion des GPUs. SSDT-pnlf ? Semble ne plus être nécessaire pour les versions récentes.

AppleALC : pour avoir du son, optionnel

Ethernet : pour un Lenovo X230M, c’est le chipset Intel 82579LM ; il faut donc IntelMausi

USB : Pour les chipset Skylake et ultérieurs, il ne devrait y avoir besoin de rien ; pour Coffee Lake et précédents (donc X230), il faut un injecteur universel. Ne fonctionne que sur chipsets intel

Wifi : pour carte intel, tester https://github.com/OpenIntelWireless/itlwm/releases ?

Trckpad/Trackpoint : pour Synaptics, https://github.com/VoodooSMBus/VoodooRMI/releases/

—— SSDTs DSDT et SSDT sont des tables présentes dans le firmware du PC, qui servent à définir le matériel présent. La DSDT est la principale, les SSDT sont les secondaires.
Il faut compiler/installer les SSDT nécessaires pour notre matériel. Sous forme de code, ce sont des .dsl. Une fois compilés, ce sont des .aml. Ce sont les .aml qu’il faut passer à OpenCore. Pour X230, il faut CPU-PM (post-install de macOS), SSDT-EC (pour le contrôleur embarqué), SSDT-PNLF (pour le rétroéclairage) et IRQ SSDT.

On peut en compiler certains avec SSDTTime , notamment SSDT-EC. À faire sur la machine cible, depuis Lnux (ou windows).

—— config.plist Dit à OpenCore comment se comporter. On récupère Sample.plist depuis le répertoire OpenCore\Docs\ et on le copie dans le dossier OC sur la clé USB, puis on le renomme config.plist

On utilise ProperTree (qui nécessite apt install python-tk) https://github.com/corpnewt/ProperTree Ctrl-Shift-R pour faire un “Clean snapshot” : intègre les fichiers (kexts, ssdt etc…) ajoutés dans le config.plist

Vérificateur de config OpenCore : https://opencore.slowgeek.com/

01 Jan 0001, 00:00

https://forum.ubuntu-fr.org/viewtopic.php?id=2042884

sudo apt install libheif-examples

for file in *.HEIC; do heif-convert $file ${file/%.heic/.jpg}; done

01 Jan 0001, 00:00

Heimdall Linux

Équivalent de Odin

https://doc.ubuntu-fr.org/heimdall

heimdall detect pour vois si un tél samsung est détecté

heimdall-frontend pour une GUI

heimdall close-pc-screen : (tente de) redémarrer et sortir du mode Download

01 Jan 0001, 00:00

Configuration envoi mail d’alertes :

iDRAC 7

Présentation générale -> Serveur -> Alertes -> puis Paramètres SNPM et d’e-mail dans la barre en haut. La connexoin se fait en plaintext si l’authentification est désactivée, et en StartTLS si l’auth est activée

iDRAC9

Paramètres de l’iDRAC -> Paramètres -> Paramètres du serveur SMTP (e-mail) -> permet de paramétrer la connexion SMTP

Configuration -> Paramètres du système -> Configuration des alertes -> Configuration SMTP (e-mail)
-> permet de choisir un ou plusieurs destinataires. Penser à cocher la case “État” pour que les alertes soient effectives.
Le bouton “e-mail de test” permet de tester l’envoi SMTP.

Configuration -> Paramètres du système -> Configuration des alertes -> Événement de test
-> Permet de simuler un événement pour vérifier que les différentes alertes sont bien déclenchées. Par exemple, l’evt PDR3 simule une panne de disque.
Une liste d’events

IPMI et SNMP

IPMI (Intelligent Platform Management Interface) sert à monitorer directement le matériel et à le controler (powercycle etc), via port série, ou réseau

01 Jan 0001, 00:00

https://securitypitfalls.wordpress.com/tag/hmac/ http://www.unixsheikh.com/articles/battle-testing-data-integrity-verification-with-zfs-btrfs-and-mdadm-dm-integrity.html

Formatage

sudo integritysetup format /dev/sdX
–no-wipe pour ne pas intialiser le disque (il aura donc uniquement des données corrompues)

Si le périphérique est + petit que ~ 250ko, le formatage échouera.

Informations

Infos sur le superblock :

sudo integritysetup dump /dev/sdX

# Retour avec options par défault :
Info for integrity device /dev/sdX.
superblock_version 5
log2_interleave_sectors 15
integrity_tag_size 4
journal_sections 744
provided_data_sectors 484481000
sector_size 512
log2_blocks_per_bitmap 15
flags fix_padding fix_hmac

Infos sur le mapper :

sudo integritysetup status /dev/mapper/sdX_integrity

# Retour avec options par défaut :
/dev/mapper/sdX_integrity is active.
  type:    INTEGRITY
  tag size: 4
  integrity: crc32c
  device:  /dev/sdh
  sector size:  512 bytes
  interleave sectors: 32768
  size:    484481000 sectors
  mode:    read/write
  failures: 2
  journal size: 67043328 bytes
  journal watermark: 50%
  journal commit time: 10000 ms

Ouverture

sudo integritysetup open /dev/sdX sdX_integrity
Le mapper sera créé dans /dev/mapper/.

Tests taille

### Disque nu

Disk /dev/sdf: 232,89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: CT250MX500SSD1  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


### Options par défaut

Disk /dev/mapper/sdf_integr: 231,02 GiB, 248054272000 bytes, 484481000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

On voit une perte de 2005078016 octets, soit environ 2Go, soit environ 0,8% de l’espace du disque.

VITESSE

sudo /sbin/sysctl -w vm.drop_caches=3

entre chaque test READ pour vider le cache, sinon vitesses exubérantes

SSD SATA ACCES DIRECT

Taille de blocs par défaut : 512

WRITE

sync; sudo dd if=/dev/zero of=/dev/sdf count=4096000; sync
4096000+0 enregistrements lus
4096000+0 enregistrements écrits
2097152000 octets (2,1 GB, 2,0 GiB) copiés, 38,4354 s, 54,6 MB/s

sync; sudo dd if=/dev/zero of=/dev/sdf bs=1k count=2048000; sync
2048000+0 enregistrements lus
2048000+0 enregistrements écrits
2097152000 octets (2,1 GB, 2,0 GiB) copiés, 35,286 s, 59,4 MB/s

sync; sudo dd if=/dev/zero of=/dev/sdf bs=2k count=1024000; sync
1024000+0 enregistrements lus
1024000+0 enregistrements écrits
2097152000 octets (2,1 GB, 2,0 GiB) copiés, 33,5331 s, 62,5 MB/s

sync; sudo dd if=/dev/zero of=/dev/sdf bs=4k count=512000; sync
512000+0 enregistrements lus
512000+0 enregistrements écrits
2097152000 octets (2,1 GB, 2,0 GiB) copiés, 9,14775 s, 229 MB/s

sync; sudo dd if=/dev/zero of=/dev/sdf bs=8k count=256000; sync
256000+0 enregistrements lus
256000+0 enregistrements écrits
2097152000 octets (2,1 GB, 2,0 GiB) copiés, 8,89703 s, 236 MB/s

sync; sudo dd if=/dev/zero of=/dev/sdf bs=1M count=1024; sync
1024+0 enregistrements lus
1024+0 enregistrements écrits
1073741824 octets (1,1 GB, 1,0 GiB) copiés, 4,44295 s, 242 MB/s

sync; sudo dd if=/dev/zero of=/dev/sdf bs=4M count=512; sync
512+0 enregistrements lus
512+0 enregistrements écrits
2147483648 octets (2,1 GB, 2,0 GiB) copiés, 8,92596 s, 241 MB/s

sync; sudo dd if=/dev/zero of=/dev/sdf bs=8M count=256; sync
256+0 enregistrements lus
256+0 enregistrements écrits
2147483648 octets (2,1 GB, 2,0 GiB) copiés, 9,00292 s, 239 MB/s

sync; sudo dd if=/dev/zero of=/dev/sdf bs=8M count=1024; sync
1024+0 enregistrements lus
1024+0 enregistrements écrits
8589934592 octets (8,6 GB, 8,0 GiB) copiés, 33,2798 s, 258 MB/s

On a une perte massive de performances si bs inférieur à 4k. On a de meilleures performances sur un fichier de 8G que de 2G.

READ

dd if=/dev/sdf of=/dev/null count=4096000
4096000+0 enregistrements lus
4096000+0 enregistrements écrits
2097152000 octets (2,1 GB, 2,0 GiB) copiés, 5,79669 s, 362 MB/s

dd if=/dev/sdf of=/dev/null bs=1k count=2048000
2048000+0 enregistrements lus
2048000+0 enregistrements écrits
2097152000 octets (2,1 GB, 2,0 GiB) copiés, 5,69471 s, 368 MB/s

dd if=/dev/sdf of=/dev/null bs=1M count=2048
2048+0 enregistrements lus
2048+0 enregistrements écrits
2147483648 octets (2,1 GB, 2,0 GiB) copiés, 5,52223 s, 389 MB/s

dd if=/dev/sdf of=/dev/null bs=4M count=512
512+0 enregistrements lus
512+0 enregistrements écrits
2147483648 octets (2,1 GB, 2,0 GiB) copiés, 5,42488 s, 396 MB/s

dd if=/dev/sdf of=/dev/null bs=8M count=256
256+0 enregistrements lus
256+0 enregistrements écrits
2147483648 octets (2,1 GB, 2,0 GiB) copiés, 5,40028 s, 398 MB/s

Légère perte de perf avec des secteurs de 512. Max atteint vers 1M.

SATA, integritysetup default options

WRITE












sync; sudo dd if=/dev/zero of=/dev/mapper/sdf_integr bs=1M count=1024; sync
1024+0 enregistrements lus
1024+0 enregistrements écrits
1073741824 octets (1,1 GB, 1,0 GiB) copiés, 8,40675 s, 128 MB/s

sync; sudo dd if=/dev/zero of=/dev/mapper/sdf_integr bs=4M count=1024; sync
1024+0 enregistrements lus
1024+0 enregistrements écrits
4294967296 octets (4,3 GB, 4,0 GiB) copiés, 35,5758 s, 121 MB/s

READ Erreur de lecture normale car device non initialisé lors de la création

dd if=/dev/mapper/sdf_integr of=/dev/null
dd: erreur de lecture dans '/dev/mapper/sdf_integr': Erreur d'entrée/sortie
8388608+0 enregistrements lus
8388608+0 enregistrements écrits
4294967296 octets (4,3 GB, 4,0 GiB) copiés, 13,783 s, 312 MB/s

dd if=/dev/mapper/sdf_integr of=/dev/null bs=1M count=10240
dd: erreur de lecture dans '/dev/mapper/sdf_integr': Erreur d'entrée/sortie
4096+0 enregistrements lus
4096+0 enregistrements écrits
4294967296 octets (4,3 GB, 4,0 GiB) copiés, 11,4346 s, 376 MB/s

dd if=/dev/mapper/sdf_integr of=/dev/null bs=8M count=1024
dd: erreur de lecture dans '/dev/mapper/sdf_integr': Erreur d'entrée/sortie
512+0 enregistrements lus
512+0 enregistrements écrits
4294967296 octets (4,3 GB, 4,0 GiB) copiés, 11,2318 s, 382 MB/s

C’est + rapide en secteurs de 1M (ou multiple) !

01 Jan 0001, 00:00

La technologie Intel Optane est un nom commercial/une application de la technologie 3D Xpoint. Il s’agit d’une technologie matérielle qui doit nécessite une compatibilité logicielle. Les SSD estampillés Optane possèdent une puce supplémentaire (?)

Sur un portable avec un SSD NVMe et le SATA configuré en “Optane RST Premium” (dans le BIOS) :

  • menu “NVMe” absent du BIOS
  • disque lisible par l’installation de Windows
  • disque NON lisible sous Linux
  • disque NON lisible sous Medicat sauf si installation du pilote irst
  • une fois le pilote installé sous Medicat, possible de cloner le disque vers un autre disque (sur un autre contrôleur, par exemple SATA<->USB) qui sera lisible voire bootable sur un contrôleur AHCI

Après passage du SATA en AHCI dans le BIOS :

  • un nouveau menu “NVMe” apparaît dans le BIOS (uniquement informationnel, pas de réglage possible)
  • le disque devient visible sous Linux, les partitions également
  • il ne démarrera plus sous Windows (le bootloader Windows se lance mais échec du démarrage) ; ceci dans une configuration où le disque est “chiffré” par Bitlocker, mais sans aucun protecteur de la clé (donc déchiffrable automatiquement, sans mot de passe)
  • la réparation automatique du démarrage n’arrive pas à réparer le démarrage ; pas essayé manuellement

Si on repasse la configuration SATA en Optane, Windows redémarre correctement.

À vérifier que la modification du mode du contrôleur ne réinitialise pas le TPM, avec l’impossibilité d’accéder à un BitLocker l’utilisant ?