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

Оффлайн Speccyfighter

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

Да, это похоже без вариантов, иначе root не сможет читать имена кириллизованых файлов и каталогов, которые у альтов стандарт.
Но для аварийного режима, если /usr на отдельном разделе, все локали кроме POSIX поотваливаются и опять вылезет проблема с кириллизованными каталогами. Надо с этим что-то у себя делать, пока оно не рвануло.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 7 403
  • Sunny 273 RUS crew
Да, это похоже без вариантов, иначе root не сможет читать имена кириллизованых файлов и каталогов,
Зачем это ?
которые у альтов стандарт.
В каком месте ? :-)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 578
которые у альтов стандарт.
В каком месте ? :-)

В этом :-)
# cat ./.config/user-dirs.dirs
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Рабочий стол"
XDG_DOWNLOAD_DIR="$HOME/Загрузки"
XDG_TEMPLATES_DIR="$HOME/Документы/Шаблоны"
XDG_PUBLICSHARE_DIR="$HOME/Общедоступные"
XDG_DOCUMENTS_DIR="$HOME/Документы"
XDG_MUSIC_DIR="$HOME/Документы/Музыка"
XDG_PICTURES_DIR="$HOME/Документы/Изображения"
XDG_VIDEOS_DIR="$HOME/Документы/Видео"
XDG_PHOTOS_DIR="$HOME/Документы/Фотографии"
XDG_MOVIES_DIR="$HOME/Документы/Фильмы"

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 7 403
  • Sunny 273 RUS crew
Ну так надо было пользователя заводить с локалью en_US, и всё. :-)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 578
Ну так надо было пользователя заводить с локалью en_US, и всё. :-)

Где, в инсталляторе? :-)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 7 403
  • Sunny 273 RUS crew
Ну так надо было пользователя заводить с локалью en_US, и всё. :-)
Где, в инсталляторе? :-)
Да. Например, при установке русский язык нк выбирать, пользователю включить потом. :-)

Оффлайн K0T

  • Давно тут
  • **
  • Сообщений: 215
  • Simply 7.0.5
    • Email
моих умственных усилий в изучении grep хватило на команду:
journalctl|grep 'ноя 10'|grep 'apt-get'|awk '{$4=""; print $0}'
может это и не совсем правильно и корректно, но работает  :-)

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

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 578
моих умственных усилий в изучении grep хватило на команду:
journalctl|grep 'ноя 10'|grep 'apt-get'|awk '{$4=""; print $0}'
может это и не совсем правильно и корректно, но работает  :-)

:-)
Это правильно и корректно, но это лишь один из вариантов.
Тогда загляните сюда:
https://www.shellhacks.com/ru/grep-or-grep-and-grep-not-match-multiple-patterns/

Страница разделена на три секции:
Логическое ИЛИ
Логическое И
Логическое НЕ

Можно конкретными примерами проиллюстрировать секцию Логическое И.
Все эти команды по выдаваемому ими результату, абсолютно идентичны:
# grep -E 'Nov 15.*apt-get' /var/log/user/info|awk '{$4=""; print$0}'|head -3
Nov 15 19:41:29  apt-get: libGL-4:17.2.5-alt1 1510424388 installed
Nov 15 19:41:29  apt-get: libudev1-1:235-alt3 1510677797 installed
Nov 15 19:41:29  apt-get: libdevmapper-1.02.145-alt1 1510311961 installed
# grep 'Nov 15' /var/log/user/info|grep apt-get|awk '{$4=""; print$0}'|head -3
Nov 15 19:41:29  apt-get: libGL-4:17.2.5-alt1 1510424388 installed
Nov 15 19:41:29  apt-get: libudev1-1:235-alt3 1510677797 installed
Nov 15 19:41:29  apt-get: libdevmapper-1.02.145-alt1 1510311961 installed
# awk '/Nov 15.*apt-get/' /var/log/user/info|awk '{$4=""; print$0}'|head -3
Nov 15 19:41:29  apt-get: libGL-4:17.2.5-alt1 1510424388 installed
Nov 15 19:41:29  apt-get: libudev1-1:235-alt3 1510677797 installed
Nov 15 19:41:29  apt-get: libdevmapper-1.02.145-alt1 1510311961 installed
# awk '/Nov 15/ && /apt-get/' /var/log/user/info|awk '{$4=""; print$0}'|head -3
Nov 15 19:41:29  apt-get: libGL-4:17.2.5-alt1 1510424388 installed
Nov 15 19:41:29  apt-get: libudev1-1:235-alt3 1510677797 installed
Nov 15 19:41:29  apt-get: libdevmapper-1.02.145-alt1 1510311961 installed
# sed '/Nov 15.*apt-get/!d' /var/log/user/info|awk '{$4=""; print$0}'|head -3
Nov 15 19:41:29  apt-get: libGL-4:17.2.5-alt1 1510424388 installed
Nov 15 19:41:29  apt-get: libudev1-1:235-alt3 1510677797 installed
Nov 15 19:41:29  apt-get: libdevmapper-1.02.145-alt1 1510311961 installed
# sed '/Nov 15/!d; /apt-get/!d' /var/log/user/info|awk '{$4=""; print$0}'|head -3
Nov 15 19:41:29  apt-get: libGL-4:17.2.5-alt1 1510424388 installed
Nov 15 19:41:29  apt-get: libudev1-1:235-alt3 1510677797 installed
Nov 15 19:41:29  apt-get: libdevmapper-1.02.145-alt1 1510311961 installed


Сколько и какие вы знаете команд, которые могут, ну скажем содержимое небольшого ASCII файла вывести в терминал?
cat? less?
А ведь их намного больше :-)
И делают они одно и то же:
# awk '/.*/' /var/log/user/info
# sed "" /var/log/user/info
# more -p /var/log/user/info
# grep . /var/log/user/info
# cat /var/log/user/info
# less /var/log/user/info
# head -z /var/log/user/info
# tail -z /var/log/user/info
# strings /var/log/user/info

Зачем столько?
Затем, что если по вашей системе пойдут катастрофические разрушения, одной из них, вы всё равно сможете воспользоваться.
« Последнее редактирование: 15.11.2017 22:06:43 от Speccyfighter »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 7 403
  • Sunny 273 RUS crew
моих умственных усилий в изучении grep хватило на команду:
journalctl|grep 'ноя 10'|grep 'apt-get'|awk '{$4=""; print $0}'
может это и не совсем правильно и корректно, но работает  :-)
И grep, и awk - это сильное колдунство, если освоить проценов на 20. Если больше - сжигают на костре сразу. А ещё есть sed. :-)

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 30 553
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
https://www.altlinux.org/Journald
Фильтрация по дате и времени
Цитировать
    Просмотреть все сообщения с 9:00 до прошлого часа:

journalctl --since "10:00" --until "1 hour ago"
Важны два параметра:
 --since
и
--until

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 578
Например, при установке русский язык не выбирать, пользователю включить потом.
во какие уже общие вопросы появились из обсуждения одного вроде бы простого, имеет смысл пробовать это при следующей установке?

:-) Не всё так просто.
В лайвах Slackware, в параметрах перед загрузкой, локаль, это локаль, клавиатура, это клавиатура. И общего между ними ровно ничего.
Но в альтовых лайвах, даже если вы выберете без поддержки сессии, перед загрузкой лайва Language English (US), а в параметрах ядру будет lang=ru_RU, после загрузки вы получите и русскую локаль и раскладку en/us.
При Language English (US) и без lang=ru_RU, вы получите локаль en_US.UTF-8 только с раскладкой en.
Если в лайве вы уже загрузились с поддержкой сессий один раз с Язык Русский, lang=ru_RU, то последующий выбор на загрузках с поддержкой сессий уже не имеет никакого значения. Почему?
Потому  что
/.rw/etc/sysconfig/i18n

уже содержит
LANG=ru_RU.UTF-8
SUPPORTED=ru_RU.UTF-8

а в
/.rw/etc/X11/xinit/Xkbmap

уже установлено 'en, ru' и загрузиться с другими параметрами вы уже не можете и русский язык в альтах жёстко прибит: или всё или ничего. Можете проверить на лайве workstation (не K).

К тому же вы должны и учитывать, что у демона pulseaudio права не root, а пользователя и гадить в логи кириллицей он очень любит. А по моему глубокому убеждению, логи должны быть только в POSIX вне зависимости от локали.

Но для себя лично, вы должны взвесить все за и против:
- Хотите ли вы получить правильные логи в POSIX, но с сообщениями в терминал на нём же. Или всё на русском, и логи и сообщения в терминал:
$ rpm -q skypy
пакет skypy не установлен
$ export LC_MESSAGES="POSIX"
$ rpm -q skypy
package skypy is not installed

Немного офтопа про сообщения (на загрузке):
Корни линуксовых няшных и понтовых картинок на загрузке уходят в середину 90-тых, когда вывод сообщений на экран, при загрузке Windows 95 OSR2 просто корёжило. И эту непотребность ничтоже сумняшеся прикрыли сплэш-скрином, т.е. замели мусор под диван, чтоб была видимость чистоты. Но привычка видеть картинку настолько застряла в сознании пользователя, что её из Виндоус перетащили в Линукс. А между тем на загрузке, Линукс, как и все Unix-подобные, сообщает много полезных вещей, вывод которых на экран, никогда не ломается и не ломался.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 578
Кто любит гадить в лог кириллицей
# grep -rH "[а-я]" /var/log/|grep -v 'xz\|log/journal\|log\/wtmp\|log\/sa'|awk '{$4=""; print$0}'
/var/log/user/errors:Nov 16 15:25:55  pulseaudio[3239]: [pulseaudio] shm.c: shared memfd open() failed: Функция не реализована
/var/log/daemons/warnings:Nov 16 14:43:34  gdm-binary[2918]: WARNING: gdm_slave_xioerror_handler: Фатальная ошибка X - Перезапуск :0
/var/log/lightdm/x-0-greeter.log:libGL error: failed  open drm device: Отказано в доступе
/var/log/lightdm/x-0-greeter.log:Gdk-Message: lightdm-gtk-greeter: Fatal  error 11 (Ресурс временно недоступен) on X server :0.
/var/log/lightdm/x-0-greeter.log.old:libGL error: failed  open drm device: Отказано в доступе

Оффлайн K0T

  • Давно тут
  • **
  • Сообщений: 215
  • Simply 7.0.5
    • Email
Re: Кто любит гадить в лог кириллицей
Simply 8.2
# grep -rH "[а-я]" /var/log/|grep -v 'xz\|log/journal\|log\/wtmp\|log\/sa'|awk '{$4=""; print$0}'
/var/log/lightdm/x-3-greeter.log:Gdk-Message: lightdm-gtk-greeter: Fatal  error 10 (Нет дочерних процессов) on X server :3.
/var/log/lightdm/x-1-greeter.log:Gdk-Message: lightdm-gtk-greeter: Fatal  error 10 (Нет дочерних процессов) on X server :1.

Цитата: Speccyfighter
для себя лично, вы должны взвесить все за и против:
- Хотите ли вы получить правильные логи в POSIX, но с сообщениями в терминал на нём же. Или всё на русском, и логи и сообщения в терминал

простого пользователя, и меня в том числе, можно вогнать в ступор даже вопросом как и где получить лог (я сперва честно через mc всю папку var/log прошел), не говоря про то, что его потом надо еще понять - собственно поэтому такая тема и возникла: случись что, где и как искать логи обновлений, чтоб их показать

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

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 578
простого пользователя, и меня в том числе, можно вогнать в ступор даже вопросом как и где получить лог (я сперва честно через mc всю папку var/log прошел), не говоря про то, что его потом надо еще понять - собственно поэтому такая тема и возникла: случись что, где и как искать логи обновлений, чтоб их показать

:-) journalctl, это такой regedit. Если он помёр, ну что?, - ну всё...


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

Текущие логи должны быть в ascii и никак больше. Тогда, если система на грани клинической смерти, вы прочтёте их любой из десятка утилит. Старые логи пакуются в xz формат и ротируются как в стеке: первым вошёл - первым вышел. less такие заархивированные логи отображает. Но если что, их и руками распаковать можно. Правда лежит архиватор в /usr/bin. Если не ошибаюсь, раньше они были в gzip формате, а он лежит в /bin. Это важный момент с точки зрения FHS. /bin и /sbin существуют не по чьей-то прихоти. Здесь лежат утилиты крайне важные для аварийных ситуаций, - тот обязательный минимально необходимый набор. Вопрос здесь ещё и другой: вы относитесь к своему десктопу просто как к десктопу или как к десктопу с надёжностью сервера?

Оффлайн andrew_b

  • Давно тут
  • **
  • Сообщений: 473
Старые логи пакуются в xz формат и ротируются как в стеке: первым вошёл - первым вышел.
s/стек/очередь. Ну или s/стек/FIFO.