Auswertung von inst. Programmen

Ich will diese Felder füllen:

`host` varchar(32) NOT NULL default '',
`ip` varchar(15) NOT NULL default '',
`rechner` varchar(64) NOT NULL default '',
`sz` char(1) default NULL,
`vlan` varchar(4) default NULL,
`os` varchar(64) default NULL,
`ssh` varchar(64) default NULL,
`sudo` varchar(64) default NULL,
`ssl` varchar(64) default NULL,
`httpd` varchar(128) default NULL,
`java_vm` varchar(24) default NULL,
`ftpd` varchar(64) default NULL,
`maild` varchar(64) default NULL,
`popd` varchar(64) default NULL,
`nntpd` varchar(64) default NULL,
`named` varchar(16) default NULL,
`db` varchar(128) default NULL,
`samba` varchar(6) default NULL,
`bsd_ports` varchar(24) default NULL,
`you_date` varchar(24) default NULL,
`sun_patchcluster` varchar(24) default NULL,
`accounttool` varchar(12) default NULL,
`misc` blob,
`manufacturer` varchar(32) default NULL,
`serial` varchar(20) default NULL,
`switchport` varchar(64) default NULL,
`location` varchar(32) default NULL,
`comment` varchar(255) default NULL,

Die Softwarestände sind nur ein Teil davon. Macht mir aber den größten Ärger.
 
Nimms mir nicht übel, aber mit Deiner Aufgabenstellung kann ich nix anfangen.

- Willst Du sql-Statements, dann ist das hier das falsche Unterforum.

- Willst Du dagegen mit Shellmöglichkeiten eine Lösung Deines Problems, dann bitte ich Dich, klar und deutlich folgendes hier anzugeben: deine Ausgangsdaten sowie das Ergebnis, dass Du erwartest. Hilfreich wären auch Beispieldaten.

Folgendes zum Beispiel:

Aus
Code:
gix gax gux
soll
Code:
gix
gax
gux
werden.

Sonst kann Dir hier keiner helfen. Fühl Dich nicht angegriffen, es ist einfach ein hilfreicher Hinweis.

Gruss, Xanti
 
Quatsch !
Ich fühle mich nicht angegriffen. Ich bin um jede Hilfe dankbar. Für mich war die Aufgabenstellung eben klar.
Ich versuche mal, das anders zu formulieren.

Ich habe den Output von rpm -qa . Zum Beispiel:

gpg-pubkey-9c800aca-40d8063e
filesystem-9-29.4
providers-2004.4.2-4.1
aaa_skel-2004.6.8-0.2
sash-3.7-28.1
popt-1.7-176.7
zlib-1.2.1-70.1
schedutils-1.3.5-0.1
mingetty-0.9.6s-73.1
expat-1.95.7-37.1
libattr-2.4.12-56.1
eject-2.0.13-185.1
prctl-1.3-353.1
iptables-1.2.9-95.6
libaio-0.3.98-18.3
hdparm-5.5-41.3
utempter-0.5.2-385.4
lsof-4.70-30.1
patch-2.5.9-141.1
pcre-4.4-109.1
lukemftp-1.5-578.1
openssl-0.9.7d-15.10
file-4.07-48.5
db-4.2.52-86.3
libjpeg-6.2.0-731.1

Dann habe ich noch den Output von dpkg -l . Zum Beispiel:

Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Säubern/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konf./Halb install.
|/Fehler?=(keiner)/Halten/R=Neuinst.notw/X=beides (Status,Fehler: GROSS=schlecht)
||/ Name Version Beschreibung
+++-==============-==============-============================================
ii mozilla 1.0.0-1 Mozilla Web Browser - dummy package
ii mozilla-browse 1.0.0-1 Mozilla Web Browser - core and browser
rc mozilla-browse 0.0.20020226.1 An Open Source WWW browser for X and GTK+ (C
ii mozilla-browse 0.0.20020610.0 An Open Source WWW browser for X and GTK+ (C
ii mozilla-chatzi 1.0.0-1 Mozilla Web Browser - irc client
pn mozilla-chatzi <keine> (keine Beschreibung vorhanden)
pn mozilla-chatzi <keine> (keine Beschreibung vorhanden)
pn mozilla-cvs <keine> (keine Beschreibung vorhanden)
pn mozilla-cvs-de <keine> (keine Beschreibung vorhanden)
ii mozilla-dev 1.0.0-1 Mozilla Web Browser - development files
un mozilla-dmotif <keine> (keine Beschreibung vorhanden)
ii mozilla-dom-in 1.0.0-1 A tool for inspecting the DOM of pages in Mo
ii mozilla-dom-in 0.0.20020610.0 A tool for inspecting the DOM of pages in Mo
ii mozilla-js-deb 1.0.0-1 JavaScript debugger for use with Mozilla


Diese Quelldaten möchte ich in gemeinsame Form bringen. Diese Form soll folgendermaßen aussehen:

update SoftwareListe set
ip = '192.168.99.1',
rechner = 'alice',
vlan = '',
os = 'SUSE 2.6.12.2',
ssh = 'openssh-3.8p1'
where host = 'alice.aon.net';
httpd = 'apache2.2.4'
ssl = 'opensslx.x.x'
usw.

Ich weiß, das diese Quellisten vom rpm usw. nicht alle Info's liefern. Ich hole mir diese aus einer andern Datei.
Ich möcht nur, das z.B. der Eintrag für openssh aus der Quelldatei so eine Zeile generiert:
ssh = 'openssh-3.8p1'


Ich hoffe, das nervt nicht zu sehr. Bin für die Mühen auch gerne zu einer Spende bereit.

Bis dann
 
Hallo
Wenn ich das jetzt richtig verstanden habe, willst du aus der gesamten Zeile eine Zeile aus Programmname="Zeile"

Das geht bei rpm z.b. so:
Code:
echo aaa_skel-2004.6.8-0.2|sed -e 's/^\([^-]*\).*$/\1="&"/g'
Für die dpkg Geschichte dagegen so:
Code:
echo "un mozilla-dmotif <keine> (keine Beschreibung vorhanden)"|sed -e 's/^[^ ]* \(\([^-]*\)[-][^ ]*\) .*$/\2="\1"/g'

HTH
Gruß Wolfgang
EDIT/
Wenn du die Beschreibung mit reinhaben willst, oder andere Kriterien gegeben sind, dann musst du nochmal fragen.
Sorry, hatte auch erstmal zu tun, um zu verstehen was das Ergebnis sein soll. ;)
 
Zuletzt bearbeitet:
So, eine dirty Version für die rpm-Version.

Dies rpm-q würde ich zwischenspeichern, damit Du nicht jedesmal es aufrufen musst, wenn Du es parst (rpm -q > rpm-list).

create_list.sh
Code:
echo update SoftwareListe set
echo ip = \'192.168.99.1\',
echo rechner = \'alice\',
echo vlan = \'\',
echo os = \'SUSE 2.6.12.2\',
echo ssh = \'$(cat rpm-list | perl -an -F'/-/' -e 'print "$F[0]-$F[1]" if /openssh/')\'
echo where host = \'alice.aon.net\';
echo httpd = \'apache2.2.4\'
echo ssl = \'opensslx.x.x\'

Gruss, Xanti

ps: Über Boardspenden freut sich bestimmt devilz ;)

edit: Wolfgang war schneller, aber egal ...
 
Hallo Wolfgang,

Wolfgang schrieb:
Hallo
Hier ist aber nicht von rpm die Rede!
Das dpkg stammt aus der Debianwelt, wo rpm nicht zu Hause ist.
Gruß Wolfgang

ich habe noch auf das Anfangsposting geantwortet. Bis #7, ab wo es dann um dpkg geht, bin ich gar nicht wirklich gekommen.
Ich muss mal das Layout anpassen, dass ich alle Beiträge sehe.

Sorry, bin neu hier im Forum.

Gruß
 
Kein Problem. Ich habe hier noch 1 - 2 schöne Boards im Fundus. Postadresse per PM?

Xanti schrieb:
So, eine dirty Version für die rpm-Version.

Dies rpm-q würde ich zwischenspeichern, damit Du nicht jedesmal es aufrufen musst, wenn Du es parst (rpm -q > rpm-list).

create_list.sh
Code:
echo update SoftwareListe set
echo ip = \'192.168.99.1\',
echo rechner = \'alice\',
echo vlan = \'\',
echo os = \'SUSE 2.6.12.2\',
echo ssh = \'$(cat rpm-list | perl -an -F'/-/' -e 'print "$F[0]-$F[1]" if /openssh/')\'
echo where host = \'alice.aon.net\';
echo httpd = \'apache2.2.4\'
echo ssl = \'opensslx.x.x\'

Gruss, Xanti

ps: Über Boardspenden freut sich bestimmt devilz ;)



edit: Wolfgang war schneller, aber egal ...
 
iceman99 schrieb:
Kein Problem. Ich habe hier noch 1 - 2 schöne Boards im Fundus. Postadresse per PM?

Moment, vielleicht war das ";)" etwas missverständlich. Ich wollte damit ausdrücken, dass Boardspenden gerne gesehen werden und sich devilz als admin darüber freut. Diese Spenden wandern nicht in die Tasche von devilz, sondern werden komplett für die Betreibung des Boardes genutzt!

Also ruhig spenden und beim Unixboard bleiben :)

Gruss, Xanti
 
iceman99 schrieb:
Kein Problem. Ich habe hier noch 1 - 2 schöne Boards im Fundus. Postadresse per PM?
Mit Boardspende ist Geld für das Betreiben dieses Forums (Board) gemeint *richtigstell* - nicht dass jetzt devilz haufenweise Skateboards bekommt :D :D :D
 

Ähnliche Themen

Zeilen kopieren mit SED

Inhalte in einer Datei suchen und Dateiname ausgeben

JSVC Berechtigungsproblem

"Probleme" mit einem Kernelmodul

Backup Skript automatisch ausführen mit udev

Zurück
Oben