Comandos mais usados no ShellScript

.

Comandos mais usados em Shell Script no Linux

.

Qual é o seu usuário?

.

Se você não tem certeza qual é o seu usuário, use o comando "whoami" sem aspas, para saber.

.

Como o prompt de usuário normal pode ser diferente para cada um, podemos em algum momento usar "prompt$" para indicar o prompt da linha de comando.

.

ESCOLHER O DIRETÓRIO ONDE COLOCAR O SCRIPT

Para que o script possa ser executado de qualquer parte do sistema, mova-o para um diretório que esteja no seu PATH. Para ver quais são estes diretórios, abra agora o terminal pelo menu do sistema e digite o comando:

echo $PATH

.

Se não tiver permissão de mover para um diretório do PATH, deixe-o dentro de seu diretório pessoal ($HOME). Digite no terminal: $HOME

.

CRIAR O ARQUIVO E COLOCAR NELE OS COMANDOS

Abra pelo menu do sistema o editor de texto gedit, pluma, leafpad, mousepad ou outro editor de textos de sua preferência para colocar todos os comandos dentro do arquivo.

.

COLOQUE A CHAMADA DO SHELL NA PRIMEIRA LINHA

A primeira linha do script deve ser:

#!/bin/bash

Para que ao ser executado, o sistema saiba que é o bash quem irá interpretar estes comandos.

.

TORNE O SCRIPT UM ARQUIVO EXECUTÁVEL

Use o seguinte comando para que seu script seja reconhecido pelo sistema como um comando executável:

chmod +x nome-do-teu-shellscript.sh

.

Para permitir que todos os usuários possam executar o script:

chmod a+x nome-do-teu-shellscript.sh

.

EXECUTE O SCRIPT

./nome-do-teu-shellscript.sh (Aqui "./" representa o diretório atual)

/home/seu-usuário/bin/nome-do-teu-shellscript.sh (Aqui informa onde está o script para que o bash execute em outra pasta)

.

BASH EXECUTANDO COMANDOS

Shell script é uma linguagem de script usada em vários sistemas operacionais, com diferentes dialetos, dependendo do interpretador de comandos utilizado.

Um exemplo de interpretador de comandos é o bash, usado na grande maioria das distribuições GNU/Linux.

A maior parte dos usuários classificam shell script como uma linguagem de fácil aprendizagem. O primeiro passo é, saber o que se deseja fazer, então ver qual o código que executa este comando em shell e aí criar, basta escrever o código em algum editor de texto e salvar. Veja só por exemplo, que de tempos em tempos você quer saber informações do sistema, instalar programas, remover programas, converter/alterar arquivos, fazer backups, adicionar informações, remover informações, etc.

.

AGORA ABRE O TERMINAL E DIGITA COMANDOS, POR EXEMPLO, DIGITE ESTES COMANDOS ABAIXO UM DE CADA VEZ:

echo

ls

echo ''

echo ""

echo "Olá!"

printf 'Bem vindo ao bash!' (Aperte a tecla enter e digite: ls)

echo '#!/bin/bash'

echo "#!/bin/bash"

echo ; echo "Olá!" ; echo

echo -e 'Bom\nDia\nMundo!'

echo "Hello world!"

echo "Hello "world"!"

echo "Hello \"world\"!"

printf "Hello world" (Aperte a tecla enter e digite: cd ~)

pwd

ls -t

sleep 7

echo ; echo 'Olá!' ; sleep 3 ; ls -t

free -h -t

free -th

sleep 4

date

cal

du -h

uptime

df -h

clear

free -tmlh

df -a -h

df -k -l

df -T -m

echo ; whoami ; echo

ls ; echo ; pwd ; echo

echo ; ls -at ; echo

du *

ls -lah

du -hcs

du -ach

du -Sh

du -Sk

clear

echo ; echo 'df: Relata o espaço de disco usado pelo sistema (Usado e Livre)' ; echo

ls -hat

echo ; echo "du: Relata o espaço utilizado no disco de tal arquivo ou diretório" ; echo

whereis bash

VALOR="Linux"

echo $VALOR

echo $VALOR $VALOR

VALOR='ls -t'

$VALOR

echo $VALOR

VALOR='free -h -t'

$VALOR

echo $VALOR

echo VALOR

read VALOR (aperte a tecla enter, digite: "ls" sem aspas e aperte enter.)

$VALOR

read VALOR (aperte a tecla enter, digite: "uptime" sem aspas e aperte enter.)

$VALOR

echo ; $VALOR ; echo ; $VALOR ; echo

echo ; $VALOR ; sleep 4 ; echo ; $VALOR ; echo

unset VALOR

echo ; $VALOR

$VALOR

clear

echo -e '\nOlá!\nVamos\nSaber\nOs\nComandos\ndo\nShellscript Linux!'

clear ; echo -e '\n \nOlá!\n \nVamos\n \nSaber\n \nOs\n \nComandos\n \ndo\n \nShellscript Linux!\n'

HOJE=$(lsblk)

echo "Informação sobre dispositivos de bloco: $HOJE"

unset HOJE

echo $HOJE

echo $((2*3))

echo $((2*4-2/2+3))

VALOR=44

echo $((VALOR*1))

echo $((VALOR*2))

echo $((VALOR*3))

VALOR=$((VALOR+1))

echo $VALOR

VALOR=$((VALOR+11))

echo $VALOR

VALOR=$((VALOR+1))

echo $VALOR

VALOR=$((VALOR+11))

echo $VALOR

unset VALOR

echo $VALOR

VALOR=$(uname -a)

echo $VALOR

HOJE=$(arch)

echo $HOJE

echo "Informação sobre o kernel: $VALOR" ; echo ; echo "Informação sobre a arquitetura do sistema: $HOJE"

echo 'Informação sobre o kernel: $VALOR' ; echo ; echo 'Informação sobre a arquitetura do sistema: $HOJE'

unset VALOR

unset HOJE

echo "Informação sobre o kernel: $VALOR" ; echo ; echo "Informação sobre a arquitetura do sistema: $HOJE"

echo 'Informação sobre o kernel: $VALOR' ; echo ; echo 'Informação sobre a arquitetura do sistema: $HOJE'

printf "%-5s %-10s %-4s\n" No Nome Pontos

printf "%-5s %-10s %-4.2f\n" 1 Marta 8

printf "%-5s %-10s %-4.2f\n" 2 Joel 9

printf "%-5s %-10s %-4.2f\n" 3 Carlos 7

clear

exit

.

Muito bom que você digitou um comando de cada vez!!!

O comandos mais longos pode copiar e colar no terminal se quiser, mas no início seria melhor digitar...

Saiba que a partir deste momento você já está entendendo coisas extremamente úteis para escrever shellscript usando o Bash!

Uma coisa interessante sobre os comandos acima, é que para estudar eles, você não precisa estar conectado a internet.

Os comandos acima oferecem informações interessantes e úteis. Podemos colocar todos eles em um só script e executar. Dependendo do caso, é mais fácil que digitar um a um de cada vez toda vez que precisar.

.

SE PUDER, ANTES DE CONTINUAR EXECUTE OS COMANDOS ACIMA QUE TE CHAMARAM MAIS A ATENÇÃO DE NOVO POIS, EXECUTAR ELES É MUITO DIDÁTICO. NADA MELHOR QUE APRENDER PRATICANDO.

.

ASPAS SIMPLES ' E ASPAS DUPLAS ":

Aspas duplas permitem interpretar caracteres especiais.

Aspas simples desabilitam esta interpretação.

.

CARACTERES DE ESCAPE:

echo "Hello \"world\"!"

.

TODO SCRIPT ESCRITO PARA RODAR NO BASH COMEÇA COM:

#!/bin/bash

Após "#!/bin/bash" de um espaço entre linhas e então pode começar a digitar comandos.

.

Exemplo:

#!/bin/bash

clear

echo ; date ; echo ; sleep 4

echo ; cal ; echo ; sleep 4

echo ; uptime ; echo ; sleep 4

echo ; df -h ; echo ; sleep 4

echo ; free -html ; echo ; sleep 4

echo ; whoami ; echo ; sleep 4

echo ; pwd ; echo ; sleep 4

echo ; ls -at ; echo ; sleep 4

echo ; whereis bash ; echo ; sleep 4

echo ; echo 'Este é o fim do script 01-script.sh' ; echo ; sleep 4

exit

# Fim do script

.

ESTE SCRIPT ÚTIL E INOFENSIVO ACIMA SERÁ SALVO NA PASTA HOME, A PASTA DA CASINHA, USANDO UM EDITOR DE TEXTO COM O NOME DE:

01-script.sh

.

Posso melhorar/tornar mais amigável este script acima explicando sobre cada comando:

#!/bin/bash

clear

echo ; echo 'Hoje é data:' ; echo ; sleep 2

echo ; date ; echo ; sleep 4

echo ; echo 'Hoje pelo calendário é:' ; echo ; sleep 2

echo ; cal ; echo ; sleep 4

echo ; echo 'Esta máquina está funcionando a:' ; echo ; sleep 2

echo ; uptime ; echo ; sleep 4

echo ; echo 'Sobre o tamanho desta pasta:' ; echo ; sleep 2

echo ; df -h ; echo ; sleep 6

echo ; echo 'Sobre a memória RAM:' ; echo ; sleep 2

echo ; free -html ; echo ; sleep 6

echo ; echo 'Você está logado como:' ; echo ; sleep 2

echo ; whoami ; echo ; sleep 4

echo ; echo 'Você está em:' ; echo ; sleep 2

echo ; pwd ; echo ; sleep 4

echo ; echo 'Neste diretório/pasta tem:' ; echo ; sleep 2

echo ; ls -at ; echo ; sleep 6

echo ; echo 'O Bash está em:' ; echo ; sleep 2

echo ; whereis bash ; echo ; sleep 4

echo ; echo 'Este é o fim do script 01-script.sh' ; echo ; sleep 4

exit

# Fim do script

.

No Linux o script deve ter permissão de execução, isto pode ser feito abrindo o terminal pelo menu do sistema e executando o comando:

chmod +x 01-script.sh

.

Depois de salvo você tem que executar o arquivo, dessa forma:

./01-script.sh

.

Viu alguma utilidade neste pequeno script?

Então siga adiante.

.

IMPORTANTE:

Para estudar shell script tem que ser como usuário normal. Se você está acessando o sistema como usuário administrador (root), saia e entre como um usuário normal. É muito perigoso estudar shell usando o superusuário, você pode danificar o sistema com um comando errado.

Ok, continuemos.

.

Para exibir um manual do bash ou mesmo do comando 'chmod', digite na linha de comando:

man bash

man chmod

.

É possível executar o arquivo mesmo sem modificar a permissão de execução, por exemplo, se for um arquivo escrito para ser executado pelo bash, usar:

sh ./"Nome do arquivo, sem aspas"

.

SHELL

É importante saber o que é um Shell.

Na linha de comandos de um shell, podemos utilizar diversos comandos um após o outro, ou mesmo combiná-los numa mesma linha.

Se colocarmos diversas linhas de comandos em um arquivo texto simples, teremos em mãos um Shell Script, ou um script em shell, já que Script é uma descrição geral de qualquer programa escrito em linguagem interpretada, ou seja, não compilada.

Outros exemplos de linguagens para scripts são o PHP, Perl, Python, JavaScript e muitos outros. Podemos então ter um script em php, um script perl e assim em diante.

Uma vez criado, um ShellScript pode ser reutilizado quantas vezes for necessário.

Seu uso, portanto, é indicado na automação de tarefas que serão realizadas mais de uma vez.

Todo sistema Unix e similares são repletos de scripts em shell para a realização das mais diversas atividades administrativas e de manutenção do sistema.

Os arquivos de lote (batch - arquivos *.bat) do Windows são também exemplos de ShellScripts, já que são escritos em linguagem interpretada e executados por um Shell do Windows, em geral o command.com ou hoje em dia o cmd.exe.

Os Shells do Unix, porém, são inumeras vezes mais poderosos que o interpretador de comandos do Windows, podendo executar tarefas muito mais complexas e elaboradas.

OS SCRIPTS SHELL PODEM SER AGENDADOS PARA EXECUÇÃO ATRAVÉS DA TABELA CRONTAB, ENTRE OUTRAS COISAS.

É uma ferramenta indispensável aos administradores de sistemas Unix.

O Shell mais comum e provavelmente o que possui mais scripts escritos para ele é também um dos mais antigos e simples, o sh.

Este shell está presente em todo o sistema tipo Unix, incluído o Linux, FreeBSD, AIX, HP-UX, OpenBSD, Solaris, NetBSD, Irix, etc. Por ser o shell nativo mais comum é natural que se prefira escrever scripts para ele, tornando o script mais facilmente portável para outro sistema.

Os Shells não estão diretamente associados a um ou outro tipo de Unix, embora várias empresas comerciais tenham suas próprias versões de Shell. No software livre o Shell utilizado em um sistema em geral é exatamente o mesmo utilizado em outro. Por exemplo, o bash encontrado no Linux é o mesmo shell bash encontrado no FreeBSD e pode também facilmente ser instalado no Solaris, Windows através do Cygwin [1] ou outros sistemas Unix comerciais para passar a ser utilizado como interface direta de comandos ou como interpretador de scripts. O mesmo acontece com o tcsh e vários outros shells desenvolvidos no modelo de software livre.

.

INTERAGIR COM O USUÁRIO

.

Para o script ficar mais completo, vamos colocar uma interação mínima com o usuário, pedindo uma confirmação antes de executar os comandos.

.

#!/bin/bash

clear

