Автор Тема: а где после такого вот обновления можно найти его логи?  (Прочитано 12641 раз)

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 991
но вопрос не в этом, я просто привык обновляться изредка из консоли
Цитировать
su -
...
apt-get update && apt-get dist-upgrade
update-kernel -t std-def

и собственно вопрос: а где после такого обновления можно найти его логи? в var/log ничего похожего не видно ...
только успевать текст с консоли копировать?

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Последние инсталлированные пакеты в ноябре 2017
$ rpm -qa --last|grep 'ноя 2017'

Все последние операции apt-get
# grep apt-get /var/log/user/info|less

Или
# less -p apt-get /var/log/user/info.<Tab><Tab>
info.1.xz  info.2.xz  info.3.xz  info.4.xz  info.5.xz 
# less -p apt-get /var/log/user/info.2.xz

Ядро
# grep apt-get /var/log/user/info|grep kernel|less
« Последнее редактирование: 11.11.2017 20:45:44 от Speccyfighter »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
и собственно вопрос: а где после такого обновления можно найти его логи? в var/log ничего похожего не видно ...
Нет, видно:
$ cat /var/log/messages |grep apt
Nov 10 19:31:33 home apt-get: kernel-image-std-def-1:4.9.61-alt0.M80P.1 1510162224 installed
Nov 10 19:31:34 home apt-get: kernel-modules-drm-std-def-1:4.9.61-alt0.M80P.1 1510162224 installed
Nov 10 19:31:34 home apt-get: kernel-modules-ipset-std-def-6.32-alt1.264509.0.M80P.1 1510162770 installed
Nov 10 19:31:38 home apt-get: kernel-modules-nvidia-std-def-384.90-alt1.264509.0.M80P.1 1510163128 installed
Nov 10 19:31:38 home apt-get: kernel-modules-virtualbox-std-def-5.1.24-alt1.264509.0.M80P.1 1510163478 installed
Nov 10 19:35:19 home apt-get: kernel-modules-ipset-std-def-6.32-alt1.263250.0.M80P.1 1502706020 removed
Nov 10 19:35:19 home apt-get: kernel-modules-nvidia-std-def-375.82-alt1.263250.0.M80P.1 1502706403 removed
Nov 10 19:35:19 home apt-get: kernel-modules-drm-std-def-1:4.4.82-alt0.M80P.1 1502705399 removed
То же самое покажет cat /var/log/user/info |grep apt . Если используется syslog-ng, то это будет единственный вариант, в messages этого не будет в конфигурации по-умолчанию.
« Последнее редактирование: 12.11.2017 08:25:22 от sb »

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 991
То же самое покажет cat /var/log/user/info |grep apt . Если используется syslog-ng, то это будет единственный вариант, в messages этого не будет в конфигурации по-умолчанию.
Надо не забывать упоминать, что этот вариант исключительно и только для серверного варианта или кастомного варианта вроде стартовых наборов/регулярных сборок, где нет системд. На системах с системд все перечисленные файлы пусты и, соответственно, ничего данные команды не покажут.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Значит будет видно в логе systemd точно так же. Но в этом случае все остальные файлы в /var/log пустые будут, что должно навести на подозрения. :-)

Оффлайн K0T

  • Завсегдатай
  • *
  • Сообщений: 215
  • Simply 7.0.5
    • Email
сейчас у меня Simply Linux 8.2.0
Linux comp-pentium-4-3400.localdomain 4.9.60-std-def-alt0.M80P.1 #1 SMP Thu Nov 2 18:14:20 UTC 2017 i686 GNU/Linux
Значит будет видно в логе systemd точно так же. Но в этом случае все остальные файлы в /var/log пустые будут, что должно навести на подозрения.

наверно поэтому и спросил, ибо /var/log пустые

посмотрел https://www.altlinux.org/Journald

поэтому в продолжение вопрос к знатокам командной стороки: как из этого журнала вытащить именно логи обновлений?

и наверно как альтернативный метод

Цитата: Speccyfighter
$ rpm -qa --last|grep 'ноя 2017'

