A mitologia da instalação do Arch Linux

Esse aqui é um modelo script meu a parte,do habitual usado, quando estou atarefado com outras demandas, quando não pretendo também, revisar por memória,a instalação à mão. Um tipo modelo de carro chef expresso. Ainda pretendo melhorar ele, admito que não sou muito exigente, mas gosto de escrever meus script/automações. Gosto do modelo clássico :classical_building: à mãos, sobre oArchinstall, não tenho muito do que reclamar,mas como preferência é um condição de múltiplas cabeças pensantes, há indivíduos na comunidade que efetua reclamação. Eu testo de tudo,nas minhas máquinas.

#!/bin/bash

# Certifique-se de que o script está sendo executado como root
if [ "$EUID" -ne 0 ]; then
echo "Por favor, execute como root"
exit
fi

# Atualize o sistema e instale o reflector para otimizar os mirrors
pacman -Syu --noconfirm
pacman -S --noconfirm reflector

# Configure os melhores mirrors para os Estados Unidos
reflector --country 'United States' --latest 10 --sort rate --save /etc/pacman.d/mirrorlist

# Instale pacotes essenciais
pacman -S --noconfirm base-devel linux-headers networkmanager git vim zsh sudo wget curl openssh

# Habilitar NetworkManager
systemctl enable NetworkManager
systemctl start NetworkManager

# Adicionar usuário com permissões sudo
read -p "Digite o nome de usuário: " username
useradd -m -G wheel -s /bin/zsh $username
passwd $username
sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers

# Instalar e configurar o Zsh com Oh My Zsh
sudo -u $username sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# Instalar pacotes para desenvolvimento web
pacman -S --noconfirm apache php php-apache mariadb nodejs npm yarn python python-pip ruby

# Configurar Apache
systemctl enable httpd
systemctl start httpd

# Instalar pacotes de cibersegurança
pacman -S --noconfirm nmap wireshark-qt aircrack-ng john hashcat metasploit sqlmap

# Instalar Docker
pacman -S --noconfirm docker
systemctl enable docker
systemctl start docker
usermod -aG docker $username

# Instalar ferramentas para colaboração
pacman -S --noconfirm git git-lfs

# Instalar editor de código (VSCode)
pacman -S --noconfirm code

# Instalar navegador web
pacman -S --noconfirm firefox

# Configurar firewall
pacman -S --noconfirm ufw
ufw default deny incoming
ufw default allow outgoing
ufw enable

# Configurar SSH
systemctl enable sshd
systemctl start sshd

# Configurar serviços para iniciar na inicialização
systemctl enable NetworkManager
systemctl enable docker
systemctl enable httpd
systemctl enable sshd

# Limpar o cache do pacman
pacman -Scc --noconfirm

# Configurar GitHub via terminal
read -p "Digite seu nome de usuário do GitHub: " github_username
read -p "Digite seu email do GitHub: " github_email

sudo -u $username git config --global [user.name](http://user.name) "$github_username"
sudo -u $username git config --global [user.email](http://user.email) "$github_email"

# Gerar chave SSH
sudo -u $username ssh-keygen -t ed25519 -C "$github_email"

# Adicionar chave SSH ao agente SSH
sudo -u $username eval "$(ssh-agent -s)"
sudo -u $username ssh-add ~/.ssh/id_ed25519

# Exibir a chave SSH para ser adicionada ao GitHub
echo "Chave SSH gerada. Por favor, adicione a chave pública abaixo ao seu GitHub:"
sudo -u $username cat ~/.ssh/id_ed25519.pub

echo "Instalação concluída. Por favor, reinicie o sistema."

Este meu script faz o seguinte:

1- Atualiza o sistema e instala o reflector para otimizar os mirrors.

2- Configura os melhores mirrors para os Estados Unidos.

3- Instala pacotes essenciais e ferramentas de desenvolvimento.

4- Habilita e inicia o NetworkManager.

5- Adiciona um novo usuário com permissões sudo e instala o Oh My Zsh.

6- Instala pacotes de desenvolvimento web, incluindo Apache, PHP, MariaDB, Node.js, Python e Ruby.

7- Configura o Apache para iniciar na inicialização.

8- Instala pacotes de cibersegurança como nmap, wireshark, aircrack-ng, john, hashcat, metasploit, e sqlmap.

9- Instala e configura o Docker.

10- Instala ferramentas para colaboração como git e git-lfs.

11- Instala o editor de código VSCode.

12- Instala o navegador Firefox.

13- Configura e habilita o firewall ufw.

14- Configura e habilita o SSH.

15- Limpa o cache do pacman.

16- Solicita o nome de usuário e email do GitHub.

17- Configura o git com o nome de usuário e email fornecidos.

18- Gera uma chave SSH.

19- Adiciona a chave SSH ao agente SSH.

20- Exibe a chave SSH pública para que o usuário possa adicioná-la ao GitHub.

Então no final o script, ele reinicia o sistema para garantir que todas as alterações entrem em vigor. Esse é um padrão meu,mas pós isso, costumo deixar minha máquina principal desconectada da web. :penguin: :snowflake: :shopping_cart:

5 curtidas