• Përshëndetje Vizitor!

    Nëse ju shfaqet ky mesazh do të thotë se ju nuk jeni regjistruar akoma. Edhe pse nuk jeni regjistruar ju arrini të shihni pjesën me të madhe të seksioneve dhe diskutimeve të forumit, por akoma nuk gëzoni të drejten për të marrë pjesë në to dhe në avantazhet e të qënurit anëtar i këtij komuniteti. Ju lutem : REGJISTROHUNI që të dërgoni postime dhe mesazhe në Forum-Al.

    Regjistrohu !

:~$ man --help

gurax

Super Moderator
Anëtar
Mar 19, 2011
Postime
3,031
Pikët
48
Vendndodhja
Virgo Supercluster, Local Group, Milky Way, Orion-
Prologu: Nese jeni duke vrare mendjen se cfare do te thote titulli i temes, eshte nje menyre per te kerkuar ndihme (help) per komanden "man".



Xerox WorkCentre 5645: Networked + Accounting enabled

Eshte shume e veshtire te gjendet nje PPD funksionale per kete printer, kur ky eshte i konfiguruar per te qene nje printer rrjeti dhe ka te aktivizuar 'accounting'. Skedari PPD perkates i pretenduar nga vete Xerox si ai qe duhet perdorur per linux, *nuk* ben, nuk eshte i rregullt.

Duke kerkuar dhe kopjuar PPD-file nga nje instalim Windows i ketij printeri, pas dy ditesh kerkimesh e modifikova dhe eshte e vlefshme edhe per Linux. Eshte i nevojshem shume pak modifikim (per pjesen e accountID dhe GroupID etj, ose sic edhe i quajne username, password, ID, etj).

Ne skedarin PPD te dhene, eshte nje seksion midis rreshtave 68-76.

Code:
*JCLOpenUI *JCLAccounting/Accounting: PickOne
*OrderDependency: 10.1 JCLSetup *JCLAccounting
*DefaultJCLAccounting: XSAGroup
*JCLAccounting XSADisabled/Disabled: ""
*JCLAccounting XSAUser/XSA User Based Accounting: "@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_USERID,MyUserID<22>;"
*JCLAccounting XSAGeneral/XSA General Based Accounting: "@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_USERID,MyUserID<22>;<0A>@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_GENERALACCT,MyGenAcctID<22>;<0A>"
*JCLAccounting XSAGroup/XSA Group Based Accounting: "@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_USERID,MyUserID<22>;<0A>@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_GROUPACCT,MyAcctID<22>;<0A>"
*JCLAccounting XNAGroup/XNA Group Based Accounting: "@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_USERID,MyUserID<22>;<0A>@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_ACCTID,MyAcctID<22>;<0A>"
*JCLCloseUI: *JCLAccounting
Fjalet: MyUserID, MyGenAcctID, MyAcctID duhen zevendesuar me ato te duhurat sic eshte konfiguruar dhe printeri.

Pas ketij modifikimi, konfiguroni 'printing subsystem' qe t'i referohet ketij skedari PPD, dhe kaq.
 

Alb

Anëtar i ri
Anëtar
Jan 9, 2011
Postime
229
Pikët
0
Vendndodhja
Tirane
Përgjigje e: :~$ man --help

Bukur gurax rrofsh per kete info ^_^
 

gurax

Super Moderator
Anëtar
Mar 19, 2011
Postime
3,031
Pikët
48
Vendndodhja
Virgo Supercluster, Local Group, Milky Way, Orion-
Përgjigje e: :~$ man --help

Situata:
Disponohet akses ne nje cisco router, i cili ka te konfiguruara literalisht rreth 700 virtual interface, secila prej te cilave ka te asenjuara (assigned) minimumi nje adrese ip. Disa pak prej ketyre virtual interface kane te asnjuar deri edhe ne 10 adresa te ndryshme ip, secila adrese pjese e nje blloku te ndryshem nga tjetra. Cdo virtual interface perfaqeson nje subjekt-destinacion ne rrjet.

Kerkesa:
Per efekte auditimi, eshte kerkuar nje liste e te tere subjekteve-destinacion ku te tregohen te tera adresat ip te vena ne dispozicion te secilit subjekt-destinacion.


Zgjidhja:
Gjenerimi i kesaj liste ne menyre manuale mua do te me harxhonte nje dite te tere: duke marre me rradhe cdo interface, duke kombinuar secilen adrese+netmask per te llogaritur adresat e bllokut perkates. Pasi kjo gje te behej per cdo adrese te nje virtual interface, e njejta gje do te behej perseri me virtual interface tjeter. Dhe prape me tjetren(2). Dhe prape me tjetren(3). Dhe prape me tjetren(4) ... ... ... dhe prape me tjetren(700).

