Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
serveurs:installation:divers [2022/06/16 14:18] – [Commande Screen] jpmilcent | serveurs:installation:divers [2023/09/20 15:28] (Version actuelle) – [Installer Liquidprompt] jpmilcent |
---|
====== Installation/Configuration diverses ====== | ====== Installation/Configuration diverses ====== |
| |
==== Ajout d'une entré au script update-alternatives pour Python 2 et 3 ==== | |
Si pour une raison ou une autre, il est nécessaire d'installer les 2 versions majeures de Python, il est utile de créer une entrée dans l'outil Debian "//update-alternatives//". | |
Exemple pour Python 2.7 et Python 3.7 : | |
* ''<nowiki> python --version </nowiki>'' : doit afficher "Python 2.7.16" | |
* ''<nowiki> update-alternatives --list python </nowiki>'' : doit afficher "update-alternatives: erreur: pas d'alternatives pour python" | |
* ''<nowiki> update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 </nowiki>'' : ajoute l'aternative python2.7 et doit afficher "update-alternatives: utilisation de « /usr/bin/python2.7 » pour fournir « /usr/bin/python » (python) en mode automatique" | |
* ''<nowiki> update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2 </nowiki>'' : ajoute l'aternative python3.7 et doit afficher "update-alternatives: utilisation de « /usr/bin/python3.7 » pour fournir « /usr/bin/python » (python) en mode automatique" | |
* ''<nowiki> python --version </nowiki>'' : doit maintenant afficher "Python 3.7.3" | |
* ''<nowiki> update-alternatives --list python </nowiki>'' : doit afficher <code> | |
/usr/bin/python2.7 | |
/usr/bin/python3.7 | |
</code> | |
* ''<nowiki> update-alternatives --config python </nowiki>'' : permet de configurer l'alternative. | |
* ''<nowiki> update-alternatives --remove python2.7 </nowiki>'' : permet de supprimer une alternative (ici 2.7) dans le cas où le paquet n'est plus installé sur le système. | |
| |
<note>**ATTENTION** : la version de Pip n'est pas mise à jour en correspondance. Du coup, l'utilisation de ''pip2'' ou ''pip'' échoue quand la version 3 de python est utilisée... Seul ''pip3'' fonctionne. => Trouver une solution.</note> | |
| |
===== Commande Screen ===== | ===== Commande Screen ===== |
* Certains scripts lancés sur le serveur peuvent prendre plusieurs heures pour s’exécuter. Afin de pouvoir revenir sur l'état du script en cas de déconnexion du SSH, nous allons installer la commande ''screen''. Elle permet de créer un session qui peut être récupéré à tout moment. | * Certains scripts lancés sur le serveur peuvent prendre plusieurs heures pour s’exécuter. Afin de pouvoir revenir sur l'état du script en cas de déconnexion du SSH, nous allons installer la commande ''screen''. Elle permet de créer un session qui peut être récupéré à tout moment. |
* Installer la commande : ''aptitude install screen'' | * Installer la commande : ''apt install screen'' |
* Principe générale d'utilisation de ''Screen'' : | * Principe générale d'utilisation de ''Screen'' : |
- Pour lancer une nouvelle session : ''screen -S <nom-de-la-session>'' | - Pour lancer une nouvelle session : ''screen -S <nom-de-la-session>'' |
* Quitter et supprimer une session en cours : ''CTRL+a'' et '':quit'' | * Quitter et supprimer une session en cours : ''CTRL+a'' et '':quit'' |
* Pour supprimer une session : ''screen -X -S <number.session-name> quit '' | * Pour supprimer une session : ''screen -X -S <number.session-name> quit '' |
| |
| ===== Configurer le layout du clavier par défaut ===== |
| |
| Afin d'accéder à la console VNC de l'interface OVH avec une clavier Azerty, il est nécessaire de le configurer : |
| * ''apt install keyboard-configuration '' : choisir Français - latin 9 seulement, 105 touches. |
| * S'il faut le reconfigurer : '' dpkg-reconfigure keyboard-configuration '' |
| * Pour que cela soit pris en compte dans la console VNC : |
| * ''apt install console-setup'' |
| * ''service keyboard-setup restart'' |
| * Tester sur l'interface d'OVH l'accès à la console VNC, assurer vous que le clavier Azerty fonctionne correctement. |
| |
| ===== Installer Liquidprompt ===== |
| * Les utilisateurs des instances ayant besoins de clôner des dépôts Git peuvent installer [[https://liquidprompt.readthedocs.io/en/stable/|Liquidprompt]] pour avoir des informations sur le dépôt visible dans la Console. C'est le cas des utilisateurs **geonat** et **admin** sur les instances //web-srv// et //db-srv//. |
| * Se connecter sur l'instance avec l'utilisateur concerné. |
| * Créer un nouveau dossier qui hébergera les applications locales à l'utilisateur : ''mkdir ~/apps'' |
| * Se placer dans ce nouveau dossier : ''cd ~/apps'' |
| * Clôner le dépôt Liquidprompt : ''%%git clone https://github.com/nojhan/liquidprompt.git%%'' |
| * Ajouter cette ligne au fichier //.bashrc// :''vi ~/.bashrc'' <code bash> |
| # Only load Liquid Prompt in interactive shells, not from a script or from scp |
| [[ $- = *i* ]] && source ~/apps/liquidprompt/liquidprompt |
| </code> |
| * Créer un fichier de configuration pour indiquer la coloration de l'utilisateur dans le prompt de la console : ''mkdir ~/.config/; vi ~/.config/liquidpromptrc'' <code properties> |
| # Current user (root) |
| #LP_COLOR_USER_LOGGED="$RED" |
| # Current user (admin) |
| #LP_COLOR_USER_LOGGED="$YELLOW" |
| # Current user (geonat et autres utilisateurs) |
| #LP_COLOR_USER_LOGGED="$GREEN" |
| </code> |
| * Décommenter la ligne //LP_COLOR_USER// correspondant à votre utilisateur et supprimer les autres. |
| * Relancer le Shell pour prendre en compte les changements : ''source ~/.bashrc'' |
| |
| ===== Configurer Git pour un utilisateur ===== |
| * Créer un fichier //~/.gitconfig// et ajouter le contenu suivant : ''vi ~/.gitconfig''<code properties> |
| [core] |
| editor = vim |
| [credential] |
| helper = cache --timeout=86400 |
| [color] |
| ui = true |
| [push] |
| default = simple |
| [pull] |
| ff = only |
| [alias] |
| co = checkout |
| ci = commit |
| st = status |
| br = branch |
| pfl = push --force-with-lease |
| lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -- |
| </code> |
| * Ajouter les éléments suivant au fichier //~/.bash_aliases// : ''vi ~/.bash_aliases'' <code bash> |
| # Alias pour Git |
| alias gs='git status ' |
| alias gb='git branch ' |
| alias gd='git diff' |
| </code> |
| |
| ===== Rechercher un mot de passe sur tout le système ===== |
| |
| * Ressource : [[https://medium.com/@tinopreter/linux-password-mining-58e341635f1c|Linux Password Mining — Extract Passwords from files and Memory Heaps]] -- 22 novembre 2022 |
| * Afin de retrouver tous les fichiers stockant un mot de passe spécifique, il est possible d'utiliser la commande : <code bash> |
| grep --color=auto -rnw '/' -ie "<mot-de-passe>" --color=always 2>/dev/null |
| </code> |
| * Il est possible de limiter la recherche à un dossier et ses sous-dossiers en changeant le chemin du paramètre ''-rnw '<chemin>' ''. |
| * La commande //find// peut aussi être employé en conjonction avec //grep// : <code bash>find '/' -type f -exec grep -i -I "<mot-de-passe>" {} /dev/null \;</code> |
| |
| |
| |
| ==== 🗑️ Ajout d'une entré au script update-alternatives pour Python 2 et 3 ==== |
| Si pour une raison ou une autre, il est nécessaire d'installer les 2 versions majeures de Python, il est utile de créer une entrée dans l'outil Debian "//update-alternatives//". |
| Exemple pour Python 2.7 et Python 3.7 : |
| * ''<nowiki> python --version </nowiki>'' : doit afficher "Python 2.7.16" |
| * ''<nowiki> update-alternatives --list python </nowiki>'' : doit afficher "update-alternatives: erreur: pas d'alternatives pour python" |
| * ''<nowiki> update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 </nowiki>'' : ajoute l'aternative python2.7 et doit afficher "update-alternatives: utilisation de « /usr/bin/python2.7 » pour fournir « /usr/bin/python » (python) en mode automatique" |
| * ''<nowiki> update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2 </nowiki>'' : ajoute l'aternative python3.7 et doit afficher "update-alternatives: utilisation de « /usr/bin/python3.7 » pour fournir « /usr/bin/python » (python) en mode automatique" |
| * ''<nowiki> python --version </nowiki>'' : doit maintenant afficher "Python 3.7.3" |
| * ''<nowiki> update-alternatives --list python </nowiki>'' : doit afficher <code> |
| /usr/bin/python2.7 |
| /usr/bin/python3.7 |
| </code> |
| * ''<nowiki> update-alternatives --config python </nowiki>'' : permet de configurer l'alternative. |
| * ''<nowiki> update-alternatives --remove python2.7 </nowiki>'' : permet de supprimer une alternative (ici 2.7) dans le cas où le paquet n'est plus installé sur le système. |
| |
| <note>**ATTENTION** : la version de Pip n'est pas mise à jour en correspondance. Du coup, l'utilisation de ''pip2'' ou ''pip'' échoue quand la version 3 de python est utilisée... Seul ''pip3'' fonctionne. => Trouver une solution.</note> |
| |
| |