-
-
Save leodutra/150884245938ddd97bcd58c42f3cd381 to your computer and use it in GitHub Desktop.
# O live ISO do Arch é um CLI | |
# a instalação é iniciada como sudo automaticamente | |
# siga os passos... | |
# DEFINIR TECLADO ABNT2 PARA LIVE BOOT | |
loadkeys br-abnt2 | |
# AUMENTAR FONTE DO TERMINAL DO LIVE BOOT | |
setfont lat4-19 | |
# ALTERA LINGUA DE INSTALACAO | |
nano /etc/locale.gen | |
# descomentar en_US UTF-8 e ISO | |
# descomentar pt_BR UTF-8 e ISO | |
# ctrl+o, enter para salvar... ctrl+x para sair do nano | |
locale-gen | |
export LANG=pt_BR.UTF-8 | |
# TESTA CONEXAO WIRED COM INTERNET | |
ping -c 3 8.8.8.8 | |
# MOSTRAR DISCOS E PARTICOES | |
fdisk -l | |
# INSTRUCOES PARA FORMATAR DISCO EM GPT. Ver Arch Wiki para instruções sobre MBR. | |
# GPT requer particao de boot... | |
# gerenciar particoes é bem fácil com cfdisk (outras opcoes na wiki do Arch) | |
cfdisk /dev/sdx | |
# BIOS LEGACY ---------------- | |
# criar partição de boot com no mínimo 2M, tipo BIOS LINUX / BOOT | |
# criar partição para swap (tipo "Linux swap") ideal do mesmo tamanho da RAM (ex: 8GB - recommended max 8GB) | |
# criar outras partições conforme desejo de uso (Linux filesystem, ext4) | |
# executar write | |
# | |
# exemplo de particionamento BIOS LEGACY: | |
# /dev/sdx | |
# L /dev/sdx1 2M bios boot | |
# L /dev/sdx2 8G linux swap | |
# L /dev/sdx3 64G linux filesystem (a formatar como ext4 para o "/") | |
# L /dev/sdx4 390G linux filesystem (a formatar como ext4 para a "/home") | |
# UEFI ----------------------- | |
# criar partição de boot com no mínimo 512M (I use 2G), tipo EFI SYSTEM | |
# criar partição para swap (tipo "Linux swap") ideal do mesmo tamanho da RAM (ex: 8GB - recommended max 8GB) | |
# criar outras partições conforme desejo de uso (Linux filesystem, ext4) | |
# executar write | |
# | |
# exemplo de particionamento: | |
# /dev/sdx | |
# L /dev/sdx1 2G efi system | |
# L /dev/sdx2 8G linux swap | |
# L /dev/sdx3 64G linux filesystem (a formatar como ext4 para o "/") | |
# L /dev/sdx4 390G linux filesystem (a formatar como ext4 para a "/home") | |
# formatar particoes "Linux filesystem" (numeros ficticios, execute fdisk para rever os seus) | |
# nao formate a particao de boot para ext4 ou outra, o GRUB cuida disso | |
mkfs.ext4 /dev/sdx3 | |
mkfs.ext4 /dev/sdx4 | |
# Apenas UEFI: formatar efi system como FAT32 | |
mkfs.fat -F32 /dev/sdx1 | |
# SWAP (opcional, recomendado) | |
# formatar particao de swap e ligar | |
mkswap /dev/sdx2 | |
swapon /dev/sdx2 | |
# ver o layout do particionamento | |
lsblk /dev/sdx | |
# montar particoes para pacstrap e gerar fstab | |
mount /dev/sdx3 /mnt | |
# criar pasta home e montar particao | |
mkdir /mnt/home | |
mount /dev/sdx4 /mnt/home | |
# ----------------- opcional | |
# OTIMIZAR MIRRORS E DNS (melhora muito tempo de instalacao de pacotes) | |
# nao e obrigatorio mas recomendado | |
nano /etc/resolv.conf | |
# para utilizar o DNS do Google adicione "nameserver 8.8.8.8" antes de outros nameservers, sem aspas | |
# salve com ctrl+o, enter | |
nano /etc/pacman.d/mirrorlist | |
# ctrl+k para apagar mirrors que nao sejam brasileiros (sao mais ou menos 5 brasileiros) | |
# ctrl+o, enter para salvar | |
# saia do nano e caminhe para a pasta de mirrors | |
cd /etc/pacman.d/ | |
# rankeie os mirrors brasileiros | |
# (exclua mirrors de paises longinquos. Quanto mais mirrors, mais demora o ranking) | |
rankmirrors mirrorlist | |
# walk de volta para a home (alias "~") | |
cd ~ | |
# ------------------ fim-opcional | |
# INSTALAR SISTEMA BASE E BASE PARA FUNCOES ADICIONAIS | |
pacstrap /mnt base base-devel | |
# GERAR O FSTAB (descritor de particoes) | |
genfstab -U -p /mnt >> /mnt/etc/fstab | |
# verificar se fstab foi gerado conforme dados do "lsblk" | |
# a particao de boot fica com path "none" mesmo | |
cat /mnt/etc/fstab | |
# LOGAR NA INSTALACAO PARA DEFINIR INICIALIZACAO | |
arch-chroot /mnt | |
# agora, dentro da instalacao... | |
# ALTERAR LINGUA DA INSTALACAO... observando um comando a mais | |
nano /etc/locale.gen | |
# descomentar en_US UTF-8 e ISO | |
# descomentar pt_BR UTF-8 e ISO | |
# ctrl+o, enter para salvar... ctrl+x para sair do nano | |
locale-gen | |
# criar arquivo de configuracao de lingua | |
echo LANG=pt_BR.UTF-8 > /etc/locale.conf | |
export LANG=pt_BR.UTF-8 | |
# ----------------- opcional | |
# OTIMIZAR MIRRORS E DNS (melhora muito tempo de instalacao de pacotes) | |
# nao e obrigatorio mas recomendado | |
nano /etc/resolv.conf | |
# para utilizar o DNS do Google adicione "nameserver 8.8.8.8" antes de outros nameservers, sem aspas | |
# salve com ctrl+o, enter | |
nano /etc/pacman.d/mirrorlist | |
# ctrl+k para apagar mirrors que nao sejam brasileiros (sao mais ou menos 5 brasileiros) | |
# ctrl+o, enter para salvar | |
# saia do nano e caminhe para a pasta de mirrors | |
cd /etc/pacman.d/ | |
# rankeie os mirrors brasileiors (quanto mais mirrors, mais lento) | |
rankmirrors mirrorlist | |
# caminhe de volta para a home (alias "~") | |
cd ~ | |
# ----- fim-opcional | |
# DEFINIR CONFIGS DE TECLADO PARA PERSISTIR ENTRE SESSOES | |
nano /etc/vconsole.conf | |
# KEYMAP="br-abnt2.map.gz" | |
# FONT=Lat2-Terminus16 | |
# FONT_MAP= | |
# ctrl+o, enter, ctrl+x para salvar e sair do nano | |
# DEFINIR HORA E FUSO | |
# procurar fuso horario (existe fusos para o Brazil e Americas compativeis) | |
ls /usr/share/zoneinfo | |
# dou preferencia ao fuso de Sao Paulo | |
ln -s /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime | |
# sincronizar o relogio de hardware com o sistema | |
hwclock --systohc --utc | |
# CONFIGURAR REDE PARA USUARIOS | |
# alguns tutoriais definem o servico de rede agora... | |
# essa rede serve apenas para o live boot e não para a instalação final | |
# eu prefiro usar o dhcpcd manualmente e depois instalar o NetworkManager | |
# que e compativel e habilita icones para o gnome 3 | |
# ----- opcional (rede do live boot para instalacao de dependencias) | |
# WIRED/ ETHERNET | |
# execute ip link e veja qual sua rede ether | |
ip link | |
# normalmente e "eth0" (formato antigo) ou "enp3s0" (formato novo e meu caso) | |
systemctl enable dhcpcd@enp3s0.service | |
# | |
# WIRELESS | |
pacman -S wireless_tools wpa_supplicant wpa_actiond netcf dialog | |
systemctl enable net-auto-wireless.service | |
# ----- fim-opcional (rede para instalacao) | |
# HABILITAR REPOSITORIO MULTI ARQUITETURA (tipo o ia32 do Ubuntu) | |
nano /etc/pacman.conf | |
# descomente "[multilib]" e seus dados | |
# descomente "Color" para ter cores | |
# insira "ILoveCandy" depois de "Color" para ativar o loading do Pac-Man | |
# ctrl+x, yes, enter para salvar | |
# sincronizar multilib | |
pacman -Sy | |
# CRIAR SENHA DO ROOT (opcional, recomendado... nao esqueca essa senha) | |
passwd | |
# CRIAR USUARIO PESSOAL, substituindo "meulogin" pelo seu login desejado | |
useradd -m -g users -G wheel,storage,power -s /bin/bash meulogin | |
# ALTERAR SENHA DO USUARIO PESSOAL, substituindo "meulogin" pelo seu login desejado | |
passwd meulogin | |
# INSTALAR SUDO (MUITO IMPORTANTE) | |
pacman -S sudo | |
# editar as propriedades de sudo | |
EDITOR=nano visudo | |
# descomentar linha "%wheel ALL=(ALL) ALL" | |
# instala o Intel microcode para processadores Intel | |
pacman -S intel-ucode | |
# INSTALAR GRUB BIOS | |
# Existe a opção de instalar o GRUB BIOS ou UEFI. | |
# BIOS GRUB ------------------------------- | |
# baixar e instalar o GRUB BIOS | |
pacman -S grub-bios | |
# target i386 e o padrao e serve para 64-bits tambem | |
# mais detalhes na wiki e google | |
# recorra a outros tutoriais para definir melhor este comando para arquiteturas especificas | |
# atencao para direcionar a instalacao para a raiz da unidade formatada no inicio do tutorial | |
# ja que seu pc pode ter diversas memorias secundarias (USB inclusive) | |
grub-install --target=i386-pc --recheck /dev/sdx | |
# UEFI GRUB | |
# antes de qualquer coisa, para UEFI, o GRUB requer uma particao EFI SYSTEM formatada como FAT32 e com ao menos 512M | |
# baixar e instalar o GRUB | |
pacman -S grub | |
# target x86_64 e o padrao e serve para 64-bits tambem | |
# mais detalhes na wiki e google | |
# recorra a outros tutoriais para definir melhor este comando para arquiteturas especificas | |
# atencao para direcionar a instalacao para a raiz da unidade formatada no inicio do tutorial | |
# ja que seu pc pode ter diversas memorias secundarias (USB inclusive) | |
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB | |
# !!! nao sei exatamente o que a proxima linha faz, mas funciona :) | |
cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo | |
# criar arquivo de configuracao do GRUB | |
grub-mkconfig -o /boot/grub/grub.cfg | |
# sair do arch-chroot | |
exit | |
# desmontar particoes | |
umount /mnt/home | |
umount /mnt | |
# reinicie e defina a unidade de instalacao como primeira opcao de boot, na sua BIOS | |
reboot | |
# o sistema devera bootar no terminal do arch ja instalado, sem gerenciador grafico | |
# REALIZE LOGIN NO SISTEMA OPERACIONAL INSTALADO | |
# ALTERE O HOSTNAME, substituindo meuhostname pelo nome desejado | |
sudo hostnamectl set-hostname meuhostname | |
# CONECTAR COM A INTERNET (caso nao tenha habilitado o dhcpcd ou wpa anteriormente) | |
# pode ser necessario usar sudo para o dhcpcd | |
dhcpcd | |
# ele demora alguns segundos (5 seg em media) | |
# teste a conexao | |
ping -c 3 8.8.8.8 | |
# -------- Configurar AUR | |
# adicionar AUR ao pacman | |
sudo nano /etc/pacman.conf | |
# adicione ao pacman.conf, proximo aos outros repositorios: | |
# -------------------------------------- | |
[archlinuxfr] | |
SigLevel = Never | |
Server = http://repo.archlinux.fr/$arch | |
# -------------------------------------- | |
# sincronize o pacman ao AUR e atualizar | |
sudo pacman -Syyu --noconfirm | |
# DEPRECATED --------------- | |
# instalar yaourt | |
#sudo pacman -S yaourt | |
# instalar o pacaur | |
# o pacaur e como o yaourt, com mais inteligencias e facilidades. | |
# compartilham as mesmas funcoes, locks e instalacoes ja que sao baseados no pacman | |
# adicione a chave para cower, dependencia do pacaur | |
# pena que ambos nao sao paralelos como o, ja depreciado, "bauer" | |
#gpg --recv-key 1EB2638FF56C0C53 | |
# instale o pacaur | |
#yaourt -S pacaur | |
# instalar aurman | |
# alterar para usuario nao root | |
sudo su meulogin | |
# instalar | |
git clone https://aur.archlinux.org/aurman.git | |
cd aurman | |
makepkg -Acs | |
sudo pacman -U aurman-xxx.pkg.tar.xz | |
cd .. | |
rm -rf aurman | |
# ----- opcional | |
# instalar e utilizar powerpill como backend paralelo, no lugar do pacman | |
gpg --recv-keys 1D1F0DC78F173680 | |
pacaur -S powerpill | |
# configure o .bashrc da home de usuario com o seguinte | |
export PACMAN=/usr/bin/powerpill | |
# essa variavel informa ao pacaur qual backend utilizar | |
# adicione tambem o SigLevel a todos os repositorios padrao do Arch (core, extra, community, multilib) | |
# para isso edite o pacman.conf | |
sudo nano /etc/pacman.conf | |
# ex: | |
[core] | |
SigLevel = PackageRequired | |
Include = /etc/pacman.d/mirrorlist | |
# ----- fim-opcional | |
# sincronizar e instalar mixer da alsa | |
pacman -Sy alsa-utils | |
# ajuste o som, se desejar | |
alsamixer | |
# xf86-input-libinput é o default, mas existem inputs para synaptics, evdev and wacom (ver Arch Wiki) | |
# se nenhum for escolhido agora, deverá ser escolhido ao instalar o xorg / ambiente grafico | |
sudo pacman -S xf86-input-libinput | |
# INSTALAR DRIVER E TOOLS DA NVIDIA | |
# em alguma parte do processo seguinte existe uma decisão sobre | |
# lib libx264 ou libx264-10bit, sendo essa segunda de raro uso e dependente de arquitetura | |
# (ver wiki, comentarios aqui: https://www.reddit.com/r/archlinux/comments/30khba/libx264_vs_libx26410bit/) | |
# verifique a wiki e instale driver de video adequado à sua GPU | |
# no meu caso e a nvidia | |
# lembrando que e bom instalar os drivers de video antes do XOrg e Gnome para evitar | |
# bindings ruins com mesa ou nouveau | |
#sudo pacman -S nvidia nvidia-libgl lib32-nvidia-libgl nvidia-settings | |
sudo pacman -S nvidia-utils lib32-nvidia-utils nvidia-settings | |
# INSTALAR XORG, FONTES E FERRAMENTAS BASICAS | |
# force refaz alguns bindings por causa do driver NVIDIA | |
sudo pacman -S --force xorg-server \ | |
xorg-xinit \ | |
mesa \ | |
ttf-dejavu \ | |
samba \ | |
smbclient \ | |
gvfs \ | |
gvfs-smb \ | |
sshfs | |
# instalar network manager caso nao esteja utilizando dhcpcd ou wpa como servico (como citado no passo opcional de redes) | |
# network manager e compativel com Gnome 3 (applet adiciona controles) | |
sudo pacman -S networkmanager networkmanager-vpnc networkmanager-pptp networkmanager-openconnect network-manager-applet | |
# habilite o network manager, caso tenha instalado | |
sudo systemctl enable NetworkManager | |
# verifique a wiki e instale o seu ambiente grafico, no meu caso e o Gnome 3 | |
# podemos instalar o gnome, todas suas apps, jogos e ferramentas (pacotes "gnome" e "gnome-extra") | |
# (sudo pacman -S gnome gnome-extra) | |
# eu escolhi instalar o basico... | |
# force refaz alguns bindings por causa do driver NVIDIA | |
sudo pacman -S --force gnome-shell \ | |
gnome-keyring \ | |
libsecret \ | |
seahorse \ | |
nautilus \ | |
gnome-terminal \ | |
gnome-tweak-tool \ | |
gnome-control-center \ | |
gnome-system-monitor \ | |
gnome-disk-utility \ | |
xdg-user-dirs \ | |
gdm \ | |
vinagre \ | |
baobab \ | |
polari \ | |
eog \ | |
gnome-characters \ | |
gnome-logs\ | |
# ATIVAR GDM (desktop manager) | |
sudo systemctl enable gdm | |
# reinicie | |
# o sistema devera exibir a tela de login do GDM | |
# em caso de erros, procure ler os logs do xorg e journalctl | |
# ou verifique problemas de drivers de sua GPU | |
# a wiki do Arch e uma das melhores entre comunidades Linux | |
# prepara dirs de usuarios (xinitrc e pastas de pictures, documentos, etc) | |
# talvez nao seja mais necessario no futuro (nem instalacao nem essa execucao) | |
xdg-user-dirs-update | |
# FIXME | |
# configurar teclado abnt2 | |
sudo localectl set-keymap br-abnt2 | |
# configure um DNS bom pelo network manager | |
# existe uma limitacao de 3 nameservers no resolv.conf | |
# e bom usar 2 para ipv4 e um ipv6 | |
# - gigadns: 189.38.95.95 / 2804:10:10::10 | |
# - google DNS: 8.8.8.8 / 2001:4860:4860::8888 | |
# sem isso o gnupg nao consegue achar keyservers em ISPs ruins | |
# popular pacman-key para uso futuro (opcional) | |
sudo mkdir -p /root/.gnupg | |
sudo pacman-key --init | |
sudo pacman-key --populate archlinux && sudo pacman-key --refresh-keys | |
# INSTALAR FERRAMENTAS COMUNS DE DESENVOLVIMENTO | |
# ele ja verifica o que baixar pelo pacman ou AUR, dando preferencia ao pacman | |
# aspell -> orthography corrector | |
pacaur -S --noedit ttf-ms-fonts \ | |
aspell-pt \ | |
tar gzip bzip2 unzip unrar p7zip \ | |
jdk \ | |
git \ | |
p7zip \ | |
firefox \ | |
vlc \ | |
virtualbox \ | |
skype \ | |
google-chrome \ | |
chrome-remote-desktop \ | |
docker \ | |
gitkraken \ | |
plex-media-server \ | |
gimp \ | |
inkscape \ | |
steam-native-runtime \ | |
steam \ | |
atom \ | |
visual-studio-code \ | |
playonlinux \ | |
transmission-gtk \ | |
openssh \ | |
vim \ | |
terminator \ | |
spotify \ | |
empathy \ | |
slack-desktop \ | |
libreoffice-fresh | |
# HABILITAR SERVICO DOCKER | |
sudo systemctl enable docker | |
sudo systemctl start docker | |
# Docker sem sudo | |
sudo gpasswd -a ${USER} docker | |
newgrp docker | |
# HABILITAR SERVICO PLEX MEDIA SERVER | |
sudo systemctl enable plexmediaserver.service | |
sudo systemctl start plexmediaserver.service | |
# (opcional) para evitar checks de seguranca e fazer o acesso ao HD mais rapido | |
# edite o fstab e substitua "relatime" por "noatime" | |
# (ref: https://wiki.archlinux.org/index.php/fstab#atime_options) | |
sudo nano /etc/fstab | |
# INFINALITY IS NOT REQUIRED ANYMORE. FREETYPE 2.7+ HAS HINTING | |
# (https://github.com/bohoomil/fontconfig-ultimate/issues/171) | |
# desativa windows key da esquerda, mudando para a direita ou nenhuma | |
gsettings set org.gnome.mutter overlay-key "Super_R" | |
# gsettings set org.gnome.mutter overlay-key "" | |
# ------------------------------------------------------------------------- | |
# nao instale o pacote "preload", atrapalha mais do que ajuda em gaming PCs | |
# ------------------------------------------------------------------------- | |
# EXTENSOES E TEMAS GNOME 3 | |
# common Gnome extensions, status bar system usage monitor, tab change, audio device output changer | |
# use Gnome Tweak Tool to configure themes, cursors and extensions | |
pacaur -S --noedit gnome-shell-extensions \ | |
gnome-shell-system-monitor-applet-git \ | |
gnome-shell-extension-coverflow-alt-tab-git \ | |
gnome-shell-extension-audio-output-switcher-git \ | |
gtk-theme-arc-git \ | |
arc-icon-theme \ | |
elementary-icon-theme \ | |
adapta-gtk-theme \ | |
ttf-fira-sans \ | |
noto-fonts | |
# Add neofetch to bash | |
pacaur -S --noedit neofetch | |
echo 'neofetch' >> ~/.bashrc | |
# Define nautilus como default handler de diretorios e | |
# faz com que o "mostrar na pasta" do Chrome e outros apps funcione corretamente. | |
xdg-mime default nautilus.desktop inode/directory | |
# Permite que Google Chrome instale extensões do site Gnome | |
pacaur -S --noedit chrome-gnome-shell-git | |
# define número máximo de watches em arquivos | |
# crie ou edite o 99-sysctl.conf | |
sudo nano /etc/sysctl.d/99-sysctl.conf | |
# adicione a linha: | |
fs.inotify.max_user_watches = 524288 | |
# instalar NVM, Node.js e modulos globais mais utilizados | |
pacaur -S nvm | |
# Do source NVM functionality for Bash (or ZSH) | |
echo 'source /usr/share/nvm/init-nvm.sh' > .bashrc | |
# echo 'source /usr/share/nvm/init-nvm.sh' > .zshrc | |
nvm install stable | |
nvm use stable | |
npm i -g gulp grunt webpack electron pm2 express-generator nodemon | |
# Configurar Git para utilizar o Gnome Keyring (opcional e muito particular) | |
# depois de instalados gnome-keyring e libsecret | |
cd /usr/share/git/credential/gnome-keyring | |
sudo make | |
git config --global credential.helper /usr/lib/git-core/git-credential-gnome-keyring | |
# EOF |
Poxa Leo nem sabia desse seu gist, ia me poupar algumas horas.
Semana passada fui instalar e travei de criar partição GPT, mas depois peguei.
Eu estava usando o Wifi, o comando que funcionou pra mim foi esse:
pacman -S wpa_supplicant dhcpcd
wpa_cli
> add_network
0
> set_network 0 ssid "SSID_NAME"
> set_network 0 psk "PASSWORD"
> enable_network 0
OK
> quit
dhcpcd
Meus executáveis foram inspirados pelo teu executável: https://git.io/gusbemacbe-arch-install. :-)
Ótimo @gusbemacbe.
Teve problemas com comandos desatualizados? Tem um bom tempo que não preciso usar o gist 🙂
Olá @leodutra!
Só poucos comandos desactualizados.
- No MBR, tens de fazer a mesma coisa que GPT:
mount /dev/sdx1 /mnt/boot/efi
-
Quando entrares no chroot, o teu executável não estará disponível. Mas tens de separar o
root
e ochroot
. -
Simplifiquei vários comandos com pacotes para um único comando no fim. Adicionei
networkmanager
no chroot ao invés de utilizador. Mudei de
pacman -S wireless_tools wpa_supplicant wpa_actiond netcf dialog
pacman -S sudo
pacman -S grub-bios
pacman -S grub
para
pacman -S grub grub-bios dialog dosfstools mtools networkmanager os-prober sudo
Adicionei dosfstools
e os-prober
por causa do dual boot.
Também precisa separar o chroot
do utilizador. Divide o teu mesmo executável em três executáveis. Um para root
, um para chroot
e um para utilizador, porque o mesmo executável vai quebrar o chroot
e o utilizador.
Obrigado, @gusbemacbe.
Adicionei na minha lista de tarefas uma atualização, mas seu comentário já ajuda muito enquanto isso.
Parabéns mano. Eu fiz um tutorial por agora, mas só o essencial, o seu ta mais completo.