


Automatisation des résumés de mise à jour des paquets Debian avec Python et Gemini (gemini--flash)
Si vous utilisez une distribution de type Debian et que vous êtes un nouvel utilisateur ou que vous commencez tout juste votre carrière en tant que administrateur système, vous connaissez probablement déjà l'importance de la mise à jour des paquets. en utilisant la mise à jour apt. Vous souhaiterez peut-être également comprendre ce que fait chaque package pour en savoir plus sur Linux. De plus, les administrateurs système (administrateurs système) doivent souvent communiquer ou documenter aux parties prenantes quelles mises à jour sont urgentes ou liées à la sécurité.
Dans cet article, je vais vous montrer comment combiner Python, la commande apt list -u et Gemini AI pour créer des résumés lisibles par l'homme des mises à jour de packages en attente.
Le but ?
- Récupérez la liste des mises à jour en attente sur Debian à l'aide de la commande apt list -u. Remarque : Si vous le souhaitez, vous pouvez modifier la sortie en utilisant quelque chose comme :
apt list -u | awk '{ print }' | sed 's|/.*||'
- Envoyez cette liste à Gemini AI (en utilisant la bibliothèque générative de Google).
- Utilisez l'IA pour catégoriser et résumer l'importance de chaque mise à jour de package.
- Enregistrez les résultats dans un fichier Markdown pour faciliter le partage.
Exigences ?
- Python 3.8
- Clé API Google Gemini
- Bibliothèques requises : pip installez les environs google-generativeai
- Système basé sur Debian : ce script s'appuie sur la commande apt.
Le code
Voici une répartition de la solution en deux scripts :
apt_list.py
Ce script exécute apt list -u pour récupérer les mises à jour en attente, traite la sortie et utilise la fonction d'invite pour obtenir des résumés catégorisés de Gemini AI.
import subprocess from utils.gemini_cfg import prompt try: # Run 'apt list -u' to list upgradable packages result = subprocess.run(["apt", "list", "-u"], capture_output=True, text=True, check=True) output = result.stdout # Get command output # Use the Gemini AI model to summarize the updates summary = prompt(output) # Save the AI-generated summary to a Markdown file with open("./gemini_result.md", "w") as file: file.write(summary) print("Summary saved to gemini_result.md") except subprocess.CalledProcessError as e: print("Error while running apt list:", e)
gemini_cfg.py
Ce script configure l'API Gemini et définit la fonction d'invite pour le contenu généré par l'IA.
import google.generativeai as genai from environs import Env # Load API key from .env file env = Env() env.read_env() key = env("TOKEN") # Replace with your environment variable key name # Configure Gemini API genai.configure(api_key=key) model = genai.GenerativeModel("gemini-1.5-flash") # Function to prompt Gemini AI for summaries def prompt(content): message = ( "You work as a sysadmin (Debian server infrastructure). " "You must create a list categorizing the importance in terms of security and priority, " "providing a brief summary for each package so that business managers can understand " "what each library is from this output of the `apt list -u` command: " f"{content}" ) response = model.generate_content([message]) return response.text
- Exécutez le script apt_list.py : python apt_list.py
-
Le script fait ce qui suit :
- Récupère les mises à jour du paquet Debian en attente.
- Transmet la liste à Gemini AI pour catégorisation et explication.
- Enregistre la sortie générée par l'IA dans gemini_result.md.
Ouvrez gemini_result.md pour voir un résumé clair et catégorisé des mises à jour pour faciliter la communication.
Exemple de sortie
Voici un exemple de ce à quoi pourrait ressembler le résumé généré :
## Debian Package Update List: Priority and Security The list below categorizes the packages available for update, considering their importance in terms of security and business operation priority. The classification is subjective and may vary depending on your company's specific context. **Category 1: High Priority - Critical Security (update immediately)** - **linux-generic, linux-headers-generic:** Critical kernel updates to fix security vulnerabilities. - **libcurl4:** Resolves potential security issues for data transfer operations. ... **Category 2: High Priority - Maintenance and Stability (update soon)** * **`e2fsprogs`, `logsave`:** Packages related to ext2/ext3/ext4 file systems. Update to ensure data integrity and file system stability. **Medium-High priority.** ... **Category 3: Medium Priority - Applications (update as needed)** * **`code`:** Visual Studio Code editor. Update for new features and bug fixes, but not critical for system security. * **`firefox`, `firefox-locale-en`, `firefox-locale-pt`:** Firefox browser. Updates for security fixes and new functionalities. Priority depends on Firefox usage in your infrastructure. ...
Conclusion
Avec un peu de Python et Gemini AI, vous pouvez automatiser et améliorer la façon dont vous communiquez les mises à jour des paquets Debian. Ce script constitue une excellente base pour intégrer l'IA dans les flux de travail de l'administrateur système. Cet article est à des fins éducatives, alors soyez attentif aux ressources de l'API Gemini, ainsi qu'à la gestion sécurisée de votre système.
Merci d'avoir lu ! ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Fastapi ...

Utilisation de Python dans Linux Terminal ...

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

À propos de Pythonasyncio ...

Comprendre la stratégie anti-rampe d'investissement.com, Beaucoup de gens essaient souvent de ramper les données d'actualités sur Investing.com (https://cn.investing.com/news/latest-news) ...

Chargement du fichier de cornichon dans Python 3.6 Erreur d'environnement: modulenotFounonError: NomoduLenamed ...

Discussion sur les raisons pour lesquelles les fichiers de pipelines ne peuvent pas être écrits lors de l'utilisation de robots scapisnels lors de l'apprentissage et de l'utilisation de Crawlers scapides pour un stockage de données persistant, vous pouvez rencontrer des fichiers de pipeline ...