libpq5.9-9.6.6-alt0.M80P.1                    Пт 10 ноя 2017 11:33:05
libudev1-230-alt1.M80P.7                      Пт 10 ноя 2017 11:33:04
libsystemd-230-alt1.M80P.7                    Пт 10 ноя 2017 11:33:03
cups-filters-1.14.1-alt3.M80P.1               Пт 10 ноя 2017 11:33:01
udev-extras-230-alt1.M80P.7                   Пт 10 ноя 2017 11:33:00
systemd-analyze-230-alt1.M80P.7               Пт 10 ноя 2017 11:33:00
bash-completion-systemd-230-alt1.M80P.7       Пт 10 ноя 2017 11:32:59
systemd-sysvinit-230-alt1.M80P.7              Пт 10 ноя 2017 11:32:57
systemd-230-alt1.M80P.7                       Пт 10 ноя 2017 11:32:54
udev-230-alt1.M80P.7                          Пт 10 ноя 2017 11:32:50
udev-rules-230-alt1.M80P.7                    Пт 10 ноя 2017 11:32:49
libnss-myhostname-230-alt1.M80P.7             Пт 10 ноя 2017 11:32:47
libnss-mymachines-230-alt1.M80P.7             Пт 10 ноя 2017 11:32:46
systemd-services-230-alt1.M80P.7              Пт 10 ноя 2017 11:32:44
pam_systemd-230-alt1.M80P.7                   Пт 10 ноя 2017 11:32:43
udev-hwdb-230-alt1.M80P.7                     Пт 10 ноя 2017 11:32:42
cups-filters-libs-1.14.1-alt3.M80P.1          Пт 10 ноя 2017 11:32:40
bash-completion-journalctl-230-alt1.M80P.7    Пт 10 ноя 2017 11:32:40
journalctl-230-alt1.M80P.7                    Пт 10 ноя 2017 11:32:39
systemd-utils-230-alt1.M80P.7                 Пт 10 ноя 2017 11:32:37

такой вывод достаточно информативен?
« Последнее редактирование: 12.11.2017 14:56:43 от sb »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
и наверно как альтернативный метод

Цитата: Speccyfighter
$ rpm -qa --last|grep 'ноя 2017'

libpq5.9-9.6.6-alt0.M80P.1                    Пт 10 ноя 2017 11:33:05
libudev1-230-alt1.M80P.7                      Пт 10 ноя 2017 11:33:04
libsystemd-230-alt1.M80P.7                    Пт 10 ноя 2017 11:33:03
cups-filters-1.14.1-alt3.M80P.1               Пт 10 ноя 2017 11:33:01
udev-extras-230-alt1.M80P.7                   Пт 10 ноя 2017 11:33:00
systemd-analyze-230-alt1.M80P.7               Пт 10 ноя 2017 11:33:00
bash-completion-systemd-230-alt1.M80P.7       Пт 10 ноя 2017 11:32:59
systemd-sysvinit-230-alt1.M80P.7              Пт 10 ноя 2017 11:32:57
systemd-230-alt1.M80P.7                       Пт 10 ноя 2017 11:32:54
udev-230-alt1.M80P.7                          Пт 10 ноя 2017 11:32:50
udev-rules-230-alt1.M80P.7                    Пт 10 ноя 2017 11:32:49
libnss-myhostname-230-alt1.M80P.7             Пт 10 ноя 2017 11:32:47
libnss-mymachines-230-alt1.M80P.7             Пт 10 ноя 2017 11:32:46
systemd-services-230-alt1.M80P.7              Пт 10 ноя 2017 11:32:44
pam_systemd-230-alt1.M80P.7                   Пт 10 ноя 2017 11:32:43
udev-hwdb-230-alt1.M80P.7                     Пт 10 ноя 2017 11:32:42
cups-filters-libs-1.14.1-alt3.M80P.1          Пт 10 ноя 2017 11:32:40
bash-completion-journalctl-230-alt1.M80P.7    Пт 10 ноя 2017 11:32:40
journalctl-230-alt1.M80P.7                    Пт 10 ноя 2017 11:32:39
systemd-utils-230-alt1.M80P.7                 Пт 10 ноя 2017 11:32:37

