首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动安装PPA

自动安装PPA
EN

Ask Ubuntu用户
提问于 2015-10-06 15:18:35
回答 1查看 148关注 0票数 2

在将一些PPA从Launchpad添加到我的repositiory (add-apt-repository)之后,我想要自动安装它们。据我所知,在apt-get update之后没有安装所有新PPA的命令。我无法手动运行安装所有新PPA的脚本,因为一些PPA的安装名称与其在launchpad网站/API上的名称不同。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2015-10-06 16:41:55

我知道您希望向您的系统中添加一个PPA,并自动安装它所提供的用于您的版本和体系结构的所有包。

免责声明:我完全不确定你想做什么是个好主意。但如果你真的坚持并谨慎行事,那就请便。

可以从存储库安装的包列表将下载并存储在

代码语言:javascript
复制
/var/lib/apt/lists/

apt-get update运行时。

这些列表文件以纯文本形式包含,基本上是在执行apt-cache show <package>时显示的信息。特别地,每个包都有一个字段Package: <name-of-package>

在这里找到一个Python,它提取所有的Package字段并将包名串在一起。将其保存为whatever.py,并以./whatever.py <packagelist>的形式运行。它将打印适当的apt-get install命令,但不执行它(它不能执行,因为您没有以root用户的身份运行它,是吗?)这取决于您,我强烈建议您先尝试使用-s (模拟)!

代码语言:javascript
复制
#!/usr/bin/env python

import sys
import re

if len(sys.argv)<2:
        print "Usage: "+sys.argv[0]+" PACKAGELIST"
        quit()

try:
        packages = []
        infile = open(sys.argv[1],'r')
        for line in infile:
                p = re.match(r"Package: (\S+)", line)
                if p:
                        packages.append(p.group(1))
        infile.close()
        print "apt-get install -s "+" ".join(packages)

except IOError:
        print "File "+sys.argv[1]+" not found."

例如:

如果这确实产生了您想要的结果,则取决于PPA和里面的包。

自担风险使用.

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/682197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档