Commandes essentielles pour l'administration des machines virtuelles Linux

Gestion des processus système

Utilisez ps aux | grep java pour inspecter les processus Java actifs. L'instruction source /etc/profile applique immédiatement les modifications apportées aux fichiers de configuration.

Pour vérifier le statut de MySQL, exécutez ps aux | grep mysql.

Remarque : la syntaxe aux (style BSD) tronque la colonne commande, contrairement à -ef (style System V).

Installation des outils fondamentaux

Installez les utilitaires courents via :

yum install -y wget vim net-tools lrzsz

Configuration réseau et adresses IP statiques

Pour une machine virtuelle, l'interface réseau se nomme généralement ens33, tandis que sur un environnement cloud, elle peut être eth0.

Éditez le fichier de configuration correspondant :

vim /etc/sysconfig/network-scripts/ifcfg-ens33

Supprimez la ligne UUID et remplacez dhcp par static. Ajoutez ensuite les paramètres :

IPADDR=192.168.1.20
GATEWAY=192.168.1.1
NETMASK=255.255.255.0
DNS1=192.168.1.1
DNS2=8.8.4.4

Redémarrez le service réseau :

systemctl restart network

Configuration du dépôt de paquets YUM

Sauvegardez le fichier d'origine :

cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.backup

Téléchargez et configurez un dépôt alternatif :

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

Réinitilaisez le cache des paquets :

yum clean all && yum makecache

Installation de Git

yum install -y git

Mise en place de l'environnement Java

Insatllez la version 1.8 de Java :

yum install -y java-1.8*

Vérifiez les packages installés :

rpm -qa | grep java

Modifiez le fichier de profil système :

vim /etc/profile

Ajoutez les lignes suivantes :

export JDK_HOME=/usr/lib/jvm/java-1.8.0
export CLASSPATH=.:$JDK_HOME/jre/lib/rt.jar:$JDK_HOME/lib/dt.jar:$JDK_HOME/lib/tools.jar
export PATH=$PATH:$JDK_HOME/bin

Appliquez les changements avec source /etc/profile.

Installation et configuration de Maven

Téléchargez l'archive de Maven :

wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

Décompressez et déplacez le répertoire :

tar -zxvf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3-bin.tar.gz maven
cd maven

Intégrez Maven au PATH en éditant /etc/profile :

export MAVEN_HOME=/usr/local/maven
export PATH=$JDK_HOME/bin:$JDK_HOME/jre/bin:$MAVEN_HOME/bin:$PATH

Exécutez source /etc/profile pour valider.

Vérification des ports et occupation mémoire

Pour savoir si un port spécifique (par exemple 2181) est en écoute :

netstat -anp | grep 2181

Options de netstat : -a (toutes les connexions), -n (affichage numérique), -p (identifiant de processus).

Exploration de l'arbre des processus

Affichez l'identifiant du processus courant avec echo $$.

Pour obtenir des outils avancés comme pstree :

yum -y install psmisc

Visualisez la hiérarchie des processus via pstree.

Paramétrage du pare-feu avec firewalld

Listez tous les ports ouverts :

firewall-cmd --zone=public --list-ports

Contrôlez les ports en écoute :

netstat -nltp

Ouvrir un port (ici 9090) :

firewall-cmd --zone=public --add-port=9090/tcp --permanent

Fermer un port :

firewall-cmd --zone=public --remove-port=9090/tcp --permanent

Autoriser l'accès depuis une IP spécifique à un port :

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.150" port protocol="tcp" port="5432" accept"

Ajouter une règle pour une IP :

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.100" accept"

Supprimer une règle d'accès par IP :

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.60" accept"

Autoriser un sous-réseau complet :

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" accept"

Ouvrir un port pour un sous-réseau :

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="8080" accept"

Recharger les règles :

firewall-cmd --reload

Commandes de gestion du service :

systemctl restart firewalld
systemctl start firewalld
systemctl status firewalld
systemctl disable firewalld
systemctl enable firewalld

Pour obtenir l'état du pare-feu :

firewall-cmd --state

Installation et administration de Redis

Téléchargez la distribution de Redis :

wget http://download.redis.io/releases/redis-6.0.9.tar.gz

Démarrez Redis en mode démon :

./redis-server redis.conf &

Contrôlez les processus Redis :

ps aux | grep redis

Lancez l'interface de ligne de commande :

./redis-cli

Pour arrêter proprement le service :

./redis-cli shutdown

Se connecter à une instance distante :

./redis-cli -h 192.168.50.200 -p 6380

Déploiement de Zookeeper

Récupérez l'archive de Zookeeper :

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz

Définissez les variables d'environnement :

export ZK_HOME=/opt/zookeeper-3.6.3
export PATH=$PATH:$ZK_HOME/bin

Commandes pour gérer le serveur :

./zkServer.sh start
./zkServer.sh stop
./zkServer.sh status

Connexion au client Zookeeper :

./zkCli.sh -server 192.168.10.1,192.168.10.2,192.168.10.3

Utilisation de Kafka

Lancer le serveur Kafka :

./bin/kafka-server-start.sh -daemon ./config/server.properties

Lister les topics disponibles dans le cluster :

bin/kafka-topics.sh --list --zookeeper 192.168.10.1:2181

Obtenir les détails d'un topic spécifique :

bin/kafka-topics.sh --describe --zookeeper 192.168.10.1:2181 --topic mon_topic

Configuration de MySQL

Procurez-vous le package RPM pour le dépôt MySQL :

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

Retirez les paquets conflictuels éventuels :

yum remove mariadb-libs -y

Installez le dépôt :

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

Installez le serveur MySQL :

yum -y install mysql-community-server

Démarrez et activez le service au démarrage :

systemctl start mysqld
systemctl enable mysqld
systemctl daemon-reload

Récupérez le mot de passe initial depuis les journaux :

grep 'temporary password' /var/log/mysqld.log

Connectez-vous et modifiez le mot de passe :

mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NouveauMdp!2023';

Inspectez les stratégies de mot de passe :

SHOW VARIABLES LIKE '%password%';

Créer un utilisateur avec accès distant :

GRANT ALL PRIVILEGES ON *.* TO 'utilisateur_ext' IDENTIFIED BY 'Secret789!' WITH GRANT OPTION;

Configurer l'encodage UTF-8 dans le fichier /etc/my.cnf :

[mysqld]
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'

Mise en place d'OpenResty

Préparez les dépendances requises :

yum install -y libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl

Téléchargez et compilez OpenResty :

wget https://openresty.org/download/openresty-1.19.3.1.tar.gz
tar -zxvf openresty-1.19.3.1.tar.gz
cd openresty-1.19.3.1
./configure
make
sudo make install

Étiquettes: Linux machine-virtuelle bash réseau Pare-feu

Publié le 23 juillet à 00h50