Как просмотреть историю apt-get install?

Как просмотреть историю команд apt-get install, которые я выполнил вручную?

Мне кажется, что все доступные методы показывают все, что было установлено с самого начала установки Ubuntu.

Как просмотреть историю apt-get install с момента завершения процесса установки системы?

1
задан 1 October 2015 в 14:44

6 ответов

Просто введите следующую команду в своем терминале, чтобы просмотреть все журналы установки.

grep " install " /var/log/dpkg.log
7
ответ дан 23 May 2018 в 17:02

Чтобы упростить @ Астрологический ответ, в последнее время я понял, что вы можете использовать zcat -qf для кота и gt-файлов txt и txt.

zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po '^Commandline: apt-get install (?!.*--reinstall)\K.*'

становится

zcat -qf /var/log/apt/history.log* | grep -Po '^Commandline: apt-get install (?!.*--reinstall)\K.*'

От человека zcat:

   -q --quiet
          Suppress all warnings.
   -f --force
          Force  compression  or  decompression  even if the file has multiple links or the corre‐
          sponding file already exists, or if the compressed data is read from  or  written  to  a
          terminal.  If  the  input  data is not in a format recognized by gzip, and if the option
          --stdout is also given, copy the input data without change to the standard  output:  let
          zcat  behave  as  cat.  If -f is not given, and when not running in the background, gzip
          prompts to verify whether an existing file should be overwritten.
2
ответ дан 23 May 2018 в 17:02

Если вы хотите увидеть все, что вы установили, запустив:

sudo apt-get install [package]

И вы не перепутались с историей bash и не хотите просматривать историю такого типа установки тип для другого пользователя (или всех пользователей), то вы можете просто запустить:

history | grep "apt-get install"

И это должно дать вам в основном соответствующие результаты.

1
ответ дан 23 May 2018 в 17:02
  • 1
    Я получу все историю с этим? – DevRobot 1 October 2015 в 16:10
  • 2
    @DevRobot: если вы не вручную изменили записи с apt-get install в них в файле .bash_history или не удалили этот файл, команда покажет вам все экземпляры, когда вы выполнили команду со строкой apt-get install в пределах это в вашей учетной записи пользователя (даже если вы запустили команду как root и, следовательно, не точно как ваша учетная запись пользователя), которая запускает команду с sudo). – Paranoid Panda 1 October 2015 в 16:26
  • 3
    Это может вызвать проблемы, если вы ввели более 200 команд, хотя – Arronical 1 October 2015 в 16:51
  • 4
    @ Арроническое доказательство ожидается при составлении претензий ;-) – Rinzwind 1 October 2015 в 17:03
  • 5
    Я бы предположил, что 500 будет по умолчанию ( gnu.org/software/bash/manual/html_node/… ). – Rinzwind 1 October 2015 в 17:10

Если вы хотите, чтобы в истории команд apt-get install использовалась следующая команда:

grep "apt-get install" .bash_history

Выход:

ravan@ravan:~$ grep "apt-get install" .bash_history
sudo apt-get install --no-install-recommends ubuntu-mate-core ubuntu-mate-desktop
sudo apt-get install xfce4
sudo apt-get install xfce4.12
sudo apt-get install pgadmin
sudo apt-get install touchegg
sudo apt-get install aptitude
sudo apt-get install aptitude
sudo gedit .bash_history | grep "apt-get install" 
sudo apt-get installvim
grep "apt-get install" .bash_history
cat .bash_history | grep "apt-get install" 

Для

Более подробная информация об установке в /var/log/apt/ в файлах history.log и history.log.X.gz и term.log и term.log.X.gz

также содержится в /var/log/apt/, если вы хотите, чтобы история только apt-get включала команды, затем

