Eu entendo que você deseja adicionar um PPA ao seu sistema e instalar automaticamente todos os pacotes para sua versão e arquitetura que ele fornece.
Aviso: Não tenho certeza se o que você quer fazer é uma boa ideia. Mas se você for realmente insistente e proceder com cautela, seja meu convidado.
As listas de pacotes que podem ser instaladas de um repositório são baixadas e armazenadas em
/var/lib/apt/lists/
quando apt-get update
é executado.
Esses arquivos de lista contêm em texto simples basicamente as informações exibidas quando você faz apt-cache show <package>
. Em particular, cada pacote tem um campo Package: <name-of-package>
Encontre aqui um script Python, que extrai todos os campos Package
e agrupa os nomes dos pacotes. Salve como whatever.py
e execute como ./whatever.py <packagelist>
. Ele imprimirá o comando apt-get install
apropriado, mas não o executará (não é possível porque você não está executando isso como root, você está ...?). Isso é com você, e eu sugiro que você tente com -s
(simular) primeiro!
#!/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."
Por exemplo:
Se isso produzir verdadeiramente o resultado que você deseja depende do PPA e dos pacotes de lá.
Use a seu próprio risco.