ubuntu 如何在不添加 PPA 的情况下检查 PPA 的信息
有没有办法不运行:
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)