echo "Vou buscar os dados do sistema. Posso continuar? [S/n] "

read RESPOSTA

test "$RESPOSTA" = "n" && exit

echo ; echo "Data e Horário:" ; echo

date

echo

echo "Uso do disco:" ; echo

df -ht

echo

echo "Usuários conectados:" ; echo

w

echo ; echo "Seu nome de login é:"

whoami

echo

exit

# Fim do script

.

O comando "read" leu o que o usuário digitou e guardou na variável RESPOSTA. Logo em seguida, o comando "test" verificou se o conteúdo dessa variável era "n". Se afirmativo, o comando "exit" foi chamado e o script foi finalizado. Nessa linha há vários detalhes importantes:

O conteúdo da variável é acessado colocando-se um cifrão "$" na frente

O comando test é útil para fazer vários tipos de verificações em textos e arquivos

O operador lógico "&&", só executa o segundo comando caso o primeiro tenha sido OK. O operador inverso é o "||"

.

MELHORAR O CÓDIGO DO SCRIPT

Com o tempo, o script vai crescer, mais comandos vão ser adicionados e quanto maior, mais difícil encontrar o ponto certo onde fazer a alteração ou corrigir algum erro. Para poupar horas de estresse, e facilitar as manutenções futuras, é preciso deixar o código visualmente mais agradável e espaçado, e colocar comentários esclarecedores.

.

#!/bin/bash

# nome-do-script - script que mostra informações sobre o sistema

# Autor: Fulano da Silva

# Pede uma confirmação do usuário antes de executar

clear

echo "Vou buscar os dados do sistema. Posso continuar? [S/n]"

read RESPOSTA

# Se ele digitou 'n', vamos interromper o script

test "$RESPOSTA" = "n" && exit

# O date mostra a data e a hora correntes

sleep 3 ; echo "Data e Horário:" ; echo

date

sleep 3

echo

# O df mostra as partições e quanto cada uma ocupa no disco
echo "Uso do disco:"

sleep 3

echo

df

echo

sleep 6

# O w mostra os usuários que estão conectados nesta máquina

echo "Usuários conectados:"

sleep 3

echo

w

sleep 3

echo

# Fim do script

.

Basta iniciar a linha com um "#" e escrever o texto do comentário em seguida. Estas linhas são ignoradas pelo shell durante a execução. O cabeçalho com informações sobre o script e seu autor também é importante para ter-se uma visão geral do que o script faz, sem precisar decifrar seu código. Também é possível colocar comentários no meio da linha # como este

.

CARACTERÍSTICAS

.

OS SCRIPTS SHELL PODEM CONTER ESTRUTURAS DE PROGRAMAÇÃO TAIS COMO:

.

ESTRUTURAS DE DECISÃO (if)

Recurso utilizado para dar sequencia em fluxos de execução baseado decisões. Cuja sintaxe é:

- Condição Verificada é o teste que definirá se controle deve ser passado para dentro do bloco then, observe que esse teste é feito sobre a saída de um comando.
- Ação são comandos a serem executados em caso verdadeiro da condição verificada.

.

OPERADORES PARA NÚMEROS

-eq Verifica se é igual,
-ne Verifica se é diferente,
-lt Verifica se é menor,
-gt Verifica se é maior,
-le Verifica se é menor ou igual,
-ge Verifica se é maior ou igual.

.

OPERADORES PARA TEXTO

!= Verifica se é diferente,
= Verifica se é igual.

.

OPERADORES LÓGICOS

! Lógica NOT,
-o Lógica OU, (OR) ou ||,
-a Lógica E, (AND) ou &&.

.

OPERADOR PARA arquivos/

-d Verifica se é diretório,
-f Verifica se é arquivo,
-e Verifica se existe.

.

Ex:

# !/bin/baxh
# Uso de Estrutura de Decisão
clear

echo 'opções'
echo '======'
echo ' -> Data do Sistema'
echo ' -> Uso do Sistema'

read opcao

if [ "$opcao" -eq 1 ]
then
echo 'Data do sistema: ' && date

elif [ "$opcao" -eq 2 ]
then

echo 'Uso do disco: ' && df -Th
fi

# Fim do script

.

ESTRUTURAS DE REPETIÇÃO (FOR)(WHILE)

.

ESTRUTURA DE REPETIÇÃO FOR

Permite que ações de iteração sejam executadas sobre determinados comandos ou variáveis até que a condição seja satisfeita.

# !/bin/bash

clear

echo "DIAS DA SEMANA"
for dia in seg ter qua qui sex sab dom
do
echo "$dia"
done

# Fim do script

.

ESTRUTURA DE REPETIÇÃO WHILE

Em situações onde sabemos até onde o loop irá realizar uma contagem o ideal é usar o for entretanto em cenarios onde a iteração deve cessar somente após se satisfazer uma condição o uso do laço while é mais indicado. Ex:

# /bin/bash

clear
var=1
while [ $var -le 7 ]
do
echo "Valor de var: $var"
var=$((var+1))
done

# Fim do script

.

FUNÇÕES E ARGUMENTOS

Ex:

# !/bin/bash
# REALIZAR BACKUP DO DIR

echo -e " \033[1;33m Digite o caminho de origem.: \033[0m "
read DIR_ORIGEM

clear

echo -e " \033[1;34m Digite o caminho de destino.: \033[0m "
read DIR_DESTINO

clear

