Rumah >pembangunan bahagian belakang >Tutorial Python >Mengautomasikan Ringkasan Kemas Kini Pakej Debian dengan Python dan Gemini (gemini--flash)
Jika anda menggunakan distro seperti Debian dan merupakan pengguna baharu atau baru memulakan kerjaya anda sebagai sysadmin, anda mungkin sudah tahu kepentingan mengemas kini pakej menggunakan kemas kini apt. Anda juga mungkin ingin memahami perkara yang dilakukan oleh setiap pakej untuk mengetahui lebih lanjut tentang Linux. Selain itu, pentadbir sistem (sysadmins) selalunya perlu berkomunikasi atau mendokumentasikan kepada pihak berkepentingan tentang kemas kini yang mendesak atau berkaitan keselamatan.
Dalam siaran ini, saya akan menunjukkan kepada anda cara menggabungkan Python, arahan senarai apt -u dan Gemini AI untuk membuat ringkasan kemas kini pakej yang belum selesai yang boleh dibaca oleh manusia.
apt list -u | awk '{ print }' | sed 's|/.*||'
Berikut ialah pecahan penyelesaian merentas dua skrip:
Skrip ini menjalankan apt list -u untuk mengambil kemas kini yang belum selesai, memproses output dan menggunakan fungsi gesaan untuk mendapatkan ringkasan yang dikategorikan daripada 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)
Skrip ini mengkonfigurasi API Gemini dan mentakrifkan fungsi gesaan untuk kandungan yang dijana AI.
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
Skrip melakukan perkara berikut:
Buka gemini_result.md untuk melihat ringkasan kemas kini yang jelas dan dikategorikan untuk memudahkan komunikasi.
Berikut ialah contoh rupa ringkasan yang dijana:
## 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. ...
Dengan sedikit Python dan Gemini AI, anda boleh mengautomasikan dan menambah baik cara anda menyampaikan kemas kini pakej Debian. Skrip ini adalah asas yang sangat baik untuk menyepadukan AI ke dalam aliran kerja sysadmin. Siaran ini adalah untuk tujuan pendidikan, jadi berhati-hati dengan sumber Gemini API, serta pengendalian sistem anda yang selamat.
Terima kasih kerana membaca! ?
Atas ialah kandungan terperinci Mengautomasikan Ringkasan Kemas Kini Pakej Debian dengan Python dan Gemini (gemini--flash). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!