Correction syntaxique, grammaticale, orthographique, conjugaisonite dans VSCodium
#Import 2023-08-15 22:40

Correction syntaxique, grammaticale, orthographique, conjugaisonite dans VSCodium

Alors, il s’agirait d’écrire bien et d’éviter de crever les yeux des autres qui bon s’ils ne sont pas déjà crevé en lisant votre code serait au moins préserver en lisant les commentaires.

J’ai longtemps cherché, j’ai longtemps vite fait cherché, comment faire pour que mon VSCodium me permettent de correctement vérifier l’anglais ou français dans mon code. Et j’ai au moins un début de solution avec l’utilisation de LanguageTool en local pour corriger mes erreurs sur la doc que je rédige. Il supporte très bien le plaintext et le markdown. l’asciidoc est pas mal supporté aussi, sûrement dû à sa ressemblance avec le markdown.

  • Romain Forlot
VMware Nested ESXi: Petite chose à ne pas oublier pour avoir du réseau dans votre cluster nested
#Import 2023-08-15 22:40

VMware Nested ESXi: Petite chose à ne pas oublier pour avoir du réseau dans votre cluster nested

Après avoir installé vos ESXi en tant que VM dans votre Cluster VMware, il se peut que vous ne puissiez pas joindre les ESXi depuis le réseau interne nested ou une VM quelconque qui tournerais dessus. Au hasard un vCenter…

Alors pour faire sale et vite, vous pouvez tout simplement activer le mode “promiscuous” et “Forged transmits”. Voilà pour la version courte et moche.

Pour la faire propre, et en savoir un peu plus tout le problème se situe au niveau de la gestion des MAC adresses. Les VMs et tout ce qui tourne à l’intérieur de vos ESXi nested n’ont tout simplement pas accès à l’extérieur et vice-versa car leur MAC adresse est différente de celle de l’ESXi et les paquets se font droppés. En activant, le mode “promiscuous” et “Forged transmits” vous forcez un peu la main au réseau en autorisant tout. Alors qu’il existe depuis vSphere 6.7 la possibilité au dvSwitch d’apprendre les MAC adresses et les associés aux NIC qui vont bien. Tout est expliqué ici:

  • Romain Forlot
#ghost

Contribute

Oh hey, you clicked every link of our starter content and even clicked this small link in the footer! If you like Ghost and you’re enjoying the product so far, we’d hugely appreciate your support in any way you care to show it.

Ghost is a non-profit organization, and we give away all our intellectual property as open source software. If you believe in what we do, there are a number of ways you can give us a hand, and we hugely appreciate all of them:

  • Romain Forlot
#Import 2023-08-15 22:40

Création d'un utilisateur chrooté avec accès à une DB Oracle

Pour commencer, j’ai tout simplement suivi de la note KB Red Hat : https://access.redhat.com/solutions/116773. Voilà les étapes décrites pour créer le chroot simple :

Ajout utilisateur “testuser”

# useradd testuser
# passwd testuser

Le home sera la base du chroot :

# mkdir /home/jails
# cd /home/jails
# mkdir -p bin dev lib64 etc proc usr/lib64 tmp sys home/testuser
# ln -s lib64 lib
# cd usr
# ln -s lib64 lib
# cd ..

Montages des pseudo fs :

  • Romain Forlot
RHEL7 : Résumé des changements apportés par Systemd
#Import 2023-08-15 22:40

RHEL7 : Résumé des changements apportés par Systemd

1. Présentation Systemd

Nouvelles gestions des services. Systemd remplace l’ancien SysV Init, il permet de paralléliser les démarrages de services et gère nativement les dépendances entre eux.
Les scripts dans /etc/init.d ne sont plus à l’ordre du jour. Ils ont été remplacés par des « unit file » de service (il existe des unit file pour les montages de fs, timer, socket, etc). La doc est disponible dans les pages de man avec la commande : man systemd.service, pour les services ou systemd.* pour tous les autres (ie : systemd.unit). Pour résumé, ces units file sont des fichiers de configuration avec des directives décrivant le comportement du système pour la gestion de l’unit.

  • Romain Forlot
#Import 2023-08-15 22:40

Activation Windows Server 2012r2 par téléphone

