Enviado em 03/03/2013 - 19:06h
Olá. Traduzí para Português este Script de desmascarar Pacotes Gentoo:
#!/bin/bash
#
# SCRIPT PARA DESMASCARAR PACOTES DE PORTAGE A SEREM INSTALADOS EM SABAYON OU GENTOO.
#
# Código de Autoria de: Alex, DeathSquad 3000, Suécia, 2008.
# https://ds3k.wordpress.com/
# Publicado diretamente em Domínio Público,
# portanto livre para uso e modificações.
# Tradução para Português do Brasil e modificação por
# Alberto Federman Neto, albfneto <albfneto@fcfrp.usp,br>, Brasil, 2013.
# http://va.mu/AP1
#
# Este Script desmascara pacotes e suas dependências.
# Ele não funcionará com pacotes hardmasked ou com EAPI ou SLOT diferentes,
# Somente funcionará em Portage versão 2.2_rc12 ou mais recente.
# e somente para as máscaras padrão por Palavra-Chave,
# como as dos pacotes estáveis ou instáveis,
# Ex. x86 ou ~amd64.
# Antes de usar este Script, lembre-se de sincronizar e atualizar
# o Portage e instalar as dependências necessárias:
# $ sudo emerge --sync
# $ sudo emerge av --oneshot portage PortageXS
# Código:
#
# Esta função checa se um pacote é mascarado por palavra chave ou não:
#
check_if_keyworded() {
if [[ $(emerge --pretend --quiet $package_to_emerge | grep 'masked by:' | cut -d ' ' -f 5 | head -n 1) == "missing" ]]; then
return 1
else
return 0
fi
}
#
# Esta função o desmascara:
#
do_unmasking() {
echo 'Aguarde um momento, desmascarando o (os) pacote (os)...'
while ! emerge --pretend --quiet $package_to_emerge &> /dev/null; do
spin
package_to_unmask=$(emerge --pretend --quiet $package_to_emerge | grep 'masked by: ~' | cut -d ' ' -f 2 | head -n 1)
echo "=$package_to_unmask" >> $outputpath/$outputfile
done
endspin
echo "Desmascarado. Checar em $outputpath/$outputfile."
}
#
# Assegurar que está locado como Superusuário, somente o Root pode executar o Script
#
if [[ $EUID -ne 0 ]]; then
echo "Este Script só pode ser executado em modo Root" 1>&2
exit 1
fi
if [[ -z "$1" ]]; then
echo 'Vôce precisa colocar o pacote na forma de Argumento, Assim,'
echo 'sh desmasc.sh Argumento. Ex:'
echo './desmasc.sh =categoria/package-versão'
exit
fi
#
# Variáveis necessárias:
#
typeset package_to_emerge=$1
typeset package_to_unmask
typeset -i count=1
typeset outputfile
typeset outputpath=/etc/portage/package.keywords
#
#Spinner que roda durante o tempo do desmascaramento
# Thanks a http://wooledge.org pelo código
#
typeset sp="/-\|"
typeset -i sc=0
spin() {
printf "\b${sp:sc++:1}"
((sc==${#sp})) && sc=0
}
endspin() {
printf "\r%s\n" "$@"
}
#
# Criando e renomeando o pacote desmascarado
# (Nome do Pacote no diretório adequado '/' )
#
outputfile=${package_to_emerge#*/}
# Thanks http://anton.lr2.com :-), pelo código
#
# Se não existir Palavra-Chave em /etc/portage/package.keywords, cria-la.
# Se existir, somente migrar conteúdo.
#
if [[ ! -e "$outputpath" ]]; then
echo "Criando Diretórios e Arquivos..."
mkdir -p $outputpath
touch $outputpath/$outputfile
fi
if [[ -f "$outputpath" ]]; then
echo "$outputpath é um arquivo."
echo "Criando diretório $outputpath"
echo 'e movendo o conteúdo antigo para o arquivo old'
echo 'aguarde por uns instantes'
echo "$outputpath/keywords-old"
sleep 3s
mv $outputpath /etc/portage/keywords-old
mkdir -p $outputpath
touch $outputpath/$outputfile
mv /etc/portage/keywords-old $outputpath
fi
#
# Verificar se o pacote foi desmascarado e caso não tenha sido, abortar.
#
if ! check_if_keyworded; then
echo 'Pacote sem Palavra-Chave manipulável. Não Desmascarável, Desculpe'
exit
else
do_unmasking
fi
# Fim do Código
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Não consigo acessar os modos de desempenho (2)
Ubuntu — tentando iniciar o windows? (0)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba