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 ?

01 Jan 0001, 00:00

%windir%\sysnative\WindowsPowerShell\v1.0\powershell.exe -Executionpolicy Bypass .\testRegistryImport.ps1

%windir%\sysnative\WindowsPowerShell\v1.0\powershell.exe -Executionpolicy Bypass .\testRegistryDelete.ps1

01 Jan 0001, 00:00

Dans iDRAC, activer “IPMI over LAN” (dans iDARC7, Paramètres iDARAC -> Réseau)
On suppose que l’IP de l’iDRAC est 192.168.1.10

Avec un poste Linux, apt install ipmitool
Puis ipmitool -I lanplus -H 192.168.1.10 -U root my_command
le password sera demandé à la volée ;

On peut définir le mot de passe dans une variable d’environnement export IPMI_PASSWORD=“MyPassWord!?” puis ipmitool -E

Commandes : sel list ou sel elist

https://www.tzulo.com/crm/knowledgebase/47/IPMI-and-IPMITOOL-Cheat-sheet.html https://www.debiantutorials.com/installing-and-using-the-ipmi-tool/

01 Jan 0001, 00:00

ZNC hexchat

01 Jan 0001, 00:00

Sur les systèmes avec double carte-graphique AMD, il peut arriver un très long écran noir (1-2 minutes) après les boules qui tournent, et avant lécran de login.

Pour éviter le problème, on peut chercher dans le registre EnableULPS (qui devrait se trouver dans HKLM\System\CurrentControlSet\Control\Class\... et passer les valeurs à 0.

01 Jan 0001, 00:00

Création du conteneur

docker-compose.yml avec

image: mariadb
container_name: "my-db-container"

Variables d’environnement

environment:
  MARIADB_ROOT_PASSWORD=blabla1
  MARIADB_USER=myuser
  MARIADB_PASSWORD=blabla2
  MARIADB_DATABASE=my-database

Vont respectivement définir le mot de passe root, créer un user avec un password, et créer une base de données.
Le user créé pourra se connecter depuis n’importe quel hôte, et aura les droits complets sur la base créée.

J’ai l’impression qu’elles ne sont utilisées que si aucune base de données (volume) n’existe déjà. Par la suite, elles n’ont aucun effet.

Configuration

Les fichiers de configuration, à l’intérieur du conteneur, donc dans
/etc/mysql/
/etc/mysql/my.cnf est un lien vers /etc/alternatives/my.cnf qui est un lien vers /etc/mysql/mariadb.cnf.

On peut lister les options en SQL :
SHOW VARIABLES;
Si on connaît le nom de l’option que l’on cherche on peut faire
SHOW VARIABLES LIKE 'my_config_option';
On peut aussi utiliser le wildcard % :
SHOW VARIABLES LIKE '%option%';

Résolution des noms

Par défaut, la résolution des noms est désactivée dans la configuration MariaDB du conteneur Docker, via la directive skip-name-resolve présente dans le fichier /etc/mysql/mariadb.conf.d/05-skipcache.cnf.

La raison à ceci semble être que le résolveur DNS d’un conteneur est défini uniquement au moment de sa création, et s’il change, le conteneur ne recevra pas les nouvelles informations et n’aura plus de DNS disponible, ce qui ralentira considérablement les requêtes DNS.
Ceci empêche toutefois d’utiliser une syntaxe de type user@conteneur.network pour autoriser les connexions à la base.

Pour changer ce comportement, on peut monter un fichier vide à l’emplacement du fichier de conf :

    volumes:
    - ./config/empty.cnf:/etc/mysql/mariadb.conf.d/05-skipcache.cnf

Connexion à l’interface SQL du conteneur

docker exec -it docker-db mariadb --user root -pblabla1

On arrive sur un shell type
MariaDB [(selected-database)]
Aucune base n’étant initialement sélectionnée, on a
MariaDB [(none)]

On peut directement fournir la commande à exécuter avec
-e 'COMMAND;'

Voir la version

Sur le shell SQL :
SELECT VERSION() ;

Caractères spéciaux

Éviter les points ou tirets. underscore OK.
Si besoin quand même, échapper avec backtick `

Gestion des bases de données

voir les différents bases :
SHOW DATABASES;

Créer une base :
CREATE DATABASE my_database;

Choisir une base pour l’usage courant :
USE my_database;

Supprimer une DB et toutes les tables dedans :
DROP DATABASE my_database;

Gestion des users

Créer un user et restreindre l’accès depuis un domaine :
CREATE USER 'myuser'@'authorizeddomain' IDENTIFIED BY 'my-password'

Si on ne spécifie pas de “authorizeddomain”, alors ce sera %, ce qui semble signifier “tous”.

Lister les users et le(s) domaines qui autorisent leur accès :
SELECT user,host FROM mysql.user;
Ceci va lire le contenu de la table “user” de la base “mysql” (base créée automatiquement au déploiement de MariaDB).

Supprimer un user, ou un accès :
DROP USER 'myuser'@'authorizeddomain';
Si on ne spécifie pas de “@authorizeddomain”, il va supprimer ‘user’@’%’

Voir les permissions d’un utilisateur :
SHOW GRANTS for myuser;

Ajouter des droits complets à un utilisateur :
GRANT ALL ON my_database.* TO 'my-user'@'authorizeddomain';
Les apostrophes semblent poser problème sur le nom de la base de données.
Bien ajouter le .* car les privilèges s’appliquent aux tables.

Gestion des tables

Voir les tables d’une base :
SHOW TABLES; # si DB déjà selectionnée
SHOW TABLES FROM my-database; # si pas encore sélectionnée