分享

ubuntu 如何在不添加 PPA 的情况下检查 PPA 的信息

 新用户34008MEn 2021-07-15

有没有办法不运行:

sudo apt-add-repository [PPA]

您是否可以通过终端获得 PPA 的描述(可能还有其他一些附加信息)?





快速破解(需要包python3-launchpadlib):

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import sys,re

from launchpadlib.launchpad import Launchpad
import httplib2
import  lazr.restfulclient.errors

if len(sys.argv) < 2:
    print('Syntax: {cmd} ppa'.format(cmd=sys.argv[0]))
    print()
    print('For example: {cmd}  ppa://diesch/testing'.format(cmd=sys.argv[0]))
    sys.exit(2)


try:
    lp = Launchpad.login_anonymously('foo', 'production', None)
except  httplib2.HttpLib2Error as e:
    print('Error connection to launchpad.net:', e)
    sys.exit(1)


ppa_name = sys.argv[1].strip()

m = re.search(r'^(ppa:)?(?P<user>[^/]+)/(?P<name>.+)', ppa_name)
if m:
    user, name = m.group('user', 'name')
else:
    print('Unvalid PPA name:', ppa)
    sys.exit(1)

try:    
    owner =  lp.people[user]
    ppa = owner.getPPAByName(name=name)

    print('PPA {name} at {url}'.format(name=ppa_name, url=ppa.web_link))
    print()
    print('Owner: {owner} ({url})'.format(owner=owner.display_name,
                                            url=owner.web_link))
    print()
    print(ppa.description) 
except lazr.restfulclient.errors.RestfulError as e:
    print('Error getting PPA info:', e)
    exit(1)

将其另存为 eg ppa-info,使其可执行并像这样运行

ppa-info ppa:diesch/testing

如果 PPA 存在,您将获得一些信息,如所有者和描述,否则您将收到错误消息。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多