Ka edhe nje metode tjeter per te bere te njejten gje per maksimumi nje ore. Mund te behet duke bere nje program te atyperatyshem i cili te beje cfare u tha me lart: te lexoje informacionin nga cisco router dhe te gjeneroje listen e kerkuar.

Programi ne fjale mund te kete shume e shume e shume forma. Njera prej tyre eshte psh, qe...
... te ndahet procesi ne dy pjese, ne dy faza.
Faza e pare lexon informacionin e router-it dhe gjeneron nje pseudo-liste ku permbahet vetem informacioni per emrin e cdo subjekti qe perfaqeson nje interface i caktuar dhe adresat ip te asenjuara per kete interface.
Faza e dyte lexon kete pseudo-liste dhe per cdo kombinim adresa+netmask llogarit bllokun perkates te asenjuar si dhe adresat kufitare te cdo blloku, adresen e pare dhe te fundit. Te tera keto formojne listen perfundimtare te kerkuar.

Programi eshte i vogel fare, realizuar me awk.

Informacioni ne cisco router eshte ruajtur ne nje skedar, te emertuar 'router.cfg'.
Faza e pare e programit eshte ruajtur ne nje skedar te emertuar 'prog-part1.awk'.
Faza e dyte e programit eshte ruajtur ne nje skedar te emertuar 'prog-part2.awk'.
Te dy pjeset e programit ekzekutohen si nje i vetem nga nje shellscript i emertuar "run.sh".

prog-part1.awk
Code:
BEGIN{ RS="interface FastEthernet"; FS="\n" }

{
for (i=2; i<20; i++){
   location = match($i,"description");
   if ( substr($i, location, 11) == "description")
       print "SUBJEKTI: " $i;

   location = match($i,"ip address");
   if ( substr($i, location, 10) == "ip address")
       print $i;
   }
print "\n";
}
prog-part2.awk
Code:
{
if ($1 == "SUBJEKTI:")
    print "\n=====> ",$1,$3,$4,$5,$6,$7,$8,$9,$10" <=";

if ($1 == "ip"){
   system("ipcalc "$3 " "$4"| grep -A 2 Network | awk '{print \"- \", $1,\" \",$2}'");
   print "+";
   }
}
run.sh
Code:
#!/bin/bash

## Konfigurime baze ###########
#
routercfg="router.cfg"
finaloutput="lista_finale.txt"
#
##############################
if [ -f $routercfg ];
then
  echo "---"
  echo "Duke procesuar:  " $routercfg
  cat $routercfg | awk -f prog-part1.awk > lista1.tmp
  cat lista1.tmp | awk -f prog-part2.awk > $finaloutput
  echo "U gjenerua:      " $finaloutput
  echo "---"
else
  echo "***  Nuk ekziston konfigurim me emrin: ---> " $routercfg " <---"
  echo "."
fi


Shembull ne pune:
Code:
[email protected]:~/subj-list-nga-cisco-router$ ls
prog-part1.awk  prog-part2.awk  router.cfg  run.sh
[email protected]:~/subj-list-nga-cisco-router$
[email protected]:~/subj-list-nga-cisco-router$ ./run.sh
---
Duke procesuar:   router.cfg
U gjenerua:       lista_finale.txt
---
[email protected]:~/subj-list-nga-cisco-router$ ls
lista1.tmp  lista_finale.txt  prog-part1.awk  prog-part2.awk  router.cfg  run.sh
[email protected]:~/subj-list-nga-cisco-router$
[email protected]:~/subj-list-nga-cisco-router$ cat lista_finale.txt 

=====>  SUBJEKTI: to LAN       <=

=====>  SUBJEKTI: to Voice VLAN      <=
-  Network:   10.200.33.0/24
-  HostMin:   10.200.33.1
-  HostMax:   10.200.33.254
+

=====>  SUBJEKTI: to Data VLAN      <=
-  Network:   192.168.33.0/24
-  HostMin:   192.168.33.1
-  HostMax:   192.168.33.254
+
-  Network:   169.254.40.0/22
-  HostMin:   169.254.40.1
-  HostMax:   169.254.43.254
+

=====>  SUBJEKTI: to WAN       <=
-  Network:   172.16.0.0/24
-  HostMin:   172.16.0.1
-  HostMax:   172.16.0.254
+
[email protected]:~/subj-list-nga-cisco-router$
Skedari i marre ne kete shembull 'router.cfg' eshte ilustrues i thjeshte me vetem 4 interface, e jo 700+. Eshte ne attach te ketij shkrimi me emrin 'router.txt' sepse forumi nuk lejon attach skedaresh me prapashtesa arbitrare.


---

Nje dite nese punen do e beje vete; maksimumi nje ore nese ben nje program qe te beje punen tende.

E thuaj pastaj qe bejne gabim njerezit te frikesohen sepse do te zevendesohen perhere e me teper nga rrobotet. :p
 
Top