# Linux

# Tools

# Composer

# Méthode 1 Installation

Command-line installation :
```
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
```

Binary PATH :
```
sudo mv composer.phar /usr/local/bin/composer
```

### Notable Installer Options

--install-dir

```
You can install composer to a specific directory by using the --install-dir option and providing a target directory. Example:
php composer-setup.php --install-dir=bin
```

--filename
```
You can specify the filename (default: composer.phar) using the --filename option. Example:

php composer-setup.php --filename=composer
```

--version
```
You can install composer to a specific release by using the --version option and providing a target release. Example:

php composer-setup.php --version=1.0.0-alpha8
```

# Méthode 2 Installation

Install Composer In Your Project
Run this in your command line:
```
curl -sS https://getcomposer.org/installer | php
```

Install Dependencies
```
php composer.phar install
```
Autoload Dependencies
```
require 'vendor/autoload.php';
```

# Install PHPX.X on Debian

```
apt install php8.1-{apcu,bcmath,bz2,cli,common,curl,fpm,gd,gmp,igbinary,imagick,imap,mbstring,mysql,odbc,opcache,pgsql,readline,redis,soap,sqlite3,sybase,xml,xmlrpc,zip,intl}
```

# Snapcraft

## Installation 
## Command Line

* Voir les installations en cours/terminées
```
snap changes
```

Result:
```
Identifiant  État   Descendance                               Prêt                                      Résumé
1            Done   aujourd'hui à 21h13, heure des Rocheuses  aujourd'hui à 21h13, heure des Rocheuses  Initialize system state
2            Error  aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h57, heure des Rocheuses  Installer le paquet Snap "obs-studio" from "latest/stable" channel
3            Done   aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h23, heure des Rocheuses  Initialiser l'appareil
4            Done   aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h54, heure des Rocheuses  Installer le paquet Snap "discord" from "latest/stable" channel
5            Error  aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h58, heure des Rocheuses  Installer le paquet Snap "thunderbird" from "latest/stable" channel
6            Doing  aujourd'hui à 22h03, heure des Rocheuses  -                                         Installer le paquet Snap "obs-studio" from "latest/stable" channel
```

* Afficher les l'avancées des actions d'une tâche/identifiant 
```
snap task $identifiant
snap task 3
```

Result : 
```
État  Descendance                               Prêt                                      Résumé
Done  aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h23, heure des Rocheuses  Générer la clé du périphérique
Done  aujourd'hui à 21h23, heure des Rocheuses  aujourd'hui à 21h23, heure des Rocheuses  Demander le numéro de série de l'appareil
```

* Abord a task :
```
snap abord $identifiant
```

* refresh a task :
```
snap refresh $identifiant
```

# ldap

ldap-utils
https://wiki.debian.org/LDAP/LDAPUtils

# Outillage

## Réseau
- iperf
- nuttcp

# Monter un volume Google Drive avec Rclone

#### **Pré-requis**
- Curl
- Accès WAN
- Un compte Google
#### Installation de Rclone
```bash
curl -fsSL https://rclone.org/install.sh | bash
```

Tunnel SSH
```
ssh -L 53682:localhost:53682 root@192.168.1.200
```

# CentOS

# YUM

yum list postgresql11-server --showduplicates
https://www.golinuxcloud.com/yum-install-specific-version/

# Raspberry PI

# WIFI

* Edit /etc/netwok/interfaces like this and add your networks SSID and password:
```
auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0

iface wlan0 inet dhcp
        wpa-ssid "YOUR-NETWORK-SSID"
        wpa-psk "YOUR-PASSWORD"
```

# Scanner de vulnérabilité

https://www.it-connect.fr/creer-un-scanner-de-vulnerabilites-avec-un-raspberry-pi-mais-pas-que/

# Acess List

# facl

https://www.ibm.com/docs/en/zos/2.1.0?topic=scd-setfacl-set-remove-change-access-control-lists-acls
https://symfony.com/doc/current/setup/file_permissions.html#using-acl-on-a-system-that-supports-setfacl-linux-bsd

# Disk Health

# FSCK

https://phoenixnap.com/kb/fsck-command-linux

# TRIM sur disque chiffré

Booter en live CD
Ne pas monter de système de fichier, ce sera fait plus tard (sélectionner Do not use a root file system)
```
cryptsetup --allow-discards luksOpen /dev/vda3 vda3crypt
lvscan
lvchange -a y dvsXXXXX-vg
mount -o discard /dev/dvsXXXXX-vg/root /mnt
fstrim -v /mnt
umount /mnt
```