Si comme moi vous vous demandez par où on accède à l’interface d’activation par téléphone de Windows Server 2012R2, utilisez simplement la commande suivante avec une invite de commande avec les droits administrateur :

slui 4

Après quoi, laissez vous guidez par l’assistant. Simple.

Sinon méthode plus sioux, notez l’ID d’installation avec la commande (je conseil de faire des groupes de 7 chiffres):

slmgr.vbs /dli

Ensuite appeler le numéro adéquat pioché ici et suivre les instructions pour noter le numéro d’activation à utiliser avec la commande suivante :

  • Romain Forlot
#Import 2023-08-15 22:40

Oracle RMAN : connected to target database (not started) ORA-03113

Il peut arriver que bien votre instance Oracle soit démarrée, à priori, mais que vous ne puissiez pas vous connecter avec RMAN. Celui-ci vous retourne :


$ rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on Mon Jul 6 14:18:16 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database (not started)

Dans ce cas. Il peut s’agir de plusieurs choses. Si vos outils accédant à Oracle n’observent pas de soucis et que par contre sqlplus et rman oui, il s’agit d’un problème de déclaration de path. En effet, avec un ‘/’ en fin de path ces deux outils ne fonctionneront pas. Plus d’infos ici.

  • Romain Forlot
#Import 2023-08-15 22:40

Powershell : Utiliser foreach

Le passage shell unixien à powershell ne se fait pas sans mal… Le tout objet de MS a du bon, encore faut-il s’y faire.

Voici comment récupérer la liste de services d’un ordinateur et créer un fichier batch.


foreach ($svc in Get-Service) { "sc sdset "+ svc.Name + " D:(A;;CCLCRPRC;;;< --SID_USER-- >)D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)" | Out-File -Encoding ascii -Append C:\sc.bat }

Analysons cela de plus près.

La condition du foreach, plutôt simple, on apprécie ici ne pas devoir encadré la commande Get-Service entre backquote ou $() pour faire comprendre au shell que c’est une commande. Ici Chaque objet retourné par Get-Service sera stocké dans la variable $svc.
Ensuite viens le traitement, entre accolades, ici je voulais créer un script batch. On écrit donc tout simplement la ligne en veillant à sortir $svc.Name d’entre accolade sans quoi cela sera la clé et non la valeur qui sera affichée. Puis petite subtilité, ne pas utilisé la redirection » ou > pour mettre le contenu dans un fichier directement. En effet,cela aura pour effet de stocker ce contenu en utf16… Préférez plutôt piper la ligne vers la commande Out-File (c’est en faite elle qui est appelée avec les > et » mais sans l’option d’encodage) à qui on spécifiera l’encodage de sortie, en n’oubliant pas l’option Append pour un équivalent des ».

  • Romain Forlot
#Import 2023-08-15 22:40

Màj TorrentCP : gestion de la musique aussi !

Et voilà, torrentCP gère désormais le téléchargement de musique !

Une fois le téléchargement terminé, il ira parcourir chaque fichier musical et d’après ses metadata créera les répertoires d’artiste et album approprié. Convient donc de télécharger des musiques correctement taguées et de ne pas télécharger d’archives… et de ne pas télécharger de compilation sinon ça en foutra partout.

Je m’attaquerais à ces problèmes dans les prochains commits.

C’est bête et méchant mais ça fonctionne bien.

  • Romain Forlot
#Import 2023-08-15 22:40

Mise à jour de torrentCP : utilitaire de gestion de téléchargement pour le client torrent Transmission

Grosse mise à jour pour torrentCP. Cela faisait 1 an sans nouvelles de ce script qui me rends de fier service pourtant.

En bref :
– amélioration de la détection du nom du film ou série, gestion
– Gestion de saison complète d’une série
– hard link et copy de fichier en fallback pour économiser de la place.
– Fichier de configuration séparé pour affiner la configuration et l’extraire du code en dur.
– Ajout d’arguments pour pouvoir appeler le script autant manuellement qu’automatiquement par transmission-daemon. Faire un –help pour découvrir les quelques options implémentées.
– refonte et multiple fix du code pour sa maintenabilité. Bon il reste du progrès à faire !
– …

  • Romain Forlot
#Import 2023-08-15 22:40

Spacewalk : Création de script avec mix de snippet et code.

# Brève présentation de Spacewalk

Spacewalk est un outil fort pratique pour ceux qui veulent gérer un parc de machine linux RedHat, ou dérivé. Grâce à Spacewalk vous pouvez suivre les mises à jour à effectuer sur chacune de vos machines, paramétrer des mises à jour automatiques, gérer vos dépôts, gérer des kickstarts et les utiliser par PXE ou sur un hyperviseur KVM/QEMU. Plus encore vous pouvez suivre des fichiers de configurations choisis et les administrer depuis Spacewalk. La dernière version 2.0 inclue même un support expérimentale des paquets deb et donc la possibilités de gérer les linux Debian et dérivés.

  • Romain Forlot
#Import 2023-08-15 22:40

Propriétés OVF pour un déploiement de VM flexible avec VMware.

Permettre un déploiement flexible de VM, ne plus se poser de question lors d’une importation d’un OVF et pouvoir déployer ceux-ci sans inquiétude. En voilà une idée qu’elle est bonne et totalement faisable, assez facilement d’ailleurs.

Activer les options vApp sur les VM

Il suffira pour cela d’activer les Options vApp dans la ou les VM concernées. Petit point sur le vApp, il n’est pas nécessaire d’utiliser un container vApp pour utiliser les options vApp. Cette option permet simplement de pouvoir définir des propriétés personnalisées pour les VM et d’ajouter des identificateurs pour un déploiement ultérieur par export/import d’OVF.

  • Romain Forlot
Utilitaire de conversion: fichier de backup SMS VMG vers XML pour app Android SMS Backup Restore
#Import 2023-08-15 22:40

Utilitaire de conversion: fichier de backup SMS VMG vers XML pour app Android SMS Backup Restore

Création d’un petit script permettant de transformer nos gentils petits fichiers vmg récupérer par une sauvegarde de nos messages SMS. C’est bien gentils de récup un fichier de backup, encore faut il pouvoir le réimporter et avec le passage des dumbphones vers les smartphone, les formats ont bien évolués…. Et pas compatible évidement.

VMG est un format créé par Nokia pour la sauvegarde de ses sms, utilisé par d’autres constructeurs (Samsung entre autre) il est très commun dans le monde des dumbphones. Voici donc un petit script pour vous permettre de transformer ces sauvegardes en fichiers XML compréhensible par SMS Backup Restore une app Android assez populaire. :)

  • Romain Forlot
#Import 2023-08-15 22:40

Mémo : ORA-04063: view "SYS.DBA_REGISTRY" has errors.

En jouant d’un peu trop prêt avec les composants Oracle, on peut se retrouver face à cette erreur. Ou alors lors d’un passage de patch par exemple.

La résolution est simple encore faut-il le savoir. Il faut rejouer les scripts sql suivant en tant que sysdba :

oracle$ sqlplus / as sysdba
SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql

Je ne m’étends pas sur le sujet n’étant spécialiste Oracle et renvoi à la note metalink 457861.1.

  • Romain Forlot
#Import 2023-08-15 22:40

Etendre/Ajouter de nouvelles partitions à un disque virtuel agrandit. "No free sectors available"

Si comme moi, vous avez eu l’erreur “No free sectors available” alors que vous venez justement d’agrandir le disque virtuel sous-jacent, tout est normal. Rien de bien compliqué d’ailleurs, c’est très logique et cette situation ne se produit que si vous aviez déjà créé la partition étendue sur votre disque.

En effet, vous aviez créé la partition étendue afin de pouvoir gérer plus de 4 partitions primaires, et cette partition étendue a été définie selon l’ancienne taille du disque. Donc une fois agrandit cette partition n’a pas changé automagiquement et gére le même espace qu’auparavant. Il faudra donc supprimer la partition et la recréée, prenez tout l’espace restant comme d’habitude et recréer à l’interieur les anciennes partitions logiques dont vous aurez préalablement noté les blocs de début et de fin afin de les recréer à l’identique.

  • Romain Forlot
#Import 2023-08-15 22:40

Création répertoire et groupes Domaine Locaux avec ajout de droits automatique

Des petites boucles pour des tâches d’administration possible lors d’une installation d’un annuaire AD. A décliner selon les besoins, évidement de l’optimisation peut être fait pour éviter 50 boucles alors qu’une ou deux suffisent.

Le principe pour appliquer des droits sur des répertoires partagés est simple. Chaque répertoire dispose de 2 groupes d’étendue Domaine Local, un pour la lecture seule et l’autre pour lecture/écriture. On ajoutera ces groupes à chaque répertoire avec les droits adéquats. Enfin on inclura les groupes globaux contenant les users dans les bon groupes domaine locaux pour chaque répertoires.

  • Romain Forlot
#Import 2023-08-15 22:40

Filtre WMI appliqué à une GPO

Une bonne organisation AD demande des OU, des groupes, des ordinateurs et des utilisateurs.

On peut appliquer une GPO sur des groupes, ordinateurs ou groupe par le biais du filtrage de sécurité. Mais pour être plus fin, il est nécessaire d’utiliser des filtres WMI afin de pouvoir appliquer les GPO selon des critères très précis. (Eg: Version OS, Chassis, etc. Voir la liste des classes WMI disponible.)

Selon la version d’OS :

Pour appliquer sur du Windows XP :

  • Romain Forlot
#Import 2023-08-15 22:40

Parcourir une arborescence et la mettre en forme, ou tree sans tree

Après les pérégrinations autour de awk utilisons le tout pour mettre en forme une arborescence et en afficher les attributs voulus. A base de awk et sed \o/

find /path -type d -exec ls -ld {} \; | awk '{ DIR=""
if (NF>9)
{
    for (i=NF;i<=NF;i++)
    {
        DIR=DIR" "$i
    }
}
else
{
    DIR=$9
}
printf("%s [Usr: %s, Grp: %s]\n", DIR, $3, $4)}' | \
sed 's/[^/]*\//|   /g;s/| *\([^| ]\)/+--- \1/'

Ce qui nous donne un résultat pour /var/log par exemple :

  • Romain Forlot
#Import 2023-08-15 22:40

Afficher les X dernier champs d'une ligne avec awk

Problème simple, imaginons que vous vouliez parser la sortie d’un “ls” mais garder seulement quelques champs dont tout les x derniers champs suivant le nombre de champs.

Dans l’exemple, imaginons une sortie de ls :

drwxr-xr-x  3 user groupe     4096 Jan  9 09:07 /var/pok/example avec des espaces

Pour l’exemple qui nous occupe, avec awk comment faire pour prendre le champs 1, 3 , 4 et tous ceux après 9 pour avoir le nom du fichier/répertoire entier ?

  • Romain Forlot
#Import 2023-08-15 22:40

Memo : Consulter les rôles FSMO d'un contrôleur de domaine sur Windows Server 2008 r2

C’est peut être simple mais faut le connaitre, si quelqu’un connait par hasard d’autres manière je suis preneur.

En attendant, voici la commande à lancée pour découvrir qui fait quoi dans un domaine Active Directory :

C:/> netdom.exe query fsmo
Contrôleur de schéma dc1.domain.tld
Maître des noms de domaine dc1.domain.tld
Contrôle de domaine principal dc3.domain.tld
Gestionnaire du pool RID dc2.domain.tld
Maître d'infrastructure dc1.domain.tld

Breaking news: je viens de trouver une autre manière (lire jusque bout les aides, lire jusque bout les aides, lire jusque bout les aides, lire jusque bout les aides, lire jusque bout les aides, lire jusque bout les aides, lire jusque bout les aides, lire jusque bout les aides, lire jusque bout les aides, lire jusque bout les aides, lire jusque bout les aides, …) :

  • Romain Forlot
#Import 2023-08-15 22:40

Importation depuis fichiers csv d'utilisateurs, groupes avec inclusion de membres dans les groupes.

Créer un fichier csv, encodé en UTF8, pour les users et un autre pour les groups formaté comme suit pour le premier :

Name;Firstname;login;email

Et comme suit pour le second :

Name;Members

Les membres peuvent être aussi bien des groupes que des utilisateurs existant. Le scope des groupe est réglé sur DomainLocal, adapté le au besoin mais il n’a pas été prévu de les gérer finement.
Cependant, il ne serait pas bien compliqué de le gérer. Pour cela ajouter une colonne au fichier csv des groupes avec Scope et modifier le paramètre lors de la création du groupe concernant le scope.

  • Romain Forlot
#Import 2023-08-15 22:40

Gestion de ses fichiers de configuration avec git

