Как просмотреть историю команд apt-get install, которые я выполнил вручную?
Мне кажется, что все доступные методы показывают все, что было установлено с самого начала установки Ubuntu.
Как просмотреть историю apt-get install с момента завершения процесса установки системы?
Просто введите следующую команду в своем терминале, чтобы просмотреть все журналы установки.
grep " install " /var/log/dpkg.log
Чтобы упростить @ Астрологический ответ, в последнее время я понял, что вы можете использовать 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.
Если вы хотите увидеть все, что вы установили, запустив:
sudo apt-get install [package]
И вы не перепутались с историей bash и не хотите просматривать историю такого типа установки тип для другого пользователя (или всех пользователей), то вы можете просто запустить:
history | grep "apt-get install"
И это должно дать вам в основном соответствующие результаты.
Если вы хотите, чтобы в истории команд 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
Вот сценарий, который печатает только установленные в настоящий момент пакеты верхнего уровня, где «пакеты верхнего уровня» определяются как пакеты 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, который включает указанное стороннее программное обеспечение, тогда этот выход был бы подходящим. Некоторые имена пакетов включают номера версий, а некоторые нет. Упоминается только для того, чтобы донести до сознания.Чтобы увидеть, что вы установили и удалили, переустановили и т. д. Подробнее о поездке apt-get installs.
Ответ может быть изменен в псевдоним:
[F1]