такой вывод достаточно информативен?

Недостаточно.
Поскольку некоторым линуксовым кодерам надо руки обрывать, то такой вывод недостаточно информативен в случае отката.
И здесь неизвестно, какая версия пакета была удалена при обновлении пакетов. Неизвестно на какую версию нужно откатываться. Чтобы не гадать и не экспериментировать. С гаданиями, это к местым колдуньям, а в операционной системе всё должно быть предсказазуемо. :-)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
сейчас у меня Simply Linux 8.2.0
Значит будет видно в логе systemd точно так же. Но в этом случае все остальные файлы в /var/log пустые будут, что должно навести на подозрения.

наверно поэтому и спросил, ибо /var/log пустые

посмотрел https://www.altlinux.org/Journald

В системах на sysv логи сжимаются
# xz -l /var/log/user/info.{1,2,3,4,5}.xz
Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename
    1       1      1 232 B     11,0 KiB  0,110  CRC64   /var/log/user/info.1.xz
    1       1      2 920 B     22,4 KiB  0,127  CRC64   /var/log/user/info.2.xz
    1       1      1 376 B     12,3 KiB  0,110  CRC64   /var/log/user/info.3.xz
    1       1      1 340 B      9,8 KiB  0,134  CRC64   /var/log/user/info.4.xz
    1       1      8 392 B     90,9 KiB  0,090  CRC64   /var/log/user/info.5.xz
-------------------------------------------------------------------------------
    5       5     14,9 KiB    146,4 KiB  0,102  CRC64   5 files

и ротируются по принципу стека: последним вошёл, последним вышел
# ls -l /var/log/user/info*
-rw-r----- 1 root adm 1002 ноя 12 12:44 /var/log/user/info
-rw-r----- 1 root adm 1232 ноя 12 02:48 /var/log/user/info.1.xz
-rw-r----- 1 root adm 2920 ноя 10 03:59 /var/log/user/info.2.xz
-rw-r----- 1 root adm 1376 окт 28 15:46 /var/log/user/info.3.xz
-rw-r----- 1 root adm 1340 окт 25 01:35 /var/log/user/info.4.xz
-rw-r----- 1 root adm 8392 окт 13 02:10 /var/log/user/info.5.xz

Но текущий лог, только в ASCII формате
# file /var/log/user/info
/var/log/user/info: ASCII text

Это обеспечивает надёжность контроля при самых тяжёлых повреждениях в системе.
:-) Даже на ZX Spectrum мне удавалось вытягивать ASCII файлы, когда файловая система почти полностью разрушена.
Здесь общий принцип тот же.
« Последнее редактирование: 12.11.2017 18:02:44 от Speccyfighter »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
как из этого журнала вытащить именно логи обновлений?
Точно так же: grep apt

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
сейчас у меня Simply Linux 8.2.0

наверно поэтому и спросил, ибо /var/log пустые

посмотрел https://www.altlinux.org/Journald

поэтому в продолжение вопрос к знатокам командной стороки: как из этого журнала вытащить именно логи обновлений?

Дополню asy

В системах на systemd вывод может быть таким
# journalctl|grep apt-get|head -5
ноя 12 18:51:30 localhost.localdomain apt-get[2295]: udev-rules-1:230-alt1.M80P.7 1510158232 installed
ноя 12 18:51:35 localhost.localdomain apt-get[2295]: udev-rules-1:230-alt1.M80P.1 1475233176 removed
ноя 12 18:51:35 localhost.localdomain apt-get[2295]: libgtk-engines-default-common-1:2.20.2-alt2.qa2.M80P.1 1498474461 installed
ноя 12 18:51:41 localhost.localdomain apt-get[2295]: libgtk-engines-default-common-1:2.20.2-alt2.qa2 1385610239 removed
ноя 12 18:51:55 localhost.localdomain apt-get[2295]: alterator-l10n-2.9.38-alt1 1508332803 installed

