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 à 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.