在将一些PPA从Launchpad添加到我的repositiory (add-apt-repository)之后,我想要自动安装它们。据我所知,在apt-get update之后没有安装所有新PPA的命令。我无法手动运行安装所有新PPA的脚本,因为一些PPA的安装名称与其在launchpad网站/API上的名称不同。
发布于 2015-10-06 16:41:55
我知道您希望向您的系统中添加一个PPA,并自动安装它所提供的用于您的版本和体系结构的所有包。
免责声明:我完全不确定你想做什么是个好主意。但如果你真的坚持并谨慎行事,那就请便。
可以从存储库安装的包列表将下载并存储在
/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 (模拟)!
#!/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和里面的包。
https://askubuntu.com/questions/682197
复制相似问题