LINUX.ORG.RU
ФорумAdmin

[сисадмин, не проходи мимо] Какие бы фичи сисадмин хотел видеть в моей проге?


0

1

Вот, http://github.com/inish777/hardinform/. Для Ъ: программулина, собирающая инфу о железе и софте и предоставляющая ее в наглядном виде. Так вот, пока программа умеет только собирать частичную инфу о процессоре и системе. Что обязательно надо добавить? Надо ли добавлять бенчмарки? Нужна ли программа вообще?

★★
Ответ на: комментарий от netcat

Сборка под x86-64

Да, вы правы. Это я упустил в планах работ.

Сборка будет. Код уже давно весь 64bit-aware. Фактически, нужно поменять имена *.so файлов.

ЗЫ: Попробуйте пойти по тому же пути, что прошел и я. Возьмите, сверстайте, скомпонуйте образец программы в части подачи информации. И последовательно, версия к версии, заполняйте поля, таблицы и закладки - как угодно.

Посмотрите на аналогичные поделки под Вынь, возьмите что-нибудь за образец и клонируйте его. Клонировать легче, чем дизайнить самостоятельно.

И не пытайтесь парсить конфиг-файлы - вам всегда скажут, что «с помощью командной строки, мол, можно сделать то же самое». У меня в программе 75% информации никаким образом не может быть добыто с командной строки. ;) Например - все по мультимедиа, по CUPS, дерево устройств (только на первый взгляд - это скан /sys) :) и многое другое.

anonymous
()
Ответ на: комментарий от netcat

Хм, а как тогда дерево устройств добывается?

Во многом - через вызовы библиотек libpci.so и libpciaccess.so. Идет подготовка к использованию libusb.so для строительства дерева подсоединенных usb устройств - в /sys дереве этой информации недостаточно или она плохо и невнятно стурктурирована.

Дерево /sys и информация из /proc - нестабильны, зависят от версии ядра и тараканов к голове девелоперов.

libusb - опциональна (как и libpci) - функции грузяццо динамически, они не прилинкованы намертво. Ибо у клиента пакеты PCI Utils и USB Utils могут быть штатно не установлены.

Аналогично - имеет место динамическая загрузка библиотек CUPS, OpenGL и ALSA. Только для анализа ALSA грузяццо и используеццо более 100 различных функций.

А вы думали - пропарсю я пару-тройку файлов и будет конфетка?

anonymous
()
Ответ на: комментарий от anonymous

А вы думали - пропарсю я пару-тройку файлов и будет конфетка?

Да я всегда так думал. А иначе зачем Т-рвальдс дал нам sysfs?

netcat ★★
() автор топика
Ответ на: комментарий от anonymous

И да, скачал я щас исходники libpci и заглянул в них. Угадай с одного раза, откуда libpci берет информацию о PCI устройствах? Правильно, из sysfs и procfs.

netcat ★★
() автор топика
Ответ на: комментарий от netcat

Да и Readme то же самое глаголет.

4. Available access methods
~~~~~~~~~~~~~~~~~~~~~~~~~~~
The library (and therefore all the utilities) know a variety of methods for
accessing the PCI registers. Here is a list of them, sorted by autodetection
priority:

   /proc/bus/pci	on all Linux systems since kernel 2.1.82.
   /sys/bus/pci		on all Linux systems since kernel 2.5.xx.
   direct port access	on i386 systems running Linux, GNU Hurd or Solaris/x86;
			available only to root, useful if no other access
			method is available or you want to hunt kernel bugs
   /dev/pci		used on FreeBSD
   lsdev + odmget	used on AIX
   libpci		used on NetBSD
   dumps		reading of dumps produced by `lspci -x'
			(this one is not autodetected)

netcat ★★
() автор топика
Ответ на: комментарий от netcat

Да я всегда так думал. А иначе зачем Т-рвальдс дал нам sysfs?

Когда Тордвальдс клонировал свой linux - продукт был концептуально и логически цельным.

Сейчас его рвут на части девелоперы с разной логикой, парадигмой и видением будущего linux - GNU, X11, CUPS (разработчик - APPLE, ага), Android (Google), udev и прочие нововведения, включая попытки вставить в код ядра те или иные коммерческие наработки. Обо всем этом Тордвальдс и подумать не мог.

В результате - /sys, /proc и /etc больше не являются единым и единственным местом хранения информации о системе. Возникают и обсуждаются мысли о «реестре для linux» и все такое прочее.

На этом фоне - парсенье файлов - неэффективный подход, удобный лишь для cmd-line-фриков. Причем, зачастую, те, кто пишет - «да я все возьму из командной строки!» даже не представляют, что, собственно, они будут делать.

Типа, написали - и ну в гугль искать...

anonymous
()
Ответ на: комментарий от netcat

Да и Readme то же самое глаголет.

Вот и зашибись - за меня все сделает разработчик libpci! Он мне даст стабильный и предсказуемый интерфейс, а проблемы с изменением структуры /sys меня касаться не будут.

Или ты хочешь сам выполнить всю работу, и скопировать весь код, который за тебя УЖЕ сделали аффторы PCI Utils? ;)

Да, не все он берет. Что-то берет, а что-то нет. ;) И читает из напрямую регистров шины. Обрати внимание - lspci выдает разную информацию в пользовательском режиме и из-под root'а. Подумай - почему? ;)

anonymous
()
Ответ на: комментарий от anonymous

На этом фоне - парсенье файлов - неэффективный подход, удобный лишь для cmd-line-фриков.

А вы читали книгу некоего Рэймонда? Которая «The art of Unix programming».

netcat ★★
() автор топика
Ответ на: комментарий от anonymous

Обрати внимание - lspci выдает разную информацию в пользовательском режиме и из-под root'а.

[inish777@laptop hardinform]$ lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB Controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b5)
00:1d.0 USB Controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: ATI Technologies Inc Robson CE [AMD Radeon HD 6300 Series]
07:00.0 Ethernet controller: Atheros Communications AR8152 v2.0 Fast Ethernet (rev c1)
08:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
[inish777@laptop hardinform]$ sudo lspci
[sudo] password for inish777: 
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB Controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b5)
00:1d.0 USB Controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: ATI Technologies Inc Robson CE [AMD Radeon HD 6300 Series]
07:00.0 Ethernet controller: Atheros Communications AR8152 v2.0 Fast Ethernet (rev c1)
08:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
[inish777@laptop hardinform]$ 

Не вижу разницы.

netcat ★★
() автор топика
Ответ на: комментарий от netcat

А вы читали книгу некоего Рэймонда? Которая «The art of Unix programming». Ага - еще в 2003 году (Девять лет назад!) С тех пор все очень сильно поменялось.

anonymous
()
Ответ на: комментарий от anonymous

Да, теперь разница появилась.

netcat ★★
() автор топика
5 сентября 2012 г.

Вышла SysInfo 4 Linux 0.7.5.

Коллеги,

Вышла новая версия SysyInfo 4 linux. Скачать можно с домашней страницы проекта.

Много изменений. Главные - по видеокартам под управлением проприетарных драйверов nvidia и fglrx выдается полная информация - объем, тип, тайминги памяти, тип и число GPU, тип и скорость шины и т.д.

Плюс, доработан код CPUID для свежих процессоров Intel и AMD.

С уважением.

anonymous
()
Ответ на: комментарий от netcat
./sysinfo: error while loading shared libraries: libpangocairo-1.0.so.0: cannot open shared object file: No such file or directory

Вот будь исходники открыты, можно было бы самому собрать на x86-64.

netcat ★★
() автор топика
Ответ на: комментарий от netcat

Ждите - будут ближе к октябрю. Процесс идет...

Коллеги из forum.ubuntu.ru потребовали информацию по видеокартам. Добавлял... :)

anonymous
()
Ответ на: комментарий от netcat

У вас не установлены 32х разрядные библиотеки GTK2. Необходимо их установить.

anonymous
()
Ответ на: Вышла SysInfo 4 Linux 0.7.5. от anonymous

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

Т.е. сам себе поставь троян.

sdio ★★★★★
()
Ответ на: комментарий от warmate

warmate

Кому нужен этот Fucking shit?

Тебе не нужен - проходи мимо.

Или если такой умный - напиши что-нибудь свое. Только не нада рассказывать про

 cat /proc/cpuinfo 
и прочий детский сад.

anonymous
()
Ответ на: комментарий от sdio

sdio

Т.е. сам себе поставь троян.

Школота какая-то набежала...

«Песочница» - знакомо? А слово "файрвол"? Может быть - словосочетание "виртуальная машина" что-то тебе подскажет? А если проверить бинарник антивирусом (это ты точно должен знать!)?

А еще есть дебаггер (gdb, например). В программе полная отладочная информация - дебаж, не хочу.

:DDDDD

А если серьезно - ваши данные автору не интересны. Могу огласить премию в 50 долларов тому, кто надет у меня в программе троян, либо бекдор.

anonymous
()
Ответ на: комментарий от warmate

А зачем ты сюда пишешь? :)))))))))))))))))))))))

Я бежала за вами 3 дня, чтобы рассказать вам, как вы мне безразличны!

Я же говорю - школота....

anonymous
()
Ответ на: комментарий от sdio

sdio

с паскалем и прибитой гвоздями функциональности к гую, ага

Программа, между прочим, написана в полном соответствии с объектной моделью.

Все данные собираются на этапе инициации отдельных, специализированных классов. На домашней странице проекта этот процесс описан подробнее.

А отображение данных идет уже после того, как они были собраны. В отличии от многих других программ, например, той же HardInfo.

Так что никаких гвоздей.

Пилите, sdio. 50 долларов ждут вас.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.