Manjaro Pós Instalação

Pós-instalação com um shell script.

Se você usa Linux, é possível usar shell script para automatizar algumas atividades, entre elas, instalar e configurar ambientes.

A proposta é simples, vamos criar um arquivo.sh para instalar pacotes e a…


This content originally appeared on DEV Community and was authored by Igor Esposito

Pós-instalação com um shell script.

Se você usa Linux, é possível usar shell script para automatizar algumas atividades, entre elas, instalar e configurar ambientes.

A proposta é simples, vamos criar um arquivo.sh para instalar pacotes e ajustar algumas configurações.

Para quando tivemos aquela distro zero, basta roda o arquivo.sh e em pouco tempo ter todo o ambiente pronto para produção.

Shell Script

Shell script é o nome dado a um arquivo que será interpretado por algum programa tipo Shell, ou seja, é linha de comando da brava.

Para iniciar, vou usar o pacman, mas se você estiver em outra distro basta pesquisar qual é o gerenciador de pacote da sua distro.

Iniciando

Vou começar criando um arquivo chamado manjaro_pos_instalacao.sh.

Vou separar a instalação por etapas

  • Atualização dos programas iniciais e do sistema
  • Programas AUR
  • Programas SNAP
  • Programas Flatpak
  • Configurar docker e o git

Agora que temos, um norte para seguir vamos prosseguir.

Primeira Etapa

#!/bin/bash
echo "######################################################"
echo "### $0 by sposigor@gmail.com ###"
echo "######################################################"


echo "====================================================================="
echo "======================== Atualizar Pacotes =========================="
echo "====================================================================="
sudo pacman -Syyu --noconfirm &&

Com o comando sudo pacman -Syyu --noconfirm já atualizamos o sistema e os pacotes iniciais para o mais recente possível.

Enquanto o && é para concatenar os comandos a seguir.

Segunda Etapa

Instalando os pacotes AUR que uso, sendo:

  • Discord
  • Flameshort: tira print com seleção vale a pena conhecer
  • Vscode
  • processing: É uma IDE com foco em arte e imagem
  • rclone: Uso para acessa minhas contas na nuvem e Google drive a partir da linha de comando
  • docker
  • docker-compose
  • minikube: Para simular um kubernetes na máquina
  • obs-studio

Naturalmente para cada necessidade, uma configuração diferente.

echo "====================================================================="
echo "========= Instalar programas usados no AUR =========="
echo "====================================================================="
pacman -S --noconfirm --needed \
 discord flameshot visual-studio-code-bin processing4 rclone docker docker-compose minikube obs-studio &&

A novidade é o --needed que não reinstalar alguma dependência que já foi instalada, poupando arquivos desnecessários no processo de instalação.

Terceira Etapa

Com isso, precisamos instalar alguns pacotes snap, porém por padrão o snap não vem habilitado no manjaro, para isso vamos habilitar e em seguida instalar alguns pacotes.

Sendo eles:

  • GCP na linha de comando
  • Postman: para testa APIs
  • Chromium
  • Beekeeper Studio: Sendo uma IDE para SQL, suporta diversas categorias como o MySql e o pgSQL.
  • Kubectl para o Kubernetes
echo "====================================================================="
echo "========= Instalar programas usados no Snap e Habilitando =========="
echo "====================================================================="
sudo pacman -S --noconfirm  snapd &&
yes | sudo systemctl enable --now snapd.socket &&
yes | sudo snap install \
 google-cloud-cli postman chromium beekeeper-studio kubectl &&

Instalamos com o pacman o snapd e em seguida falamos para o sistema que queremos habilitar com enable --now snapd.socket e por fim fazemos a instalação dos pacotes

Quarta Etapa

Finalmente o Flatpak, no meu caso é somente o GitKraken para dar aquela ajuda com o git. E assim como o snap, precisamos habilitar.

