Tutorial de instalação manual em BTRFS com subvolumes e backup feito por timeshift
Vou tentar simplificar, mas links de informações serão adicionados para outros tipos de instalação.
. systemd-boot - ArchWiki
. GRUB - ArchWiki
. Snapper - ArchWiki
Apoś iniciar o boot do cd.
1- Configure o layout do teclado ( padrão US )
loadkeys br-abnt2
Ou você pode usar o novo padrão:
localectl set-x11-keymap br abnt2
Opcional: Caso tenha problema com a fonte.
setfont lat0-16
Opcional: Por padrão, a lingua setada como padrão é o Inglês. Se quiser modificar:
Edite o arquivo locale.gen e descomente o que for pt_BR.
nano /etc/locale.gen
pt_BR.UTF-8 UTF-8
Depois execute os comandos
locale-gen
Para mofificar para português brasileiro, execute o comando:
export LANG=pt_BR.UTF-8
ou
LANG=pt_BR.UTF-8
2- Conexão com a internet.
DHCP
Conexão de rede com fio e acesso a um servidor
DHCP (ex. roteador) (Está opção é iniciada automaticamente) dhcpcd
WI-FI
Entre no iwctl
iwctl
Vamos listar os dispositivos disponíveis:
[iwd]# device list
Para escanear as redes:
[iwd]# station device scan
Para listar todas as redes disponíveis:
[iwd]# station device get-networks
Finalmente, conecte-se a rede ao seu SSID:
[iwd]# station device connect SSID
Sair do iwd
[iwd]# exit
3- Prepare o disco rígido
Se já estiver particionado. Você pode utilizar o lsblk.
lsblk -f /dev/sda (este é equivalente a -o NAME,FSTYPE,LABEL,MOUNTPOINT)
Ferramentas para particionar os discos
parted: GPT and MBR
fdisk, cfdisk, sfdisk: GPT and MBR
gdisk, cgdisk, sgdisk: GPT
Recomendo utilizar uma dessas ferramentas: gdisk
e cgdisk
Pode utilizar também o fdisk e cfdisk
CFDISK e CGDISK talvez sejam mais fáceis de
configurar.
O uso do cfdisk é melhor e tem suporte ao gpt.
Exemplo:
Crie um partição de 300M para efi
Crie uma partição de 1G para o /boot
Crie uma partiçào de 40G a 100G para /root
Crie o restante para /homea
Exemplo:
/dev/sda1 /boot/efi
/dev/sda2 /boot
/dev/sda3 /
/dev/sda4 /home
OBS:
Se você estiver usando um SSD, é recomendado deixar de 10% a 25% de espaço não alocado.
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.btrfs /dev/sda3
mkfs.xfs /dev/sda4
Para swap podemos usar swapfile ou zram
. zram - ArchWiki
. Swap - ArchWiki
4- Monte as partições
Montar a partição root na pasta /mnt.
mount /dev/sda2 /mnt
Entre no diretório mnt
cd /mnt
Crie os subvolumes. Há distros que criam volumes de particões temporárias como, tmp e srv. Como o Arch por padão usa o tmpfs, não vou adicionar no exemplo, mas fica ao seu critério usar ou não. Aqui estou utilizando tudo numa partição só. Por isso vou adicionar home e var. Mas caso seja criado com outro sistema de arquivo, não adicione. E desmontamos no fim.
btrfs su cr @
btrfs su cr @root
btrfs su cr @log
btrfs su cr @pkg
btrfs su cr @timeshift
@ - Este é o subvolume raiz principal no topo do qual todos os subvolumes serão montados.
@log - Contém logs.
@pkg - Contém cache de pacotes do pacman
@root - Contém o direório root
@.snapshots - Diretório para armazenar instantâneos para o pacote snapper
@timeshift - Contém os snashots do programa.
Criando subvolumes.
Nao iremos criar os subvolumes na pasta /mnt, iremos criar outra pasta e trabalhar nela.
O nome você pode escolher, exemplo: alvo,montagem,target.etc…
Aqui vamos usar /montagem
mkdir -p /montagem
Vamos criar o subvolume do root.
mount -o rw,relatime,subvol=@ /dev/sda3 /montagem
Se usa SSD
mount -o rw,relatime,ssd,subvol=@ /dev/sda3 /montagem
Vamos agora criar as pastas para as montagens
mkdir -p /montagem/boot
mkdir -p /montagem/root
mkdir -p /montagem/var/log
mkdir -p /montagem/var/cache/pacman/pkg
mkdir -p /montagem/home
mkdir -p /montagem/run/timeshift
A pasta EFI criaremos depois.
Vamos montar os subvolumes:
mount -o rw,relatime,subvol=@root /dev/sda3 /montagem/root
mount -o rw,relatime,subvol=@log /dev/sda3 /montagem/var/log
mount -o rw,relatime,subvol=@pkg /dev/sda3 /montagem/var/cache/pacman/pkg
mount -o rw,relatime,subvol=@timeshift /dev/sda3 /montagem/run/timeshift
Agora criaremos o que falta: /boot, /boot/efi e home
mount /dev/sda2 /montagem/boot
mount /dev/sda4 /montagem/home
Falta o efi. Vamos criar a pasta.
mkdir -p /montagem/boot/efi
Agora vamos montar
mount /dev/sda1 /montagem/boot/efi
Recomendo fazeer um revisão para ver se está tudo montado.
ls -l /montagem
Tudo OK? Vamos seguir.
5- Selecione o espelho (mirror) para a instalação
Primeiro ative a função downloads paralelos do pacman. Para isso descomente no arquivo /etc/pacman.conf o ParallelDownloads.
nano /etc/pacman.conf
E mude para o valor que achar melhor
ParallelDownloads = 5
A imagem do Arch já vem com o pacote reflector, que serve para buscar os melhores espelhos (mirros) para você baixar os pacotes.Utilizaremos o comando com as seguintes opções
-c para falar o pais
-f busca um número de espelhos mais rápidos
–save aonde salvar o arquivo mirrorlist
reflector -c brazil -f 5 --save /etc/pacman.d/mirrorlist
6- Instale o sistema base
Nota: Um sistema mínimo exige o pacote do grupo base, também a instalação do grupo de pacote base-devel neste momento é altamente recomendado.
pacstrap /montagem base base-devel linux linux-firmware linux-headers vim nano man-db pacman-contrib btrfs-progs sudo
7-Gerar o fstab
Gere o fstab com o script genfstab(se preferir adicione a opção -U (UUIDs) ou -L (labels), respectivamente).
genfstab -U /montagem >> /montagem/etc/fstab
Verifique com cat
cat /montagem/etc/fstab
8- Chroot no sistema
Faremos um chroot dentro de nosso sistema recém-instalado.
arch-chroot /montagem
9- Configure o sistema
# pacman -S reflector
Atualize a mirror.
-c para falar o pais
-f busca um número de espelhos mais rápidos
–save aonde salvar o arquivo mirrorlist
reflector -c br -c se -f 5 --save /etc/pacman.d/mirrorlist
[ IDIOMA ]
nano /etc/locale.gen
Descomente
pt_BR.UTF-8 UTF-8
pt_BR ISO-8859-1
nano /etc/locale.conf
LANG=pt_BR.UTF-8
Execute o comando
locale-gen
Para modificar agora o idioma
export LANG=pt_BR.UTF-8
ou
LANG=pt_BR.UTF-8
[ TECLADO ]
nano /etc/vconsole.conf
KEYMAP=br-abnt2
FONT=lat0-16
FONT_MAP=
[ HORA ]
Definindo uso horário e defindo hora
$ timedatectl list-timezones
$ timedatectl set-timezone America/Sao_Paulo
$ timedatectl set-timezone UTC
[ NOME DA MÁQUINA E HOSTS ]
nano /etc/hostname
myhostname
nano /etc/hosts
Adicione o hostname no arquivo hosts
Alguns programas utilizam o 127.0.1.1, por isso é recomendado adicionar
127.0.0.1 localhost
127.0.1.1 myhostname.localdomain myhostname`
::1 localhost
10- Crie um ambiente ramdisk inicial
mkinitcpio -P
11- Instalação do GRUB
Instale o grub
pacman -S grub
Instale o efibootmgr
pacman -S efibootmgr
Instale no disco rígido contendo a sua partição de boot. Instalação automática.
grub-install /dev/sda
Para verificar se o arquivo efi foi instalado na pasta grub ou arch
ls /boot/EFI/arch/
Deverá aparecer o arquivo o arquivo grubx64.efi
Atenção: Se você está instalando via virtualbox, terá que mudar o nome de pasta e arquivo porque o
virtualbox não salva a NVRAM.
Por exemplo:
Se o caminho do arquivo efi estiver assim:
/boot/EFI/arch/grubx64.efi
Atera o nome da pasta arch para BOOT e o nome do arquivo para bootx64.efi
Ficará assim:
/boot/EFI/BOOT/bootx64.efi
Crie o arquivo grub.cfg.
grub-mkconfig -o /boot/grub/grub.cfg
12- Definir a senha root
passwd
13- configuração do SUDO
Caso queira usar o editor nano
EDITOR=nano visudo
Descomente a opção
## Uncomment to allow members of group wheel to execute any command`
# %wheel ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
14- Crie o usuário
Opções do useradd
-d diretório_home : caminho completo do diretório home do usuário.
-m : Cria o diretório home fornecido pela opção “-d” com os arquivos e estrutura definidas na configuração de /etc/skell
-G grupos : lista de grupos separados por uma virgula
-g grupo padrão
useradd -m -g users -G wheel swatquest
Crie a senha - passwd usuário
passwd swatquest
15- Instalando ambiente gráfico - Instalando o Gnome
Instalando gnome
pacman -S gnome gnome-extra networkmanager xorg-server xorg-xinit
pacman -S unzip unace p7zip unrar
E por fim, coloque para iniciar junto com sistema o serviço de rede e gerenciador de login
systemctl enable NetworkManager gdm
Para finalizar, crie o arquivo .xinitrc no pasta do usuário na home e adicione
nano /home/usuário/.xinitrc
exec gnome-session
16- Instalando o Timeshift e cronie para agendamento do programa
# pacman -S timeshift cronie
Coloque o cronie para iniciar junto com sistema
systemctl enable cronie
Habilite também ajuste da hora
systemctl enable systemd-timesyncd.service
17- Sair do chroot
Saia do chroot, digite “exit”, ou Ctrl + D
18- Desmonte todas as particões
Primeiro sai da pasta /mnt
cd ..
Depois desmonte
umount -R /mnt
umount -R /montagem
Ao iniciar o sistema, para ver se está tudo ok com os subvolumes.
Excute o comando lsblk -f
Exempplo:
├─sda3 btrfs 1935b92a-d4a3-4886-8ba0-a0d1a7ea6248 15,4G 22% /var/cache/pacman/pkg
│ /var/log
│ /root
│ /