или таким
# journalctl|grep apt-get|head -5|awk '{$4=""; print $0}'
ноя 12 18:51:30  apt-get[2295]: udev-rules-1:230-alt1.M80P.7 1510158232 installed
ноя 12 18:51:35  apt-get[2295]: udev-rules-1:230-alt1.M80P.1 1475233176 removed
ноя 12 18:51:35  apt-get[2295]: libgtk-engines-default-common-1:2.20.2-alt2.qa2.M80P.1 1498474461 installed
ноя 12 18:51:41  apt-get[2295]: libgtk-engines-default-common-1:2.20.2-alt2.qa2 1385610239 removed
ноя 12 18:51:55  apt-get[2295]: alterator-l10n-2.9.38-alt1 1508332803 installed

Модель для grep лучше использовать apt-get, чтобы не сыпался лишний мусор.

Или даже apt-get\[
# journalctl|grep 'apt-get\['|head -5|awk '{$4=""; print $0}'
ноя 12 18:51:30  apt-get[2295]: udev-rules-1:230-alt1.M80P.7 1510158232 installed
ноя 12 18:51:35  apt-get[2295]: udev-rules-1:230-alt1.M80P.1 1475233176 removed
ноя 12 18:51:35  apt-get[2295]: libgtk-engines-default-common-1:2.20.2-alt2.qa2.M80P.1 1498474461 installed
ноя 12 18:51:41  apt-get[2295]: libgtk-engines-default-common-1:2.20.2-alt2.qa2 1385610239 removed
ноя 12 18:51:55  apt-get[2295]: alterator-l10n-2.9.38-alt1 1508332803 installed

awk:
Очистить содержимое 4-го поля и все поля вывести на стандартный вывод.

grep и бэкслэш в модели для поиска:
Бэкслэш указывает интерпретатору команд, что следующий за ним символ не нужно интерпретировать, а воспринимать его как ASCII символ.

Выбросьте из команд, команду
|head -5
Она ограничивает вывод, сокращая его до пяти первых строк.

Если вывод будет очень большим, вероятно вам потребуется
или less
# journalctl|grep 'apt-get\['|awk '{$4=""; print $0}'|less

или перенаправление в файл (также и для сохранения)
# journalctl|grep 'apt-get\['|awk '{$4=""; print $0}' > $(date -I)-journal-apt-get.txt


Или более точная дата
(также удобно при сортировке файлов по именам)
# journalctl|grep 'apt-get\['|awk '{$4=""; print $0}' > $(date +%Y%m%d-%H%M)-journal-apt-get.txt

Файл будет создан в формате:
ГодМесяцДень-ЧасыМинуты-journal-apt-get.txt

Эту команду можно положить в файл-скрипт и сделать его исполняемым.
Из-за разницы в дате, имя текстового файла никогда не будет повторяться.
« Последнее редактирование: 13.11.2017 02:37:01 от Speccyfighter »

Оффлайн K0T

  • Завсегдатай
  • *
  • Сообщений: 215
  • Simply 7.0.5
    • Email
большое спасибо за развернутые и понятные ответы, теперь вроде все видно и ясно

Спойлер
Цитировать
ноя 10 11:32:38  apt-get[1429]: systemd-utils-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:39  apt-get[1429]: systemd-utils-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:39  apt-get[1429]: journalctl-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:40  apt-get[1429]: journalctl-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:40  apt-get[1429]: bash-completion-journalctl-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:40  apt-get[1429]: bash-completion-journalctl-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:41  apt-get[1429]: cups-filters-libs-1.14.1-alt3.M80P.1 1510254852 installed
ноя 10 11:32:42  apt-get[1429]: cups-filters-libs-1.14.1-alt2.M80P.1 1499450118 removed
ноя 10 11:32:42  apt-get[1429]: udev-hwdb-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:43  apt-get[1429]: udev-hwdb-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:43  apt-get[1429]: pam_systemd-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:44  apt-get[1429]: pam_systemd-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:45  apt-get[1429]: systemd-services-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:46  apt-get[1429]: systemd-services-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:46  apt-get[1429]: libnss-mymachines-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:47  apt-get[1429]: libnss-mymachines-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:48  apt-get[1429]: libnss-myhostname-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:49  apt-get[1429]: libnss-myhostname-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:49  apt-get[1429]: udev-rules-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:49  apt-get[1429]: udev-rules-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:50  apt-get[1429]: udev-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:52  apt-get[1429]: udev-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:56  apt-get[1429]: systemd-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:57  apt-get[1429]: systemd-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:58  apt-get[1429]: systemd-sysvinit-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:32:59  apt-get[1429]: systemd-sysvinit-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:32:59  apt-get[1429]: bash-completion-systemd-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:33:00  apt-get[1429]: bash-completion-systemd-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:33:00  apt-get[1429]: systemd-analyze-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:33:00  apt-get[1429]: systemd-analyze-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:33:01  apt-get[1429]: udev-extras-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:33:01  apt-get[1429]: udev-extras-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:33:02  apt-get[1429]: cups-filters-1.14.1-alt3.M80P.1 1510254852 installed
ноя 10 11:33:03  apt-get[1429]: cups-filters-1.14.1-alt2.M80P.1 1499450118 removed
ноя 10 11:33:04  apt-get[1429]: libsystemd-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:33:04  apt-get[1429]: libsystemd-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:33:05  apt-get[1429]: libudev1-1:230-alt1.M80P.7 1510158232 installed
ноя 10 11:33:05  apt-get[1429]: libudev1-1:230-alt1.M80P.6 1504007425 removed
ноя 10 11:33:06  apt-get[1429]: libpq5.9-9.6.6-alt0.M80P.1 1510237392 installed
ноя 10 11:33:06  apt-get[1429]: libpq5.9-9.6.5-alt0.M80P.1 1504084823 removed

а можно ли еще написать для grep какое-то выражение вместо grep 'apt-get', чтобы была привязка к конкретной дате? типа "ноя 10" + "apt-get"

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
а можно ли еще написать для grep какое-то выражение
Да, grep понимает регулярные выражения. Там можно написать даже то, про что вы ещё не подумали. :-)
Искать в Гугле: "Регулярные выражения oreily", там будут ссылки на книжку  Джеффри Фридла.
« Последнее редактирование: 14.11.2017 23:25:06 от asy »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
а можно ли еще написать для grep какое-то выражение вместо grep 'apt-get', чтобы была привязка к конкретной дате? типа "ноя 10" + "apt-get"

Легко! :-)
Совет asy, это длинный, но надёжный путь. Это фундаментально и надолго.

Короткий и быстрый путь:
Для начала вам нужно знать формат даты в логе.
Задавайте поисковику правильные вопросы.
grep логические операторы

или
grep логическое И

Как правило, ответы на первой же странице.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
типа "ноя 10" + "apt-get"

:-) Я логи на русском не перевариваю в принципе. У меня от них сильные колики и несварение желудка случается.
Если локализация вдруг к чёртовой матери слетит, то выглядеть эта куча добра будет так:
Oct 27 21:49:38 gvfsd[992]: dbus_mount_reply: Error from org.gtk.vfs.Mountable.mount(): <D0><9D><D0><B5> <D1><83><D0><B4><D0><B0><D0><BB><D0><BE><D1><81><D1><8C> <D0><BF><D0><BE><D0><BB><D1><83><D1><87><D0><B8><D1><82><D1><8C>

И кому в альтах в голову пришла такая сумасбродная идея, логгировать на русском, даже не представляю.
А добра этого в альтах, хоть пруд пруди, - 97 строк с включением кириллицы:
# grep -rH "[а-я]" /var/log/|grep -v xz|wc -l
97
« Последнее редактирование: 15.11.2017 06:28:35 от Speccyfighter »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
И кому в альтах в голову пришла такая сумасбродная идея, логгировать на русском, даже не представляю.
Никому. Всё просто зависит от локали, из под которой что-то запущено. Будет у рута ru_RU, будет по-русски. Потому по-умолчанию локаль у рута POSIX. Ну а если кто-то сменил, то вот так. По идее, если локаль у рута менять так, то надо бы добавить отдельно LC_TIME=C и LC_MESSAGES=C.