Как просмотреть историю Кв. - получают установку?

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

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

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

17
задан 1 October 2015 в 04:44

8 ответов

Я думаю ответ, учитывая здесь , Кос является лучшим способом, которым я видел до сих пор. Хотя, поскольку Центр программного обеспечения использует apt, что-либо, что он установил, был бы перечислен также.

команда:

zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po '^Commandline: apt-get install (?!.*--reinstall)\K.*'
20
ответ дан 23 November 2019 в 02:19

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

#!/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"

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

Процесс выполнения программы:

  • Программа сначала собирает в список все установленные пакеты путем чтения имен файлов под /var/lib/dpkg/info/. Времена модификации файла являются временем установки.
  • Тот список отсортирован в обратном порядке.
  • Для каждого установленного пакета $Pkg, вызов к apt-cache rdepends $Pkg запрашивает обратные зависимости $Pkg. Если нет никаких зависимостей, то это - высокоуровневый пакет, и информация о пакете печатается: время даты packagename

Примечания:

  • Сценарий зависит от выходного формата apt-cache rdepends $Pkg который был предназначен для человеческих глаз и мог измениться в будущих версиях Кв.
  • Код для части, собирающей имена файлов под/var/lib/dpkg/info/, прибыл из этого сообщения unix.stackexchange. Как тот плакат 'mikel' указанный, dpgk файлы журнала истории не надежны, потому что они будут повернуты после достигания определенного объема.
  • Страница справочника для apt-chache
  • Вызов apt-cache rdepends ... является очень медленным, по-видимому, потому что каждый вызов вычисляется путем итерации через все зависимости. Следовательно вышеупомянутый сценарий начинает с новейших установок предлагать пользователю как можно больше мгновенного удовлетворения.
  • --installed флаг после apt-cache проверки, что dpkg-установленные пакеты также способно установлены. Если бы пользователь или другое программное обеспечение установки обойденный способный и используемый dpkg непосредственно, это было бы возможно. ЭТОТ СЛУЧАЙ НЕ был ПРОТЕСТИРОВАН, но я думаю, что что-то значимое было бы распечатано или в стандартном выводе или в выводе ошибок
  • Вывод не включает вручную выбранные пакеты, которые позже стали, зависел от более высоким пакетом. Вывод может также включать пакеты, которые были установлены через способный другим сторонним программным обеспечением установки и следовательно действительно вручную не установлены. Однако, если цель вывода как основание для установки восстановленного Linux от резервного копирования /home в каталоге, который включал, было сказано, что внешнее программное обеспечение, затем этот вывод подойдет.
  • Некоторые имена пакета включают номера версий и некоторых нет. Упомянутый только для обеспечения осведомленности к факту.
2
ответ дан 23 November 2019 в 02:19

Просто введите следующую команду в своем терминале для просмотра всех журналов установки.

grep " install " /var/log/dpkg.log
9
ответ дан 23 November 2019 в 02:19

Для упрощения ответа @Arronical аккуратный прием, который я изучил недавно, является Вами, может использовать zcat -qf для кошки и txt и txt gzipped файлы.

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.
3
ответ дан 23 November 2019 в 02:19

Если Вы хотите, видят все вещи, которые Вы установили путем выполнения:

sudo apt-get install [package]

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

history | grep "apt-get install"

И это должно получить Вас главным образом релевантные результаты.

1
ответ дан 23 November 2019 в 02:19

Для наблюдения то, что Вы установили и удалили, переустановили и т.д. Больше информации о поездка из Кв. - получает установки.

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

alias apted='zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | fgrep Commandline: | cut -d " " -f 2- | grep -P "^|install"'
0
ответ дан 23 November 2019 в 02:19

Если Вы хотите историю 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" 

Для другой информации referExtra информация.

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

Если Вы хотите историю только apt-get включенные команды, затем

history | grep apt-get

1
ответ дан 23 November 2019 в 02:19

Обратите внимание, что некоторые аргументы могут быть установлены, прежде чем установка один, как virtualmin сценарий делает во время установки: склонный - получают установку-y packagename.

Таким образом, если Вы хотите получение все команды установки, необходимо изменить запрос regex.

zcat -qf /var/log/apt/history.log* | grep -Po '^Commandline: apt-get.*install (?!.*--reinstall)\K.*'
0
ответ дан 23 November 2019 в 02:19

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

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