Manjaro Pós Instalação
Igor Esposito
Posted on March 28, 2022
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.
Aprenda shell script com o geofisicando
Se precisar de mais exemplos, aquela pesquisa classuda no Google vai lhe ajudar.
Posted on March 28, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.