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

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 890
    • Email
Собственно, уже давненько мысли витали - хотел предложить такой вот вариант. Пусть кустарный (даже на bash'e), но запуском этого скрипта можно получить сразу необходимые логи, конфиги и тому подобное. Новичкам и чайникам было бы достаточно запустить такой скрипт, который все необходимые данные соберёт в один/несколько файлов и будет достаточно лишь их взять и выложить на форум для диагностики проблемы. Не надо писать никаких команд и т.п., достаточно лишь выпонить скрипт/бинарник. Иногда бывает проблематично добиться обратной связи от новичка, с запуском подобного "диагностического" модуля с этим проблем не будет. Ну, как в виндовс "сообщить об ошибке", только в консоли и специфика местная учитывается.
Какие будут мысли/замечания/предложения на сей счёт ?

Онлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 292
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Не знаю, остался-ли он сейчас, но такой скрипт был в rescue образе. Автоматом создавался файл с архивом, в котром была вся важная информация о железе компьютера.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 290
    • Домашняя страница
    • Email
У меня были такие же мысли. Хорошая идея.
Более того, такой скрипт должен и чинить по возможности и проверять целостность пакетно. Остаётся собрать типовые проблемы и методы решения.
Андрей Черепанов (cas@)

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 890
    • Email
Остаётся собрать типовые проблемы и методы решения.
Вот с этим есть загвоздка. Надо форум шерстить, багзиллу, наверное, чтобы вычленить оттуда то, что можно поправить/собрать в рамках этого скрипта. Другими словами, надо все грабли, которые в поле зрения попадаются, куда-нибудь сложить (можно и в эту тему накидать, можно на вики, но лучше, наверное, сюда, язык форума более доступен широким массам), после чего уже браться за написание. Хотя сам каркас можно начать уже сейчас писать (определение системы инициализации, типовые нужные конфиги, в том числе и по конфигурации железа, а вот с починками можно будет разбираться только после сбора известных граблей).

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 890
    • Email
Не знаю, остался-ли он сейчас, но такой скрипт был в rescue образе. Автоматом создавался файл с архивом, в котром была вся важная информация о железе компьютера.
Взглянуть бы на него. А в какой пакет он входит ?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 290
    • Домашняя страница
    • Email
Во всех дистрах должен быть system-report, но это только программа сбора данных в архив.
Школьный 7.0.5 будет с inxi.
Андрей Черепанов (cas@)

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 890
    • Email
Во всех дистрах должен быть system-report, но это только программа сбора данных в архив.
Так, надо поглядеть, чего оно и как собирает.
Школьный 7.0.5 будет с inxi.
Хотелось бы иметь решение и вниз, чтобы можно было бэкпортировать в случае необходимости. Там, наверное, будут отличия, но можно, по крайней мере, оставить такую возможность. Диагностика ещё никогда никому не мешала, а нормальная так совсем никому :)

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 890
    • Email
У system-report только одна проблема - я не могу прочитать то, что оно насобирало. Так не годиться. Надо формат обычный текстовый использовать для сбора данных, ведь в конечном итоге его просматривать будет человек. Дополнительно, если это кого-то напрягает, можно использовать для текста сжатие и отчёт будет совсем небольшим. А так это получается какая-то закрытая штуковина только для разработчиков, которые не будут решать на форуме проблемы пользователей (за редким исключением). Дополнительно можно заложить возможность генерировать отчёт в html, чтобы его можно было посмотреть в браузере (опера хороша - она обычные тектсовые файлы в кодировке utf-8 отлично показывает), но современным мозилле и хромому обязательно надо заголовок подкидывать с соответствующими параметрами, иначе кодировку оно никак не определяет (уже сталкивался с этим). Вот от этого, я думаю, можно отталкиваться. Это не означает, что system-report надо выкидывать, нет, пусть остаётся, но только для внутренних нужд тех, кто знает, как дальше этот нечитаемый отчет использовать.
И я там до конца не понимаю, что и как это скрипт делает :( Этот баш слишком сложен для меня.

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 890
    • Email
У system-report только одна проблема - я не могу прочитать то, что оно насобирало.
Это в случае, если указать опцию -o файл (вывод в файл). Если её не указывать, то утилита просто собирает конфиги и логи по каталогам и пакует в bz2 архив. Такой вариант уже приемлем, но непонятно, почему при указании вывода в файл, получается нечитабельно.

Онлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 292
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
У меня в Сизифе он с ключом -o вообще ничего не создаёт :(

Онлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 292
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Хотя должен:
Там просто
tar -cjf "$outfile" * && rc=0 || rc=$?

где outfile или тот который вы задали, или полученный в скрипте:
из команд:
cwd="$PWD"
...
outfile="$cwd/sysreport-$(date +"%Y%m%d").tar.bz2"


Онлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 292
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
А.  вот так сработало:
$ system-report -o $(pwd)/aaa   

$file aaa
aaa: bzip2 compressed data, block size = 900k

$bzip -d aaa.bz2
$ file aaa
aaa: POSIX tar archive (GNU)

Т.е. надо просто этому файлу (если имя не получено автоматом давать расшрение .tar.bz2.

Ну, или в скрипте изменить соответствующие строчки на:
outfile="$cwd/sysreport-$(date +"%Y%m%d")"
...
tar -cjf "$outfile".tar.bz2 * && rc=0 || rc=$?

Онлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 292
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
я там до конца не понимаю, что и как это скрипт делает
Да, вызов составлюющих его функций сделан очень хитрО :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 290
    • Домашняя страница
    • Email
В общем, кидайте сюда перечень инфы, минимально необходимой и проблемы и способы решения.

Я хотел делать программу syscom - system commander, не только для информации, но и управления конфигурацией.
Андрей Черепанов (cas@)

Онлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 292
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Первое, что пришло в голову - нестыковка UUID прописанных в /etc/sysconfig/grub2 (свап раздел) и /etc/fstab   с реально существующими в системе.
Способ решения - правка соответствующих файлов (если это корень или swap), или хотя-бы сообщение о том, что предагают сделать пользователю самому (если прописан несуществующий UUID).