Site perso d'un administrateur d'infrastructures sécurisées

Étiquette : Résolution de problèmes

Comment résoudre l’erreur « Filename too long » dans Git ?

L’erreur « Filename too long » dans Git est souvent rencontrée sur les systèmes Windows, car ils ont une limite de longueur de chemin de fichier (par défaut, 260 caractères).

Git a une configuration pour contourner cette limitation. Voici comment vous pouvez résoudre ce problème :

Activer le mode long path dans Git : Vous pouvez dire à Git d’autoriser des chemins de fichiers plus longs en modifiant sa configuration.

Ouvrez votre terminal ou invite de commande en mode administrateur, et exécutez la commande suivante :

git config --system core.longpaths true

Cette commande permet à Git de gérer des chemins de fichiers plus longs que la limite par défaut de Windows.

Vérifier la configuration de Windows : Sur les versions plus récentes de Windows 10, il est également possible d’activer le support des chemins longs au niveau du système d’exploitation. Pour cela, vous devez modifier le registre ou la politique de groupe :

  • Modification du registre : Ouvrez l’éditeur de registre (regedit), et naviguez vers HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem. Modifiez la valeur de LongPathsEnabled de 0 à 1.
  • Politique de groupe : Si vous utilisez une édition de Windows qui prend en charge l’éditeur de stratégie de groupe local, tapez gpedit.msc dans le menu Démarrer, naviguez jusqu’à Configuration ordinateur > Modèles d'administration > Système > Système de fichiers, et activez Activer les chemins d'accès longs de Win32.

Redémarrer votre système : Après avoir effectué ces modifications, redémarrez votre système pour que les changements prennent effet.

Réessayer l’opération Git : Après le redémarrage, essayez à nouveau l’opération Git qui a échoué précédemment.

Ces étapes devraient résoudre le problème des chemins de fichiers trop longs sous Windows lors de l’utilisation de Git.

Ajouter un disque dur manuellement sur Windows Server 2019

Sur Windows Server dans une VM Virtualbox, j’ai ajouté un disque dur, suivi la procédure pour l’ajouter depuis le gestionnaire de disque proposé par l’utilitaire de Windows Server. A la fin de la procédure, il apparait bien dans « Gestion du disque » mais je ne le vois pas dans l’explorateur. Pourquoi et comment remédier au problème ?

On voit bien le volume dans le gestionnaire :

Mais il n’apparait pas dans l’explorateur :

Quelle pourrait être la raison ? Et comment y remédier ?

Résoudre le problème d’affectation de lettre du gestionnaire de volumes

En l’occurence, une chose m’a mis la puce à l’oreille : malgré le fait que je lui ai affecté une lettre (E:), il semblerait que cette lettre n’a en réalité pas été affectée :

Il doit surement s’agir d’un bug relatif à l’utilitaire de gestion de volumes. Pour résoudre le problème, on peut gérer ça manuellement via l’invite de commande de windows et l’utilitaire diskpart :

En résumé voici les commandes à réaliser :

C:\Users\Administrateur>diskpart

Microsoft DiskPart version 10.0.17763.1911

Copyright (C) Microsoft Corporation.
Sur l’ordinateur : WINDEPLOYFOG

DISKPART> list volume

  N° volume   Ltr  Nom          Fs     Type        Taille   Statut     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     D                       CD-ROM          0 o  0 média
  Volume 1         Réservé au   NTFS   Partition    549 M   Sain       Système
  Volume 2     C                NTFS   Partition     89 G   Sain       Démarrag
  Volume 3         Nouveau vol  NTFS   Partition     19 G   Sain

DISKPART> select volume 3

Le volume 3 est le volume sélectionné.

DISKPART> assign letter=E

DiskPart a correctement assigné la lettre de lecteur ou le point de montage.

DISKPART> Exit

De retour dans l’explorateur de fichier, le disque apparaît bien désormais :

Petit topo sur Diskpart (tant qu’à faire)

Diskpart est un outil en ligne de commande inclus dans de nombreuses versions de Windows, y compris Windows Server. Il est utilisé pour gérer les disques, les partitions et les volumes stockés sur un ordinateur ou dans une machine virtuelle. Voici quelques-unes de ses fonctionnalités :

  • Initialisation des disques : Diskpart peut être utilisé pour initialiser un disque dur ou SSD nouvellement installé afin qu’il puisse être utilisé par le système d’exploitation.
  • Création et suppression de partitions : Avec diskpart, vous pouvez créer de nouvelles partitions sur un disque, les étendre, les réduire ou les supprimer.
  • Formatage des volumes : Diskpart permet de formater des partitions avec un système de fichiers donné, tel que NTFS ou FAT32.
  • Attribution et suppression de lettres de lecteur : Vous pouvez assigner, modifier ou supprimer des lettres de lecteur pour les différents volumes de votre système.
  • Nettoyage des disques : Diskpart a une commande clean qui efface toutes les configurations de partition sur un disque sélectionné.

Pour l’utiliser, vous ouvrez une invite de commande avec des privilèges élevés (c’est-à-dire en tant qu’administrateur) et vous tapez diskpart. Une fois dans l’outil diskpart, vous disposez d’une interface en ligne de commande spécifique où vous pouvez entrer diverses commandes pour gérer vos disques.

Il est important de noter que diskpart est un outil puissant et que l’utilisation de certaines de ses commandes peut entraîner la perte de données si elles ne sont pas utilisées avec précaution. Il est donc conseillé de s’assurer que vous avez des sauvegardes de vos données avant de l’utiliser pour modifier les partitions de disque.

La solution plus simple : utiliser l’utilitaire de base d’ajout de disque de Windows

Aller dans « Gestion des disques »

Sélectionner le disque nouvellement ajouté qui apparait en noir

Clic droit -> Nouveau volume simple

Suivre la procédure, lui affecter un nom et tadaam tout fonctionne directement :

Virtualbox – Installation des additions invité sur une VM Debian

Le CD des additions invité dans VirtualBox, également appelé « Guest Additions », est une suite de pilotes et de logiciels qui permettent une meilleure intégration entre le système d’exploitation hôte et le système d’exploitation invité dans une machine virtuelle.

Ces additions invité améliorent les fonctionnalités et les performances de la machine virtuelle en fournissant des pilotes spécifiques et des outils qui facilitent l’interaction entre les deux systèmes.

Parmi les fonctionnalités améliorées par les additions invité, on peut citer :

  • Une meilleure résolution d’écran et une meilleure prise en charge des modes graphiques.
  • Une intégration plus fluide du pointeur de la souris entre l’hôte et l’invité.
  • Une meilleure prise en charge des périphériques USB et autres.
  • La possibilité de partager des dossiers entre l’hôte et l’invité.
  • Une meilleure synchronisation du temps entre l’hôte et l’invité.
  • Un accès facilité aux fonctionnalités réseau.

En résumé, le CD des additions invité de VirtualBox offre une gamme de pilotes et d’outils qui améliorent l’intégration et les performances des machines virtuelles dans VirtualBox, ce qui facilite l’utilisation de systèmes d’exploitation invités dans un environnement virtuel.

L’installation sur Windows étant intuitive (il suffit de double-cliquer sur le cd qui apparait dans le lecteur cd virtuel et de se laisser guider), ce n’est pas aussi simple et rapide sur un système Debian, et un débutant peut vite se retrouver coincé. Voici la manip à réaliser.

Installation des « Guest Addition » sur Debian

Depuis le menu de la machine virtuelle, cliquez sur Périphériques -> « Insérer l’image CD des additions invité » comme indiqué sur l’image ci-dessous:

Ensuite ouvrez le terminal Debian et montez le fichier ISO :

sudo mkdir -p /mnt/cdrom
sudo mount /dev/cdrom /mnt/cdrom

Naviguez vers le répertoire et exécutez le script VBoxLinuxAdditions.run pour installer les additions invité:

cd /mnt/cdrom
sudo sh ./VBoxLinuxAdditions.run --nox11

Redémarrez l’invité Debian pour que les modifications prennent effet:

sudo shutdown -r now

Une fois que la machine virtuelle a démarré, connectez-vous et vérifiez que l’installation a été réussie et que le module du noyau est chargé à l’aide de la commande lsmod:

La sortie ressemblera à ceci:

vboxguest 348160 2 vboxsf

Voilà, vous avez installé les additions invité VirtualBox sur votre machine invité Debian !

Tips & tricks pour changer de version de php sur Debian

Installer d’autres versions de PHP (en cas de problème de compatibilité)

Parfois, on veut tout mettre à jour et on se rend compte que les solutions qui dépendent de PHP ne sont pas compatibles avec ses dernières versions. Dans ce cas je propose une petite méthodo de résolution pour tester différentes versions de PHP :

Commencer par ajouter les dépôts sury

sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list

wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -

sudo apt update 

sudo apt install php8.0

Choisir la version de Php à utiliser

sudo update-alternatives --config php

Ce qui devrait proposer quelques choix :

There are 2 choices for the alternative php (providing /usr/bin/php).Selection    Path             Priority   Status
------------------------------------------------------------
  0            /usr/bin/php8.1   81        auto mode
* 1            /usr/bin/php8.0   80        manual mode
  2            /usr/bin/php8.1   81        manual modePress <enter> to keep the current choice[*], or type selection number:

Ne pas oublier de désactiver / réactiver php au niveau d’Apache (exemple si je veux passer de php8.1 à php8.0 :

sudo a2dismod php8.1
sudo systemctl restart apache2

sudo a2enmod php8.0 
sudo systemctl restart apache2

Il suffit ensuite de vérifier la version de PHP :

php -v
Output
PHP 8.0.18 (cli) (built: May  1 2022 04:42:09) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.18, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.18, Copyright (c), by Zend Technologies

Et de vérifier la version utilisée par Apache :

php -c /etc/php/apache2/php.ini -v
PHP 7.4.33 (cli) (built: Sep  4 2023 08:12:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies

Résoudre les problèmes de LogAnalyzer 1.13 et php 8.2

Environnement

Système d’exploitation : Debian 12

Version de php : 8.2

Version de Log Analyzer : 4.1.13

Problème détecté

Après l’installation de Log Analyzer, on peut rencontrer quelques soucis. Le premier et le plus courant étant celui-ci :

« Could not find the configured table, maybe misspelled or the tablenames are case sensitive« 

Pistes de résolutions (testées et approuvées) :

1. Vérifier la casse de l’info sur la table « SystemEvents » dans le fichier de configuration de LogAnalyzer

sudo nano /var/www/html/loganalyzer/config.php

Chercher la ligne contenant le terme « SystemEvents » (à la fin du fichier) et s’assurer que la casse est respectée :

2. Se connecter à l’admin center dans l’interface web,

Aller dans « sources », cliquer sur « modifier » puis vérifier que la casse est également respectée ici :

A ce stade, il se peut que l’interface fonctionne de nouveau dans son ensemble, sauf pour la page d’index de LogAnalyzer qui peut afficher une page blanche.

Dans ce cas, le bon réflexe est le suivant : activer les rapports d’erreur dans php.ini :

sudo nano /etc/php/8.2/apache2/php.ini

Cherche la ligne « display_errors » et la passer à « On »

Puis relancer apache2

systemctl restart apache2

En rechargeant la page d’accueil de Log Analyzer, le message suivant apparaît : « Fatal error: Uncaught mysqli_sql_exception: Unknown column ‘processid’ in ‘field list’« 

Pour résoudre ce problème, rdv dans Mysql pour ajouter manuellement les colonnes manquantes :

mysql -u root -p
USE Syslog;
ALTER TABLE SystemEvents
ADD COLUMN checksum INT NOT NULL;
ALTER TABLE SystemEvents
ADD COLUMN processid VARCHAR(60) NOT NULL;
exit

Après ça, en rafraichissant la page d’accueil, tout apparait comme il faut :

Sources qui m’ont aidé à résoudre ce souci :

https://github.com/rsyslog/loganalyzer/issues/75

Fièrement propulsé par WordPress & Thème par Anders Norén