echo "====================================================================="
echo "========= Instalar programas usados no Flatpak e Habilitando =========="
echo "====================================================================="
yes | sudo pacman -S flatpak &&
yes | sudo flatpak install gitkraken &&

Quinta Etapa

Com isso, irei configurar o git e o docker para o uso no dia a dia.

echo "====================================================================="
echo "========= Habilitando o SSH =========="
echo "====================================================================="
sudo systemctl enable sshd.service; sudo systemctl start sshd.service &&


echo "====================================================================="
echo "========= Criando a chave SSH =========="
echo "====================================================================="
mkdir ~/.ssh &&
HOSTNAME=`hostname` ssh-keygen -t rsa -b 4096 -C "$HOSTNAME" -f "$HOME/.ssh/id_rsa" -P "" && cat ~/.ssh/id_rsa.pub &&
touch ~/.ssh/authorized_keys &&
chmod 700 ~/.ssh && chmod 600 ~/.ssh/* &&
cp -r /root/.ssh /home/$u/ &&
chown $u:$u /home/$u/.ssh -R &&


echo "====================================================================="
echo "========= Configurando o Docker =========="
echo "====================================================================="
sudo groupadd docker &&
sudo usermod -aG docker $(cat user.log) &&
sudo sed -i 's/GRUB_CMDLINE_LINUX=\"\"/GRUB_CMDLINE_LINUX=\"cgroup_enable=memory swapaccount=1\"/g' /etc/default/grub &&
sudo update-grub --noconfirm &&


echo "====================================================================="
echo "========= Configurando o Git =========="
echo "====================================================================="
git config --global user.name "Igor Esposito"
git config --global user.email sposigor@gmail.com

E por último e não mais importante, vamos remover pacotes inúteis.

echo "====================================================================="
echo "=============== Removendo pacontes inuteis =================="
echo "====================================================================="
pacman -Qdtq | pacman --noconfirm -Rns - &&
pacman -Sc --noconfirm

Considerações finais e links uteis

É um processo bem simples, se você mudar muito de distro, ou por algum motivo seu sistema quebra, o processo de retornar ao ponto de produção não precisar ser desgastante, essa é uma demostração simples de como podemos usar o shell script para resolver um problema rotineiro. Com o tempo, basta acrescentar ou remover pacotes e comandos para deixar compatível com o seu dia a dia.

Repositório do exemplo

Aprenda shell script com o geofisicando

Se precisar de mais exemplos, aquela pesquisa classuda no Google vai lhe ajudar.


This content originally appeared on DEV Community and was authored by Igor Esposito


Print Share Comment Cite Upload Translate Updates
APA

Igor Esposito | Sciencx (2022-03-28T23:17:39+00:00) Manjaro Pós Instalação. Retrieved from https://www.scien.cx/2022/03/28/manjaro-pos-instalacao/

MLA
" » Manjaro Pós Instalação." Igor Esposito | Sciencx - Monday March 28, 2022, https://www.scien.cx/2022/03/28/manjaro-pos-instalacao/
HARVARD
Igor Esposito | Sciencx Monday March 28, 2022 » Manjaro Pós Instalação., viewed ,<https://www.scien.cx/2022/03/28/manjaro-pos-instalacao/>
VANCOUVER
Igor Esposito | Sciencx - » Manjaro Pós Instalação. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/03/28/manjaro-pos-instalacao/
CHICAGO
" » Manjaro Pós Instalação." Igor Esposito | Sciencx - Accessed . https://www.scien.cx/2022/03/28/manjaro-pos-instalacao/
IEEE
" » Manjaro Pós Instalação." Igor Esposito | Sciencx [Online]. Available: https://www.scien.cx/2022/03/28/manjaro-pos-instalacao/. [Accessed: ]
rf:citation
» Manjaro Pós Instalação | Igor Esposito | Sciencx | https://www.scien.cx/2022/03/28/manjaro-pos-instalacao/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.