![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Hoe om te controleren welke software is geïnstalleerd op UNIX | sunil.1908 | UNIX for Advanced & Expert Gebruikers | 6 | 07-30-2008 01:31 PM |
| notering geïnstalleerde software | Ravi raj kumar | UNIX for Advanced & Expert Gebruikers | 2 | 07-10-2007 08:55 PM |
| Een opsomming van alle software en tools geïnstalleerd | hasnain | UNIX for Advanced & Expert Gebruikers | 7 | 07-03-2007 11:53 |
| Geïnstalleerde software | tt1ect | UNIX voor Dummies Questions & Answers | 1 | 04-03-2007 05:27 |
| Geïnstalleerde software | wakeley | UNIX voor Dummies Questions & Answers | 3 | 02-08-2005 06:59 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Vergelijken van geïnstalleerde software.
Ik heb ongeveer 30 AIX-servers en ik wil hun software pakketten om consistent te zijn. AIX biedt een commando naar de lijst van alle relevante informatie over een software pakket in een dubbele aparte lijst - Ik pak dit via ssh en verzamelen in een temp map server_name.log.
Nu, ik ben vast. Ik kan een lijst maken van alle unieke pakketten, maar hoe kan ik dwars door elke server lijst om te zien of de software is geïnstalleerd? Het voorbeeld hieronder kan helpen verklaren mijn dilema. File 1 awk: 1.1 sed: 3.2 SSH: 4.1.2 Dossier 2 iets: 1.0.1 awk: 1.1 sed: 3.2 Dossier 3 iets: 1.0.1 awk: 1.1 bgp: 1.0 sed: 3.2 |
|
||||
|
Heeft u een lijst van wat de software moet worden geïnstalleerd?
Mogelijk wilt u Perl of Awk voor het lezen van de versies in een array (Perh hash) en vervolgens aan het einde print ontbreekt pakketten (array sleutels) en verkeerde versies (kernwaarden). |
|
||||
|
Lelijk, maar het werkt.
# Ik gebruikte SSH Server1 lslpp-LC> / tmp/lslpp_files/server1.log te maken
# De log-bestanden. Vervolgens heb ik heb een kat van alle log bestanden sorteren op de unieke # Cat / tmp / lslpp_files / * inloggen | cut-d ":"-f1 | sort-u #! / usr / bin /perl @ host \u003d (Server1, Server2, SERVER3); voor $ host (@ host) ( open (MYINPUTFILE, "</ tmp / lslpp_files / $ host.log"); mijn (@ lijnen) \u003d <MYINPUTFILE>; foreach $ line (@ lijnen) ( chomp; Volgende indien /^#/; ($ PackageName, $ Fileset, $ niveau, $ Staat, $ PTFId, $ FixState, $ Type, $ description, $ DestinationDir, $ Uninstaller, $ MessageCatalog, $ MessageSet, $ MessageNumber, $ Parent, $ Automatisch, $ EFIXLocked, $ InstallPath, $ BuildDate) \u003d split (/ /, $ line); # print "$ host - $ Fileset - $ Niveau \ n"; $ HoH ($ host) ($ Fileset) \u003d $ niveau; ) close (MYINPUTFILE); ) # # Vergelijken bestand # open (COMPFILE, "</ tmp / lslpp_files.final"); mijn (@ complines) \u003d <COMPFILE>; # # Print Header # print "fileset: server1: Server2: SERVER3 \ n"; foreach $ completen (@ complines) ( ($ Filset, $ Lvl) \u003d split (/ /, $ completen); print "$ Filset"; voor $ host (@ host) ( print ": $ HoH ($ host) ($ Filset)"; ) print "\ n"; ) close (COMPFILE); |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|