Home » script

Como criar um Shell Script simples para automatizar a instalação de programas no Linux

Uma das coisas mais legais do Bash é o poder de automatizar tarefas, até mesmo na própria linha de comando. Hoje você vai aprender a criar um simples Shell Script para instalar um programa.

Shell Script




Para você entender o conceito, vamos dar um exemplo com um programa popular e simples, o GIMP. O GIMP é um manipulador de imagens que está no repositório de todas as distros Linux praticamente, como exemplo nos comandos vamos usar o gerenciador de pacotes "apt", comum no Debian, Ubuntu, Linux Mint e derivados, apesar disso, entendendo o conceito, você pode aplicar em qualquer distro, basta entender o gerenciador de pacotes dela e os comandos que ele aceita.

Claro, o GIMP pode ser instalado por centrais de apps sem comandos, pode ser também instalado com um simples # apt install gimp mas a intenção é te mostrar como você pode estruturar um script para automatizar a instalação de qualquer programa ou de vários ao mesmo tempo.

Vamos imaginar que você queria instalar o gimp a partir do terminal.

Muito provavelmente os passos que você dará serão:

1) Atualizar os repositórios
$ sudo apt-get update
2) Instalar possíveis atualizações do sistema:
$ sudo apt-get dist-upgrade -y
3) Efetivamente instalar o pacote.
$ sudo apt-get install gimp

O processo manual da instalação de um programa pode levar algum tempo, pois você deverá esperar que o primeiro comando termine sua execução para digitar o próximo.

Nem sempre atualizar repositórios é rápido e portanto é o seu tempo que está sendo gasto esperando algo que poderia facilmente ser automatizado.

O primeiro nível de automatização que poderíamos fazer aqui é criar uma fila de comandos (chamadas de listas) que serão executados pelo Bash em sequência.

Para isso basta separar os comandos com um ponto e vírgula:
sudo apt-get update ; sudo apt-get dist-upgrade -y ; sudo apt-get install gimp -y
Apesar de já automatizar um pouco o processo, não há praticamente nenhuma lógica envolvida.

Você muito provavelmente não deseja executar um "dist-upgrade" se o "update" falhar antes por qualquer motivo. Certo?

Aqui chegamos no nosso segundo nível de automatização. Em vez de usar o ponto e vírgula, podemos separar os comandos com "&&", e desta forma o Bash somente executará o comando seguinte se o anterior finalizar a execução com sucesso.
sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get install gimp -y
Agora já melhoramos bastante o processo, porém no caso de algum dos comandos retornar falha, esta fila de comandos simplesmente para de ser executada sem qualquer tipo de aviso mais elaborado para o usuário.

É possível em linha de comando adicionar mais lógica para continuar aperfeiçoando este nosso procedimento, porém este é aquele momento em que talvez seja mais proveitoso se criar um script de verdade e deixar o processo legível, em vez de simplesmente criar uma "tripa" de comandos que depois poderá dificultar a sua vida na hora de encontrar e consertar qualquer erro.

Para este nosso exemplo, usaremos o próprio "if" do Bash (que é uma estrutura de condicional explicada brevemente neste vídeo aqui)

Basta criar um arquivo de texto que você pode 'chamar do que quiser .sh", tipo "batatinha_quando_nasce.sh" e inserir os dados que vamos te mostrar. Tá bom, talvez seja melhor criar um arquivo chamado instala-pacote.sh o seguinte conteúdo:

#!/bin/bash

echo Atualizando repositórios..
if ! apt-get update
then
    echo "Não foi possível atualizar os repositórios. Verifique seu arquivo /etc/apt/sources.list"
    exit 1
fi
echo "Atualização feita com sucesso"

echo "Atualizando pacotes já instalados"
if ! apt-get dist-upgrade -y
then
    echo "Não foi possível atualizar pacotes."
    exit 1
fi
echo "Atualização de pacotes feita com sucesso"

# note que $1 aqui será substituído pelo Bash pelo primeiro argumento passado em linha de comando
if ! apt-get install $1
then
    echo "Não foi possível instalar o pacote $1"
    exit 1
fi
echo "Instalação finalizada"

Veja que utilizamos o operador "!" após o "if" para inverter o resultado do comando seguinte, portanto o conteúdo das condicionais (código que está entre o "then" e o "fi") somente será executado caso os comandos falhem na execução. Também utilizamos o comando "exit 1" para pedir ao Bash que interrompa a execução do script em caso de falha.

Para executar o script basta rodar a seguinte linha:

sudo bash instala-pacote.sh gimp

Desta forma podemos utilizar o mesmo script para qualquer pacote, e o "sudo" só precisa ser invocado uma vez. Basta passar o nome do pacote desejado em linha de comando e ver o Bash fazer o resto sozinho.

É possível melhorar e incrementar o script de diversas maneiras. Podemos imprimir mensagens com cores, suprimir a saída em tela do comando apt-get para facilitar a leitura, dentre outras coisas.

Basta ter criatividade e dominar a linguagem do shell script para poder automatizar praticamente o que você quiser.


Outra coisa que você pode fazer é incluir dentro do Shell Script os comandos para a instalação do pacote em específico, assim você pode rodar apenas o Shell Script e ele se encarrega de fazer a instalação para você.

Você pode por exemplo criar um script de pós formatação para o seu sistema, acrescentando repositórios, pacotes e programas que você normalmente usa, incluindo as opções para fazer a atualização do sistema e apenas rodar um Shell Script depois de instalar a sua distro e ir tomar café enquanto seu sistema é montando automaticamente. É mais do que bacana!

Nós lançamos nesta semana o nosso curso avançado de Shell Script, onde você vai aprender coisas como esta deste post e muitas outras para automatizar a sua vida de usuário Linux, as matrículas estão abertas até Quinta-feira, dia 15 de Junho e tem promoção especial para quem comprar hoje até a meia-noite. Corre lá pra conferir antes que fechem as matrículas.

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




terça-feira, 13 de junho de 2017

Akila Script - Um script para facilitar a pós instalação do seu Ubuntu ou derivado

Hoje vamos dar voz a um projeto da comunidade Linux chamado Akila Script, uma shell script que fará várias alterações automaticamente no seu sistema com o intuito de facilitar a sua vida na tarefa de instalar todos os recursos básicos para qualquer usuário.

Akila Script

O projeto foi desenvolvido pelo nosso leitor Walber Vaz e consiste num conjunto de comandos que permite instalar uma gama ampla de aplicações básicas no sistema e posteriormente fazer uma limpeza para deixar tudo organizado.

O Script hospedado no GitHub tem duas versões, uma para Ubuntu e derivados e uma específica para o elementary OS, que é um sistema que vem com menos programas nativamente, o script irá instalar mais coisas nele.

No Ubuntu


No Ubuntu os programas e complementos instalados pelo Script são e ações realizadas por ele são:


- CODECS
- GDEBI
- UBUNTU TWEAK
- UNETBOOTIN
- ATUALIZAÇÃO DO SISTEMA
- REMOVE PACOTES DESNECESSÁRIOS
- ATUALIZAÇÃO DO LIBREOFFICE - MAIS RECENTE
- ICONS
- ATOM EDITOR
- BRACKETS EDITOR
- SUBLIME TEXT
- JAVA - ORACLE JDK
- OPENJDK - JAVA JRE
- PLANK DOCK
- ELEMENTARY TWEAKS - ELEMENTARY OS
- GCC - COMPILADOR
- INKSCAPE - MAIS RECENTE STABLE

Cada recursos é opcionalmente instalado, você pode escolher na hora da instalação o que você quer fazer ou não, para usar o Script no Ubuntu abra o terminal e rode os seguintes comandos.

Caso você não tenha o Git instalado será necessário instalar para dar prosseguimento ao tutorial:
sudo apt-get install git 
Posteriormente rode os comandos a seguir:
git clone https://github.com/akila-project/akila-script.git


cd akila-script/akila-ubuntu

chmod +x akila-install
Para rodarmos sempre que quisermos podemos colocar o script dentro das pasta dos binários desta forma:
sudo mv akila-install /usr/bin
Agora você pode abrir o Script sempre que quiser rodando o comando abaixo:
sudo akila-install

No elementary OS 