verifica_argumentos(){

if [ $# -lt 1 ];
then
echo "Faltou informar um dos argumentos (parametros) necessarios!"
exit 1
fi
}

copia_arquivos(){

verifica_argumentos

clear

echo "Realizando backup..."

#Verificando se o dir de destino existe

if ! [ -d $DIR_DESTINO ]
then
mkdir $DIR_DESTINO
echo "Diretorio de Destino Criado"
fi

#COPIANDO ARQUIVOS

for arq in `ls $DIR_ORIGEM`
do
cp /$DIR_ORIGEM/$arq $DIR_DESTINO/$arq.bak
done

}

copia_arquivos

# Fim do script

DEFINIÇÕES DE VARIÁVEIS E ESCOPO DESTAS

Variáveis são definidas pela nomenclatura NOME_VARIAVEL="Valor da Variável". O valor pode ser tanto numérico quanto texto.

Nome="Joel"

Se quisermos acessá-la, basta fazer referência a ela com o caractere $ (cifrão) antes do nome: o comando echo $Nome, por exemplo, retornará a palavra "Joel".

Se quiser sabe informações sobre os sistemas de arquivo nos quais cada ARQUIVO reside ou, por padrão, sobre todos os sistemas de arquivos posso abrir um terminal e digitar:

VarInfo="df -h"

Depois digito no terminal "$VarInfo" sem aspas.

.

VARIÁVEIS DE AMBIENTE

As variáveis de ambiente independem da definição do usuario. Elas são criadas automaticamente, no momento em que se faz o login no sistema.

Ex:

PATH: define diretórios de procura por programas executados no shell;
USER: informa o nome do usuário do shell;
HOME: informa o caminho do diretório home do usuário;
PWD: diretório atual;

.

As variáveis são a base de qualquer script. É dentro delas que os dados obtidos durante a execução do script serão armazenados. Para definir uma variável, basta usar o sinal de igual "=" e para ver seu valor, usa-se o "echo":

.

Execute estes comandos abaixo no terminal:

.

VARIAVEL="um dois tres"

echo $VARIAVEL

echo $VARIAVEL $VARIAVEL

.

Para remover a variável acima:

unset VARIAVEL

.

Teste:

echo $VARIAVEL

.

É possível armazenar a saída de um comando dentro de uma variável. Ao invés de aspas, o comando deve ser colocado entre "$(...)", execute no terminal os comandos abaixo:

HOJE=$(date)

echo "Hoje é: $HOJE"

unset HOJE

echo $HOJE

HOJE=$(ls)

echo "O conteúdo desta pasta tem: $HOJE"

unset HOJE

echo $HOJE

HOJE=$(free -hmt)

echo "Informando sobre a memória desta máquina: $HOJE"

unset HOJE

echo $HOJE

.

Exemplos de uso do shell script:

Apagar arquivos velhos - Apagar periodicamente arquivos mais velhos que 30 dias do diretório /tmp:

#!/bin/bash

cd /tmp
find . -type f -mtime +30 -delete

# Fim do script

Este seria o conteúdo de um shell script que sempre que fosse executado apagaria arquivos com data de modificação maior que 30 dias a partir do diretório /tmp do sistema de arquivos.

Notem que ele é nada mais do que uma associação de 2 comandos (cd e find) em um arquivo para facilitar a repetição da tarefa. Este poderia ser, por exemplo, o conteúdo do arquivo /bin/limpatmp.sh e poderíamos chamar este script pela linha de comandos sempre que desejássemos repetir esta ação:

$ limpatmp.sh

Onde o símbolo "$" representa o prompt de comandos. Do ponto de vista do usuário este seria mais um comando disponível para uso.

Os scripts em shell são também muito empregados junto à inicialização do sistema (para auto-iniciar tarefas) ou como mini-aplicativos, que facilitam tarefas dos usuários, tais como montagem de dispositivos, menus de ajuda, etc.

Sua primeira linha obrigatoriamente começa com um "#!" (que não se deve confundir com um comentário qualquer, pois realmente é uma exceção; este par se chama, em inglês, de shebang), informando diretamente ao núcleo (kernel) qual interpretador ele deverá usar, juntamente com seu caminho, de acordo com a necessidade de cada caso. Exemplo:

#!/bin/bash

Em seguida, são adicionados os comandos desejados, um por linha, ou separados por ponto e vírgula. Exemplo:

mount -t reiserfs /dev/hda1 /mnt/hda1

ls /mnt/hda1

cp -r /mnt/hda1/* /home/user/backup
umount /dev/hda1

Por fim, dá-se a permissão de execução a este arquivo de texto simples ("chmod +x arquivo").

.

DATA ANTERIOR

.

#!/bin/bash

# Função em Bash para retornar a data anterior, levando em conta o mês e ano.

fn_data_anterior()
{
DIA=$D
MES=$M
ANO=$A

# Dado DIA, MES e ANO numéricos, obtém a data do dia anterior

DIA=`expr $DIA - 1`
if [ $DIA -eq 0 ]; then
MES=`expr $MES - 1`
if [ $MES -eq 0 ]; then
MES=12
ANO=`expr $ANO - 1`
fi
DIA=`cal $MES $ANO`
DIA=`echo $DIA | awk '{ print $NF }'`
fi
}

ano=`date +%Y`;
mes=`date +%m`;
let dia=10\#`date +%d`;

if (( $dia". Para guardar a saída do comando anterior no arquivo "saida", basta fazer:

cat /etc/passwd | grep root | cut -c1-10 > saida

cat saida

.

O COMANDO TEST

O canivete suíço dos comandos do shell é o "test", que consegue fazer vários tipos de testes em números, textos e arquivos. Ele possui várias opções para indicar que tipo de teste será feito, algumas delas:

-lt Núm. é menor que (LessThan)

-d É um diretório

-gt Núm. é maior que (GreaterThan)

-f É um arquivo normal

-le Núm. é menor igual (LessEqual)

-r O arquivo tem permissão de leitura

-ge Núm. é maior igual (GreaterEqual)

-s O tamanho do arquivo é maior que zero

-eq Núm. é igual (EQual)

-w O arquivo tem permissão de escrita

-ne Núm. é diferente (NotEqual)

-nt O arquivo é mais recente (NewerThan)

= String é igual

-ot O arquivo é mais antigo (OlderThan)

!= String é diferente

-ef O arquivo é o mesmo (EqualFile)

-n String é não nula

-a E lógico (AND)

-z String é nula

-o OU lógico (OR)

.

SCRIPT QUE TESTA ARQUIVOS

Tente fazer um script "testa-arquivos", que pede ao usuário para digitar um arquivo e testa se este arquivo existe. Se sim, diz se é um arquivo ou um diretório.

.

CONCEITOS MAIS AVANÇADOS

.

If, for e while

.

Assim como qualquer outra linguagem de programação, o shell também tem estruturas para se fazer condicionais e loop. As mais usadas são if, for e while.

.

Então daqui por diante, sabemos o básico, o necessário para se fazer um script de funcionalidade mínima. E este mínimo pode fazer coisas incríveis.

.

Ex:

if COMANDO
then
comandos
else
comandos
fi

# Fim do script

Ex:

for VAR in LISTA
do
comandos
done

# Fim do script

Ex:

while COMANDO
do
comandos
done

# Fim do script

.

Diferente de outras linguagens, o if testa um comando e não uma condição. Porém como já conhecemos qual o comando do shell que testa condições, é só usá-lo em conjunto com o if. Por exemplo, para saber se uma variável é maior ou menor do que 10 e mostrar uma mensagem na tela informando:

.

Ex:

if test "$VARIAVEL" -gt 10
then
echo "é maior que 10"
else
echo "é menor que 10"
fi

# Fim do script

.

Há um atalho para o test , que é o comando [. Ambos são exatamente o mesmo comando, porém usar o [ deixa o if mais parecido com o formato tradicional de outras linguagens:

.

Ex:

if [ "$VARIAVEL" -gt 10 ]
then
echo "é maior que 10"
else
echo "é menor que 10"
fi

# Fim do script

.

Se usar o [, também é preciso fechá-lo com o ], e sempre devem ter espaços ao redor. É recomendado evitar esta sintaxe para diminuir suas chances de erro.

.

Já o while é um laço que é executado enquanto um comando retorna OK. Novamente o test é bom de ser usado. Por exemplo, para segurar o processamento do script enquanto um arquivo de lock não é removido:

.

Ex:

while test -f /tmp/lock
do
echo "Script travado..."
sleep 1
done

# Fim do script

.

Ex:

E por fim, o for percorre uma lista de palavras, pegando uma por vez:

for numero in um dois três quatro cinco
do
echo "Contando: $numero"
done

# Fim do script

.

Uma ferramenta muito útil para usar com o for é o seq, que gera uma seqüência numérica.

.

Para fazer o loop andar 10 passos, pode-se fazer:

for passo in $(seq 10)

.

O mesmo pode ser feito com o while, usando um contador:

i=0
while test $i -le 10
do
i=$((i+1))
echo "Contando: $i"
done

# Fim do script

.

Até Breve

.

.

🙂

.

Linux Guia-Instalacao-e-Pos-Instalação GeckoLinux_Rolling_Budgie

.

2017

.

Epero que este tutorial, que eu fiz através de pesquisa e uso por minha conta e risco, lhe seja útil. Ele é bem útil para mim.

😀

.

Guia Instalação e Pós Instalação GeckoLinux_Rolling_Budgie

.

Geckolinux tem dois tipos de sabores. O Geckolinux já vem com todos os programas básicos para uma boa experiencia de internet. Vem com bons programas para imagens, documentos, videos e musica e faz tudo por você, é só usar uns simples comandos de terminal que eu vou mostrar aqui, ou usar o YaST.

.

SABORES GECKOLINUX:

.

Estático e Rolling release.

.

Estático se baseia no openSUSE Leap 42.2.

.

Rolling release tem base no openSUSE Tumbleweed. Eu prefiro o sabor rolling release.

.

Geckolinux é para mim, uma versão refinada do openSUSE.

.

O GeckoLinux_Rolling_Budgie tem tema modificado mas usa o repositório oficial openSUSE.

.

No GeckoLinux_Rolling_Budgie um monte de coisas que usuários comuns não precisam, são removidas e isto é bom na minha opinião.

.

Consome pouca memória e evita pacotes extras.

.

Pode ser instalado com imagens DVD/USB. Possui muitas versões customizadas.

.

Versões prontas para uso Geckolinux:

.

Cinnamon, XFCE, Gnome, Plasma, Mate, Budgie, LXQT e Barebones.

.

Todas estas estão disponíveis para os dois sabores, o Estático e o Rolling Release.

.

O Geckolinux suporta pacotes do repositório Pacman também.

.

Renderiza bem fontes e não força a instalação de pacotes adicionais recomendados depois da instalação.

.

Programas de desktop podem ser desinstalados com todas as suas dependencias.

.

Para baixar visito:

.

https://geckolinux.github.io/

.

Procuro por:

GeckoLinux_Rolling_Budgie

.

Instalo gravando a ISO como imagem em um DvD, antes testo o GeckoLinux no VirtualBox.

.

 

Na tela Inicial GeckoLinux aperto a teccla F2 para deixar o idioma em português do Brasil.

.

Usuario: linux

Senha: linux

.

root: linux

senha: linux

.

Desktop Incicial

.

cap-desk-inicial-ok

.

Abro o instalador “Calamares instaler” com 2 cliques.

.

 

É pedido a senha.

.

A senha é linux.

.

Instalador openSUSE Tumbleweed .

.

cap-bem-vindo-instalador-opensuse-tumbleweed

.

Localização – escolho o estado onde estou no mundo.

.

cap-calamares-localização

.

Teclado – escolho o meu tipo de teclado.

.

Determino as partições

.

cat-calameres-partições

.

Crio o meu usuário

.

cap-calamares-Usuarios

.

Confirmo a instalação

.

cap-calamares-instalando-confirme

.

Instalando

.

cap-calamares-instalar

.

Clico na box reiniciar agora.

.

cap-calamares-fim-da-instalação-reboot

.

Depois da instalação, escolho BOOT FROM HARD DISK.

.

Captura de tela em 2017-09-15 04-49-11

O GeckoLinux_Rolling_Budgie é bem mais fácil de usar que o openSUSE usa os mesmos comandos do OpenSuse, mas vem com todas as facilidades que o SUSE não eferece. Não precisa instalar codecs proprietarios de midia. Usa pacotes do repositório Pacman e do openSUSE como disse antes. É um openSUSE melhorado. Os desenvolvedores do Gecklinux consertaram coisas que não gostavam no openSUSE.

.

cap-menu-gecko-linux-budgie

Haverá dois terminais, provavelmente. Um deles não aceita copiar e colar. Use o outro.

.

Não recomendo começar a atualização update e upgrade do sistema pelo terminal. Poderia… mas não recomendo > terminal em Menu > System Tools > Terminal. Exececutar:

.

$ sudo zypper refresh

.

Não recomendo depois de instalar o sistema, atualizar o sistema pelo terminal. O comando abaixo no terminal sem root ou com root; não recomendo para o GeckoLinux.

.

$ sudo zypper up

.

Haverá perguntas concorde com sim ou yes.

.

1401 pacotes são atualizados, isto é o sistema inteiro, pois é Rolling Release.

.

Haverá conflito de pacotes e o sistema vai quebrar se usar o terminal.

.

Eu não instalo nada antes de fazer este update e upgrade para minha segurança e para ter os programas pré-instalados atualizados.

.

Não execute, como expliquei acima, o comando:

.

$ sudo zypper refresh && sudo zypper up (não recomendo para o GeckoLinux)

.

O que eu recomento é fazer a atualização e todas as instalações com a ferramenta gráfica YaST usando Online Update:

.

cap-yast-ok

.

E instalar programas com a central de instalação de programas YaST:

.

cap-yast-instalando-programas

.

Continuando…

.

Instalando pacote básico de linguagem.

.

cap-instalando-pacote-basico-de-linguagem

.

Para instalar programas tem o instalador “YaST” que pelo “menu” é encontrado em “System Tools”.

.

QUERO APRENDER COMANDOS:

.

zypper in <nome do pacote>
Instala o pacote.

.

zypper rm <nome do pacote>
Remove o pacote.

.

zypper ve
Verifica se está tudo OK com as dependências dos pacotes.

.

zypper lu
Verifica se há updates nos repositórios.

.

zypper up
Faz os updates necessários (use em conjunto com o zypper lu).

.

zypper dup
Faz um update na distro.

.

zypper se <nome do pacote>
Realiza uma busca pelo pacote.

.

zypper up -t package
Atualiza todos os pacotes (quando necessário).

.

zypper help
Abre a seção de ajuda de um comando específico.

.

zypper ref
Atualiza todos os seus repositórios.

.

zypper clean
Limpa o cache nos repositórios.

.

TRABALHANDO COM REPOSITÓRIOS

.

 

Trata de como você trabalhar com os repositórios, adicionando, excluindo. renomeando etc.

.

zypper lr
Lista todos os repositórios já definidos.

.

zypper ar <repositório>
Adiciona um novo repositório.

.

Exemplo:

# zypper ar http://download.videolan.org/pub/vlc/SuSE/11.0

.

zypper rr <repositório>
Remove um repositório específico.

.

Exemplo: zypper rr <nome do repositório>

.

zypper nr <nome do repositório> <novo nome>
Altera o nome de um repositório. Ex:

.

# zypper nr vlr teste

.

Onde valor era o nome do antigo repositório e teste é o novo nome.

.

zypper mr <opção> <número do repositório>
Modifica um repositório específico. Ex:

.

# zypper mr -d teste

.

Esta opção irá desabilitar o repositório teste. Caso o nome seja muito longo você poderá usar o número do repositório, liste ele com o comando “zypper lr”, o número aparece bem na frente do nome. Para saber todas as opções digite “zypper help mr”.

.

zypper ref
Atualiza todos os seus repositórios.

.

zypper clean
Limpa o cache nos repositórios.

.

zypper lr –export <nome do arquivo>
Sim, você também pode exportar sua lista de repositórios.

.

Exemplo:

# zypper lr –export backups/repositorios/backup.repo

.

Para importar use o comando “zypper ar”.

.

Exemplo:

# zypper ar backups/repositorios/backup.repo

.

GeckoLinux_Rolling_Budgie – Trabalhando com pacotes

.

zypper in <nome do pacote>
Instala o pacote.

.

Exemplo:

.

# zypper in gimp (instala o Gimp)

# zypper in vim -emacs (instala o vim e remove o emacs)

# zypper in gimp.rpm (instala o gimp em rpm em um diretório)

.

Obs: Existem muitos outros exemplos e maneiras que podem ser consultados no manual.

.

zypper rm <nome do pacote>
Remove o pacote.

.

Ex:

# zypper rm gimp (remove o Gimp)

.

zypper si <nome do pacote>
Instala por um source.

.

zypper si -D <nome do pacote>
Instala somente o source, sem as dependências.

.

zypper si -d <nome do pacote>
Instala somente as dependências, sem o source.

.

zypper up -t package
Atualiza todos os pacotes que você possui (se possível).

.

zypper up -t package <nome do pacote>
Atualiza o pacote específico.

.

Ex:

# zypper up -t package gimp (atualiza o Gimp)

# zypper up -t package gimp xvid (atualiza os pacotes especificados na ordem que você colocar)

 

.

Trabalhando com buscas

.

Esse é um recurso muito legal e bem simples, você pode buscar os pacotes pelo nome e ele vai te dar uma lista com os pacotes que contém aquele nome e se estão instalados.

.

zypper se <nome do pacote>
Faz um busca pelo nome do pacote.

.

OBS: “i” na frente do campo, indica que o pacote já está instalado.

.

zypper info <nome do pacote>
Mostra as informações do pacote.

.

Este é um recurso muito legal, ele mostra muitas coisas, tente o “zypper info gimp”, ele mostra até os autores.

.

zypper wp <nome do pacote>
Busca pelo nome do pacote, listando as dependências, versões etc. Experimente para obter uma visão melhor do comando. 😉

.

zypper se -t <patch ou package ou pattern ou product>
Procura os pacotes pelo tipo, o -t significa type.

.

Para saber mais opções do comando “se”, digite:

# zypper help se

.

GeckoLinux_Rolling_Budgie – Trabalhando com bloqueio de pacotes

.

Essa tradução de “Bloqueio de pacotes” que eu acabei de fazer não sei se ficou muito boa, qualquer coisa podem chamar de “Package Locks” mesmo… enfim.

.

Você pode bloquear certos pacotes para que estes não não possam ser alterados no sistema, ou seja, pacotes instalados e bloqueados não podem ser desinstalados ou atualizados, e pacotes ainda não instalados não podem ser instalados.

.

zypper al <nome do pacote>
Bloqueia o pacote.

zypper rl <nome do pacote>
Desbloqueia o pacote.

 

zypper ll Lista os pacotes bloqueados.

Bom é isso ai, bora pro próximo.

.

Trabalhando com verificações e atualizações

.

Trabalhando com verificações
Este recurso também é muito legal, quem nunca foi rodar alguma aplicação e estava faltando alguns pacotes?

.

zypper ve

Verifica as dependências dos seus pacotes.

.

Obs: Se está faltando alguma coisa (e ele localizar), ele já pede para que você aceite a instalação dos pacotes que faltam.

.

Caso não falte nada, está tudo rodando direito ele imprime na tela a mensagem “Reading installed packages… Dependencies of all installed packages are satisfied.”

.

zypper inr
Este comando procura (e solicita para instalar) alguns pacotes recomendados para os seus JÁ INSTALADOS PACOTES.

.

Muito bom!

.

Trabalhando com atualizações como atualizar seus pacotes.

.

zypper lu
Cria uma lista com as correções necessárias.

.

OBS: ele indica a categoria, o status etc.

.

Este comando também pode ser usando com o -t (type) para listar outros tipos.

.

zypper up
Faz as atualizações necessárias (aquelas da sua lista).

.

zypper pchk
Este comando checa se tem novas correções a serem feitas (mas não exibe como a lista).

.

Bom é isso aí.

.

Claro que isso não é tudo sobre o Zypper, mas é uma boa base, já poderá usar a ferramenta muito bem.

.

Sequência de Comandos:

.

# zypper ve ; zypper lu ; zypper up ; zypper dup ; zypper up -t package ; zypper ref ; zypper inr ; zypper pchk ; zypper clean

.

Haverá dois terminais, provavelmente. Um deles não aceita copiar e colar. Use o outro.

.

Comece com:

.

$ sudo zypper refresh

.

A primeira coisa a fazer depois de instalar o sistema, é atualizar o sistema. Então execute o comando abaixo no terminal sem root o terminal te dirá as regras e pedirá senha:

.

# sudo zypper up

.

Feito isso,Se fosse o openSUSE teria que instalar codecs:

.

# sudo zypper install k3b-codecs ffmpeg lame phonon-backend-vlc phonon4qt5-backend-vlc vlc-codecs libdvdcss2

.

Instalaria FLASH PLAYER para 64-bit system se fosse no openSUSE.

.

# sudo rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm ; sudo rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux ; sudo zypper install flash-plugin

.

Sem Audio? Acho que já disse isto… Instale pavucontrol (eu sempre tenho este problema).

.

# zypper in pavucontrol

.

Instale Google Chrome Browser (verifique se o comando não está oudated).

.

# wget https://dl.google.com/linux/linux_signing_key.pub ; sudo rpm –import linux_signing_key.pub ; sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 google-chrome ; sudo zypper ref ; sudo zypper in google-chrome-stable

.

Ajustar configurações do Relógio Digital.

sábado 19 de novembro de 2016 – 18:02:42

%A %d de %B de %Y – %H:%M:%S

.

Instale o Telegram.

.

Já vem com o Thunderbird, Clementine, VLC, Libreoffice, Pidgin, Simple Scan, Libreoffice Draw, gThumb Image Viewer, Tweak Tool, Parcellite,
Gedit, Firefox, Galculator, dconf Editor, Gparted, SUSE Studio imagewriter, HP Device Manager, Screenshot, Document Viewer, Image Viewer, System Monitor, SAX3, Archive Manager…
.

Instalando vários programas.

.

# gimp & inkscape #
$ sudo zypper install gimp inkscape

.

# messenger #
$ sudo zypper install pidgin

.

# qbittorrent #
$ sudo zypper install qbittorrent deluge

.

# p7zip which will extracts all kind of archives #
$ sudo zypper install p7zip

.

# Office suite #
$ sudo zypper install libreoffice

.

# Filezilla FTP client #
$ sudo zypper install filezilla

.

# Virtualization software #
$ sudo zypper install virtualBox

.

# dropbox desktop sync client #
$ sudo zypper install dropbox

.

# steam for games #
$ sudo zypper install steam

.

# wine to run windows program #
$ sudo zypper install wine

.

# emulator for shell #
$ sudo zypper install terminator

.

# Chat Client #
$ sudo zypper install pidgin

.

Drivers de vídeo NVIDIA e AMD

Para instalar os drivers proprietários para sua placa de vídeo, acesse (faça isso somente se souber o modelo correto):

 

http://opensuse-community.org/

 

* Clique no modelo correspondente da sua placa e faça a instalação em um clique.

 

Se não sabe qual é o modelo da sua placa (no caso a NVIDIA), o recomendado é “deixar” o Zypper encontrar os drivers corretos para sua placa, para isso adicione o repositório NVIDIA:

 

sudo zypper ar -f http://download.nvidia.com/opensuse/leap/42.1 nvidia

 

E instale o driver correto com:

sudo zypper inr

 

Após a instalação, reinicie o computador. E volte ao tutorial.

.

Navegadores

.

Google Chrome

.

Já traz o Mozilla Firefox como navegador padrão, mas caso queira utilizar o Google Chrome

.

Adicione o repositório:

sudo zypper ar -f http://dl.google.com/linux/chrome/rpm/stable/x86_64 google

.

E instale com (o Google Chrome estável):

sudo zypper in google-chrome-stable

.

Opera

.

O Opera já está nos repositórios oficiais (Non-OSS), para instalar, basta somente um:

.

sudo zypper in opera

.

Vivaldi

.

O Vivaldi também pode ser instalado facilmente (lembrando que ele ainda não tem versão estável), basta adicionar o repositório:

.

sudo zypper ar -f http://repo.vivaldi.com/archive/rpm/x86_64/ vivaldi

.

E instalar com:

.

sudo zypper in vivaldi-snapshot

.

Gimp e Tunes

.

sudo zypper in gimp tunes thunderbird

.

Esse é um tutorial básico de pós instalação, caso queira instalar outros aplicativos, é só abrir o Gerenciador de Software YaST e pesquisar; ou busque pelo terminal (pesquisando pelo cliente de e-mail Thunderbird, por exemplo):

.

zypper se thunderbird

.

Ou pela página de pesquisa de software do openSUSE:

.

https://software.opensuse.org/search

.

# sudo zypper in steam blender inkscape playonlinux

.

Boa Sorte e saiba que tudo foi testado antes de ser publicado, mas siga este tutorial, por sua própria conta e risco.

.

Ao final deste artigo, há um tutorial pós instalação mais compacto. Como o GeckLinux é openSUSE este tutorial abaixo é válido para aprendizado para mim que sou iniciante.

.

RESUMÃO – RESUMÃO – RESUMÃO – RESUMÃO

.

Os básicos comandos!

zypper update

zypper dist-upgrade

zypper list-updates

zypper list-updates –all

 

# zypper update && zypper dist-upgrade

.

Problemas?

.

zypper refresh

zypper refresh -fdb

# zypper refresh && zypper refresh -fdb

.

Instalar programas:

.

zypper install pacote_nome

zypper remove pacote_nome

.

A lista de todos os pacotes disponíveis nos seus repositórios, pode ser obtida com:

.

# zypper search -t srcpackage

.

Manutenção:

.

zypper verify

zypper install-new-recommends

zypper patch

zypper patch-check

.

# zypper verify && zypper install-new-recommends && zypper patch && zypper patch-check

.

Juntando todos os comandos básicos:

.

# zypper update && zypper dist-upgrade && zypper refresh && zypper refresh -fdb && zypper verify && zypper install-new-recommends && zypper patch && zypper patch-check

.

OpenSuse sequência de Comandos para update completo, manutençao,upgrade de versão e resoluçao de problemas:

.

# zypper update && zypper dist-upgrade && zypper refresh && zypper refresh -fdb && zypper verify && zypper install-new-recommends && zypper patch && zypper patch-check && zypper list-updates && zypper list-updates –all

.

Se teu OpenSuse é XFCE4 e apresentar algum problema, tenho esta sugestão:

.

# zypper update && zypper dist-upgrade && zypper install xfdesktop xfce4panel xfwm4 xfce4-session xfconf xfce4-appfinder && zypper remove xfce && zypper install –reinstall xfce* && zypper update && zypper dist-upgrade && zypper refresh && zypper refresh -fdb && zypper verify && zypper install-new-recommends && zypper patch && zypper patch-check && zypper list-updates && zypper list-updates –all

,

# reboot

.

Você instala o sandbox firejail pelo site de busca de pacotes openSUSE.

.

Comando para ativar Firejail:

.

$ mkdir -p ~/.local/share/applications; for profile in $(basename -s .profile /etc/firejail/*.profile); do if [[ -f /usr/share/applications/$profile.desktop ]]; then sed -r ‘s/^(Exec=)/\1firejail /’ /usr/share/applications/$profile.desktop > ~/.local/share/applications/$profile.desktop; echo $profile configured to run in firejail; fi; done

.

Problema de audio? Talvez instalando Pavucontrol você possa resolver.

.

# zypper in pavucontrol

.

Caso não instale procure no site do openSUSE de busca e instalação de pacotes.

.

Comando para SWAP – (para quem usar o OpenSuse em casa)

.

sudo bash -c “echo ‘vm.swappiness = 10’ >> /etc/sysctl.conf”

.

Execute caso queira, comandos abaixo (copie e cole) de cima para baixo, pela ordem. É mais um exemplo e você mesmo deve montar a tua sequência de comandos após ter mais experiência.

Aguarde.

.

ATENÇÂO!
Pode ser que a sequência abaixo não funcione. Para sair dela use no teclado Ctrl+c e Ctrl+z mas, abaixo há um monte de nomes de programas legais.

 

 

# zypper install bleachbit pavucontrol pidgin filezilla gpodder bluegriffon hugin gnucash smplayer umplayer audacity lmms kid3 marble draftsight desura adobe-reader kopete evince totem kaffeine scribus && zypper install mpv k3b-codecs ffmpeg lame vlc-codecs flash-player libdvdcss2 ; zypper ve ; zypper lu ; zypper up ; zypper dup ; zypper up -t package ; zypper ref ; zypper inr ; zypper pchk ; zypper clean

 

# zypper rm phonon-backend-gstreamer phonon4qt5-backend-gstreamer && zypper –gpg-auto-import-keys ar -f http://linuxdownload.adobe.com/linux/x86_64/ AdobeFlash ; zypper –gpg-auto-import-keys ar -f http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_42.1/ Packman zypper –gpg-auto-import-keys ar -f http://download.opensuse.org/repositories/mozilla/openSUSE_Leap_42.1/ Mozilla zypper –gpg-auto-import-keys ar -f http://opensuse-guide.org/repo/openSUSE_Leap_42.1/ libdvdcss ; zypper ve ; zypper lu ; zypper up ; zypper dup ; zypper up -t package ; zypper ref ; zypper inr ; zypper pchk ; zypper clean

 

 

# zypper install audacity bleachbit clementine chromium chromium-ffmpeg chromium-pepper-flash k3b-codecs easytag fetchmsttfonts ffmpeg fifth-leg-font flac flash-plugin google-roboto-fonts gstreamer-plugins-bad gstreamer-plugins-good gstreamer-plugins-libav gstreamer-plugins-ugly gstreamer-plugins-ugly-orig-addon gstreamer-0_10 gstreamer-0_10-plugins-bad gstreamer-0_10-plugins-ffmpeg gstreamer-0_10-plugins-fluendo_mp3 gstreamer-0_10-plugins-good gstreamer-0_10-plugins-ugly lame libdvdcss2 libxine2-codecs mediainfo mediainfo-gui vlc vlc-codecs xine-ui xine-browser-plugin && zypper install avidemux3 avidemux3-gtk handbrake-gtk hplip gimp-save-for-web ; zypper ve ; zypper lu ; zypper up ; zypper dup ; zypper up -t package ; zypper ref ; zypper inr ; zypper pchk ; zypper clean

 

 

# zypper remove amarok choqok kmail konversation kontact kopete && zypper addrepo -f http://packman.inode.at/suse/openSUSE_Leap_42.1/ packman && zypper addrepo -f http://opensuse-guide.org/repo/openSUSE_Leap_42.1/ dvd && zypper install k3b-codecs ffmpeg lame phonon-backend-vlc phonon4qt5-backend-vlc vlc-codecs flash-player libdvdcss2 && zypper remove phonon-backend-gstreamer phonon4qt5-backend-gstreamer && zypper update && zypper dist-upgrade && zypper refresh && zypper refresh -fdb && zypper verify && zypper install-new-recommends && zypper patch && zypper patch-check ; zypper ve ; zypper lu ; zypper up ; zypper dup ; zypper up -t package ; zypper ref ; zypper inr ; zypper pchk ; zypper clean

.

Depois…

.

# sudo reboot

.

ou

.

# reboot

.

Até Breve

.

Referências:

.

http://www.blogopcaolinux.com.br/2015/11/opensuse-leap-421-guia-de-pos-instalacao.html

http://opensuse-guide.org

https://en.opensuse.org/Package_repositories

https://en.opensuse.org/Adobe_Flash_Player

https://en.opensuse.org/SDB:NVIDIA_drivers

https://www.google.com/linuxrepositories/

https://en.opensuse.org/Opera

.

Verifique por Updates

.

$ sudo zypper refresh

 

root’s password:

 

$ sudo zypper update

 

$ sudo zypper up

.

Habilite repositórios extra

.

$ sudo zypper ar -f -n packman http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_42.2/ packman

.

Codecs para reproduzir mais arquivos multimídia codecs importantes para gravar CDs de audio, converter e ripar arquivos MP3

.

$ sudo zypper install k3b-codecs ffmpeg lame phonon-backend-vlc phonon4qt5-backend-vlc vlc-codecs flash-player

.

Se te interessa ver DVDs neste computador

.

$ sudo zypper install libdvdcss2

.

Instale o Flash player – Você costuma visitar sites de vídeos flash? Apesar de não ser muito seguro usar Flash…

.

Então você provavelmente irá precisar deste plugin rodando no seu navegador.

.

Para instalar, baixe a chave pública, adicione o repositório e, por fim, instale o plugin:

.

$ sudo rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux ; sudo zypper addrepo -f http://linuxdownload.adobe.com/linux/x86_64/ adobe-flash-plugin ; sudo zypper install flash-plugin

.

Instale o Google Chrome Browser

.

$ wget https://dl.google.com/linux/linux_signing_key.pub
sudo rpm –import linux_signing_key.pub ; sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 google-chrome ; sudo zypper refresh ; sudo zypper install google-chrome-stable

.

Instale estes aplicativos e utilitários

.

$ sudo zypper install vlc ; sudo zypper install dropbox

.

Instale o JAVA

.

$ sudo zypper install java-1_8_0-openjdk

.

Adicione repositórios de games

.

Para o opensuse 42.1

$ zypper ar http://download.opensuse.org/repositories/games/openSUSE_Leap_42.1/ games

.

Para o opensuse 42.2

.

$ zypper ar http://download.opensuse.org/repositories/games/openSUSE_Leap_42.2/ games

.

Instale drivers de placas gráficas

.

O processo de instalação de drivers extra para a sua placa gráfica, pode trazer consequências desagradáveis. Portanto, recomendo fazer isto apenas se estiver experimentando algum problema com a configuração atual.
Se tudo estiver ok, não mexa.
Ao final do texto, há o link para página de drivers para placas gráficas da comunidade do openSUSE.
São drivers proprietários, com licenças restritivas, para as seguintes arquiteturas, plataformas, e modelos:

.

NVIDIA
Geforce 400 series e posterior
Geforce 8 series e posterior
Geforce 6 series e posterior

Os drivers servem para as seguintes versões do openSUSE:
openSUSE Leap 42.1
openSUSE 13.2
opensUSE 13.1
AMD Catalyst/fglrx

Há drivers para as seguintes versões do openSUSE 64-bit e 32-bit:
openSUSE Leap 42.1
openSUSE 13.2
opensUSE 13.1
openSUSE Tumbleweed

.

O único driver que eu testei foi o AMD Catalyst/fglrx para a plataforma openSUSE Leap 42.1 64-bit  – funcionou para mim.

.

Tal como todas as dicas, siga por sua própria conta e risco.

.

Referências

 

Drivers para placas gráficas: http://opensuse-community.org/.

 

http://www.2daygeek.com/top-things-to-do-after-installing-opensuse-leap-42-1/.

 

http://opensuse-guide.org/codecs.php.

.

Até Breve

.

Dicas comanetários e sugestões, são muito bem vindas. Mantenha-se conectado

.