Jeudi, Décembre 9, 2021

Configurer les services en démarrage automatique

Récemment un service critique d’un de mes serveurs s’est arrêté. En voulant le redémarrer j’ai constaté que le service était en StartType à Disabled, autrement dit il n’y avait aucune chance pour que le service puisse être démarré même manuellement.

En investiguant 30 sec :) je me suis aperçu que plusieurs autres services essentiels, qui étaient encore démarrés, avaient potentiellement le même problème à savoir le StartType à Disabled.

Plutôt que de cliquer sur chaque service pour le reconfigurer via l’interface Services de Windows, j’ai préféré utiliser la ligne de commande. Et ça marche bien :)

Voici la commande utilisée pour reconfigurer tous les services impactés de mon serveur:

Get-Service | Where-Object {$_.DisplayName -like 'SolarWinds*' -and $_.StartType -like 'Disabled'} | Select Name | Set-Service -StartType Automatic

Ensuite pour confirmer que la manipulation a bien fonctionné

Get-Service | Where-Object {$_.DisplayName -like 'SolarWinds*' -and $_.StartType -like 'Disabled'} | Select Name

Et voilà maintenant les services sont configurés correctement !

Mardi, Novembre 23, 2021

Configuration d’un proxy pour APT

Pour pouvoir utiliser les commandes apt sur une machine qui se connecte à internet via un proxy il faut configurer le fichier proxy.conf qui va indiquer quelle url la commande apt doit utiliser.

  1. Création du fichier proxy.conf
sudo nano /etc/apt/apt.conf.d/proxy.conf
  1. Ajout des lignes du proxy
Acquire::http::Proxy "http://user:password@proxy.server:port/";
Acquire::https::Proxy "http://user:password@proxy.server:port/";

A noter que les user et password peuvent-être optionnels en fonction de la configuration du proxy.

  1. Enregistrement du fichier de configuration Ctrl-o
  2. La configuration est prise en compte au prochain lancement de la commande apt

Vendredi, Novembre 19, 2021

Python - environnement virtuel

Environnement virtuel

python -m venv .venv

Activation sous Windows

.venv/Scripts/activate

Activation sous Linux

source .venv/Scripts/activate

Désactivation sous Windows

deactivate

Installation de module avec pip

pip install nom_du_module

Avec un proxy en utilisant —proxy, le user et le password sont à renseigner si besoin

pip install nom_du_module --proxy http://user:password@proxy:port 

Mise à jour des modules

On peut mettre à jour les modules y compris pip.

pip install --upgrade pip

Afficher les routes réseaux

Linux

Sous linux voici trois façons d’obtenir une informations similaire avec des commandes différentes

Commande route

[user@machine ~]$ route -ne
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.254  0.0.0.0         UG        0 0          0 ens192
192.168.0.0    0.0.0.0         255.255.255.0   U         0 0          0 ens192
  • -n affiche les adresses numériques sans résolution de nom
  • -e

Commande netstat

[user@machine ~]$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.254  0.0.0.0         UG        0 0          0 ens192
192.168.0.0    0.0.0.0         255.255.255.0   U         0 0          0 ens192

Commande ip

[user@machine ~]$ ip route list
default via 192.168.0.254 dev ens192 proto static metric 100
192.168.0.0/20 dev ens192 proto kernel scope link src 192.168.0.100 metric 100

Windows

Sous Windows voici deux façons d’afficher les route:

La façon historique avec la commande batch

route print

La version moderne en PowerShell. A noter que de base je trouve la version PowerShell moins utile :)

Get-NetRoute

Couchdb - la base

Upload de fichier Powershell

Contexte:

des fichier json sont preésents dans une arborescende de dossier et doivent être uplaoder dans le serveur couchdb.

$files = ls *.json -Recurse -File | select FullName
foreach ($file in $files) {$f = $file.Fullname; curl -X POST "http://admin:password@server_couchdb:5984/alerts" -d "@$f" -H "Content-Type:application/json"}
  • ligne 1 : liste les fichiers json du répertoire courant et des sous-répertoires, en sélectionnant le Fullname c’est à dire le chemin complet
  • ligne 2 : pour chaque item on envoi le fichier json vers le serveur couchdb

Accès à l’interface web

L’accès se fait via un browser web à l’URL suivante: http://server_couchdb:5984/_utils/

Requête basique

Afficher tous les records:

{
   "selector": {
      "_id": {
         "$gt": null
      }
   }
}

Afficher tous les records mais en séectionnant les colonnes:

{
   "selector": {
      "_id": {
         "$gt": null
      }
   },
   "fields": [
      "column1",
      "column2",
      "column3.sub1",
      "column5.sub1.sub2"
   ]
}