Se você usa o elementary OS o Akila Script traz uma gama maior de pacotes pois o sistema originalmente vem com poucos programas básicos, para usá-lo faça o seguinte no terminal:

Caso você não tenha o Git instalado será necessário instalar para dar prosseguimento ao tutorial:
sudo apt-get install git
git clone https://github.com/akila-project/akila-script.git
cd akila-script/akila-elementary
chmod +x akila-install
sudo mv akila-install /usr/bin
sudo akila-install
Mais informações você encontra na página oficial do Script no GitHub.

_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




sexta-feira, 18 de dezembro de 2015

Testando pen drives bootáveis no VirtualBox

Um script para facilitar o teste de pen drives bootáveis de qualquer sistema operacional em uma máquina virtual do VirtualBox.

Testando pen drives no VirtualBox

Verificando se o pen drive está dando boot corretamente


Recebi ontem por e-mail um Shell Script feito pelo nosso leitor Marcelo Klumpp que permite que o usuário teste um pen drive bootável que foi criado com qualquer programa, como o Unetbootin por exemplo, em uma janela do VirtualBox, desta forma você não precisa reiniciar o computador para testar o recurso.

Segue o texto recebido

Eu criei um script (2 na verdade, mas são singulares, vai entender o porquê) para facilitar num teste de boot de um dispositivo USB.

Peguei algumas informações na internet e aprendí como fazer para acessar um Boot USB via Virtual Box, levando em conta que o mesmo não tem suporte a boot via USB ou dispositivo físico diretamente, apenas via CDRom, Floppy, etc.

Fiz alguns testes de boot via qemu e percebí que o teste de Boot nele chega a ser MUITO pesado, e eu não uso o VMWare. O mesmo Boot funciona de forma BEM leve no Virtual Box, então foi aí que tive a idéia de criar um Bash Script simples pra testar um device diretamente no Virtual Box, pois eu tenho de trampar direto com isto.

São 2 Scripts idênticos, a única coisa que muda é que um é pra ser executado como Máquina Virtual de 32 bits e outro como Máquina Virtual 64 bits:

VirtualBox-BootUSB
VirtualBox-BootUSB_64

O parãmetro é ligeiramente fácil:

VirtualBox-BootUSB -d /dev/sdX -p NP -m QM

Sintase:

-d = Device
/dev/sdX = O Device a ser indicado
-p = Partição
NP = Número da Partição a ser indicada
-m = Memória
QM = Quantia de memória (em Mega) escolhida para funcionar na Máquina Virtual

Se esquecer como que faz o comando é só digitar o parâmetro "--help" ou "-h"

Com isto basta fazer o comando "sudo fdisk -l" ou "sudo blkid" e ver qual é o dispositivo que quer testar.

Exemplo:

Dou um destes comandos e vejo que o que quero testar é o "/dev/sde1" e é um boot de uma instalação de sistema que usa 250 MB Ram, então eu faço o comando:

VirtualBox-BootUSB -d /dev/sde -p 1 -m 250

O comando irá pedir a senha do sudo, então é só digitar a senha e o comando faz o resto.

Exemplo do Shell Script


Pronto, bem fácil e bom pra quando a gente cria um Boot Inicializável mas não deseja ou não pode testar o mesmo na própria máquina tendo de reiniciar.

Já peguei instalador que nem pergunta se eu quero particionar ou etc, já vai escrevendo no HD e pronto, desta forma fica perigoso testar na própria máquina e ter o risco de perder seus dados. 

Também é chato quando se está criando um boot e tem de ir testando se dá certo e tem de reiniciar toda hora. Então este Script se torna bem útil.

Baixe o Script


Você pode baixar o script do nosso leitor logo abaixo:

Se você tiver alguma sugestão a fazer para melhorar o script é possível entrar em contato com o autor através deste e-mail: elppansmk@gmail.com

Agradecemos ao leitor por compartilhar o seu projeto conosco, se você tiver também algum projeto bacana e gostaria de compartilhar com a comunidade manda um e-mail pra gente!

Edital: O conteúdo deste script não é produção do blog Diolinux.

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




sexta-feira, 7 de agosto de 2015

Mantendo o Ubuntu sempre com a última versão do Kernel Linux

Hoje você vai aprender a instalar e manter atualizado o seu Kernel no Ubuntu sem precisar fazer muito esforço.

atualizando o kernel do Ubuntu para a última versão

Instale a última versão do Kernel Linux no Ubuntu


A Canonical é um pouco conservadora quando se fala em atualização de Kernel, por isso, ao contrário de outras distros Linux o Kernel do Ubuntu raramente está na última versão estável liberada por Linus Torvalds.

Por isso preparamos um Script todo em português que você poderá rodar toda a vez que desejar atualizar o Kernel do Ubuntu de maneira facilitada, mantendo assim sempre a última versão do Kernel no seu sistema.

Para fazer isso abra o seu terminal e cole os seguintes comandos, um após o outro.

Este comando servirá para instalar o navegador Lynx, que é um navegador em modo texto:
sudo apt-get install lynx
Agora  vamos baixar o nosso script mágico ;)
wget https://dl.dropboxusercontent.com/u/50603085/kernel-update

Agora vamos mudar as permissões do arquivo
chmod +x kernel-update 
Agora com este comando abaixo vamos rodar o script:
sudo ./kernel-update

Kernel Update Ubuntu

Se tudo funcionou corretamente você deve estar vendo uma tela como esta acima com as 3 principais opções, para atualizar o Kernel basta pressionar a tecla "a", para remover versões antigas do Kernel pressione a letra "b" e para sair do programa pressione "q".

Independente da opção que você escolher basta seguir as instruções na tela para efetuar os ajustes, os passos são poucos  e simples.

Caso você encontre algum bug ou tenha algum problema reporte ele para a gente, preferencialmente por e-mail.

Utilizei este script para instalar o Kernel que estou utilizando agora, no caso o Kernel 4.0, porém ele servirá para futuras versões também.

Se você tem dúvidas sobre se vale a pena atualizar ou não o seu Kernel confira este vídeo onde o assunto foi abordado apontando os prós e contras das atualizações.

Sempre que você quiser instalar a versão mais recente do Kernel basta rodar este script novamente.

Até a próxima!

--------------------------------------------------------------------------------------------------------------------------
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.
quinta-feira, 16 de abril de 2015

Como ter a aparência do Photoshop no GIMP com ícones monocromáticos e organização visual

Deixando o GIMP com a cara do Photoshop

Hoje o Diolinux vai te ensinar a deixar o editor de imagens de código aberto GIMP com uma cara parecidíssima do Photoshop, com ícones monocromáticos e a organização visual do software proprietário da Adobe.

GIMP com cara de Photoshop


Já consigo ouvir o Xiitas me falando aos ouvidos, e antes que eles se pronunciem eu digo:
"Calem-se calem-se porque vocês me deixam looouco!!!", sério detesto Xiitismo deste tipo e procuro manter distância!

O Photoshop é considerado por muitos como referência no segmento de edição de imagens e não podemos desprezar o seu valor, conheço alguns designers profissionais e eles já tentaram usar o GIMP em suas empresas mas seria necessário uma curva de aprendizado para usar a nova ferramenta, desculpa esfarrapada  mas muito utilizada por quem não quer abrir mão de seu Windows Piratex.

Anyway...

É muito mais fácil a transição de um programa para o outro quando a interface é semelhante e é isso que vamos fazer com o GIMP agora.
O GIMP Toolbox Like é um projeto desenvolvido por Derinus e hospedado no Gnome-Look com o objetivo de trazer uma organização de barras de ferramentas semelhantes ao Photoshop para o GIMP além dos ícones monocromáticos.

Fala o download do tema


Extraia o conteúdo do arquivo que você baixou para a pasta gimp-2.8 que fica oculta dentro da sua pasta home, para exibir arquivos ocultos no Nautilus ou no Nemo use a combinação de teclas Ctrl+H depois disso é só abrir o GIMP normalmente.

Até a próxima!

Quer continuar por dentro de tudo o que acontece por aqui?

Então curta nossa página no FACEBOOK, siga o blog no TWITTER  - Siga também nossos escritores 
@dionatanvs - +Dionatan Simioni - + Elian Medeiros 

