Debian과 유사한 배포판을 사용하고 있고 새로운 사용자이거나 시스템 관리자로 경력을 시작했다면 아마도 패키지 업데이트의 중요성을 이미 알고 계실 것입니다. 적절한 업데이트를 사용합니다. Linux에 대해 자세히 알아보려면 각 패키지의 기능을 이해하고 싶을 수도 있습니다. 또한 시스템 관리자(시스템 관리자)는 긴급하거나 보안과 관련된 업데이트가 무엇인지 이해관계자에게 전달하거나 문서화해야 하는 경우가 많습니다.
이 게시물에서는 Python, apt list -u 명령 및 Gemini AI를 결합하여 사람이 읽을 수 있는 보류 중인 패키지 업데이트 요약을 생성하는 방법을 보여 드리겠습니다.
apt list -u | awk '{ print }' | sed 's|/.*||'
다음은 두 스크립트에 대한 솔루션 분석입니다.
이 스크립트는 apt list -u를 실행하여 보류 중인 업데이트를 가져오고, 출력을 처리하고, 프롬프트 기능을 사용하여 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 API를 구성하고 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
스크립트는 다음을 수행합니다.
gemini_result.md를 열어 쉽게 의사소통할 수 있도록 명확하고 분류된 업데이트 요약을 확인하세요.
생성된 요약의 예는 다음과 같습니다.
## 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. ...
Python과 Gemini AI를 약간 사용하면 Debian 패키지 업데이트 전달 방법을 자동화하고 개선할 수 있습니다. 이 스크립트는 AI를 시스템 관리 작업 흐름에 통합하기 위한 훌륭한 기반입니다. 이 게시물은 교육용이므로 Gemini API 리소스와 시스템 보안 처리에 주의하세요.
읽어주셔서 감사합니다! ?
위 내용은 Python과 Gemini를 사용하여 데비안 패키지 업데이트 요약 자동화(gemini--flash)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!