kurulum.guncellendi
This commit is contained in:
		
							parent
							
								
									3f8dcc34a9
								
							
						
					
					
						commit
						ee72992439
					
				
					 3 changed files with 398 additions and 1 deletions
				
			
		
							
								
								
									
										18
									
								
								ayarlar/kurulum.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								ayarlar/kurulum.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
bolgesel:
 | 
			
		||||
  dil: turkce
 | 
			
		||||
  zaman: istanbul
 | 
			
		||||
disk:
 | 
			
		||||
  baglam: /mnt
 | 
			
		||||
  bolum: /dev/sda6
 | 
			
		||||
  format: evet
 | 
			
		||||
  takasbolum: /dev/sda7
 | 
			
		||||
gorunum:
 | 
			
		||||
  arkaplan: milislinux.jpg
 | 
			
		||||
grub:
 | 
			
		||||
  kur: evet
 | 
			
		||||
kullanici:
 | 
			
		||||
  isim: qwerty
 | 
			
		||||
  sifre: '12345'
 | 
			
		||||
program:
 | 
			
		||||
  surum: '1.0'
 | 
			
		||||
  tanim: Milis Linux Kurucusu
 | 
			
		||||
							
								
								
									
										379
									
								
								bin/kurulum.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										379
									
								
								bin/kurulum.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,379 @@
 | 
			
		|||
#!/usr/bin/python3
 | 
			
		||||
# Milis Linux Konsol / Grafik Kurulum Betiği 
 | 
			
		||||
# Commit tarihi: 25.09.2016-03.2017
 | 
			
		||||
# Dialog rehberi için: http://pythondialog.sourceforge.net/doc/
 | 
			
		||||
# Yazarlar: milisarge,geekdinazor
 | 
			
		||||
 | 
			
		||||
import sys
 | 
			
		||||
import subprocess
 | 
			
		||||
import re
 | 
			
		||||
import crypt
 | 
			
		||||
import os
 | 
			
		||||
import time
 | 
			
		||||
import sys
 | 
			
		||||
import site
 | 
			
		||||
import json
 | 
			
		||||
 | 
			
		||||
kontrol=True
 | 
			
		||||
 | 
			
		||||
if kontrol: 
 | 
			
		||||
	#talimatname-paket güncellemeleri
 | 
			
		||||
	os.system("clear")
 | 
			
		||||
	os.system("mps -GG")
 | 
			
		||||
	os.system("mps -G")
 | 
			
		||||
 | 
			
		||||
	#lsb-release tamiri
 | 
			
		||||
	os.system("mps -g lsb-release")
 | 
			
		||||
 | 
			
		||||
	#gereklerin kontrolü-kurulumu
 | 
			
		||||
	paketd=site.getsitepackages()
 | 
			
		||||
	yukluler=os.listdir(paketd[0])
 | 
			
		||||
	mps_gerekler="/tmp/komutan.gerekler"
 | 
			
		||||
	kur="pip3 install "
 | 
			
		||||
	mpskur="mps kur "
 | 
			
		||||
	kontrol=["pythondialog"]
 | 
			
		||||
	mpskontrol=["python3-pip","python-yaml","python3-yaml","advcp"]
 | 
			
		||||
 | 
			
		||||
	for mpsk in mpskontrol:
 | 
			
		||||
		if os.path.exists("/var/lib/pkg/DB/"+mpsk) is False:
 | 
			
		||||
			os.system("mps kur "+mpsk)
 | 
			
		||||
		else:
 | 
			
		||||
			print(mpsk,"zaten kurulu")
 | 
			
		||||
			
 | 
			
		||||
	for yuklu in yukluler:
 | 
			
		||||
		for kont in kontrol:
 | 
			
		||||
			if kont in yuklu:
 | 
			
		||||
				print (kont,"kurulu")
 | 
			
		||||
				kontrol.remove(kont)
 | 
			
		||||
	for kont in kontrol:
 | 
			
		||||
		os.system(kur+kont)	
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
from dialog import Dialog
 | 
			
		||||
import yaml
 | 
			
		||||
 | 
			
		||||
d = Dialog(dialog="dialog")
 | 
			
		||||
f = open("/tmp/kurulum.log","w")
 | 
			
		||||
 | 
			
		||||
kurulum_dosya="/root/ayarlar/kurulum.yml"
 | 
			
		||||
 | 
			
		||||
if not os.path.exists(kurulum_dosya):
 | 
			
		||||
	d.infobox(text=kurulum_dosya+" bulunamadı!")
 | 
			
		||||
	sys.exit()
 | 
			
		||||
 | 
			
		||||
def komutCalistir(c):
 | 
			
		||||
	out = subprocess.check_output(c,stderr=subprocess.STDOUT,shell=True,universal_newlines=True)
 | 
			
		||||
	return out.replace("\b","")  #byte-string çevrim 
 | 
			
		||||
 | 
			
		||||
def kurulum_oku(kurulumdos):
 | 
			
		||||
	with open(kurulumdos, 'r') as f:
 | 
			
		||||
		param = yaml.load(f)
 | 
			
		||||
	return param
 | 
			
		||||
 | 
			
		||||
def kurulum_yaz(param,kurulumdos):
 | 
			
		||||
	with open(kurulumdos, 'w') as outfile:
 | 
			
		||||
		yaml.dump(param, outfile, default_flow_style=False,allow_unicode=True)	
 | 
			
		||||
 | 
			
		||||
def paramEkran(param,indent=0):
 | 
			
		||||
	yazi=""
 | 
			
		||||
	'''for key, value in param.iteritems():
 | 
			
		||||
		yazi+='\t' * indent + str(key)+"\n"
 | 
			
		||||
		if isinstance(value, dict):
 | 
			
		||||
			paramEkran(value, indent+1)
 | 
			
		||||
		else:
 | 
			
		||||
			yazi+='\t' * (indent+1) + str(value)
 | 
			
		||||
	return yazi
 | 
			
		||||
	'''
 | 
			
		||||
	return json.dumps(param,sort_keys=True, indent=4)
 | 
			
		||||
	
 | 
			
		||||
kurparam=kurulum_oku(kurulum_dosya)
 | 
			
		||||
 | 
			
		||||
def karsilamaEkrani():
 | 
			
		||||
	status = d.yesno(title="Milis Linux Atilla 1.0 Kurulum Ekranı", 
 | 
			
		||||
	text="Milis Linux (Milli İşletim Sistemi) sıfır kaynak koddan üretilen,kendine has paket yöneticisine sahip,\
 | 
			
		||||
	bağımsız tabanlı yerli linux işletim sistemi projesidir.\
 | 
			
		||||
	Genel felsefe olarak ülkemizdeki bilgisayar kullanıcıları için linuxu kolaylaştırıp\
 | 
			
		||||
	Milis işletim sisteminin sorunsuz bir işletim sistemi olmasını sağlamayı ve yazılımsal\
 | 
			
		||||
	olarak dışa bağımlı olmaktan kurtarmayı esas alır. Ayrıca her türlü katkıda bulunmak\
 | 
			
		||||
	isteyenler için bulunmaz bir türkçe açık kaynak projesidir.\
 | 
			
		||||
	\n\n\nKuruluma devam etmek istiyor musunuz ?",width=80,height=12)
 | 
			
		||||
	if status == "ok":
 | 
			
		||||
		kullaniciKontrol()
 | 
			
		||||
	else:
 | 
			
		||||
		sys.exit()
 | 
			
		||||
 | 
			
		||||
def kullaniciKontrol():
 | 
			
		||||
	
 | 
			
		||||
	#status ok ya da cancel gibi durumları çekiyor. 
 | 
			
		||||
	status,kullisim = d.inputbox(text="Lütfen kullanıcı adı giriniz")
 | 
			
		||||
	
 | 
			
		||||
	#NAME_REGEX bkz. man 5 adduser.conf
 | 
			
		||||
	if bool(re.compile(r'^[a-z][-a-z0-9]*$').match(kullisim)):
 | 
			
		||||
		sifreKontrol(kullisim)
 | 
			
		||||
	else:
 | 
			
		||||
		status=d.msgbox(text="Hatalı kullanıcı adı girdiniz.\n\n\
 | 
			
		||||
		Kullanıcı adları alfanümerik karakterle başlamalıdır\
 | 
			
		||||
		ve alfanümerik (A-Z), nümerik (0-9) ve tire (-) \
 | 
			
		||||
		harici bir karakter içermemelidir.",width=60)
 | 
			
		||||
		if status == "ok":
 | 
			
		||||
			kullaniciKontrol()
 | 
			
		||||
 | 
			
		||||
def kullaniciTanimla(isim,kullisim,kullsifre):
 | 
			
		||||
    #encPass = crypt.crypt(kullsifre,"22")   
 | 
			
		||||
    #os.system("useradd -p "+encPass+ " -s "+ "/bin/bash "+ "-d "+ "/home/" + kullisim+ " -m "+ " -c \""+ name+"\" " + kullisim)
 | 
			
		||||
	kurparam["kullanici"]["isim"]=kullisim
 | 
			
		||||
	kurparam["kullanici"]["sifre"]=kullsifre
 | 
			
		||||
	###os.system("kopar milis-"+isim+" "+kullisim)
 | 
			
		||||
	###os.system('echo -e "'+kullsifre+'\n'+kullsifre+'" | passwd '+kullisim)
 | 
			
		||||
 | 
			
		||||
def kullaniciOlustur(isim,kullisim,kullsifre):
 | 
			
		||||
    #encPass = crypt.crypt(kullsifre,"22")   
 | 
			
		||||
    #os.system("useradd -p "+encPass+ " -s "+ "/bin/bash "+ "-d "+ "/home/" + kullisim+ " -m "+ " -c \""+ name+"\" " + kullisim)
 | 
			
		||||
	os.system("kopar milis-"+isim+" "+kullisim)
 | 
			
		||||
	os.system('echo -e "'+kullsifre+'\n'+kullsifre+'" | passwd '+kullisim)
 | 
			
		||||
	d.infobox(text=kullisim+" kullanıcısı başarıyla eklendi.")
 | 
			
		||||
	time.sleep(1)
 | 
			
		||||
 | 
			
		||||
def sifreKontrol(kullisim):
 | 
			
		||||
	#insecure=True parolanın yıldız şeklinde gözükmesini sağlar, 
 | 
			
		||||
	#root şifresi sorarken belki bunu silebiliriz normal sudo şifresi 
 | 
			
		||||
	#girer gibi gözükmez. 
 | 
			
		||||
	status,kullsifre = d.passwordbox(text="Lütfen {} kullanıcısı için şifrenizi giriniz".format(kullisim),insecure=True)
 | 
			
		||||
	if len(kullsifre) > 0:
 | 
			
		||||
		kullaniciTanimla(kullisim,kullisim,kullsifre)
 | 
			
		||||
		d.infobox(text=kullisim+" kullanıcısı başarıyla tanımlandı.")
 | 
			
		||||
		time.sleep(1)
 | 
			
		||||
		diskSecim()
 | 
			
		||||
	else:
 | 
			
		||||
		status=d.msgbox(text="Şifreniz boş olamaz")
 | 
			
		||||
		sifreKontrol(kullisim)
 | 
			
		||||
 | 
			
		||||
def diskSecim():
 | 
			
		||||
	diskSecimler = []
 | 
			
		||||
	diskIsımler  = komutCalistir("lsblk -nS -o NAME").split('\n')
 | 
			
		||||
	diskModeller = komutCalistir("lsblk -nS -o MODEL").split('\n')
 | 
			
		||||
	for i in range(len(diskIsımler)):
 | 
			
		||||
		diskSecimler.append((diskIsımler[i],diskModeller[i]))
 | 
			
		||||
	status,seciliDisk = d.menu(text="Lütfen bölümleme yapmak istediğiniz diski seçiniz:",choices=diskSecimler)
 | 
			
		||||
	###os.system("cfdisk /dev/" + seciliDisk)
 | 
			
		||||
	bolumSec()
 | 
			
		||||
 | 
			
		||||
def bolumSec():
 | 
			
		||||
	bolumSecimler = []
 | 
			
		||||
	uygunBolumler = ['sd','hd','mmcblk0p']
 | 
			
		||||
	#Şimdilik Parted kütüphanesine gerek kalmadı, lsblk istediğimiz bütün değerleri alıyor.
 | 
			
		||||
	diskBolumler  = komutCalistir("lsblk -ln -o  NAME    | awk '{print $1}'").split('\n')
 | 
			
		||||
	bolumBoyutlar  = komutCalistir("lsblk -ln -o  SIZE    | awk '{print $1}'").split('\n')
 | 
			
		||||
	bolumDs     = komutCalistir("lsblk -ln -o  FSTYPE  | awk '{print $1}'").split('\n')
 | 
			
		||||
	bolumMajmin = komutCalistir("lsblk -ln -o  MAJ:MIN | awk '{print $1}'").split('\n')
 | 
			
		||||
	bolumEtiket  = komutCalistir("lsblk -ln -o  LABEL").split('\n') #Bunda awk yok çünkü arada boşluk olabilir. 
 | 
			
		||||
	for i in range(len(diskBolumler)-1):
 | 
			
		||||
		if bolumMajmin[i].split(":")[1] != "0": # partition olmayanları ele (sda/sdb seçince grub bozuluyor.)
 | 
			
		||||
			for uygunBolum in uygunBolumler:
 | 
			
		||||
				if uygunBolum in diskBolumler[i]: 
 | 
			
		||||
					bolumSecimler.append((diskBolumler[i],bolumEtiket[i]+ "\t" +bolumBoyutlar[i]+"\t"+bolumDs[i]))
 | 
			
		||||
	status,seciliBolum = d.menu(text="Sistemin kurulacağı diski seçiniz",choices=bolumSecimler)
 | 
			
		||||
	if status == "ok":
 | 
			
		||||
		f.write("{} seçildi !".format(seciliBolum))
 | 
			
		||||
		print("{} seçildi !".format(seciliBolum))
 | 
			
		||||
		kurparam["disk"]["bolum"]="/dev/"+seciliBolum
 | 
			
		||||
		###formatDialog(seciliBolum)
 | 
			
		||||
		takasSec(seciliBolum)
 | 
			
		||||
		
 | 
			
		||||
def formatDialog(part):
 | 
			
		||||
	status = d.yesno(title="Uyarı !", 
 | 
			
		||||
	text="/dev/{} bölümü ext4 türünde formatlanacak. Emin misiniz ?".format(part))	
 | 
			
		||||
	if status == "ok":
 | 
			
		||||
		d.infobox(text="Formatlanıyor... Lütfen bekleyiniz...")
 | 
			
		||||
		formatPart(part)
 | 
			
		||||
		time.sleep(5)
 | 
			
		||||
	else:
 | 
			
		||||
		bolumSec() 
 | 
			
		||||
		
 | 
			
		||||
def bolumFormatla(hedef):
 | 
			
		||||
	komut="umount -l "+hedef
 | 
			
		||||
	print (komut)
 | 
			
		||||
	if os.path.exists(hedef):
 | 
			
		||||
		os.system(komut)
 | 
			
		||||
		komut2="mkfs.ext4 -F " + hedef
 | 
			
		||||
		try:
 | 
			
		||||
			os.system(komut2)
 | 
			
		||||
		except OSError as e:
 | 
			
		||||
			d.infobox(text=str(e))
 | 
			
		||||
			time.sleep(1)
 | 
			
		||||
			sys.exit()
 | 
			
		||||
		d.infobox(text=hedef+" disk bölümü formatlandı.")
 | 
			
		||||
		time.sleep(1)
 | 
			
		||||
	else:
 | 
			
		||||
		d.infobox(text="disk bölümü bulunamadı!")
 | 
			
		||||
		time.sleep(1)
 | 
			
		||||
		sys.exit()
 | 
			
		||||
		
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
def bolumBagla(hedef,baglam):
 | 
			
		||||
	komut="mount "+hedef+" "+baglam
 | 
			
		||||
	try:
 | 
			
		||||
		os.system(komut)
 | 
			
		||||
	except OSError as e:
 | 
			
		||||
		d.infobox(text=str(e))
 | 
			
		||||
		time.sleep(1)
 | 
			
		||||
		sys.exit()
 | 
			
		||||
		
 | 
			
		||||
	d.infobox(text=hedef+" "+baglam+" altına bağlandı.")
 | 
			
		||||
	time.sleep(1)
 | 
			
		||||
 | 
			
		||||
def bolumCoz(hedef):
 | 
			
		||||
	komut="umount -l "+hedef
 | 
			
		||||
	try:
 | 
			
		||||
		os.system(komut)
 | 
			
		||||
	except OSError as e:
 | 
			
		||||
		d.infobox(text=str(e))
 | 
			
		||||
		time.sleep(1)
 | 
			
		||||
		sys.exit()
 | 
			
		||||
		
 | 
			
		||||
	d.infobox(text=hedef+" çözüldü.")
 | 
			
		||||
	time.sleep(1)
 | 
			
		||||
 | 
			
		||||
def sistemKopyala(baglam):
 | 
			
		||||
	os.system("clear")
 | 
			
		||||
	komut=""
 | 
			
		||||
	#bazı dizinleri atlamak için ve hız rsync
 | 
			
		||||
	dizinler=["bin","boot","home","lib","sources","usr","depo","etc","include","lib64","opt","root","sbin","var"]
 | 
			
		||||
	yenidizinler=["srv","proc","tmp","mnt","sys","run","dev","media"]
 | 
			
		||||
	i=0
 | 
			
		||||
	mikdiz=len(dizinler)
 | 
			
		||||
	for dizin in dizinler:
 | 
			
		||||
		i+=1
 | 
			
		||||
		print (i,"/",mikdiz,dizin,"kopyalanıyor.....")
 | 
			
		||||
		komut="rsync --delete -a --info=progress2 /"+dizin+" "+baglam+" --exclude /proc"
 | 
			
		||||
		print (dizin,"kopyalandı.")
 | 
			
		||||
		os.system(komut)
 | 
			
		||||
	for ydizin in yenidizinler:
 | 
			
		||||
		print (ydizin,"oluşturuluyor.....")
 | 
			
		||||
		komut="mkdir -p "+baglam+"/"+ydizin
 | 
			
		||||
		os.system(komut)
 | 
			
		||||
		print (ydizin,"oluşturuldu.")
 | 
			
		||||
	#yükleme akışı için acp
 | 
			
		||||
	#os.system("acp -g -axnu / "+baglam)
 | 
			
		||||
	#normal cp
 | 
			
		||||
	#os.system("cp -axvnu /  "+baglam)
 | 
			
		||||
	
 | 
			
		||||
	d.infobox(text="sistem kopyalandı.")
 | 
			
		||||
	time.sleep(1)
 | 
			
		||||
	
 | 
			
		||||
def initrdOlustur(hedef):
 | 
			
		||||
	os.system("mount --bind /dev "+hedef+"/dev")
 | 
			
		||||
	os.system("mount --bind /sys "+hedef+"/sys")
 | 
			
		||||
	os.system("mount --bind /proc "+hedef+"/proc")
 | 
			
		||||
	os.system('chroot '+hedef+' dracut --no-hostonly --add-drivers "ahci" -f /boot/initramfs')
 | 
			
		||||
	
 | 
			
		||||
	d.infobox(text="initrd kuruldu.")
 | 
			
		||||
	time.sleep(1)
 | 
			
		||||
 | 
			
		||||
def grubKurTespit():
 | 
			
		||||
	if d.yesno(text="Grub kurmak istiyor musunuz ?") == "ok":
 | 
			
		||||
		kurparam["grub"]["kur"]="evet"
 | 
			
		||||
	else:
 | 
			
		||||
		kurparam["grub"]["kur"]="hayir"
 | 
			
		||||
	kurulumBilgi()
 | 
			
		||||
		
 | 
			
		||||
def kurulumBilgi():
 | 
			
		||||
	kurulum_yaz(kurparam,kurulum_dosya)
 | 
			
		||||
	d.infobox(text="Kurulum ayarlarınız başarıyla kayıt edildi.")	
 | 
			
		||||
	time.sleep(1)	
 | 
			
		||||
	kurulumUygula(kurulum_dosya)
 | 
			
		||||
 | 
			
		||||
def grubKur(hedef,baglam):
 | 
			
		||||
	hedef = hedef[:-1]
 | 
			
		||||
	if hedef == "/dev/mmcblk0": #SD kart'a kurulum fix
 | 
			
		||||
		os.system("grub-install --boot-directory="+baglam+"/boot /dev/mmcblk0")
 | 
			
		||||
	else:
 | 
			
		||||
		os.system("grub-install --boot-directory="+baglam+"/boot " + hedef)
 | 
			
		||||
	os.system("chroot "+baglam+" grub-mkconfig -o /boot/grub/grub.cfg")
 | 
			
		||||
	
 | 
			
		||||
	d.infobox(text="grub kuruldu.")
 | 
			
		||||
	time.sleep(1)
 | 
			
		||||
 | 
			
		||||
def kurulumUygula(dosya):
 | 
			
		||||
	#ayarların alınması
 | 
			
		||||
	kurulum=kurulum_oku(dosya)
 | 
			
		||||
	yazi=""
 | 
			
		||||
	yazi+=paramEkran(kurulum)+"\n\n"
 | 
			
		||||
	yazi+="Kurulum Ayarlarını onaylıyor musunuz?"
 | 
			
		||||
	if d.yesno(text=yazi,width=50,height=70) == "ok":
 | 
			
		||||
		#kurulum işlemi
 | 
			
		||||
		kbolum=kurulum["disk"]["bolum"]
 | 
			
		||||
		kformat=kurulum["disk"]["format"]
 | 
			
		||||
		kbaglam=kurulum["disk"]["baglam"]
 | 
			
		||||
		ktakas=kurulum["disk"]["takasbolum"]
 | 
			
		||||
		kisim=kurulum["kullanici"]["isim"]
 | 
			
		||||
		ksifre=kurulum["kullanici"]["sifre"]
 | 
			
		||||
		kgrubkur=kurulum["grub"]["kur"]
 | 
			
		||||
		#ayarların uygulanması
 | 
			
		||||
		#formatlama
 | 
			
		||||
		if kformat == "evet":
 | 
			
		||||
			bolumFormatla(kbolum)
 | 
			
		||||
		#kurulacak bölümün bağlanması
 | 
			
		||||
		bolumBagla(kbolum,kbaglam)
 | 
			
		||||
		#kullanıcı oluşturma
 | 
			
		||||
		kullaniciOlustur(kisim,kisim,ksifre)
 | 
			
		||||
		#sistemin kopyalanması
 | 
			
		||||
		sistemKopyala(kbaglam)
 | 
			
		||||
		#initrd oluşturulması
 | 
			
		||||
		initrdOlustur(kbaglam)
 | 
			
		||||
		if kgrubkur == "evet":
 | 
			
		||||
			grubKur(kbolum,kbaglam)
 | 
			
		||||
		bolumCoz(kbolum)
 | 
			
		||||
		d.infobox(text="Milis İşletim Sistemi başarıyla kuruldu.")
 | 
			
		||||
	else:
 | 
			
		||||
		if d.yesno(text="Kurulumdan Çıkış?") == "ok":
 | 
			
		||||
			sys.exit() 
 | 
			
		||||
		else:
 | 
			
		||||
			karsilamaEkrani()	
 | 
			
		||||
	
 | 
			
		||||
def kurulumBitir():
 | 
			
		||||
	d.infobox(text="Milis İşletim Sistemi başarıyla kuruldu.")
 | 
			
		||||
		
 | 
			
		||||
def takasSec(kbolum):
 | 
			
		||||
	if d.yesno(text="Takas alanı kullanmak istiyor musunuz ?") == "ok":
 | 
			
		||||
		takasSecimler = []
 | 
			
		||||
		uygunBolumler = ['sd','hd','mmcblk0p']
 | 
			
		||||
		#Şimdilik Parted kütüphanesine gerek kalmadı, lsblk istediğimiz bütün değerleri alıyor.
 | 
			
		||||
		diskBolumler  = komutCalistir("lsblk -ln -o  NAME    | awk '{print $1}'").split('\n')
 | 
			
		||||
		bolumBoyutlar  = komutCalistir("lsblk -ln -o  SIZE    | awk '{print $1}'").split('\n')
 | 
			
		||||
		bolumDs     = komutCalistir("lsblk -ln -o  FSTYPE  | awk '{print $1}'").split('\n')
 | 
			
		||||
		bolumMajmin = komutCalistir("lsblk -ln -o  MAJ:MIN | awk '{print $1}'").split('\n')
 | 
			
		||||
		bolumEtiket  = komutCalistir("lsblk -ln -o  LABEL").split('\n') #Bunda awk yok çünkü arada boşluk olabilir. 
 | 
			
		||||
		for i in range(len(diskBolumler)-1):
 | 
			
		||||
			if bolumMajmin[i].split(":")[1] != "0": # partition olmayanları ele (sda/sdb swap için uygun değil)
 | 
			
		||||
				if diskBolumler[i] != kbolum:
 | 
			
		||||
					for uygunBolum in uygunBolumler: 
 | 
			
		||||
						if uygunBolum in diskBolumler[i]: #loop partlar gibi swap kurulamayacak alanları ele
 | 
			
		||||
							takasSecimler.append((diskBolumler[i],bolumEtiket[i]+ "\t" +bolumBoyutlar[i]+"\t"+bolumDs[i]))
 | 
			
		||||
		status,seciliBolum = d.menu(text="Takas alanının yer alacağı disk bölümünü seçiniz",choices=takasSecimler)
 | 
			
		||||
		if status == "ok":
 | 
			
		||||
			f.write("{} seçildi !".format(seciliBolum))
 | 
			
		||||
			print("{} seçildi !".format(seciliBolum))		
 | 
			
		||||
			###swapAyarla(seciliBolum)
 | 
			
		||||
			kurparam["disk"]["takasbolum"]="/dev/"+seciliBolum
 | 
			
		||||
	else:
 | 
			
		||||
		kurparam["disk"]["takasbolum"]=""
 | 
			
		||||
	grubKurTespit()
 | 
			
		||||
		
 | 
			
		||||
def swapAyarla(bolum):
 | 
			
		||||
	os.system("mkswap "+"/dev/"+bolum)
 | 
			
		||||
	os.system('echo "`lsblk -ln -o UUID /dev/' + bolum + '` none swap sw 0 0" | tee -a /etc/fstab')
 | 
			
		||||
 | 
			
		||||
		 
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
 | 
			
		||||
	if len(sys.argv) == 1:
 | 
			
		||||
		karsilamaEkrani()
 | 
			
		||||
	else:
 | 
			
		||||
		dosya=sys.argv[1]
 | 
			
		||||
		if os.path.exists(dosya):
 | 
			
		||||
			kurulumUygula(dosya)
 | 
			
		||||
		else:
 | 
			
		||||
			d.infobox(text=dosya+" bulunamadı!")
 | 
			
		||||
			time.sleep(1)
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +1 @@
 | 
			
		|||
python3 /usr/bin/milis-kurulum.py
 | 
			
		||||
python3 /usr/bin/kurulum.py
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue