RHCSA Series YUM Package Management, Automating Tasks with Cron and Survering System Journaux - Partie 10

RHCSA Series YUM Package Management, Automating Tasks with Cron and Survering System Journaux - Partie 10

Dans cet article, nous examinerons comment installer, mettre à jour et supprimer des packages dans Red Hat Enterprise Linux 7. Nous couvrirons également comment automatiser les tâches en utilisant cron, et finira ce guide expliquant comment localiser et interpréter les fichiers de journaux système en vous concentrant pourquoi toutes ces compétences sont des compétences essentielles pour chaque administrateur système.

RHCSA: Gestion des packages Yum, planification des travaux CRON et surveillance des journaux - Partie 10

Gestion des packages via miam

Pour installer un package avec toutes ses dépendances qui ne sont pas déjà installées, vous utiliserez:

# yum -y install package_name (s) 

package_name (s) représenter au moins un vrai nom de package.

Par exemple, pour installer httpd et mlacer (dans cet ordre), tapez.

# yum -y installer httpd mLocate 

Note: Que la lettre y Dans l'exemple ci-dessus, contourne les invites de confirmation que Yum présente avant d'effectuer le téléchargement et l'installation réels des programmes demandés. Vous pouvez le laisser de côté si vous voulez.

Par défaut, Miam Installera le package avec l'architecture qui correspond à l'architecture du système d'exploitation, sauf dépassement en ajoutant l'architecture du package à son nom.

Par exemple, sur un 64 bits système, Package d'installation de yum Installera le x86_64 Version du package, alors que Package d'installation de yum.x86 (si disponible) installera le 32 bits un.

Il y aura des moments où vous voudrez installer un package mais je ne connais pas son nom exact. Le chercher tout ou recherche Les options peuvent rechercher les référentiels actuellement activés pour un certain mot clé dans le nom du package et / ou dans sa description, respectivement.

Par exemple,

# Journal de recherche YUM 

Recherchera les référentiels installés pour les packages avec le mot de connexion dans leurs noms et résumés, alors que

# yum Recherchez tous les journaux 

recherchera le même mot clé dans la description du package et URL champs aussi.

Une fois que la recherche renvoyait une liste de packages, vous pouvez afficher plus d'informations sur certaines d'entre elles avant d'installer. C'est à ce moment que le Info L'option sera utile:

# yum info logwatch 
Informations sur les packages de recherche

Vous pouvez régulièrement vérifier les mises à jour avec la commande suivante:

# yum Check-update 

La commande ci-dessus renverra tous les packages installés pour lesquels une mise à jour est disponible. Dans l'exemple indiqué dans l'image ci-dessous, seulement RHEL-7-Server-RPMS A une mise à jour disponible:

Vérifiez les mises à jour du package

Vous pouvez ensuite mettre à jour ce package seul avec,

# yum met à jour RHEL-7-Server-RPMS 

S'il existe plusieurs packages qui peuvent être mis à jour, Mise à jour les mettront à jour tous à la fois.

Maintenant, que se passe-t-il lorsque vous connaissez le nom d'un exécutable, comme ps2pdf, Mais je ne sais pas quel package le fournit? Vous pouvez découvrir avec yum whatprovides «* / [exécutable]»:

# yum whatprovides «* / ps2pdf» 
Trouver le package appartient à quel package

Maintenant, quand il s'agit de supprimer un package, vous pouvez le faire avec Yum Retirez le package. Facile, hein? Cela montre que Yum est un gestionnaire de packages complet et puissant.

# yum supprimer httpd 

Lisez également: 20 commandes YUM pour gérer la gestion des packages RHEL 7

Bon vieux RPM ordinaire

