簡體   English   中英

通過python腳本安裝.rpm或.msi文件

[英]install .rpm or .msi file through python script

我是python的新手。 我有一個python腳本可以從S3存儲桶下載rpm文件。

import platform
import boto3
import botocore

BUCKET_NAME = 'tempdownload'
KEY = 'temp.rpm' # packaged using golang

platformName = platform.system()
s3 = boto3.resource('s3')

print(platformName)

if platformName == 'Linux':
    try:
        bucket = s3.Bucket(BUCKET_NAME)
        bucket.download_file(KEY, 'temp.rpm')
    except botocore.exceptions.ClientError as e:
        if e.response['Error']['Code'] == "404":
            print("The object does not exist.")
        else:
            raise
else:
    print("not valid operating system")

我想在同一文件中添加腳本,以為Windows安裝下載的rpm文件或msi軟件包。 我嘗試在線搜索,但未獲得任何信息。 如果有人提供一些指針,將不勝感激。

謝謝!

您可以使用rpm綁定直接從Python安裝它。 請參閱: https//docs-old.fedoraproject.org/zh-CN/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch16s06.html

但是,您不應直接調用rpm,而應調用Yum或DNF或其python綁定。

您必須調用系統命令rpm -Ivh yourpackage.rpm

import subprocess
package_path = '/home/mypackage.rpm'
command = ['rpm', '-Ivh', package_path]
p = subprocess.Popen(command)
p.wait()
if p.returncode == 0:
    print("OK")
else:
    print("Something went wrong")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM