Blog do Slackjeff

Software livre, Linux e programação.

Instalação Slackware GNU/Linux ao estilo Arch Linux.

April 26, 2021 — Jefferson Carneiro

Eu amo a instalação do Arch linux! É totalmente gostosa de fazer, exige você fazer a leitura de uma receita, ou apenas usar o que você sabe. Como uso GNU/Linux a mais de 15 anos eu já tenho um pouco de experiência e as coisas são mais fáceis. Eu resolvi criar esse artigo para as pessoas o fazerem uma instalação ao estilo arch linux no Slackware, não é dificil bastando apenas seguir esse manualzinho que tudo dá certo.

Neste artigo eu não faço a configuração da partição criptografada com Luke, isso seria assunto para outro tutorial =)

Espero que você goste e é o único manual/tutorial que você vai encontrar na internet! Ao estar lendo isso provávelmente eu lancei um video também no meu Canal no youtube Slackjeff .


O primeiro passo após iniciar a ISO do Slackware é ajustar o teclado do sistema live. Vou ajustar para ABNT2. Sinta-se a vontade para selecionar outro tipo mapa. Vamos iniciar descompactando o arquivo de mapas /etc/keymaps.tar.gz. Vamos descompactar em /tmp. Para isso vamos executar o comando cd e tar em uma subshell.

(cd /tmp; tar xvf /etc/keymaps.tar.gz br-abnt2.bmap)

O resultado será o nome do mapa: br-abnt2.bmap em seu stdout. Vamos agorar partir para a parte de carregamento! A live do Slackware não possui o comando loadkeys, vamos utilizar o loadkmap que lhe trará o mesmo resultado. Porém para enviar o mapa de teclado vamos enviar o arquivo via STDIN <.

loadkmap < /tmp/br-abnt2.bmap

Particionamento do disco

Vamos agora particionar o disco, o velho ditado! Se você necessita de UEFI pode usar o comando cgdisk, que fará isso para você. Se for legacy você pode usar o cfdisk, parted, fdisk etc... Vou usar o cfdisk por questão de conveniência.

cfdisk /dev/sd?

Ah! Estou passando o caminho do dispositivo, pois tenho mais de um. Caso necessite verificar os devices você pode usar o comando lsblk.

Formatar particões

Do que seria nosso dispositivo se não houvesse uma formatação básica! Vamos usar o comando mkfs para isso. Podemos formatar a(s) partições em vários tipos de filesystem, consulte;

root@darkstar:~# mkfs
mkfs           mkfs.btrfs     mkfs.exfat     mkfs.ext3      mkfs.ext4dev   mkfs.fat       mkfs.minix     mkfs.ntfs      mkfs.vfat      
mkfs.bfs       mkfs.cramfs    mkfs.ext2      mkfs.ext4      mkfs.f2fs      mkfs.jfs       mkfs.msdos     mkfs.reiserfs  mkfs.xfs

Por questão de gosto pessoal e uma longa experiência com os ext? vou usar a versão 4.

mkfs.ext4 /dev/sda1

Swap

Se você criou uma partição de swap vamos precisar formatar também e fazer a ligação direta do bixinho. Caso contrário pule esta etapa.

# Formatando swap
mkswap /dev/PartiçãoSwap

#Ligando swap
swapon /dev/PartiçãoSwap

Montar a partição e iso no seu devido lugar

Vamos seguir para a parte mais gostosa, instalação de pacotes e configuração do sistema, para isso vamos precisar montar nossa partição que criamos em /mnt. Vamos usar o comando mount seguindo do parâmetro -t auto. O argumento -t serve para especificar o tipo do dispositivo! Colocamos auto para ele auto identificar.

mount -t auto /dev/sda1 /mnt

Nesta parte da instalação, no arch linux deveriamos começar a instalar os pacotes via rede correto? No Slackware tudo que você precisa está na própria ISO de instalação! Ou seja todo repositório do Slackware está na media =) Vamos então identificar o dispositivo, em meu caso está em um CDROM, então vou dar um mount em /dev/sr0 e montar no link simbólico /cdrom que vai levar para o local correto.

mount /dev/sr0 /cdrom

Mais uma vez se você tem dúvidas use o comando lsblk para verificar os dispositivos e se estão montados. Se tudo ocorreu legal até agora vamos começar o processo de instalação do Sistema.

Instalação dos pacotes com fakeroot

Vamos iniciar o processo de instalação dos pacotes agora, nessa etapa tudo precisa estar montado corretamente. Vamos navegar até o diretório de ponto de montagem da ISO. Em meu caso como descrito acima está em /cdrom/slackware64 . A categoria de pacotes do slackware está tudo dentro de slackware64.

cd /cdrom/slackware64

root@slackware.com:/cdrom# ls slackware64/
a/ ap/ d/ e/ f/ k/ kde/ kdei/ l/ n/ t/ tcl/ x/ xap/ xfce/ y/

Vamos usar um pouco de programação agora para fazer a instalação das séries que são necessárias em "MEU" interesse. Podemos também excluir algumas categorias usando uma condicional if retirando as séries desnecessárias para instalação. Um exemplo em meu caso:

if [ "$dir" = kde ] || [ "$dir" = kdei ] || [ $dir = e ]; then
    continue
fi

Basicamente estou falando: Se o diretório for kde OU kdei OU e então PULE. Uma das partes mais ruins de uma instalação BRAÇAL como está é que você não tem um controle tão grande! Para retirar alguns pacotes por exemplo teriamos que fazer um "Script" mais elaborado! Vamos então seguir a instalação rodando um loop for! Ele vai listar todos diretório e se for um diretório ele vai entrar, fazer a verificação na parte das séries que não preciso e instalar com o installpkg.

A opção --root /mnt passa para o installpkg que ao invés de instalar os pacotes em / deverá instalar em um diretório que eu especificar, no caso /mnt .

for dir in *; do
    if [ -d "$dir" ]; then
        if [ "$dir" = kde ] || [ "$dir" = kdei ] || [ $dir = e ]; then
            continue
        fi
        printf '%b' "\n\nInstalando categoria --------> ${dir}\n\n"
        sleep 1s
        installpkg --root /mnt/ ${dir}/*.t?z
    fi
done

Se caso você deseja instalar TODAS as SÉRIES de pacotes você pode rodar assim:

for dir in *; do
    [ -d "$dir" ] && installpkg --root /mnt/ ${dir}/*.t?z
done

A instalação dos pacotes vai demorar algum tempo =) Pegue uma pipoca e assista o Canal do Slackjeff até terminar.

Entrar como chroot

Vamos agora entrar como no sistema já instalado no "dispositivo", para isso vamos usar o comando chroot que vais nos proporcionar essa experiência... Como usamos o diretório /mnt para montar a partição, vamos fazer o chroot nele.

chroot /mnt/

Configurações BÁSICAS do seu novo sistema.

Já chrooted, vamos fazer umas configurações básicas do sistema como montagem automática das partições, fuso horário, hosts etc...

/etc/fstab

Edite o seu /etc/fstab de acordo!

#Exemplo Raiz

/dev/sda1 / ext4 defaults 1 1

#Exemplo Swap

/dev/sda4 swap swap defaults 0 0

Editar fuso horário

ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

Definir hostname e hosts

Edite o hosts em /etc/hosts

vi /etc/hosts
#For loopbacking.
127.0.0.1               cajado.local   cajado

Editamos também o /etc/hostname, no caso será o cara responsável por aparecer o nome que você especificar na rede.

echo "Nome do computador que apareça na rede" > /etc/hostname

Editar o lilo ou o GRUB

Como eu uso o lilo, fica a seu critério! Eu gosto sempre de fazer umas pequenas alterações!

#This option loads the kernel and initrd much faster:
compact
#Timeout before the first entry boots.
#This is given in tenths of a second, so 600 for every minute:
timeout = 200
#Linux bootable partition config begins
image = /boot/vmlinuz
  root = /dev/sda1
  label = Slackware
  read-only

Trocar a senha do root

passwd root

Finalizar a instalação

Vamos finalmente finalizar a instalação, vamos sair do chroot, desmontar recursivamente o diretório aonde nosso sistema está montado e desligar a máquina.

#Sair do chroot
exit
#Desmontar partição/diretório
umount -Rl /mnt
#Desligar a máquina
halt

Tags: slackware