RPM (alias RPM Package Manager, ou à l'origine Redhat Package Manager) peut également être utilisé pour installer ou mettre à jour des packages lorsqu'ils se présentent sous forme de autonome .RPM paquets.

Il est souvent utilisé avec le -Uvh des indicateurs pour indiquer qu'il doit installer le package s'il n'est pas déjà présent ou tenter de le mettre à jour s'il est installé (-U), produisant une sortie verbeuse (-v) et une barre de progression avec des marques de hachage (-H) Pendant que l'opération est effectuée. Par exemple,

# RPM -UVH Package.RPM 

Une autre utilisation typique de RPM est de produire une liste de packages actuellement installés avec du code> RPM -QA (abréviation de requête tous):

# RPM -QA 
Interroger tous les packages RPM

Lisez également: Commandes de 20 tr / min pour installer des packages dans RHEL 7

Planification des tâches à l'aide de cron

Linux et d'autres systèmes d'exploitation de type Unix incluent un outil appelé cron qui vous permet de planifier des tâches (je.e. commandes ou scripts shell) pour s'exécuter sur une base périodique. Cron vérifie chaque minute le / var / spool / cron Répertoire des fichiers qui sont nommés d'après les comptes dans / etc / passwd.

Lors de l'exécution des commandes, toute sortie est envoyée au propriétaire du crontab (ou à l'utilisateur spécifié dans le Courrier variable d'environnement dans le / etc / crontab, Si ça existe).

Fichiers Crontab (qui sont créés en tapant crontab -e et pressant Entrer) Avoir le format suivant:

Entrées crontab

Ainsi, si nous souhaitons mettre à jour la base de données de fichiers locaux (qui est utilisée par Locate pour trouver des fichiers par nom ou modèle) chaque deuxième jour du mois à 2h15, Nous devons ajouter ce qui suit crontab entrée:

15 02 2 * * / bin / updatedb 

L'entrée Crontab ci-dessus se lit comme suit: «Run / Bin / UpdatedB le deuxième jour du mois, chaque mois de l'année, quel que soit le jour de la semaine, à 2 h 15 du matin". Comme je suis sûr que vous l'avez déjà deviné, le symbole d'étoile est utilisé comme personnage générique.

Après avoir ajouté un travail cron, vous pouvez voir qu'un fichier nommé Root a été ajouté à l'intérieur / var / spool / cron, Comme nous l'avons mentionné plus tôt. Ce fichier répertorie toutes les tâches que le grond le démon devrait courir:

# ls -l / var / spool / cron 
Vérifiez tous les travaux cron

Dans l'image ci-dessus, le crontab de l'utilisateur actuel peut être affiché soit en utilisant CAT / var / spool / cron / root ou,

# crontab -l 

Si vous devez exécuter une tâche sur une base plus fine (par exemple, deux fois par jour ou trois fois par mois), Cron peut également vous aider à le faire.

Par exemple, pour exécuter /mon / script le 1er et 15e de chaque mois et envoyez toute sortie / dev / null, vous pouvez en ajouter deux crontab Entrées comme suit:

01 00 1 * * / myscript> / dev / null 2> & 1 01 00 15 * * / my / script> / dev / null 2> & 1 

Mais pour que la tâche soit plus facile à entretenir, vous pouvez combiner les deux entrées en une seule:

01 00 1,15 * * / my / script> / dev / null 2> & 1 

Après l'exemple précédent, nous pouvons courir / mon / autre / script à 1h30 Le premier jour du mois tous les trois mois:

30 01 1 1,4,7,10 * / my / autre / script> / dev / null 2> & 1 

Mais quand vous devez répéter une certaine tâche à chaque «X«Minutes, heures, jours ou mois, vous pouvez diviser la bonne position par la fréquence souhaitée. Ce qui suit crontab L'entrée a exactement la même signification que la précédente:

30 01 1 * / 3 * / mon / autre / script> / dev / null 2> & 1 

Ou peut-être avez-vous besoin d'exécuter un certain travail sur une fréquence fixe ou après les bottes du système, par exemple. Vous pouvez utiliser l'une des chaînes suivantes au lieu des cinq champs pour indiquer l'heure exacte lorsque vous souhaitez que votre travail fonctionne:

@reboot s'exécute lorsque le système botte. @yearly courir une fois par an, comme 00 00 1 1 *. @monthly exécuter une fois par mois, comme 00 00 1 * *. @Weekly Run une fois par semaine, comme 00 00 * * 0. @Daily Run une fois par jour, comme 00 00 * * *. @hourly courir une fois par heure, identique à 00 * * * *. 

Lisez également: 11 Commandes pour planifier des emplois cron dans le rhel 7

Localisation et vérification des journaux

Les journaux système sont situés (et tournés) à l'intérieur du / var / log annuaire. Selon la norme de la hiérarchie du système de fichiers Linux, ce répertoire contient divers fichiers journaux, qui y sont écrits ou un sous-répertoire approprié (comme Audit, httpd, ou samba dans l'image ci-dessous) par les démons correspondants pendant le fonctionnement du système:

# ls / var / log 
Emplacement des fichiers journaux Linux

Les autres journaux intéressants sont DMESG (contient tous les messages du tampon de bague du noyau), Secure (connexions de journaux tentatives qui nécessitent une authentification des utilisateurs), des messages (messages à l'échelle du système) et WTMP (enregistrements de toutes les connexions et déconnexions des utilisateurs).

Les journaux sont très importants en ce qu'ils vous permettent d'avoir un aperçu de ce qui se passe à tout moment dans votre système, et ce qui s'est passé dans le passé. Ils représentent un outil inestimable pour dépanner et surveiller un serveur Linux, et sont donc souvent utilisés avec le Commande de queue -f Pour afficher les événements, en temps réel, tels qu'ils se produisent et sont enregistrés dans un journal.

Par exemple, si vous souhaitez afficher lié au noyau Événements, saisissez la commande suivante:

# Tail -F / Var / Log / DMESG 

Idem si vous souhaitez afficher l'accès à votre serveur Web:

# tail -f / var / log / httpd / access.enregistrer 

Résumé

Si vous savez comment gérer efficacement les packages, planifier des tâches et où rechercher des informations sur le fonctionnement actuel et passé de votre système, vous pouvez vous assurer que vous ne rencontrerez pas les surprises très souvent. J'espère que cet article vous a aidé à apprendre ou à rafraîchir vos connaissances sur ces compétences de base.

N'hésitez pas à nous laisser une ligne en utilisant le formulaire de contact ci-dessous si vous avez des questions ou des commentaires.