Baixe o APP do Diolinux para o seu Smartphone

Se você tiver alguma dúvida procure um de nossos grupos de discussão no Facebook:

segunda-feira, 8 de julho de 2013

Instalando o JAVA Oracle no Ubuntu ou Linux Mint com dois cliques

Um script muito fácil de usar para você instalar a última versão do JAVA 7 Oracle na sua distro

Olá pessoal, hoje trago uma dica que acredito ser útil para a maioria dos usuários, especialmente os que dependem dos Internet Bankings por aí a fora. 

JAVA Oracle no Ubuntu


O JAVA é desenvolvido pela Oracle para ser multiplataforma, mas para Windows ele tem um instalador bonitinho e para Linux ainda não, tanto que um dos artigos mais visitados do Diolinux é Como instalar o JAVA Oracle no Ubuntu, e baseado neste mesmo artigo produzimos um shell script para facilitar o seu trabalho, basta você dar dois cliques, digitar a sua senha de dar alguns "Ok" e pronto! O JAVA está instalado e configurado. =) 

Download e instalação

Baixe o Script no botão abaixo:


Depois de baixado você deve dar permissões de execução ao script e habilitar o Nautilus para abrir arquivos de texto como executáveis:

Para dar permissão de execução, clique com o botão direito em Propriedades e marque a opção demonstrada na imagem abaixo.

Permissão de Execução de Arquivos no Ubuntu

Essa foi um modificação que foi implementada nas ultimas versões do Nautilus, e desde então o Nautilus por segurança não abre mais arquivos SH automaticamente, para conseguir executar Shell Scripts dando dois cliques vá até o menu de preferências no Nautilus.

Marque a Opção de "Perguntar cada vez"

Dois disso é só dar dois cliques no arquivo, e clicar em executar no terminal quando for solicitado:

Clique em executar no Terminal

Então a instalação se dará, em alguns momentos será pedido que você tecle enter, como na hora de adicionar o PPA do JAVA ( como na imagem abaixo ).

JAVA

O Script serve para instalar as ultimas atualizações do JAVA Oracle em qualquer versão do Ubuntu e do Linux Mint a partir da versão 12.04; o script pode ser usado também para atualizar a sua versão do JAVA quado uma versão nova sair.
Bom proveito, até a próxima!

Quer continuar por dentro de tudo o que acontece por aqui?

Então curta nossa página no FACEBOOK, siga o blog no TWITTER  - Siga também nossos escritores 
@dionatanvs - +Dionatan Simioni - + Elian Medeiros 

Baixe o APP do Diolinux para o seu Smartphone

Se você tiver alguma dúvida procure um de nossos grupos de discussão no Facebook:

segunda-feira, 24 de junho de 2013

Disponível SamGyn Script para Ubuntu 13.04

Um nova versão disponível

Recentemente demos a dica de alguns scripts para facilitar  a pós instalação do Ubuntu 12.04 e desta vez o meu amigo Marden Sampaio liberou uma nova versão do SamGyn Script para o Ubuntu 13.04.

SamGyn Script


Scripts são uma maneira muito simples de automatizar as coisas no Linux, você pode encontrar mais Scripts para Ubuntu acessando este artigo.

SamGyn Script i386


cd /tmp
wget https://www.dropbox.com/s/cip85bgihwegu8n/SamGyn_Script.sh
chmod +x SamGyn_Script.sh
sudo sh SamGyn_Script.sh

SamGyn Script AMD64


cd /tmp
wget https://www.dropbox.com/s/e1rqxel6q81t66q/SamGyn_Script_amd64.sh
chmod +x SamGyn_Script_amd64.sh
sudo sh SamGyn_Script_amd64.sh
Até a próxima dica pessoal!

Quer continuar por dentro de tudo o que acontece por aqui?

Então curta nossa página no FACEBOOK, siga o blog no TWITTER  - Siga também nossos escritores 
@dionatanvs - +Dionatan Simioni - + Elian Medeiros 

Baixe o APP do Diolinux para o seu Smartphone

Se você tiver alguma dúvida procure um de nossos grupos de discussão no Facebook:

segunda-feira, 29 de abril de 2013