Как я могу перечислить все установленные мной пакеты?

3

Я пытаюсь немного очистить свою установку, поэтому решил немного почистить мои пакеты. Однако у меня возникают проблемы с этим: я хочу сделать apt-get перечислить все установленные мной пакеты. Если я перечислю каждый пакет, я также вижу зависимости моих пакетов, хотя меня это не интересуют. Например, я хочу видеть, что я установил lightyears , но я не хочу видеть, что пакеты установлены рядом, например python-numpy or python-pygame . Есть ли способ сделать это?

    
задан Max Beikirch 09.04.2013 в 21:37
источник

3 ответа

3

Это быстрый взлом, но это меня очень близко:

manifest='http://releases.ubuntu.com/raring/ubuntu-13.04-beta2-desktop-amd64.manifest'

comm -2 -3 \
  <(apt-mark showmanual | sort) \
  <(curl --silent "$manifest" | grep --perl-regexp --only-matching '^[\w-.+]+' | sort)

Вам нужно будет искать манифест пакета для своей версии Ubuntu с сервера .

Этот метод по-прежнему возвращает несколько пакетов, которые были выбраны с помощью подсказки по установке языка поддержки и установите стороннее программное обеспечение , но в зависимости от ваших потребностей оно может быть достаточно хорошим.

    
ответ дан ændrük 09.04.2013 в 23:16
источник
3

Я думаю, что нет никакой команды, позволяющей получить эту информацию напрямую, но вы можете получить эту информацию, проверяющую журналы APT. APT хранит историю команд в /var/log/apt/history.log , причем записи имеют следующий формат:

Start-Date: ** time when command was issued **
Commandline: ** command used **
Install | Upgrade | Remove: ** packages installed/upgraded/removed to satisfy the command **
End-Date: ** time when command have finished **

Команды, введенные вами, должны появляться при вводе (так что sudo apt-get install numpy будет отображаться как Commandline: apt-get install numpy ). В моей системе только другие команды, появляющиеся в этом журнале, относятся к aptdaemon , которые должны быть выданы диспетчером обновлений.

Обратите внимание, что этот журнал время от времени поворачивается, поэтому у вас может не быть всех команд, выпущенных вами с самого начала, или вам может понадобиться извлечь сжатую часть. Кроме того, если у вас несколько пользователей, я думаю, вы не сможете узнать, какой из них установлен.

    
ответ дан Salem 09.04.2013 в 22:19
0

Я пытаюсь это сделать:

  1. go получите файл «manifest» для вашей версии, как указано ændrük выше
  2. %код% для получения списка всех пакетов apt-mark учитывается вручную.
  3. удалять дубликаты между этими списками, сохраняя остальную часть вывода apt-mark showmanual

Я не знаю, действительно ли это работает, но это выглядит довольно вероятным. Любые мысли ???

    
ответ дан sam 09.06.2014 в 17:24