Je me demandais comment pouvoir update proprement avec les distributions ne fonctionnant pas en rolling release. La plupart ne le sont pas d’ailleurs. Bref, c’est quand même super lourd de devoir réinstaller tout les paquets, en n’oubliant aucun…, et de se retaper la config. Donc comment faire ?

Ajout des paquets au kickstart

Utilisant Fedora, le problème de réinstaller les paquets sans en oublier ne posait pas vraiment de problème avec Kickstart. Il suffit de faire un inventaire de ses paquets et de le mettre dans le fichier kickstart. Voilà une méthode pour le faire simplement :

  • Romain Forlot
#Import 2023-08-15 22:40

Renommer une machine virtuelle dans VMware Vsphere <= 5.0

Qui n’a jamais râler après avoir maladroitement nommé une VM de ne pouvoir réellement changer son nom?

Bien sûr vous pouvez la renommer dans l’interface vSphere Client, mais le dossier et les fichiers composants cette VM seront toujours avec le premier nom…

Il paraitrait qu’un Storage vMotion (froid ou chaud peu importe) résolve le soucis. Cela n’a pas fonctionné chez moi, mais voici la procédure :
Dans vSphere Client, renommer la VM
Faites un storage vMotion de la machine virtuelle

  • Romain Forlot
#Import 2023-08-15 22:40

USN rollback avec Windows 2K8 R2. Replication impossible.

Qu’est ce qu’un USN ?

le numéro USN permet de contrôler l’état d’une partition AD. A chaque modification dans la base d’AD est faite alors le numéro USN est incrémenté.

Qu’est ce qu’un USN rollback ?

Ce cas se produit typiquement lorsque vous restaurez un contrôleur de domaine ou revenez en arrière avec un snapshot d’une solution de virtu (VMware, HyperV…). Vous revenez en arrière dans le temps et si des modifs ont été faites entre temps sur le serveur restauré alors celui-ci reviendra avec le #USN qu’il avait au moment de la sauvegarde.

  • Romain Forlot
#Import 2023-08-15 22:40

torrentCP : Script python pour Transmission permettant de traiter les téléchargements terminés

J’ai créé un script en python me permettant de décompresser mes épisodes de séries téléchargées par transmission directement dans les bons dossiers. Pour les films c’est un simple lien hard avec le fichier téléchargé mais avec un nom formaté “titre (Année de parution).extension” pour enlever les informations sur la team, codec etc. Ainsi ce fichier peut être utilisé par des scrappers pour votre logiciel mediacenter préféré, le titre est IMDB compliant \o/.

  • Romain Forlot
#Import 2023-08-15 22:40

Erreurs de compilation des VMware-Tools sur des distributions récentes (UTS_RELEASE does not match)

Si vous voulez compiler les Vmware-tools sur une distribution récente vous risquer de vous heurter à l’erreur suivante :

The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match
your running kernel (version 2.6.42.9-1.fc15.i686). Even if the module were to
compile successfully, it would not load into the running kernel.

Pour la compilation, il cherche la variable UTS_RELEASE et comme cette variable n’existe plus dans les kernels récents, il ne lance même pas la compil. Donc il ne reste plus qu’à ajouter cette variable dans le bon fichier et l’affaire est réglée.

  • Romain Forlot
Comment modifier un dictionnaire en python tout en le parcourant
#Import 2023-08-15 22:40

Comment modifier un dictionnaire en python tout en le parcourant

Voilà une astuce pour modifier un dictionnaire en le parcourant. Si vous essayiez de le faire de la manière “naïve” vous obtiendrez l’erreur suivante :

example = { 'k1' : 'v1', 'k2, : 'v2' , ... }
for (k,v) in example.iteritems():
if k == 'k2':
del example[k]
RuntimeError: dictionary changed size during iteration

Python n’aime pas ça du tout, si vous le faites avec la méthode items() en revanche, aucune erreurs ne sera relevée var celle-ci renvoie une copy du dictionnaire si bien que la modification n’y est pas répercuté. Et si comme moi vous êtes en version 2.6 qui ne dispose pas des nouvelles méthodes viewitems(), viewkeys() et viewvalues() permettant la consultation d’un dictionnaire dynamique, il faudra passer par l’astuce suivante :

  • Romain Forlot