Como proposito para este año, he decidido currar un poco y sacarme algunas certificaciones, entre ellas el LPI1. Por ello esta entrada está dedicada a toda la documentación desarrollada por developerWork (IBM) para superar el exámen 101 de dicha certificación.
El exámen consta de varios apartados cada uno asociado con un peso del 1 al 10 que le dá prioridad, podemos consultar los objetivos del mismo en la página del LPI. A continuación están listados todos los archivos PDFs para su descarga.
Topic 101
101.1 - Hardware and architecture
101.2 - Boot the system
101.3 - Runlevels, shutdown and reboot
Topic 102
102.1 - Hard disk layout
102.2 - Boot managers
102.3 - Manage shared libraries
102.4 - Debian package management
102.5 - RPM and YUM package management
Topic 103
103.1 - The Linux command line
103.2 - Text streams and filters
103.3 - File and directory management
103.4 - Streams, pipes, and redirects
103.5 - Create, monitor, and kill processes
103.6 - Process execution priorities
103.7 - Search text files using regular expressions
103.8 - File editing with vi
Topic 104
104.1 - Create partitions and filesystems
104.2 - Maintain the integrity of filesystems
104.3 - Control mounting and unmounting of filesystems
104.4 - Manage disk quotas
104.5 - Manage file permissions and ownership
104.6 - Create and change hard and symbolic links
104.7 - Find and place system files
Topic 110
110.1 - The X Window System
A parte de toda esta documentación, en la página del LPI podemos encontrar más información como libros y manuales o webs donde simular un exámen. También podemos prácticar haciendo exámenes como por ejemplo los que encontremos en Exam Collection o buscando información por Internet.
Un saludo, Brixton Cat
19 de enero de 2013
Python Script: QosCalc.py
Feliz año, merry christmas y esas cosas que se dicen... Ya se que es un poco tarde pero es mi primera entrada del año y tenía que decirlo en algún momento. Tengo varias entradas entre manos y algunas de ellas dedicadas a scripts Python que estoy realizando.
En esta entrada voy a mostrar la actualización que he realizado del script TosCalc.py, descrito en esta entrada. En primer lugar le he cambiado el nombre porque el anterior no me convencía, he utilizado la variable self para almacenar todos los valores que se van calculando y un pequeño control de excepciones que controla los errores el script.
El script acepta solamente un argumento y éste debe ser un número entero (de tipo int), en caso de no pasar un número fallará salvo algunas excepciones siempre y cuando los valores estén comprendidos entre el 1 y el 7.
Sintaxis: ./QosCalc.py value
Código fuente:
#!/usr/bin/env python # # Name: QoSCalc.py # Description: Calculate any QoS values through a IP Precedence or Class Selector # Author: Brixton Cat # Date: 19 Ene 2013 # Version: 1.0 # Sintax: ./QoSCalc.py value # ### Dependencies import sys ### tosCalc class class qosCalc: """ Class to calc any QoS values through a IP Precedence or Class Selector """ def __init__(self, value): """ Initializing qosCalc class """ self.value = value # Creating value variable # Check value introduced if value < 1 or value > 7: print "[!] Error: Allow values it's from 1 to 7" sys.exit(3) # Exit code: 3 def eightBits(self): """ This function add 0s to right side of binary variable and calc their decimal value """ self.tosb = self.dscpb + str(0) * 2 # Type of Service binary value self.tosd = int(self.tosb, 2) # Type of Service decimal value def main(self): """ Main function """ calc.threeBits() calc.sixBits() calc.eightBits() def results(self): """ Prints values of the IP Precedence or Class Selectors argument """ # Header of table print "Value 3bits DSCP Bin DSCP ToS Bin ToS" print "----- ----- -------- ---- ------- ---" # Values print " %d\t%s\t%s\t %d\t%s %d" % \ (self.value, self.binary, self.dscpb, self.dscpd, self.tosb, self.tosd) return sys.exit(0) def sixBits(self): """ This function add 0s to right side of binary variable and calculate their decimal value """ self.dscpb = self.binary + str(0) * 3 # DSCP binary value self.dscpd = int(self.dscpb, 2) # DSCP decimal value def threeBits(self): """ This function convert decimal argument to 3 bits value and check correct lenght of this """ # If less of 3 bits, add 0s to left of binary variable bina = bin(self.value).split('b') # Array ['0', 'value'] if bina[1] < "3": rest = 3 - len(bina[1]) self.binary = str(0) * rest + bina[1] else: self.binary = bina[1] ### Script if __name__ == "__main__": try: value = int(sys.argv[1]) # Check first argument calc = qosCalc(value) # Initializing qosCalc class calc.main() # Run main() function calc.results() # Prints results except IndexError: # Error: No argument print "[!] Error: Any value defined" sys.exit(1) # Exit code: 1 except ValueError: # Error: Bad arguments print "[!] Error: Not valid Class Selector or IP Precedence value" sys.exit(2) # Exit code: 2 #EOF ##FVE
Un saludo, Brixton Cat
Suscribirse a:
Entradas (Atom)