Manjaro Pós Instalação

sposigor

Igor Esposito

Posted on March 28, 2022

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 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 &&
Enter fullscreen mode Exit fullscreen mode

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 &&
Enter fullscreen mode Exit fullscreen mode

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 &&
Enter fullscreen mode Exit fullscreen mode

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 &&
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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.

💖 💪 🙅 🚩
sposigor
Igor Esposito

Posted on March 28, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Manjaro Pós Instalação
manjaro Manjaro Pós Instalação

March 28, 2022