run_update - Atualizador de Sabayon
Publicado por Alberto Federman Neto. (última atualização em 15/09/2016)
[ Hits: 3.090 ]
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"
Mighty Are's Tool of Easily Promote Combats
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