history | grep apt-get
1
ответ дан 23 May 2018 в 17:02
  • 1
    apt-mark showmanual показывает все пакеты, установленные при установке ОС, а не только те, которые были установлены вручную. Это странный способ вести себя! – Arronical 1 October 2015 в 15:42
  • 2
    Это не обязательно дает конкретные детали истории. Людям необходимо смотреть /var/log/apt/history.log и подобные файлы. Вы получаете только список выбранных вручную и автоматически выбранных пакетов. Вы не даете хронологическую историю о том, что было установлено, что было удалено, что было обновлено и т. Д. Из этого ответа. – Thomas Ward♦ 1 October 2015 в 15:54
  • 3
    @Arronical. Где находится страница man для apt -mark showmanual? Я не вижу его на странице руководства Ubuntu 16.04 LTS для apt: & lt; manpages.ubuntu.com/manpages/xenial/en/man8/apt.8.html> ;. – Craig Hicks 22 August 2017 в 08:44
  • 4

Вот сценарий, который печатает только установленные в настоящий момент пакеты верхнего уровня, где «пакеты верхнего уровня» определяются как пакеты atp, от которых не зависят никакие другие пакеты atp. Если такие программы верхнего уровня были установлены atp или диспетчером пакетов, например synaptic, то они были вручную выбраны пользователем.

#!/bin/sh
NumDaysAgo=18
find /var/lib/dpkg/info -name "*.list" -mtime -$NumDaysAgo \
    -exec stat -c $'%y\t%n' {} \; | \
sed -e 's,/var/lib/dpkg/info/,,' -e 's,\.list,,' | \
sort -r | \
while read Date Time Xxx Pkg
do 
    lncnt=$(apt-cache --installed rdepends $Pkg | wc -l)
    if [ $lncnt -eq "2" ]
        then echo "$Date $Time $Pkg"
    fi
done
echo "JOB COMPLETED: $BASH_SOURCE"

Пакеты печатаются в обратном порядке в предположении, что пользователь

Поток программы:

Программа сначала собирает в список все установленные пакеты, читая имена файлов в разделе [ f2]. Временные файлы файлов - это время установки. Этот список сортируется в обратном порядке. Для каждого установленного пакета $Pkg вызов apt-cache rdepends $Pkg запрашивает обратные зависимости $Pkg. Если нет зависимостей, то это пакет верхнего уровня и информация о пакете печатается: date time packagename

Программный поток:

Программа сначала собирает в список все установленные пакеты, читая имена файлов под /var/lib/dpkg/info/. Временные времена файла - это время установки. Код для сбора данных о партиях под / var / lib / dpkg / info / получен из этой записи unix.stackexchange. Как отметил этот плакат «mikel», лог-файлы истории dpgk не надежны, потому что они будут повернуты после достижения определенного объема. Этот список сортируется в обратном порядке. Вызов apt-cache rdepends ... очень медленный, предположительно, потому что каждый вызов вычисляется путем итерации по всем зависимостям. Следовательно, приведенный выше сценарий начинается с новейших инсталляций, чтобы предлагать пользователю максимально возможное мгновенное удовлетворение. Для каждого установленного пакета $Pkg вызов apt-cache rdepends $Pkg запрашивает обратные зависимости $Pkg. Если нет зависимостей, то это пакет верхнего уровня и распечатывается информация о пакете: date time packagename Выход не включает выбранные вручную пакеты, которые позже зависят от более высокого пакета. Вывод также может включать пакеты, которые были установлены через apt другим программным обеспечением для сторонних разработчиков и, следовательно, не установлены вручную. Однако, если цель вывода является основой для настройки восстановленного linux из каталога резервного копирования /home, который включает указанное стороннее программное обеспечение, тогда этот выход был бы подходящим. Некоторые имена пакетов включают номера версий, а некоторые нет. Упоминается только для того, чтобы донести до сознания.
1
ответ дан 23 May 2018 в 17:02

Чтобы увидеть, что вы установили и удалили, переустановили и т. д. Подробнее о поездке apt-get installs.

Ответ может быть изменен в псевдоним:

[F1]
0
ответ дан 23 May 2018 в 17:02

Другие вопросы по тегам:

Похожие вопросы: