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

Где определяется $network?

  1. Это хороший вопрос, и [1130473]Я обобщил его здесь[1130474].
  2. Как именно $network определяется через элементы +networking +ifupdown?
  3. AFAICT он не определяется этим, он определяет, какие сервисы должны (опционально) также объявлять о любых зависимостях, имеющихся у объекта (?? -- смотрите вопрос, который я разместил и на который я ссылался выше). Из [1130477]man insserv[1130478]:

insserv сканирует системные объекты в конфигурационном файле /etc/insserv.conf [...] Все имена, за которыми следует такая система. будет объявлено о требуемых зависимостях объекта. [...] Имена, начинающиеся со знака `+', помечаются как необязательные.

А на самом деле на расповом [1130481]/etc/init.d/networking[1130482] (который запускается через [1130483]/etc/rcS.d[1130484], который запускается при загрузке независимо от уровня выполнения) [1130485]не[1130486] включает [1130487]$network[1130488] в качестве пререквизита, хотя некоторые другие сервисы (такие как [1130489]ntp[1130490]) do.

Q2: Если условие сети не будет выполнено, то запуск ntp будет отложен или не удастся?

Эти пререквизиты (и другие вещи в блоке INIT INFO) используются только для настройки и конфигурирования связей сценария в каталогах [1130493]/etc/rcN.d[1130494], например, для установки и конфигурирования связей сценария в каталогах [1130493]/etc/rcN.d[1130494], когда вы запускаете [1130495]updateate-rc.d[1130496] (что является передней частью для [1130497]insserv[1130498]). Другими словами, они не используются во время выполнения. Таким образом, если [1130499]S02ntp[1130500] находится в вашем уровне выполнения по умолчанию, то во время загрузки он будет запущен [1130501] независимо от того, что [1130502] (за исключением некоторой предыдущей фатальной ошибки).[1130119].

2
11.06.2015, 12:02
4 ответа

Одно дополнение к решению @jcbermu.

Вы можете использовать ZGREP непосредственно на GZIP-сжатом и несжатых файлов, что упрощает полную команду, в том числе Gunzipping, в одну строку:

zgrep CommandLine /var/log/apt/history.log* | cut -d\  -f 2-

History.log * вместо story.log. * используется так, что текущий также включен .Log также включен.

Чтобы получить уникальные линии, труба их через UNIQ . Чтобы получить только линии, содержащие только вызовов , используйте его grep ^ apt-get .

0
27.01.2020, 22:54
В
    du -sh <directory>

приведены подробные сведения об использовании диска каталога.

    du -h <directory>

даст использование диска каждого элемента в каталоге. Вы можете использовать вышеуказанное, чтобы узнать, какие каталоги занимают место на диске.

-121--82119-

С точки зрения скорости я нашел самый быстрый:

$ PERLIO=:unix perl -e '$s="\1" x 65536; for(;;){print $s}' | pv -a > /dev/null
[4.02GiB/s]

Для сравнения:

$ tr '\0' '\1' < /dev/zero | pv -a > /dev/null
[ 765MiB/s]
$ busybox tr '\0' '\1' < /dev/zero | pv -a > /dev/null
[ 399MiB/s]

$ yes $'\1' | tr -d '\n' | pv -a > /dev/null
[26.7MiB/s]

 $ dash -c 'в то время как:; do echo -n «\1 »; done '| pv -a >/dev/null
[225KiB/s] 
 $ bash -c 'пока:; do echo -ne «\1 »; done '| pv -a >/dev/null
[180KiB/s] 

$ < /dev/zero pv -a > /dev/null
[5.56GiB/s]
$ cat /dev/zero | pv -a > /dev/null
[2.82GiB/s]
-121--22115-

Как указано в других публикациях, необходимо просмотреть /var/log/apt . Чтобы достичь желаемого, попробуйте выполнить следующие действия:

>| out.log; for i in $(ls -1rt $(find /var/log/apt -name '*history*')); do if [[ $i =~ \.gz$ ]]; then zgrep "Commandline" $i | awk -F': ' '{ print $2; }' >>out.log; else grep "Commandline" $i | awk -F': ' '{ print $2; }' >>out.log; fi done;

Файл out.log должен содержать команды, упорядоченные по дате

0
27.01.2020, 22:54

Перейдите к /var/log/apt/

Там вы найдете текущий журнал в term.log и history.log, в котором находятся файлы .gz. за прошедшие месяцы.

gunzip все файлы history.log и затем запустите эту строку:

cat history.log.* | grep Commandline |awk -F":" '{print $2}'> all_apt-get-commands.txt

В файле all_apt-get-commands.txt вы найдете список всех команд.

0
27.01.2020, 22:54

Вы можете получить журнал в /var/log/apt/history.log* . Журналы регулярно меняются, поэтому старые журналы могут больше не присутствовать. После того, как эти журналы исчезнут, ничего похожего не будет. Если у вас есть VPS какое-то время, вы, вероятно, не сможете узнать, что там было изначально.

Нет смысла удалять пакеты, если у вас нет места на диске. Если проблема в этом, ищите большие пакеты, которые вам не нужны. Следующая команда перечисляет установленные пакеты, увеличивая их размер:

dpkg-query -W -f='${Installed-Size;8}  ${Package}\n' | sort -n

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

Если вы хотите перейти к минимальной системе в учебных целях, имейте в виду, что вы многому не научитесь; но хорошей отправной точкой было бы удаление всех пакетов, чей приоритет является обязательным или важным. Это проще всего сделать с помощью aptitude : limit ( l ) просмотра ненужных / важных пакетов с помощью поискового запроса ~ pstandard | ~ возможно | ~ pextra и удалите их все, кроме тех, которые вам абсолютно необходимы. Убедитесь, что вы сохранили некоторые важные пакеты, такие как sudo и openssh-server , иначе вы сделаете VPS непригодным для использования. Такие эксперименты лучше всего проводить на виртуальной машине, чтобы у вас был способ ее отремонтировать или начать заново, если вы сломаете ее.

0
27.01.2020, 22:54

Теги

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