run_update - Atualizador de Sabayon
Publicado por Alberto Federman Neto. (última atualização em 15/09/2016)
[ Hits: 2.842 ]
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"
SnakeSQL - Crie consultas SQL facilmente
QFacil 0.2 - Qemu simplificado.
Adicione a opção Redimensionar e rotacionar imagens ao Nautilus
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
firefox nao guarda meus logins nos sites (1)
Instalar debian testing (13) "por cima" do debian 12 (2)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (1)