По умолчанию Ubuntu отправляет vim-tiny. Чтобы получить реальную сделку (которая включает в себя vim-runtime), просто запустите следующую команду в терминале:
sudo apt-get install vim
Обычно я бы включил ссылку Software Center, но вы, похоже, довольно технический парень.
Использование API Python Apt может быть более эффективным, особенно при получении зависимостей:
#! /usr/bin/python3
from apt import cache
c = cache.Cache()
pkgs = set(pkg for pkg in c if pkg.is_installed)
seen = set()
def mark_deps(pkg):
for dep in pkg.installed.dependencies:
for ver in dep.installed_target_versions:
if ver.package not in seen:
seen.add(ver.package)
pkg.mark_auto()
mark_deps(ver.package)
for pkg in pkgs:
mark_deps(pkg)
print(c.get_changes())
c.commit()
Он все равно будет медленным, но должен быть еще быстрее, чем вызов apt-cache тысячи раз. Запустите без sudo, чтобы увидеть, какие изменения будут сделаны (c.commit() не удастся), и запустите с sudo, чтобы выполнить эти изменения.
Использование API Python Apt может быть более эффективным, особенно при получении зависимостей:
#! /usr/bin/python3
from apt import cache
c = cache.Cache()
pkgs = set(pkg for pkg in c if pkg.is_installed)
seen = set()
def mark_deps(pkg):
for dep in pkg.installed.dependencies:
for ver in dep.installed_target_versions:
if ver.package not in seen:
seen.add(ver.package)
pkg.mark_auto()
mark_deps(ver.package)
for pkg in pkgs:
mark_deps(pkg)
print(c.get_changes())
c.commit()
Он все равно будет медленным, но должен быть еще быстрее, чем вызов apt-cache тысячи раз. Запустите без sudo, чтобы увидеть, какие изменения будут сделаны (c.commit() не удастся), и запустите с sudo, чтобы выполнить эти изменения.