nixp.ru v3.0

19 октября 2017,
четверг,
15:40:49 MSK

DevOps с компанией «Флант»
Genie написал 17 июня 2004 года в 19:05 (622 просмотра) Ведет себя как мужчина; открыл 40 тем в форуме, оставил 4758 комментариев на сайте.

Собственно вот… Родилось оно как-то, а чую, что не полное оно.

А нет у меня ни slackware, ги gentoo…

#!/bin/sh
#
VERSION='getcfg 0.0.20040530-2'
#
# Назначение этого скрипта простое - собрать о системе как можно больше
# информации и сложить её в один файл. Это может быть полезным, когда
# возникает проблема с Вашим linux, а справиться своими силами не удаётся.
#
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
#
# Для начала найдём все необходимые обязательные программы, которые
# используются явно. Тем самым избежим ошибок, связанных с использованием
# команды alias.
#
[ -x /bin/which ] && WHICH=/bin/which || \
[ -x /usr/bin/which ] && WHICH=/usr/bin/which || exit -1
#
ECHO=`$WHICH echo` && PRINTF=`$WHICH printf` || exit -1
CAT=`$WHICH cat` && DATE=`$WHICH date` && LS=`$WHICH ls` && SORT=`$WHICH sort` \
|| ($ECHO "*** Fatal: missing 'coreutils'. Aborting. ***"; exit -2)
#
AWK=`$WHICH awk` && GREP=`$WHICH grep` && HOSTNAME=`$WHICH hostname` && \
IFCONFIG=`$WHICH ifconfig` \
|| ($ECHO "*** Fatal: install also '[gm]awk', 'grep', 'hostname' and 'net-tools'."; exit -2)
#
# Куда сохранять отчёт - в текущую папку, по умолчанию.
#
DESTDIR=${DESTDIR:-.}
#
# Первый попавшийся eth интерфейс и будет главным. Определим его mac-адрес.
#
MAINIF=`$IFCONFIG -a|$AWK '/^eth/{print $1;end}'`
MACADDR=`$IFCONFIG $MAINIF|$AWK '/^eth/{gsub(":","");print $5}'`
LOGFILE=$DESTDIR/$MACADDR
#
DEFIFS=$IFS
$ECHO -n > $LOGFILE
(
#
# Собираем общую информацию о системе: ядро, имя компьютера и пользователя,
# текущую дату, mac-адрес первого сетевого интерфейса
#
$PRINTF "[Info]\n\
System=`$CAT /proc/version`\n\
Current_User_Name=$USER\n\
Computer_Name=`$HOSTNAME`\n\
Record_Date=`$DATE +%d.%m.%Y`\n\
MAC_Addr=$MACADDR\n\
Param_0=$VERSION\n"
$IFCONFIG $MAINIF|$AWK '/inet addr:/{gsub(":"," ");printf "IP_Addr=%s\n",$3}'
#
# Получаем информацию о компьютере: процессор(ы), объём ОЗУ, жёсткие диски
# и приводы cd/dvd. Вот тут есть баг: если включена эмуляция scsi, то
# считаться будет дважды. Ну и не определяется объём scsi дисков.
#
$PRINTF "\n[Computer]\n"
$CAT /proc/cpuinfo*|$AWK 'BEGIN      {FS=" *:+ *";CONVFMT="%.0f"}
/model name/      {models=models sep1 $2;sep1=", "}
/cpu MHz/      {freqs=freqs sep2 0+$2;sep2=", "}
END            {printf "CPU=%s\nCPU_Freq_in_MHz=%s\n",models,freqs}'
$LS -aFl /proc/kcore|$AWK '{printf "Memory_in_Mb=%.0f\n",$5/(1024*1024)}'
#
# устройства ide
#
DriveNo=3
HDDSize=0
for HD in a b c d e f g h; do
    if [ -x /proc/ide/hd$HD ]; then
      hdX=/proc/ide/hd$HD
      case `$CAT $hdX/media` in
      disk)
          $ECHO Drive_$DriveNo=Hard Disk
          cache=`$CAT $hdX/cache`
          if [ $cache -eq 0 ]; then cache=128; fi
          HDD="${HDD}IDE `$CAT $hdX/model`/${cache}kb cache:"
          let HDDSize=HDDSize+`$CAT $hdX/capacity` ;;
      cdrom)
          $ECHO Drive_$DriveNo=CD-ROM
          CDROM="${CDROM}ATAPI `$CAT $hdX/model`:" ;;
      esac
      let DriveNo++
    fi
done
#
# устройства scsi
#
eval $($AWK 'BEGIN{drvno='$DriveNo'}
/^Host:/        {v="";m="";r="";t="";a=""}
/^  Vendor:/    {split($0,ar,/ +[^ \:]+\: +/);v=ar[2];m=ar[3];r=ar[4]}
/^  Type:/      {split($0,ar,/  +[^\:]+\: +/);t=ar[2];a=ar[3];
if(t == "Direct-Access"){
    hd=hd "SCSI " v " " m ":";
    e=sprintf("%sDrive_%d=Hard Disk\\n",e,drvno++)
}else
if(t == "CD-ROM"){
    cd=cd "SCSI " v " " m ", rev. " r ":";
    e=sprintf("%sDrive_%d=CD-ROM\\n",e,drvno++)
}}
END{printf "HDD=\"${HDD}%s\"; CDROM=\"${CDROM}%s\"; printf \"%s\"",hd,cd,e;
exit drvno}'</proc/scsi/scsi; let DriveNo=0+$?)
let HDDSize=HDDSize/1000*512/1000
$PRINTF "Total_HDD_in_Mb=$HDDSize\n"
#
# Текущая конфигурация устройств в компьютере: видео, аудио и сетевые
# адаптеры, модели дисков и приводов.
#
$PRINTF "\n[Current_Config]\n"
$AWK 'BEGIN      {FS=": "}
/VGA/            {printf "Device_%d=Display %s\n",devno++,$2}
/Ethernet/      {printf "Device_%d=Net %s\n",devno++,$2}
/Multimedia/      {printf "Device_%d=MMedia %s\n",devno++,$2}
END            {exit devno}'</proc/pci
let DevNo=0+$?
IFS=':'
for HDisk in $HDD; do
    if [ $HDisk ]; then
      $ECHO Device_$DevNo=HDD $HDisk
      let DevNo++
    fi
done
for CDrive in $CDROM; do
    if [ $CDrive ]; then
      $ECHO Device_$DevNo=CdRom $CDrive
      let DevNo++
    fi
done
#
# Список служб при загрузке.
#
IFS=$DEFIFS
printf "\n[Linux_StartUp]\n"
SoftNo=0
[ -d /etc/rc.d ] && SoftRC="/etc/rc.d/"
[ -d /etc/rcS.d ] && SoftRC="$SoftRC /etc/rcS.d/S[0-9][0-9]*"
SoftAll=`($LS $SoftRC;$LS /etc/rc$($AWK 'BEGIN{FS=":"}\
/^[^#]*initdefault/{print $2}'</etc/inittab).d/S[0-9][0-9]*)|$GREP -v ":$"`
for Soft in $SoftAll; do
    $ECHO "Lin_Start_${SoftNo}=${Soft#*S[0-9][0-9]}"
    let SoftNo++
done
#
# Список установленного программного обеспечения в пакетах и в паре
# "умолчальных" для Slackware мест: /opt и /var/adm/packages.
# Для пакетов debian добавляем к названию номер версии установленного
# пакета, чтобы можно было идентифицировать программные ошибки.
# RedHat .rpm пакеты содержат в себе номера версии сразу в названии
# пакета, так что тут никаких дополнительных движений не производится.
# (хотя, наверное, надо бы вместо знаков "-" поставить "_" между
# именем и номером версии, как это сделано в пакетах debian.)
# Для пакетов Slackware что и как о версии известно - мне не известно.
#
printf "\n[Linux_Soft]\n"
SoftNo=0
SoftAll=`(DPKG=$($WHICH dpkg) && $DPKG -s $($DPKG --get-selections|\
$AWK '/[\t ]+install/{print $1}')|\
$AWK '/^Package:/{p=$2 "_"}/^Version:/{print p $2}';\
 RPM=$($WHICH rpm) && $RPM -qa;\
 [ -d /var/adm/packages ] && $LS /var/adm/packages;\
 [ -d /opt ] && $LS /opt)|$SORT`
for Soft in $SoftAll; do
    $ECHO "Lin_Soft_$SoftNo=$Soft"
    let SoftNo++
done
) >> $LOGFILE && $ECHO Report $LOGFILE has been successfully generated.
#
# by Serge Zenkov, a.k.a. Genie
# mailto:genie@nsk.ru
#
Longobard

Щас покушаю и пойду тестить :)

Genie

Угу :)

Вот только: у кого нет сетевой карточки, не пускайте скрипт.. оно ругаться будет. (потому как имя файла создаётся по MAC-адресу сетевой карты первого из eth, и никакой проверки на этот случай не делается… хотя оно и понятно: не бывает линуха без сети. не бывает…)

В общем, список поправок принимается тоже ;))

Uncle Theodore

Ну, смотри какая бяка на Слаке current (ядро 2.6.7 — это, конечно неважно, но почему бы не похвастаться…)

~$ ./scr.sh

eth1: Unknown host

ifconfig: `--help' gives usage information.

./scr.sh: line 37: ./: Is a directory

./scr.sh: line 164: ./: Is a directory

# ./scr.sh

eth1: Unknown host

ifconfig: `--help' gives usage information.

./scr.sh: line 37: ./: Is a directory

./scr.sh: line 164: ./: Is a directory

Здесь вот какая фигня. В ядрах 2.6 есть такая фишка как IP1394, то бишь IP over FireWire. Я ее в конфиге ядра указал, но сам интерфейс не сконфигурил. То есть, eth1 есть, а MAC на ем странный, и адреса нетути… А ifconfig -a его цепляет. Похоже, он у тебя берет не первый интерфейс, а последний…

Ладно, выгружаем eth1394

$ ./scr.sh

./scr.sh: line 14: /proc/scsi/scsi: No such file or directory

/bin/ls: /etc/rc3.d/S[0-9][0-9]*: No such file or directory

/usr/bin/which: no dpkg in (/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin)

Report ./0A0BFF93016C has been successfully generated.

Да, репорт нормальный. :-) Название файла я слегка в этом посте скорректировал, не удивляйтесь… :-)

Good Luck,

UT

Genie

вывод этих вот командмне на почту, пожалста (адрес в конце скрипта):

ifconfig -a

ls -AFoR /proc/[A-z]* /sys

which — странная с ним ситуация — на debian оно молчит, если не находит, на rh-based — ругается. и на slackware ругается.. буду думать..

Longobard


longobard root# sh test.sh
test.sh: line 15:  : command not found
test.sh: line 19:  : command not found
test.sh: line 20: syntax error near unexpected token `||'
test.sh: line 20: `|| ($ECHO "*** Fatal: missing 'coreutils'. Aborting. ***"; exit -2) '
longobard root#sh --version
GNU bash, version 2.05b.0(1)-release (i686-pc-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.
longobard root#

Система Gentoo Linux ядро 2.6.4.

Genie

Ох, сдаётся мне, что у тебя не \n на конце строчек, а \r\n получилось…. :))

Другого объяснения такому поведению я себе представить не могу…

dbgrid
Genie
# RedHat .rpm пакеты содержат в себе номера версии сразу в названии

# пакета, так что тут никаких дополнительных движений не производится.

# (хотя, наверное, надо бы вместо знаков «-» поставить «_» между

# именем и номером версии, как это сделано в пакетах debian.)

Для .rpm пакетов можно использовать rpm -qa --queryformat «\n»%{name}» v."%{version}

Вместо » v.» можно вставить что угодно, но, имхо, » v.» будет лучше.

Genie

угумс.

ну, в обратном порядке :))

dbgrid:

rpm -qa --queryformat


-- большое спасибо. подумаю, может использую. главное — знать как ;)

LONGOBARD:

если поглядеть внимательнее на строчки, на которые ругается — то видно, что они оканчиваются на \\ , тем самым, подразумевается, что сразу за этим знаком будет \n и ничего другого.

Uncle Theodore:

/bin/ls: /etc/rc3.d/S[0-9][0-9]*: No such file or directory


-- ууууу. значит, inittab указывает 3ий дефолтный уровень, а стартовых скриптов там нет ни одного.

вод веть.

Здесь вот какая фигня. В ядрах 2.6 есть такая фишка как IP1394, то бишь IP over FireWire. Я ее в конфиге ядра указал, но сам интерфейс не сконфигурил. То есть, eth1 есть, а MAC на ем странный, и адреса нетути… А ifconfig -a его цепляет. Похоже, он у тебя берет не первый интерфейс, а последний…


-- там вообще страх и ужас чего — теперь, думаю, будет поприятнее :)

./scr.sh: line 37: ./: Is a directory

./scr.sh: line 164: ./: Is a directory


-- вот именно про это я и говорил.. но даже мысли не было, что это-может-быть-настолько-так своим постингом

у кого нет сетевой карточки, не пускайте скрипт.. оно ругаться будет


-- о существовании eth1394 я ни сном, ни духом, аднака :)))))

fixed

#!/bin/sh
#
VERSION='getcfg 0.0.20040618-3'
#
# Назначение этого скрипта простое - собрать о системе как можно больше
# информации и сложить её в один файл. Это может быть полезным, когда
# возникает проблема с Вашим linux, а справиться своими силами не удаётся.
#
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
#
# Для начала найдём все необходимые обязательные программы, которые
# используются явно. Тем самым избежим ошибок, связанных с использованием
# команды alias.
#
[ -x /bin/which ] && WHICH=/bin/which || \
[ -x /usr/bin/which ] && WHICH=/usr/bin/which || exit -1
#
ECHO=`$WHICH echo` && PRINTF=`$WHICH printf` || exit -1
CAT=`$WHICH cat` && DATE=`$WHICH date` && LS=`$WHICH ls` && SORT=`$WHICH sort` \
|| ($ECHO "*** Fatal: missing 'coreutils'. Aborting. ***"; exit -2)
#
AWK=`$WHICH awk` && SED=`$WHICH sed` && GREP=`$WHICH grep` && \
HOSTNAME=`$WHICH hostname` && IFCONFIG=`$WHICH ifconfig` \
|| ($ECHO "*** Fatal: install also: [gm]awk, grep, hostname, net-tools, sed."; exit -2)
#
# Куда сохранять отчёт - в текущую папку, по умолчанию.
#
DESTDIR=${DESTDIR:-.}
#
# Первый попавшийся интерфейс типа Ethernet, Point-to-Point или Loopback
# и будет главным. Определим его имя, ip- и mac-адреса.
#
eval $($IFCONFIG|$AWK 'BEGIN{FS="  +"}
/Link encap:/{
ifname=$1;
hwaddr=$3;
if($2~/:Ethernet/){
    intf="eth";
    gsub(/(HWaddr| |:)/,"",hwaddr);
    if(!ifeth){ifeth=$1;maceth=hwaddr}
}
else
if($2~/:Point-to-Point Protocol/){
    intf="ppp";
    if(!ifppp){ifppp=$1;macppp=hwaddr}
}
else
if($2~/:Local Loopback/){
    intf="lo";
    if(!ifloc){ifloc=$1;macloc=hwaddr}
}
else
    intf="";
next}
/inet addr:/{
gsub(".+:","",$2);
ipaddr=$2;
intf=="eth"&&!ipeth&&ipeth=$2;
intf=="ppp"&&!ipppp&&ipppp=$2;
intf=="lo"&&!iploc&&iploc=$2;
next}
/^$/{
iface=intf ":" ifname ":" hwaddr ":" ipaddr " "
if(intf=="eth") eths=eths iface;
else ifs=ifs iface;
ifaces=ifaces ifname " "}
END{
(mainif=ifeth)||(mainif=ifppp)||(mainif=ifloc)||(mainif="*unknown*");
(mainip=ipeth)||(mainip=ipppp)||(mainip=iploc)||(mainip="*unknown*");
(mainmac=maceth)||(mainmac="FFFFFFFFFFFF");
printf "MAINIF=%s MACADDR=%s IPADDR=%s IFACES=\"%s%s\"",mainif,mainmac,mainip,eths,ifs
}')
LOGFILE=$DESTDIR/$MACADDR
#
DEFIFS=$IFS
$ECHO -n > $LOGFILE &&
(
#
# Собираем общую информацию о системе: ядро, имя компьютера и пользователя,
# текущую дату, mac-адрес первого сетевого интерфейса
#
$PRINTF "\n[Info]\n\
System=`$CAT /proc/version`\n\
Current_User_Name=$USER\n\
Computer_Name=`$HOSTNAME`\n\
Record_Date=`$DATE +%d.%m.%Y`\n\
Interfaces=$IFACES\n\
MAC_Addr=$MACADDR\n\
IP_Adr=$IPADDR\n\
Param_0=$VERSION\n"
#
# Получаем информацию о компьютере: процессор(ы), объём ОЗУ, жёсткие диски
# и приводы cd/dvd. Вот тут есть баг: если включена эмуляция scsi, то
# считаться будет дважды. Ну и не определяется объём scsi дисков.
#
$PRINTF "\n[Computer]\n"
#
# Информация о процессоре(ах)
#
$CAT /proc/cpuinfo*|$AWK 'BEGIN      {FS=" *:+ *";CONVFMT="%.0f"}
/model name/      {models=models sep1 $2;sep1=", "}
/cpu MHz/      {freqs=freqs sep2 0+$2;sep2=", "}
END            {printf "CPU=%s\nCPU_Freq_in_MHz=%s\n",models,freqs}'
[ -f /proc/kcore ] && $LS -aFl /proc/kcore|\
$AWK '{printf "Memory_in_Mb=%.0f\n",$5/(1024*1024)}'
#
# устройства ide
#
DriveNo=3
HDDSize=0
for HD in a b c d e f g h; do
    if [ -x /proc/ide/hd$HD ]; then
      hdX=/proc/ide/hd$HD
      case `$CAT $hdX/media` in
      disk)
          $ECHO Drive_$DriveNo=Hard Disk
          cache=`$CAT $hdX/cache`
          if [ $cache -eq 0 ]; then cache=128; fi
          HDD="${HDD}IDE `$CAT $hdX/model`/${cache}kb cache:"
          let HDDSize=HDDSize+`$CAT $hdX/capacity` ;;
      cdrom)
          $ECHO Drive_$DriveNo=CD-ROM
          CDROM="${CDROM}ATAPI `$CAT $hdX/model`:" ;;
      esac
      let DriveNo++
    fi
done
#
# устройства scsi
#
[ -f /proc/scsi/scsi ] && eval $($AWK 'BEGIN{drvno='$DriveNo'}
/^Host:/        {v="";m="";r="";t="";a=""}
/^  Vendor:/    {split($0,ar,/ +[^ \:]+\: +/);v=ar[2];m=ar[3];r=ar[4]}
/^  Type:/      {split($0,ar,/  +[^\:]+\: +/);t=ar[2];a=ar[3];
if(t == "Direct-Access"){
    hd=hd "SCSI " v " " m ":";
    e=sprintf("%sDrive_%d=Hard Disk\\n",e,drvno++)
}else
if(t == "CD-ROM"){
    cd=cd "SCSI " v " " m ", rev. " r ":";
    e=sprintf("%sDrive_%d=CD-ROM\\n",e,drvno++)
}}
END{printf "HDD=\"${HDD}%s\"; CDROM=\"${CDROM}%s\"; printf \"%s\"",hd,cd,e;
exit drvno}'</proc/scsi/scsi; let DriveNo=0+$?)
let HDDSize=HDDSize/1000*512/1000
$PRINTF "Total_HDD_in_Mb=$HDDSize\n"
#
# Текущая конфигурация устройств в компьютере: видео, аудио и сетевые
# адаптеры, модели дисков и приводов.
#
$PRINTF "\n[Current_Config]\n"
$AWK 'BEGIN      {FS=": "}
/VGA/            {printf "Device_%d=Display %s\n",devno++,$2}
/Ethernet/      {printf "Device_%d=Net %s\n",devno++,$2}
/Multimedia/      {printf "Device_%d=MMedia %s\n",devno++,$2}
END            {exit devno}'</proc/pci
let DevNo=0+$?
IFS=':'
for HDisk in $HDD; do
    if [ $HDisk ]; then
      $ECHO Device_$DevNo=HDD $HDisk
      let DevNo++
    fi
done
for CDrive in $CDROM; do
    if [ $CDrive ]; then
      $ECHO Device_$DevNo=CdRom $CDrive
      let DevNo++
    fi
done
#
# Список служб при загрузке.
#
IFS=$DEFIFS
$PRINTF "\n[Linux_StartUp]\n"
SoftNo=0
[ -d /etc/rc.d ] && SoftRC="/etc/rc.d/"
[ -d /etc/rcS.d ] && SoftRC="$SoftRC /etc/rcS.d/S[0-9][0-9]*"
SoftAll=`($LS $SoftRC;$LS /etc/rc$($AWK 'BEGIN{FS=":"}\
/^[^#]*initdefault/{print $2}'</etc/inittab).d/S[0-9][0-9]*)|$GREP -v ":$"`
for Soft in $SoftAll; do
    $ECHO "Lin_Start_${SoftNo}=${Soft#*S[0-9][0-9]}"
    let SoftNo++
done
#
# Список установленного программного обеспечения в пакетах и в паре
# "умолчальных" для Slackware мест: /opt и /var/adm/packages.
# Для пакетов debian добавляем к названию номер версии установленного
# пакета, чтобы можно было идентифицировать программные ошибки.
# RedHat .rpm пакеты содержат в себе номера версии сразу в названии
# пакета, так что тут никаких дополнительных движений не производится.
# (хотя, наверное, надо бы вместо знаков "-" поставить "_" между
# именем и номером версии, как это сделано в пакетах debian.)
# Для пакетов Slackware что и как о версии известно - мне не известно.
#
$PRINTF "\n[Linux_Soft]\n"
(DPKG=$($WHICH dpkg) && $DPKG -s $($DPKG --get-selections|\
$AWK '/[\t ]+install/{print $1}')|\
$AWK '/^Package:/{p=$2 "  "}/^Version:/{print p $2}';\
 RPM=$($WHICH rpm) && $RPM -qa --queryformat '%{name}  %{version}\n';\
 [ -d /var/adm/packages ] && $LS /var/adm/packages;\
 [ -d /opt ] && $LS /opt)|$SORT|$CAT -b|$SED -r \
 's/[[:space:]]*([0-9]+)[[:space:]]+([^[:space:]].*)/Lin_Soft_\1=\2/g'
) >> $LOGFILE && $ECHO Report $LOGFILE has been successfully generated.
#
# by Serge Zenkov, a.k.a. Genie
# mailto:genie@nsk.ru
#
Genie

Тег code корёжит написанное :(

к сожалению.

зачем-то при выводе в тексте html тег

обрамляется пробелами.

Отсюда и проблема у LONGOBARD.

Во всех строчках нужно убрать в конце пробелы!

dbgrid
Genie
-- ууууу. значит, inittab указывает 3ий дефолтный уровень, а стартовых скриптов там нет ни одного.

вод веть.

Дело не в уровне, а в том что rc3.d находиться в /etc/init.d/ а не в /etc/

Была такая же ошибка.

Пришлось исправить на

SoftAll=`($LS $SoftRC;$LS /etc/init.d/rc$($AWK 'BEGIN{FS=«:»}\

После этого всё ОК

Longobard
Genie
Тег code корёжит написанное :(

к сожалению.

зачем-то при выводе в тексте html тег

обрамляется пробелами.

Отсюда и проблема у LONGOBARD.

Во всех строчках нужно убрать в конце пробелы!

Гы. Тогда вышлете на мыло longobard на_сервере user.mns.ru нормальную версию скрипта ок? Заранее спасип

Uncle Theodore
dbgrid
Дело не в уровне, а в том что rc3.d находиться в /etc/init.d/ а не в /etc/

Была такая же ошибка.

А это смотря где. В Слаке BSD-init по дефолту, соответственно, никаких rcN.d нету, если их специально не делать. В /etc есть rc.d а в нем — все стартовые скрипты…

Good Luck,

UT

dbgrid
Uncle Theodore
А это смотря где. В Слаке BSD-init по дефолту, соответственно, никаких rcN.d нету, если их специально не делать. В /etc есть rc.d а в нем — все стартовые скрипты…

Good Luck,

UT

Это в слаке, а во многих дистрибутивах есть символьная ссылка в /etc/

на /etc/init.d/ и скрипты, проверяя, есть ли такая директория, начинают с ней работать напрямую. Каждый инит имеет свою директорию… Да кому я объясняю… Надо делать универсальный скрипт, если уж такая задача поставлена.

Genie

хорошо.

отчасти я понимаю, что именно надо сделать.

осталось малое — у мея нет полной инфы. и ящик пуст.. (это типа намёк)

ls -AFR /etc/{init,rc}*d

мне на почту у кого проблемы

Uncle Theodore

Видишь ли, я человек скрытный от природы… Но последний вариант команды прогнать могу. Стало быть, Слака current (самая что ни на есть current) ядро 2.6.7

~$ ls -AFR /etc/{init,rc}*d

ls: /etc/init*d: No such file or directory

/etc/rc.d:

devmap_mknod.sh~* rc.acpid* rc.inet1.conf.new rc.pcmcia*

rc.0@ rc.alsa* rc.inet1.new* rc.portmap

rc.0.bkup* rc.alsa~* rc.inet2* rc.samba

rc.4* rc.atalk rc.inet2.new* rc.sendmail

rc.6* rc.bind rc.inetd* rc.serial*

rc.6.bkup* rc.cups rc.ip_forward rc.sshd*

rc.6.new* rc.devmap_mknod.sh* rc.local* rc.syslog*

rc.K* rc.font.new* rc.local.new* rc.syslog.new*

rc.M* rc.gpm* rc.local~* rc.sysvinit*

rc.M.bkup* rc.hotplug* rc.lprng rc.wireless*

rc.M.new* rc.httpd rc.modules* rc.wireless.conf

rc.S* rc.inet.uni* rc.modules~* rc.yp*

rc.S.new* rc.inet1* rc.mysqld

rc.S~* rc.inet1.conf rc.nfsd*

Good Luck,

UT

Genie

Дык.. Оно и понятно — история с легализацией ещё не забылась ;))))

итак, вроде поправил.

Лично проверено, работает на: Debian Woody, RedHat 9.0 (в общем-то и другие версии и клоны работать должны), Blin-1.3-gnome2 (собственно slackware и есть. вот только почему там нет printf? пришлось брать с debian).

Осталось решить, куда это дело выкладывать — на форум неудобно. хотя и возможно.

LONGOBARD: Кинул, лови :)

Genie
LONGOBARD: Кинул, лови :)

Только оно не долетело — говорит, что не знает такого почтового домена user.nms.ru

Genie

Временно выложен тут под именем getcfg. Пока не определился куда лучше.

Negative

На Слаке 9.1 работает отлично.

Вот только не понял, зачем это надо пока :) Разве что для быстрого получения инфы на «чужой» системе

Дмитрий Шурупов

http://www.nixp.ru/pub/sh/getcfg

http://www.nixp.ru/pub/sh/getcfg.bz2

P.S. Глюк с пробелами в конце строк устранен.

P.P.S. Под Debian скрипт работает нормально.

Longobard

млин, перепутал адрес :) сервер почтовый users.mns.ru , юзерь на нем longobard. Я же мыло свое в профие вроде не скрывал :)

Longobard

Выхлоп скрипта:

[Info]
System=Linux version 2.6.4 (root@livecd) (gcc version 3.3.3 20040412 (Gentoo Linux 3.3.3-r3, ssp-3.3-7, pie-8.5.3)) #1 Mon Jun 14 21:00:07 Local time zone must be set--see zic manu
Current_User_Name=root
Computer_Name=longobard
Record_Date=20.06.2004
Interfaces=eth:eth0:00062989C126:10.1.7.90 eth:eth1:000011000F12:192.168.1.1 eth:vmnet8:005056C00008:192.168.181.1 lo:lo::127.0.0.1
MAC_Addr=00062989C126
IP_Adr=10.1.7.90
Param_0=getcfg 0.0.20040620-5
[Computer]
CPU=Intel(R) Pentium(R) 4 CPU 1.80GHz
CPU_Freq_in_MHz=1804
Memory_in_Mb=512
Drive_3=Hard Disk
Drive_4=CD-ROM
Total_HDD_in_Mb=60059
[Current_Config]
Device_0=Display nVidia Corporation NV17 [GeForce4 MX 440] (rev 163).
Device_1=MMedia C-Media Electronics Inc CM8738 (rev 16).
Device_2=Net Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 8).
Device_3=Net Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 16).
Device_4=HDD IDE SAMSUNG SP0612N/2048kb cache
Device_5=CdRom ATAPI ASUS CRW-5224A
[Linux_StartUp]
[Linux_Soft]
Lin_Soft_1=bin
Lin_Soft_2=blackdown-jdk-1.4.1
Lin_Soft_3=blackdown-jre-1.4.1
Lin_Soft_4=CBuilderX
Lin_Soft_5=insight
Lin_Soft_6=OpenOffice.org
Lin_Soft_7=opera
Lin_Soft_8=racer-bin
Lin_Soft_9=rar
Lin_Soft_10=spacetripper-demo
Lin_Soft_11=vmware
Lin_Soft_12=XnView

1) root@livecd непонятно откуда взялось.

2) шо за список Linux_Soft?

Genie

>> 1) root@livecd непонятно откуда взялось.

На самом деле, вполне понятно, откуда это взялось ;))

Стоит только начать разбираться.

Компилировалось ядро на системе, которая загружалась с cd. И, вероятно, что hostname в то время был именно livecd.

А при компиляции в ядро вставляется имя компа, на котором оно компилялось.

Ну и пользователь — root, как это ни странно ;)

>> 2) шо за список Linux_Soft?

Это софт, установленный на компе. Его оказалось найти сложно, только то, что есть в /opt и нашлось. Мдааа…

И стартовых скриптов как ни бывало..

Longobard

1) Ядро я собирал НЕ ИЗ LiveCD! Я точно помню, шо на Лайве я собирал 2.6.0, 2.6.4 — уже на генту с харда.

2) Лучше этот список вапще убрать, раз он такой ущербный.

3) Стартовые скрипты у меня в /etc/init.d (сами скрипты), /etc/conf.d (конфиги для них). В генту скрипты устроены так:

4) Все остальное — верно!

http://www.gentoo.org/doc/ru/rc-scripts.xml

Вот и все вопщем то. Удачи!

Genie

>> 1) Ядро я собирал НЕ ИЗ LiveCD! Я точно помню, шо на Лайве я собирал 2.6.0, 2.6.4 — уже на генту с харда.

Я не настолько хорошо знаю технологию сборки ядер на gentoo ;) чтобы вот так вот с ходу ответить на этот вопрос.

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

>> 2) Лучше этот список вапще убрать, раз он такой ущербный.

Не стОит быть настолько категоричным в этом плане — на моём компе список доволно внушительный — порядка 500 пакетов, а на хорошо нагруженной системе с RH — за 700. Так что тут надо просто разобраться, чем смотреть список установленного софта на gentoo. Если бы я это знал сразу, это было бы сделано и этой темы не было бы.

>> 3) Стартовые скрипты у меня в /etc/init.d (сами скрипты), /etc/conf.d (конфиги для них). В генту скрипты устроены так:

ls -AFoR /etc/init.d мне на почту.

>> 4) Все остальное — верно!

ну, может и так… для пущего разбирательства `cat /proc/pci; ls -AFoR /proc/[A-z]* /sys` на почту

Longobard
Genie
>> 1) Ядро я собирал НЕ ИЗ LiveCD! Я точно помню, шо на Лайве я собирал 2.6.0, 2.6.4 — уже на генту с харда.

Я не настолько хорошо знаю технологию сборки ядер на gentoo ;) чтобы вот так вот с ходу ответить на этот вопрос.

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

>> 2) Лучше этот список вапще убрать, раз он такой ущербный.

Не стОит быть настолько категоричным в этом плане — на моём компе список доволно внушительный — порядка 500 пакетов, а на хорошо нагруженной системе с RH — за 700. Так что тут надо просто разобраться, чем смотреть список установленного софта на gentoo. Если бы я это знал сразу, это было бы сделано и этой темы не было бы.

>> 3) Стартовые скрипты у меня в /etc/init.d (сами скрипты), /etc/conf.d (конфиги для них). В генту скрипты устроены так:

ls -AFoR /etc/init.d мне на почту.

>> 4) Все остальное — верно!

ну, может и так… для пущего разбирательства `cat /proc/pci; ls -AFoR /proc/[A-z]* /sys` на почту

1) возможно, т.к. ядро с лайвцд ставилось ебилдом, оно отмечено в базе портов. А остальные ядра я ставил руками.

2) cat /var/cache/edb/world

net-analyzer/ethereal
net-www/opera
net-analyzer/dnstracer
media-sound/alsa-utils
media-plugins/xmms-liveice
media-gfx/gqview
x11-misc/xscreensaver
media-libs/tiff
games-strategy/scorched3d
media-libs/libsdl
dev-util/insight
dev-util/flawfinder
x11-plugins/wmbio
dev-libs/openssl
media-libs/sdl-ttf
x11-plugins/wmmixer
app-admin/tripwire
sys-devel/gdb
net-www/apache
x11-terms/root-tail
games-arcade/tuxracer
games-puzzle/pingus
dev-java/blackdown-jdk
app-text/sgml-common
sys-apps/eject
app-office/dia
media-libs/id3lib
net-misc/openssh
dev-util/ddd
games-kids/tuxmath
x11-wm/fluxbox
x11-terms/aterm
media-video/nvidia-glx
app-misc/mc
net-print/foomatic
x11-plugins/wmtop
media-sound/mpg123
sys-apps/dcron
app-text/dictd
net-www/links
app-emulation/vmware-workstation
x11-base/xfree
net-irc/irssi
media-sound/lame
media-libs/sdl-mixer
media-gfx/xpaint
media-sound/litestream
media-sound/streamripper
games-sports/racer-bin
app-editors/xemacs
x11-misc/xscreensaver-app
x11-libs/fltk
net-ftp/ncftp
media-gfx/gimp
dev-util/cvs
app-text/ipcalc
app-sci/hcalc
sys-apps/sh-utils
app-editors/nano
media-libs/smpeg
sys-apps/module-init-tools
media-fonts/sharefonts
games-arcade/supertux
net-print/cups
media-libs/openal
net-nds/portmap
games-action/spacearyarya-kxl
net-analyzer/nmap
media-libs/win32codecs
media-libs/faad2
games-action/spacetripper-demo
app-text/xpdf
app-text/ghostscript
games-action/chromium
net-misc/d4x
media-libs/divx4linux
net-im/licq
media-libs/libid3tag
x11-themes/gkrellm-themes
app-admin/sysklogd
sys-kernel/genkernel
net-dns/ez-ipupdate
dev-util/strace
net-im/tkabber
app-text/code2html
x11-misc/xfontselector
app-admin/ide-smart
net-www/squid
media-libs/xvid
games-arcade/bumprace
app-admin/gkrellm
sys-devel/gettext
net-ftp/pure-ftpd
kde-base/arts
sys-apps/modutils
app-sci/calcoo
x11-plugins/gkrellm-logwatch
x11-themes/xmms-themes
media-libs/libao
app-arch/rar
media-fonts/freefonts
sys-apps/fileutils
x11-libs/qt
x11-plugins/wmcalc
media-libs/imlib2
media-plugins/xmms-cdread
app-office/openoffice
x11-plugins/gkrellm-hddtemp
media-fonts/terminus-font
net-dns/bind-tools
media-sound/darkice
app-arch/rpm2targz
media-libs/sdl-image
app-sci/hexcalc
x11-misc/xnview
app-text/djvu
net-misc/netkit-telnetd
app-admin/fam
games-puzzle/neverball
x11-misc/xchm
net-www/mozilla
sys-apps/textutils
app-cdr/simplecdrx
app-editors/jedit
media-sound/muse
net-misc/ices
net-analyzer/portsentry
media-sound/alsamixergui
net-firewall/iptables
sys-apps/hotplug
net-analyzer/tcpdump

Вот тебе и список.

Longobard

3)ls -AFoR /etc/init.d

/etc/init.d:
итого 224
-rwxr-xr-x  1 root 5476 Май 29 06:27 alsasound*
-rwxr-xr-x  1 root 2497 Июн 16 11:51 apache2*
-rwxr-xr-x  1 root 2808 Май 19 22:34 bootmisc*
-rwxr-xr-x  1 root 2419 Май 20 07:51 bootsplash*
-rwxr-xr-x  1 root 5119 Май 19 22:34 checkfs*
-rwxr-xr-x  1 root 2324 Май 19 22:34 checkroot*
-rwxr-xr-x  1 root 1962 Май 19 22:34 clock*
-rwxr-xr-x  1 root 1918 Май 19 22:34 consolefont*
-rwxr-xr-x  1 root 1143 Май 19 22:34 crypto-loop*
-rwxr-xr-x  1 root  522 Май 20 20:44 cupsd*
-rwxr-x---  1 root  622 Май 23 22:48 dcron*
lrwxrwxrwx  1 root   21 Май 19 22:34 depscan.sh -> ../../sbin/depscan.sh*
-rwxr-xr-x  1 root 1769 Июн 14 22:51 dictd*
-rwxr-xr-x  1 root 1582 Май 19 22:34 domainname*
-rwxr-xr-x  1 root  874 Июн  3 14:26 esound*
-rwxr-xr-x  1 root  512 Май 22 15:56 famd*
lrwxrwxrwx  1 root   23 Май 19 22:34 functions.sh -> ../../sbin/functions.sh*
-rwxr-xr-x  1 root  598 Июн  7 13:16 gkrellmd*
-rwxr-xr-x  1 root  958 Май 20 00:16 gpm*
-rwxr-xr-x  1 root 5118 Май 19 22:34 halt.sh*
-rwxr-xr-x  1 root  543 Май 24 16:33 hddtemp*
-rwxr-xr-x  1 root 2137 Май 19 23:52 hdparm*
-rwxr-xr-x  1 root 1606 Май 19 22:34 hostname*
-rwxr-xr-x  1 root  843 Май 20 22:09 hotplug*
-rwxr-xr-x  1 root 1788 Май 20 00:13 iptables*
-rwxr-xr-x  1 root 1122 Май 19 22:34 keymaps*
-rwxr-xr-x  1 root  727 Май 19 22:34 local*
-rwxr-xr-x  1 root 1444 Май 19 22:34 localmount*
-rwxr-xr-x  1 root 2943 Май 19 22:34 modules*
-rwxr-xr-x  1 root 9776 Май 19 22:34 net.eth0*
-rwxr-xr-x  1 root 9776 Май 20 16:36 net.eth1*
-rwxr-xr-x  1 root  512 Май 19 22:34 net.lo*
-rwxr-xr-x  1 root 2520 Май 19 22:34 netmount*
-rwxr-xr-x  1 root  856 Май 19 22:34 nscd*
-rwxr-xr-x  1 root  912 Май 19 22:34 numlock*
-rwxr-xr-x  1 root 1087 Май 22 15:53 portmap*
-rwxr-xr-x  1 root  969 Июн  3 01:45 portsentry*
-rwxr--r--  1 root  748 Май 22 17:16 pure-ftpd*
-rwxr-xr-x  1 root  237 Май 19 22:34 reboot.sh*
-rwxr-xr-x  1 root  383 Май 19 22:34 rmnologin*
-rwxr-xr-x  1 root  424 Май 19 23:28 rsyncd*
lrwxrwxrwx  1 root   23 Май 19 22:34 runscript.sh -> ../../sbin/runscript.sh*
-rwxr-xr-x  1 root 1104 Май 19 22:34 serial*
-rwxr-xr-x  1 root  238 Май 19 22:34 shutdown.sh*
-rwxr-xr-x  1 root 1990 Июн  2 12:41 squid*
-rwxr-xr-x  1 root 1286 Июн  3 00:00 sshd*
-rwxr-xr-x  1 root  993 Май 20 07:47 sysklogd*
-rwxr-xr-x  1 root  927 Май 19 22:34 urandom*
-rwxr-xr-x  1 root 1425 Июн 15 17:08 vmware*
-rwxr-xr-x  1 root 2834 Май 21 21:47 xdm*
-rwxr-xr-x  1 root 6650 Май 21 21:47 xfs*

4) cat /proc/pci

PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Intel Corp. 82845G/GL [Brookdale-G] Chipset Host Bridge (rev 3).
      Prefetchable 32 bit memory at 0xe0000000 [0xe3ffffff].
  Bus  0, device   1, function  0:
    PCI bridge: Intel Corp. 82845G/GL [Brookdale-G] Chipset AGP Bridge (rev 3).
      Master Capable.  Latency=32.  Min Gnt=13.
  Bus  0, device  29, function  0:
    USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 2).
      IRQ 10.
      I/O at 0xe400 [0xe41f].
  Bus  0, device  29, function  1:
    USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 2).
      IRQ 12.
      I/O at 0xe800 [0xe81f].
  Bus  0, device  29, function  2:
    USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 2).
      IRQ 12.
      I/O at 0xec00 [0xec1f].
  Bus  0, device  29, function  7:
    USB Controller: Intel Corp. 82801DB USB2 (rev 2).
      IRQ 11.
      Non-prefetchable 32 bit memory at 0xdffffc00 [0xdfffffff].
  Bus  0, device  30, function  0:
    PCI bridge: Intel Corp. 82801BA/CA/DB/EB PCI Bridge (rev 130).
      Master Capable.  No bursts.  Min Gnt=6.Max Lat=4.
  Bus  0, device  31, function  0:
    ISA bridge: Intel Corp. 82801DB LPC Interface Controller (rev 2).
  Bus  0, device  31, function  1:
    IDE interface: Intel Corp. 82801DB Ultra ATA Storage Controller (rev 2).
      IRQ 12.
      I/O at 0xfc00 [0xfc0f].
      Non-prefetchable 32 bit memory at 0x20000000 [0x200003ff].
  Bus  0, device  31, function  3:
    SMBus: Intel Corp. 82801DB/DBM SMBus Controller (rev 2).
      IRQ 12.
      I/O at 0xc00 [0xc1f].
  Bus  1, device   0, function  0:
    VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440] (rev 163).
      IRQ 10.
      Master Capable.  Latency=248.  Min Gnt=5.Max Lat=1.
      Non-prefetchable 32 bit memory at 0xde000000 [0xdeffffff].
      Prefetchable 32 bit memory at 0xd0000000 [0xd7ffffff].
      Prefetchable 32 bit memory at 0xdd680000 [0xdd6fffff].
  Bus  2, device   1, function  0:
    Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 16).
      IRQ 12.
      Master Capable.  Latency=32.  Min Gnt=2.Max Lat=24.
      I/O at 0xdc00 [0xdcff].
  Bus  2, device   3, function  0:
    Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 8).
      IRQ 12.
      Master Capable.  Latency=32.  Min Gnt=8.Max Lat=56.
      Non-prefetchable 32 bit memory at 0xdfeff000 [0xdfefffff].
      I/O at 0xd800 [0xd83f].
      Non-prefetchable 32 bit memory at 0xdfd00000 [0xdfdfffff].
  Bus  2, device   4, function  0:
    Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 16).
      IRQ 10.
      Master Capable.  Latency=32.  Min Gnt=32.Max Lat=64.
      I/O at 0xd400 [0xd4ff].
      Non-prefetchable 32 bit memory at 0xdfefef00 [0xdfefefff].

ls -AFoR /proc/[A-z]* /sys

ls: /proc/[A-z]*/sys: No such file or directory
Genie

Хорошо. Буду немного переписывать (ну, как обычно, с нуля) :)))

Только вот

ls -AFoR /proc/[A-z]* /sys

ls: /proc/[A-z]*/sys: No such file or directory

тут написано 2 разных аргумента «/proc/[A-z]*» и «/sys» :)

Longobard

ls -AFoR /proc/[A-z]*  /sys (просто сначала не заметил пробела) у тебя на мыле. Удачи!

Genie

Спасиба, буду отдельно разбираться с gentoo… Так что считай, что ты особенный ;))

Genie

по большей части переписанная на пёрле версия (всё ещё часть на шелле) лежит тут

восстановлена не вся фукциональность (пока что), но, к тому же, задатки к расширению есть.

Кто хочет/может протестировать — тестируйте и вывод на почту мне.

Пожелания — также принимаются. К уже намеченному — конфигурация X-сервера.

serg2003

У меня ламерский вопрос по перлу .

Вот я поставил линукс . как мне теперь узнать , стоит ли на нем перл ?

Если нет , то что нужно поставить ?

myst
У меня ламерский вопрос по перлу.

А вопрос-то и не про перл вовсе…

Вот я поставил линукс. как мне теперь узнать, стоит ли на нем перл?

Точно как и в винде: попробовать запустить. Например так:

$ perl -h

Если нет, то что нужно поставить ?

perl

serg2003

Понятно .

Перл , похоже , в линуксе играет примерно ту же роль , что и шелл ?

Пишут ли на перле системные скрипты ?

Может ли перл заменить шелл ?

myst
Перл, похоже, в линуксе играет примерно ту же роль, что и шелл?

Perl — это Perl, а shell — это shell. Не надо путать божий дар с яичницей.

Пишут ли на перле системные скрипты?

Что значит системные? То что они используют системные вызовы вроде fork(2)?

Может ли перл заменить шелл?

Нет, не может.

Genie

Мдяя. Хотелось сделать определение привязки сетевого интерфейса к карточке.

Всё вроде в теории замечательно, `cat /proc/pci` и `lspci -vv` показывают irq и ports для карточки, правильно…

`ifconfig -a` тоже показывает для физических интерфейсов irq и базовый port ввода/вывода.

Должны бы совпадать для отдельно взятого интерфейса.

И совпадают.

Но не у меня самого! :((

[genie@host:~]$ ifconfig -a|grep -B9 Interrupt; lspci -vv|grep -A8 Ethernet
eth0      Link encap:Ethernet  HWaddr 00:45:00:0A:19:3A  
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::245:ff:fe0a:193a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10484 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8978 errors:0 dropped:0 overruns:1 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6379009 (6.0 MiB)  TX bytes:1056735 (1.0 MiB)
          Interrupt:11 Base address:0x3000
00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10)
        Subsystem: D-Link System Inc DFE-538TX
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- 
        Latency: 32 (8000ns min, 16000ns max)
        Interrupt: pin A routed to IRQ 11
        Region 0: I/O ports at e800 [size=256]
        Region 1: Memory at ee000000 (32-bit, non-prefetchable) [size=256]
        Capabilities: 

Какого Х оно показывает по-разному и где это поправлять???

[genie@host:~]$ head -n 37 tmp/0045000A193A
[Info]
Computer_Name=host.
Current_User_Name=genie
IP_Addr=192.168.1.4
MAC_Addr=0045000A193A
Param_0=getcfg 0.0.20040630-7
Record_Date=30.06.2004
System=Debian Linux
[System]
Distributive=Debian
Kernel_Compiler=gcc 2.95.4
Operating_System=Linux
Running_Kernel=2.6.5-1-k7.badram.1
[Computer]
CPU=AMD Athlon(tm) Processor
CPU_Freq_in_MHz=901.672
Drive_0=Hard_drive
Drive_1=CD_drive
Memory_in_Mb=512
Total_HDD_in_Mb=57242
[Current_Config]
Device_0=PCI 00:00.0|Host bridge|mem:0xe8000000(64Mbytes)|VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 03)
Device_1=PCI 00:01.0|PCI bridge||VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP] (prog-if 00 [Normal decode])
Device_2=PCI 00:07.0|ISA bridge||VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
Device_3=PCI 00:07.1|IDE interface|io:0xd000(16bytes)|VIA Technologies, Inc. Bus Master IDE
Device_4=PCI 00:07.2|USB Controller|irq:11 io:0xd400(32bytes)|VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI])
Device_5=PCI 00:07.3|USB Controller|irq:11 io:0xd800(32bytes)|VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI])
Device_6=PCI 00:07.4|Bridge|irq:9|VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
Device_7=PCI 00:07.5|Multimedia audio controller|irq:12 io:0xdc00(256bytes),0xe000(4bytes),0xe400(4bytes)|VIA Technologies, Inc. AC97 Audio Controller
Device_8=PCI 00:09.0|Ethernet controller|irq:11 io:0xe800(256bytes) mem:0xee000000(256bytes)|D-Link System Inc DFE-538TX
Device_9=PCI 01:00.0|VGA compatible controller|irq:10 mem:0xec000000(16Mbytes),0xe0000000(128Mbytes)|nVidia Corporation NV11 (GeForce2 MX) (rev b2) (prog-if 00 [VGA])
Device_10=IDE ST360014A/2048kb cache
Device_11=SCSI _NEC NR-7500A, rev. 1.20

PS: у кого есть scsi hdd: как объём-то таких дисков узнать? :)

/proc/partitions бы поглядеть — там вроде может быть. email me, кто в курсе.

serg2003

В асп 9.2 есть системный скрипт , который называется sysreport ,

он позволяет получить подробную информацию о редхат-подобной системе .

Весит 10 килобайт , вот маленький кусок с него :

#! /bin/bash

#

# System Report

# Copyright (c) 1999-2003 Red Hat, Inc. All rights reserved.

#

# Written by:

# Wil Harris

# Peter Jones

# Preston Brown

# Than Ngo

umask 0077

ROOT=/tmp/sysreport

UTILDIR=/usr/share/sysreport

VER=`/bin/uname -r`

if [ -f $UTILDIR/functions ]; then

. $UTILDIR/functions

else

echo «Sysreport is not properly installed»

exit 1

fi

if [ $UID != 0 ]; then

echo «You must be root to use this utility»

exit 1

fi

rm -rf $ROOT

mkdir $ROOT

PATH="»

STATUS="Determining Red Hat Linux version:»

catiffile «/etc/redhat-release»

STATUS="Determinding your current hostname: »

catifexec «/bin/hostname»

STATUS="Getting the date:»

catifexec «/bin/date»

STATUS="Checking your systems current uptime and load average:»

catifexec «/usr/bin/uptime»

STATUS="Checking available memory:»

catifexec «/usr/bin/free»

STATUS="Checking free disk space:»

catifexec «/bin/df» «-al»

STATUS="Checking currently running processes:»

catifexec «/bin/ps» «auxww»

STATUS="Checking current process tree:»

catifexec «/usr/bin/pstree»

STATUS="Collecting information about ld.so:»

catiffile «/etc/ld.so.conf»