run_update - Atualizador de Sabayon
Publicado por Alberto Federman Neto. (última atualização em 15/09/2016)
[ Hits: 2.754 ]
Homepage: https://ciencialivre.blog/
Script em Python, para atualizar o Sabayon.
O mérito não é meu. Autoria original de WolfDen, KJS, Dakota do Norte, EUA. Um dos Desenvolvedores do Sabayon Linux:
http://wolf911.us/wgo/script-for-updating-sabayon/
https://github.com/wolfden/Coding/blob/master/python%20files/run_update">https://github.com/wolfden/Coding/blob/master/python%20files/run_update
https://github.com/wolfden
Publico aqui a primeira tradução do script, para o Português Brasileiro.
Observação: não rode, se você usa os repositórios brasileiros como padrão. O comando interno "equo repo mirrorsort" vai bagunçar sua lista de repositórios!
#!/usr/bin/python # Script in Python, for Upgrading Sabayon Linux # created by wolfden # Translated (to Brazilian Portuguese) by: # albfneto <albfneto@fcfrp.usp.br> # my first py file ever # gol - Atualizar Sabayon com muito pouca intervenção Humana. import datetime import subprocess import argparse import sys import time import os # Colocando algumas côres legais! class Bcolors: def __init__(self): pass HEADER = '\033[95m' OKBLUE = '\033[94m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' BOLD = '\033[1m' UNDERLINE = '\033[4m' # Checando se o usuário é Root: if os.geteuid() != 0: print "Você deve ser Root, ou entre com sua senha para o Sudo" os.execvp("sudo", ["sudo"] + sys.argv) # Argumentos. Otimizar os repositórios: # [--limbo] [--main] [--weekly] [--status] parser = argparse.ArgumentParser() parser.add_argument("--limbo", help="Otimizar Repositorio Limbo", action="store_true") parser.add_argument("--main", help="Otimizar repositório Principal", action="store_true") parser.add_argument("--weekly", help="Otimizar Repositorio Weekly", action="store_true") parser.add_argument("--status", help="Estado dos Repositorios", action="store_true") args = parser.parse_args() if args.limbo: print "Otimizando Repositorio Limbo" time.sleep(1) limbo = subprocess.Popen('equo repo mirrorsort sabayon-limbo', shell=True) retval = limbo.wait() sys.exit() elif args.main: print "Otimizando Repositório SabayonLinux" time.sleep(1) main = subprocess.Popen('equo repo mirrorsort \ sabayonlinux.org', shell=True) retval = main.wait() sys.exit() elif args.weekly: print "Otimizando Repositório Weekly" time.sleep(1) weekly = subprocess.Popen('equo repo mirrorsort \ sabayon-weekly', shell=True) retval = weekly.wait() sys.exit() elif args.status: print "Avaliando Estado do Repositórios" time.sleep(1) status = subprocess.Popen('equo status', shell=True) retval = status.wait() sys.exit() # Horário para Iniciar: startTime = datetime.datetime.now() # Date and Time of Start date_start = subprocess.Popen('date', shell=False) retval = date_start.wait() # Deixe-me quais são os repositórios utilizados: print Bcolors.BOLD + "====Repositorios Ativados====" + Bcolors.ENDC equo_repo = subprocess.check_call("equo repo list", shell=True) # Primeiro precisa atualizar, ou ver seus repositórios correntes print Bcolors.BOLD + "====Updating the Repositories====" + Bcolors.ENDC equo_update = subprocess.check_call('equo update', shell=True) # Sincronizando as licenças, assim não precisa entrar com elas print Bcolors.BOLD + "====Atualizando aceitação das licenças====" + Bcolors.ENDC rsync = subprocess.check_call('rsync -av -H -A -X --delete-during \ "rsync://rsync.at.gentoo.org/gentoo-portage/licenses/" \ "/usr/portage/licenses/"; ls /usr/portage/licenses -1 | \ xargs -0 > /etc/entropy/packages/license.accept', shell=True) # Vendo se o último Entropy está instalado print Bcolors.BOLD + "====Instalando Último Entropy====" + Bcolors.ENDC equo_entropy = subprocess.check_call('equo install app-admin/equo \ sys-apps/entropy --nodeps', shell=True) # Listando atualizações disponíveis print Bcolors.BOLD + "====Quantos pacotes a atualizar?====" + Bcolors.ENDC equo_upgrades_available = subprocess.check_call('equo q updates', shell=True) # Começando as Atualizações print Bcolors.BOLD + "====Começando a Atualizar====" + Bcolors.ENDC equo_upgrade = subprocess.check_call('equo upgrade', shell=True) # Procurando Dependências print Bcolors.BOLD + "====Procurando as Dependências====" + Bcolors.ENDC equo_dep = subprocess.check_call('equo deptest', shell=True) #Limpando print Bcolors.BOLD + "====Limpando as Instalações====" + Bcolors.ENDC equo_clean = subprocess.check_call('equo cleanup', shell=True) print " \n" print "==================Informações do Sistema===================" # Mostrando Informação Complementar no Terminal cpu = subprocess.check_call('uname -p', shell=True) kernel_arch = subprocess.check_call('uname -m', shell=True) release_version = subprocess.check_call('cat /etc/sabayon-release', shell=True) release_edition = subprocess.check_call('cat /etc/sabayon-edition', shell=True) kernel_version = subprocess.check_call('uname -r', shell=True) nodename = subprocess.check_call('uname -n', shell=True) print " \n" print "~~~Memória Livre~~~" mem_free = subprocess.check_call('free -h', shell=True) print " \n" print "~~~Espaço de Disco~~~" disk_space = subprocess.check_call('df -lT --exclude-type=tmpfs \ --exclude-type=rootfs', shell=True) print " \n" print Bcolors.BOLD + "Atualização completada com sucesso" + Bcolors.ENDC # Data da Finalização: date_end = subprocess.Popen('date', shell=False) # Tempo de Execução Total ctime = datetime.datetime.now() - startTime print "Tempo de execução total ", ctime print " \n"
Verificar se um número é primo
Avaliador de Expressões Simples
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Firewall iptables - Rotear Interface Cliente (1)
Linux rodando do hd externo ou ssd? (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta