Neste artigo daremos continuidade ao tutorial de comandos do terminal. Veremos o é que o comando “sudo”, o que são e como funcionam os gerenciadores de pacotes (Package Managers), o que são e como criar e executar arquivos .sh (Shell Script).
Faça do terminal seu amigo – parte 1
Faça do terminal Terminal Linux seu amigo Parte 2!
Se você é um usuário iniciante provavelmente está usando Ubuntu ou Linux Mint e os primeiros comandos deve ter aprendido são os clássicos “sudo apt-get update”, “sudo apt-get upgrade” e “sudo apt-get install <nome do pacote>”, você já sabe o que eles fazem, mas você sabe o significado de cada um deles?
sudo
O comando “sudo“ foi criado na década de oitenta por Bob Coggeshall e Cliff Spencer, sudo significa “Super User Do” ou “Super Usuário Faça”. Ele serve para executar comandos como super usuário (usuário root) ou como qualquer outro usuário sem a necessidade de logar como o mesmo. No Linux, bem como no Unix, apenas o usuário root pode modificar qualquer coisa dentro do sistema. Para instalar programas no Linux, por exemplo, seria necessário abrir o terminal e logar como root com o comando “su”, porem em distribuições como o Ubuntu o usuário root não está habilitado, então apenas o comando “su” não vai funcionar, você terá que usar o comando “sudo su” ou “sudo -i” para faze-lo.
[[email protected] ~]$ sudo su
[sudo] password for usuário:
ou
[[email protected] ~]$ sudo -i
[sudo] password for usuário:
Lembrando que enquanto você estiver digitando a sua senha não aparecerá nada, então digite a sua senha normalmente que o sistema fará o login.
[[email protected] ~]#
Você deve ter notado que no lugar de onde deveria aparecer o nome do seu usuário apareceu “root” e no lugar de “$” apareceu “#”. O “cifrão” aqui representa o seu usuário comum e o “jogo da velha” representa o usuário root. Tome muito cuidado agora, pois o sistema obedece o usuário root ao pé da letra, então todo o cuidado é pouco, só faça algo no sistema se você tiver certeza de que sabe o que está fazendo.
apt-get update
apt-get upgrade
apt-get install <nome do pacote>
[[email protected] ~]# exit
[[email protected] ~]$
Muitas vezes digitamos um comando que requer autorização de super usuário, mas esquecemos de digitar “sudo” antes do comando. Quando isso acontece não é necessário digitar todo o comando novamente, basta digitar “sudo !!” que o comando anterior é reexecutado como root.
$ apt-get update
$ sudo !!
sudo apt-get update
Conhecendo os gerenciadores de pacotes mais usados
apt-get-install
Os package managers (Gerenciadores de pacotes) são os instaladores / desinstaladores do Linux, eles variam dependendo de cada família de distribuição Linux, por exemplo, o Debian deu origem a varias outras distribuições como o Ubuntu, o Linux Mint, o Zorin OS, o Elementary OS, etc, já o Red Hat deu origem ao Fedora, ao CentOS, ao Oracle Linux, etc. Normalmente essas distribuições herdam o mesmo package manager de seus antecessores, mas isso não é uma regra.
Abaixo darei um exemplo de quais distribuições usam quais gerenciadores de pacotes.
dpkg
Usado originalmente pelo Debian e agora por outros sistemas como o Ubuntu, usa o formato .deb e foi o primeiro a ter uma ferramenta de resolução de dependências amplamente conhecido como APT (apt-get ou aptitude).
rpm
Criado pela Red Hat e utilizada por uma série de outras distribuições Linux. RPM é o formato de embalagem Linux Standard Base e possui ferramentas adicionais, incluindo o urpmi usado pelo Mandriva e pelo Majora, o Zypp (YaST) usado pelo OpenSUSE e YUM, que é usado pelo Red Hat, Fedora, CentOS e Oracle Linux. Recentemente foi criado também o DNS para o Fedora que deverá substituir o YUM.
slackpkg
Usado por Slackware Linux e seus derivados, há algumas ferramentas de nível superior que usam o mesmo formato de embalagem tgz, incluindo slapt-get, zendo, netpkg e swaret.
pacman
Usado pelo Arch Linux e Manjaro.
PETget
Usado pelo Puppy Linux .
emerge
Usado pelo Gentoo.
Cada package manager tem uma lista de endereços de repositórios onde ficam armazenados os todos os pacotes disponíveis, no caso de distribuições baseadas em Debian essa lista se localiza em “/etc/apt/sources.list”, ao digitar o comando “sudo apt-get update” o APT faz uma leitura desses repositórios e ao digitar “sudo apt-get upgrade” ele irá comparar as versões dos pacotes instalado no seu sistema com as versões dos pacotes dentro dos repositórios, caso haja pacotes a serem atualizados o APT vai resolver as dependências e baixar os pacotes, ai o dpkg entra em ação instalando, atualizando ou removendo pacotes.
Shell Scripts
Os Shell Scripts são arquivos executáveis de extensão .sh que contem comandos de terminal para realizar tarefas especificas como configurações de sistema com criação de outros arquivos e diretórios, regras de firewall e instalação de programas. Comandos como cd, touch, mkdir e outros são utilizados nos Shell Scripts.
Agora vamos criar um Shell Script para atualizar o sistema, no caso ainda utilizando o APT. Abra o terminal e como o comando “touch” crie um arquivo chamado “atualizar.sh”.
$ touch atualizar.sh
Após termos criado nosso arquivo com extensão “.sh” vamos usar um editor de texto do shell chamado nano, para isso basta chamar o “nano” e depois o nome do arquivo a ser editado.
$ nano atualizar.sh
Esse é o nano, é um editor de texto comum como o gedit, mas só pode ser usado dentro do terminal. Com o nano vamos digitar as seguintes instruções:
#!/bin/bash sudo apt-get update sudo apt-get upgrade
$ chmod u+x atualizar.sh
$ ./atualizar.sh