def particion_1(self): particion_boot = '' self.par.accion('Eliminando Particiones') gen.desmontar(self.disco) # Desmonta todas las particiones del disco p = self.part.lista_particiones(self.disco) print self.ini, self.fin if self.vacio == False: for s in p: num = s[10] if s[4].find('swap') > -1: cmd = 'swapoff '.format(s[0]) print cmd, commands.getstatusoutput(cmd) if num != '': cmd = 'parted -s {0} rm {1}'.format(self.disco, num) print cmd, commands.getstatusoutput(cmd) ini = 1049 # Inicio de la partición fin = gen.kb(p[0][9]) # Fin de la partición else: ini = float(self.ini) # Inicio de la partición fin = float(self.fin) # Fin de la partición disco = self.disco # Ruta del disco ram = int(gen.ram()) # Cantidad de Ram swap = (ram * 2) if ram < 1048576 else ram #tamaño de la swap fin_ext = int(fin) # Fin de la partición Extendida ini_ext = fin_ext - swap # Inicio de la partición Extendida ini_swap = ini_ext + 32 # Inicio de la partición Swap fin_swap = fin_ext # Fin de la partición Swap ini_root = int(ini) # Inicio de la particion Root fin_root = ini_ext # Fin de la partición Root self.par.accion('Creando Particiones') self.part.particionar(disco, 'primary', 'ext4', ini_root, fin_root) self.part.particionar(disco, 'extended', '', ini_ext, fin_ext) self.part.particionar(disco, 'logical', 'linux-swap', ini_swap,fin_swap) p = self.part.lista_particiones(self.disco) for s in p: # vuelvo a listar las particiones para buscar el nombre de cada # particion creada l = [str(int(float(s[1][:-2].replace(',', '.'))) + 0), \ str(int(float(s[1][:-2].replace(',', '.'))) + 1), \ str(int(float(s[1][:-2].replace(',', '.'))) - 1)] if str(ini_root) in l: self.par.accion('Formateando partición {0} (/) como ext4'\ .format(s[0])) os.system('mkfs.ext4 {0}'.format(s[0])) self.particiones_montadas[s[0]] = '/target' self.particiones_montadas2[s[0]] = '/target' os.system("parted {0} toggle {1} boot".format(s[0][:-1], s[0][-1:])) particion_boot=s[0] if str(ini_swap) in l: self.par.accion('Formateando partición {0} como swap'\ .format(s[0])) os.system('mkswap {0}'.format(s[0])) os.system('swapon {0}'.format(s[0])) gen.montar(self.particiones_montadas) return [self.particiones_montadas2, particion_boot]
def particion_2(self): particion_boot = '' self.par.accion('Eliminando Particiones') gen.desmontar(self.disco) # Desmonta todas las particiones del disco p = self.part.lista_particiones(self.disco) if self.vacio == False: ini = 1049 # Inicio de la partición fin = gen.kb(p[0][9]) # Fin de la partición for s in p: num = s[10] if s[4].find('swap') > -1: cmd = 'swapoff '.format(s[0]) print cmd, commands.getstatusoutput(cmd) if num != '': cmd = 'parted -s {0} rm {1}'.format(self.disco, num) print cmd, commands.getstatusoutput(cmd) else: ini = float(self.ini) # Inicio de la partición fin = float(self.fin) # Fin de la partición disco = self.disco # Ruta del disco ram = int(gen.ram()) # Cantidad de Ram swap = (ram * 2) if ram < 1048576 else ram #tamaño de la swap ini_root = int(ini) # Inicio de la particion Root fin_root = ini_root + int(gen.kb( self.root_p2)) #Fin de la partición Root ini_ext = (int(fin_root) + 32) # Inicio de la partición Extendida fin_ext = (int(fin)) # Fin de la partición Extendida ini_home = ini_ext + 32 # Inicio de la partición Home fin_home = fin_ext - swap # Fin de la partición Home ini_swap = fin_ext - swap + 32 # Inicio de la partición Swap fin_swap = fin_ext # Fin de la partición Swap self.par.accion('Creando Particiones') self.part.particionar(disco, 'primary', 'ext4', ini_root, fin_root) self.part.particionar(disco, 'extended', '', ini_ext, fin_ext) self.part.particionar(disco, 'logical', 'ext4', ini_home, fin_home) self.part.particionar(disco, 'logical', 'linux-swap', ini_swap, fin_swap) p = self.part.lista_particiones(disco) for s in p: # vuelvo a listar las particiones para buscar el nombre de cada # particion creada l = [str(int(float(s[1][:-2].replace(',', '.'))) + 0), \ str(int(float(s[1][:-2].replace(',', '.'))) + 1), \ str(int(float(s[1][:-2].replace(',', '.'))) - 1)] print ini_root, ini_home, ini_swap, l if str(ini_root) in l: self.par.accion('Formateando partición {0} como ext4'\ .format(s[0])) os.system('mkfs.ext4 {0}'.format(s[0])) self.particiones_montadas[s[0]] = '/target' self.particiones_montadas2[s[0]] = '/target' os.system("parted {0} toggle {1} boot".format( s[0][:-1], s[0][-1:])) particion_boot = s[0] if str(ini_home) in l: self.par.accion('Formateando partición {0} como ext4'\ .format(s[0])) os.system('mkfs.ext4 {0}'.format(s[0])) self.particiones_montadas[s[0]] = '/target/home' self.particiones_montadas2[s[0]] = '/target/home' if str(ini_swap) in l: self.par.accion('Formateando partición {0} como swap'\ .format(s[0])) os.system('mkswap {0}'.format(s[0])) os.system('swapon {0}'.format(s[0])) gen.montar(self.particiones_montadas) return [self.particiones_montadas2, particion_boot]
def particion_1(self): particion_boot = '' ini = int(gen.kb(self.ini)) # Inicio de la partición fin = int(gen.kb(self.fin)) # Fin de la partición swap = self.swap # existe o no una partición swap en el disco fs = self.fs # Sistema de Archivos de la partición particion = self.particion # Ruta de la partición disco = self.disco # Ruta del disco num = self.num # número de la partición ram = int(gen.ram()) # Cantidad de Ram ini_win = int(ini) # Inicio de la partición con windows fin_win = int(self.nuevo_fin) # Fin de la partición con windows ini_root = fin_win + ini_win + 32 # Inicio de la particion Root if swap == True: # Si existe una partición Swap fin_root = fin # Fin de la partición Root else: # Si no existe una partición Swap swap = (ram * 2) if ram < 1048576 else ram #tamaño de la swap ini_ext = fin - swap # Inicio de la partición Extendida fin_ext = fin # Fin de la partición Extendida ini_swap = ini_ext + 32 # Inicio de la partición Swap fin_swap = fin_ext # Fin de la partición Swap fin_root = ini_ext # Fin de la partición Root swap = False self.par.accion('Desmontando dispositivo') os.system('umount -l {0}'.format(self.particion) ) self.par.accion('redimensionando partición {0}'.format(self.particion)) print "fs: " + fs if fs == 'ntfs': # Redimensiono la particion si es NTFS cmd = 'echo y | ntfsresize -P --force {0} -s {1}k'.\ format(particion, fin_win) print cmd, commands.getstatusoutput(cmd) cmd = 'parted -s {0} rm {1}'.format(disco, num) print cmd, commands.getstatusoutput(cmd) cmd = 'parted -s {0} mkpart primary NTFS {1}k {2}k'.\ format(disco, ini_win, fin_win + ini_win) print cmd, commands.getstatusoutput(cmd) elif fs == 'fat32' or fs == 'ext3': # Redimensiono la partición si es FAT32 o EXT3 cmd = 'parted -s {0} resize {1} {2}k {3}k'.\ format(disco, num, ini_win, fin_win + ini_win) print cmd commands.getstatusoutput(cmd) #commands.getstatusoutput(cmd) self.par.accion('Creando Particiones') self.part.particionar(disco, 'primary', 'ext4', ini_root, fin_root) if swap == False: self.part.particionar(disco, 'extended', '', ini_ext, fin_ext) self.part.particionar(disco, 'logical', 'linux-swap', ini_swap,\ fin_swap) p = self.part.lista_particiones(disco) for s in p: # vuelvo a listar las particiones para buscar el nombre de cada # particion creada l = [s[1][:-2], \ str(int(float(s[1][:-2].replace(',', '.'))) + 1), \ str(int(float(s[1][:-2].replace(',', '.'))) - 1)] if str(ini_root) in l: self.par.accion('Formateando partición {0} como ext4'. \ format(s[0])) os.system('mkfs.ext4 {0}'.format(s[0])) self.particiones_montadas[s[0]] = '/target' self.particiones_montadas2[s[0]] = '/target' os.system("parted {0} toggle {1} boot".format(s[0][:-1], s[0][-1:])) particion_boot=s[0] if swap == False: if str(ini_swap) in l: self.par.accion('Formateando partición {0} como swap'. \ format(s[0])) os.system('mkswap {0}'.format(s[0])) os.system('swapon {0}'.format(s[0])) gen.montar(self.particiones_montadas) return [self.particiones_montadas2, particion_boot]
def __init__(self, disco, ini=0, fin=0): gtk.Fixed.__init__(self) self.disco = disco self.ini = ini self.fin = fin self.swap = gen.ram() if int(gen.ram()) >= 1048576 else int(gen.ram()) * 2 self.ini = int(float(str(self.ini).replace(',', '.'))) self.fin = int(float(str(self.fin).replace(',', '.'))) self.metodo = 'particion_2' self.conf = (self.disco, self.ini, self.fin, self.swap, self.metodo) txt_info = "Seleccione tipo de instalación que desea realizar" self.lbl1 = gtk.Label(txt_info) self.lbl1.set_size_request(690, 20) self.lbl1.set_justify(gtk.JUSTIFY_CENTER) self.put(self.lbl1, 0, 0) self.barra = None self.barra = barra.Main(self.conf) self.barra.set_size_request(690, 100) self.put(self.barra, 0, 30) # Opciones msg_1 = "Instalar todo en una sola partición." self.option_1 = gtk.RadioButton(None, msg_1) self.option_1.connect("toggled", self.change_option, "particion_1") self.option_1.set_size_request(350, 20) self.put(self.option_1, 0, 140) msg_2 = "Separar la partición /home (Recomendado)." self.option_2 = gtk.RadioButton(self.option_1, msg_2) self.option_2.set_active(True) self.option_2.connect("toggled", self.change_option, "particion_2") self.option_2.set_size_request(350, 20) self.put(self.option_2, 0, 165) msg_3 = "Separar las particiones /home, /usr y /boot." self.option_3 = gtk.RadioButton(self.option_1, msg_3) self.option_3.connect("toggled", self.change_option, "particion_3") self.option_3.set_size_request(350, 20) self.put(self.option_3, 0, 190) msg_4 = "Particionar manualmente." self.option_4 = gtk.RadioButton(self.option_1, msg_4) self.option_4.connect("toggled", self.change_option, "particion_4") self.option_4.set_size_request(350, 20) self.put(self.option_4, 0, 215) self.leyenda = leyenda.Main(self, 'particion_1') self.leyenda.set_size_request(20, 125) self.put(self.leyenda, 390, 140) # Etiqueta partición swap self.lbl_swap = gtk.Label('Espacio de intercambio (swap)') self.lbl_swap.set_size_request(270, 20) self.lbl_swap.set_alignment(0, 0) self.put(self.lbl_swap, 420, 140) # Etiqueta partición root self.lbl_root = gtk.Label('Espacio de administrador (/root)') self.lbl_root.set_size_request(270, 20) self.lbl_root.set_alignment(0, 0) self.put(self.lbl_root, 420, 165) # Etiqueta partición home self.lbl_home = gtk.Label('Espacio de usuarios (/home)') self.lbl_home.set_size_request(270, 20) self.lbl_home.set_alignment(0, 0) self.put(self.lbl_home, 420, 190) # Etiqueta partición usr self.lbl_usr = gtk.Label('Espacio de aplicaciones (/usr)') self.lbl_usr.set_size_request(270, 20) self.lbl_usr.set_alignment(0, 0) self.put(self.lbl_usr, 420, 215) # Etiqueta partición boot self.lbl_boot = gtk.Label('Espacio de arranque (/boot)') self.lbl_boot.set_size_request(270, 20) self.lbl_boot.set_alignment(0, 0) self.put(self.lbl_boot, 420, 240) self.show_all()