Linux parameterek egyszeruen

Fórumok

Itt olyan modszereket szeretnek megosztani, amivel bizonyos beallitasok, parameterek kulonosebb hackeles nelkul elerhetok Linux alatt. Persze, ezeket lspci, lshw, gkrellm, snmp es rengeteg mas cucc meg tudja jeleniteni, de a feladat az, hogy minel kenyelmesebben es minel kevesebb extra utility igenybevetelevel is meg lehessen talalni pontosan azt az egy stringet, amire szukseg van.

Ebben peldaul az AIX sokkal, sokkal jobban ki van dolgozva, pl 'lsdev -Ccdisk -Sa -Fname' pontosan a diszkek neveit adja vissza, mindenfele hokuszpokusz nelkul. Ugyanigy 'ifconfig -lu' megmutatja az UP statuszban levo interface-ek nevet, de a sort folytathatnam a vegtelensegig.

Nehany dilemma:

- Hol talalom meg file-ban az Ethernet eszkozok cimet, illetve a sebesseget, amin eppen mukodnek? /proc es /sys alatt nem talaltam a sebesseget. Ethtool egy lehetoseg, de ott is fel kell dolgozni a kimenetet.

- Hogyan tudom kideriteni, az eppen aktiv kernelmodulok milyen opciokkal lettek betoltve?

Nyilvan nem sok forrasbol gazdalkodhatunk: /sys, /proc, dmesg, dmidecode/ipmi-tool...
Persze ez a kulon /proc es /sys egy vicc.

Alabb nehany pelda arra, amit egyszeruen ki lehet deriteni.

---

Hardver

Architektura: uname -m
CPU threadek szama: grep -c processor /proc/cpuinfo
CPU core-ok szama: sort -u /proc/cpuinfo | grep -c "core id"
- VAGY grep -m1 "cpu cores" /proc/cpuinfo | sed 's/.*: //'
Memoria, kB: awk '/MemTotal/ {print $2}' /proc/meminfo

Halozat

Lokalis MAC addressek: cat /sys/class/net/*/address
Default gw: /proc/net/route 'Gateway' oszlopaban hex-ben, visszafele
- VAGY /sbin/route | awk '/default/ {print $2}'
Link: cat /sys/class/net/*/carrier

A halozati parameterekhez meg az 'ip' parancs kimenete a leghasznalhatobb (iproute2 csomag).

Hozzászólások

Köszi, ez jó.
___________________________________________________________________________
MOS Technology 6510 @ 0.985 Mhz + 64 KByte (32kB RAM + 32 kB ROM)

De azért látod, hogy egy nap alatt 132 olvasás, nem a segged akarom nyalni, de értelmes posztra szarnak itt, úgy nézem. :) Inkább írd, hogy a macskád neve Linus.

Az AIX-ot ne dicsérd túl, mert azért nem túl konzekvensek a paraméterek, pedig lehetnének, mivel AFAIK shell scriptek a low level parancsok használtatára. (lslv -m, lspv -M, amire most épp gondolok).

___________________________________________________________________________
MOS Technology 6510 @ 0.985 Mhz + 64 KByte (32kB RAM + 32 kB ROM)

Hajra, csak igy tovabb. Viszont tobb ertelmet latnam HUPWikiben...

...és beírni az aliasok közé valami egyből eszünkbe jutó rövid néven, ha sűrűn van használva. Ha rootként kéne futtatni, úgyis bekéri magától a jelszót - nem külön sudo, emerge.

"A UNIX sokkal komplikáltabb - az átlagos UNIX buherátornak sose jut eszébe, hogy is hívják ezen a héten a PRINT parancsot..."
(Ed Post: Az Igazi Programozó)

kicsit bővíteném, mert szükségem van hasonlóra

interface nevek listázása (root jogok nélkül):

tail -n+3 /proc/net/dev | grep -o "^[^:]*" | tr -d " "

grep ":" /proc/net/dev | sed "s/^[ ]*\([^:]*\):.*$/\1/"

Vagyis a ":"-t tartalmazó sorokból kiszedi az első ":" előtt lévő szót a szóközök nélkül.

Ahol


^          :  soreleje
[ ]*       :  szóköz karakterek 0 vagy tetszőleges hosszú sorozata
*\([^:]*\) :  a nem kettőspont karakterek 0 vagy tetszőleges hosszú sorozata elkapva
.*         :  tetszőleges karakterek 0 vagy tetszőleges hosszú sorozata
$          :  sorvége
\1         :  az elkapott sor lecserélése az escapelt zárójelek között elkapott tartalomra

sűrűn szokott még szükségem lenni a NIC-ek local IP-jére root jogok nélkül (pl. sok session meg van nyitva screen-ben, és nem tudom fejből a címét annak a gépnek amin dolgozok, su-val pedig nem akarok átváltani állandóan)

ugye netstat-r csak az átjárókat írja ki

az alábbi kódot pofozgatom, jobb ötletem nincs, az rt_cache-be bele kell valahogy tolni a szóban forgó NIC címét forgalom generálással

esetleg erre nem tudnátok jobb ötletet? :)
(hexában írja ki visszafelé, de azt már át lehetne forgatni egyszerűen)


NIC="eth0"
ping -w 1 -I "$NIC" 127.0.0.1   1>/dev/null 2>/dev/null
grep -m1 "^$NIC" /proc/net/rt_cache | cut -f15

Ezt a lua szkriptet befűzheted a shell-szkriptbe


#!/bin/sh
ownip=`lua rt_cache_ipconverter.lua $rt_cacheip`

rt_cache_ipconverter.lua


---------------------------
-- rt_cache_ipconverter  --
--         ---           --
-- 0100007f -> 127.0.0.1 --
---------------------------
function iter(s,i)
	i=i-2
	if i>=0 then return i,s:sub(i+1,i+2) end
end

function tohex(dchar)
	return tonumber(dchar, 16)
end

function srev(s)
	return iter, s, #s
end

rt_cacheip = arg[1]

-- rt_cacheip = "0100007f"

if rt_cacheip == nil then
	print "[-] please give [0-9A-Fa-f]{8,8} hex address"
	return
end

for k,v in srev(rt_cacheip) do
	if s==nil then
		 s=tohex(v)
	else
		s=s.."."..tohex(v)
	end
end

io.write(s)

Nyitott tcp kapcsolatok:

netstat -nt

(n azert hogy ne kelljen idot elvenni a nevfeloldassal ha sok a kapcsolat)

subscribe
---------------------------------------------------
Talisker Single Malt Scotch Whisky aged 10 years :)