Differences

This shows you the differences between two versions of the page.

Link to this comparison view

instalacao_do_arch_linux_pt_br [2019/08/08 15:23] (current)
Line 1: Line 1:
 +====== Instalação do Arch Linux ======
  
 +
 +**Arch Linux** é uma distribuição Linux independente e versátil fundada por Judd Vinet, otimizada para processadores i686 (Pentium Pro, II, etc. e AMD compatíveis). Judd inspirou-se em uma outra distribuição minimalista chamada CRUX.
 +
 +A abordagem de desenvolvimento do Arch foca na simplicidade,​ minimalismo e elegância de código. Simplicidade,​ de arcordo com o Arch, é definido como "... desprovido de adições desnecessárias,​ modificações ou complicações"​.
 +
 +Arch é uma distribuição rolling release, ou seja, o sistema é atualizado continuamente,​ o que significa que você terá acesso às novas versões simplesmente mantendo o sistema atualizado através do gerenciador de pacotes, sem a necessidade de instalar uma versão nova. Para facilitar as constantes atualizações,​ Judd criou o Pacman (Package manager - gerenciador de pacotes), que torna fácil a tarefa dos usuários personalizarem o sistema.
 +
 +Usuários da distribuição podem criar facilmente seus próprios pacotes compatíveis com o pacman usando ferramentas como o "Arch Build System",​ funcionalidade esta que ajudou a sustentar o AUR, um repositório de pacotes criados por usuários que complementam os repositórios oficiais.
 +
 +
 +** Filosofia **
 +
 +Arch Linux foi desenvolvido para ser o sistema operacional perfeito como base para usuários avançados. Sua filosofia de não utilização de ferramentas de configuração assemelha-se com a do Slackware exigindo, portanto, um certo nível de conhecimento para instalação e configuração inicial, porém é simples de ser mantido. O restante da filosofia Arch Linux é baseada em 3 pontos:
 +  * Keep it simple, keep it lightweight. Seguindo o princípio KISS.
 +  * Utilizar GUIs (interfaces gráficas) para construir / usar seu sistema levará o usuário a ser prejudicado no final. Em algum momento o usuário invariavelmente precisará saber o que algumas interfaces gráficas escondem.
 +  * Arch permite que o usuário faça tantas contribuições quanto achar necessárias,​ contanto que elas não violem estes ideais de desenvolvimento ou filosofia.
 +
 +**Gerenciamento de Pacotes**
 +
 +Arch é baseado principalmente em pacotes binários. Esses pacotes são gerenciados pela ferramenta Pacman que conduz a instalação de pacotes, atualizações do sistema, remoção de programas e consultas ao banco de dados de pacotes. Os pacotes binários são compilados de forma otimizada para processadores i686. Também podem ser construídos a partir dos códigos fonte através do ABS (Arch Linux Build System), que trabalha nos moldes do Ports.
 +Os pacotes vêm da árvore de pacotes do Arch Linux e de seus mirrors. Atualmente existem 4 diferentes grupos:
 +
 +  * Core - Contém todos os pacotes necessários para o sistema Linux básico.
 +  * Extra - Contém pacotes que não são necessários para o sistema base, mas adicionam funcionalidades extras.
 +  * Multilib - Possui as bibliotecas 32bits para 64bits, ou vice versa, permitindo o uso simultâneo de aplicações 32bits ou 64bits. Útil para programas que só estejam disponíveis justamente na arquitetura oposta.
 +  * Testing - Contém pacotes que são instáveis e ainda estão sendo testados antes de serem adicionados ao grupo extra ou core.
 +  * Community - Contém pacotes construídos pela comunidade e aprovada pelos trusted users.
 +Existem repositórios não oficiais também e são integrados à árvore oficial.
 +
 +**Arch User Repository**
 +
 +O Arch User Repository (AUR) é um repositório comunitário e não oficial do Arch Linux para usuários. Ele contém apenas "​arquivos de descrição"​ (chamados PKGBUILDS) que permitem compilar pacotes a partir de seu código fonte e instalá-los posteriormente com o pacman.
 +
 +Muitos pacotes novos no Arch Linux começam no AUR. Usuários podem votar contra ou a favor dos pacotes, para só então — depois de se tornarem populares o suficiente — serem movidos para o repositório oficial da comunidade.
 +
 +Vamos obter o Arch Linux em [[http://​archlinux.c3sl.ufpr.br/​iso/​2012.11.01/​ | Arch Linux]]
 +
 +O que vou utilizar:
 +  * 20 GB de Disco
 +  * Placa de rede 10/100/1000
 +  * Ip: 192.168.1.120/​24
 +  * 512 MB de Ram
 +  * Teclado abnt2
 +
 +
 +Agora configure a sua máquina para dar boot pelo CD
 +  - Aqui na primeira tela selecione a sua arquitetura eu vou selecionar Boot Arch Linux (x86_64)
 +  - Depois do sistema carregar vamos selecionar o nosso teclado:
 +
 +<sxh bash>
 +loadkeys br-abnt2
 +Loading /​usr/​share/​kbd/​keymaps/​i386/​qwerty/​br-abnt2.map.gz
 +</​sxh>​
 +
 +Vamos listar se temos algum endereço ip em nossa máquina já
 +<sxh bash>
 +ip addr show
 +1: lo: <​LOOPBACK,​UP,​LOWER_UP>​ mtu 16436 qdisc noqueue state UNKNOWN ​
 +    link/​loopback 00:​00:​00:​00:​00:​00 brd 00:​00:​00:​00:​00:​00
 +    inet 127.0.0.1/8 scope host lo
 +    inet6 ::1/128 scope host 
 +       ​valid_lft forever preferred_lft forever
 +2: eth0: <​BROADCAST,​MULTICAST,​UP,​LOWER_UP>​ mtu 1500 qdisc pfifo_fast state UP qlen 1000
 +    link/ether 08:​00:​27:​6a:​06:​65 brd ff:​ff:​ff:​ff:​ff:​ff
 +    inet 192.168.1.120/​24 scope global eth0
 +    inet6 fe80::​a00:​27ff:​fe6a:​665/​64 scope link 
 +       ​valid_lft forever preferred_lft forever
 +</​sxh>​
 +
 +Caso precise remover o endereço ip e adicionar outro podemos fazer da seguinte forma considerando que o nosso endereço ip é 192.168.1.120/​24
 +
 +Vamos remover o ip
 +<sxh bash>
 +ip addr del 192.168.1.120/​24 dev eth0
 +</​sxh>​
 +
 +Agora vamos setar o endereço ip para nossa maquina
 +<sxh bash>
 +ip addr add 192.168.1.120/​24 dev eth0
 +</​sxh>​
 +
 +Agora vamos adicionar o gateway a nossa maquina
 +<sxh bash>
 +ip route add default via 192.168.1.1
 +</​sxh>​
 +
 +Agora vamos adicionar o nosso servidor dns
 +<sxh bash>
 +echo "​nameserver 192.168.1.1"​ > /​etc/​resolv.conf
 +</​sxh>​
 +
 +Agora vamos testar a nossa conexão com a internet
 +<sxh bash>
 +ping www.terra.com.br -c 2
 +PING www.terra.com.br (200.154.56.80) 56(84) bytes of data.
 +64 bytes from www.terra.com.br (200.154.56.80):​ icmp_seq=1 ttl=55 time=15.7 ms
 +64 bytes from www.terra.com.br (200.154.56.80):​ icmp_seq=2 ttl=55 time=16.0 ms
 +
 +--- www.terra.com.br ping statistics ---
 +2 packets transmitted,​ 2 received, 0% packet loss, time 1001ms
 +rtt min/​avg/​max/​mdev = 15.778/​15.936/​16.095/​0.202 ms
 +</​sxh>​
 +
 +
 +Caso não esteja utilizando dhcp precisamos matar o daemon pra ele não ficar zerando o nosso arquivo de dns
 +<sxh bash>
 +killall -9 dhcpcd
 +</​sxh>​
 +
 +Já temos a conexão com a internet, agora vamos preparar o nosso disco 
 +
 +Vamos listar os discos
 +<sxh bash>
 + fdisk -l
 +
 +Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
 +Units = sectors of 1 * 512 = 512 bytes
 +Sector size (logical/​physical):​ 512 bytes / 512 bytes
 +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes
 +
 +
 +Disk /​dev/​mapper/​arch_root-image:​ 809 MB, 809500672 bytes, 1581056 sectors
 +Units = sectors of 1 * 512 = 512 bytes
 +Sector size (logical/​physical):​ 512 bytes / 512 bytes
 +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes
 +
 +
 +Disk /​dev/​mapper/​arch_usr-lib-modules:​ 100 MB, 100663296 bytes, 196608 sectors
 +Units = sectors of 1 * 512 = 512 bytes
 +Sector size (logical/​physical):​ 512 bytes / 512 bytes
 +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes
 +
 +
 +Disk /​dev/​mapper/​arch_usr-share:​ 511 MB, 511705088 bytes, 999424 sectors
 +Units = sectors of 1 * 512 = 512 bytes
 +Sector size (logical/​physical):​ 512 bytes / 512 bytes
 +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes
 +</​sxh>​
 +
 +O nosso disco é o /dev/sda vamos criar somente 3 partições em nosso disco uma de 200 MB para o /boot uma de 17 GB para a raiz e 2,8 GB para Swap
 +
 +Vamos acessar o nosso disco com o fdisk
 +<sxh bash>
 +fdisk /dev/sda
 +Welcome to fdisk (util-linux 2.22.1).
 +
 +Changes will remain in memory only, until you decide to write them.
 +Be careful before using the write command.
 +
 +Device does not contain a recognized partition table
 +Building a new DOS disklabel with disk identifier 0xb2636897.
 +
 +Command (m for help): ​
 +</​sxh>​
 +
 +Agora que já estamos logados no fdisk vamos criar a nossa primeira partição como primária com o tamanho de 200MB
 +<sxh bash>
 +Command (m for help): n 
 +Partition type:
 +   ​p ​  ​primary (0 primary, 0 extended, 4 free)
 +   ​e ​  ​extended
 +Select (default p): p
 +Partition number (1-4, default 1): 1
 +First sector (2048-41943039,​ default 2048): #ENTER
 +Using default value 2048
 +Last sector, +sectors or +size{K,​M,​G} (2048-41943039,​ default 41943039): +200M
 +Partition 1 of type Linux and of size 200 MiB is set
 +</​sxh>​
 +Aqui o que fizemos o n é para criar uma nova partição, o p é para definirmos ela como primária o 1 é o número dela em First sector somente pressionei enter pois vamos usar o default e então eu defini o tamanho da partição +200M.
 +
 +Agora vamos criar a partição raiz
 +<sxh bash>
 +Command (m for help): n
 +Partition type:
 +   ​p ​  ​primary (1 primary, 0 extended, 3 free)
 +   ​e ​  ​extended
 +Select (default p): p
 +Partition number (1-4, default 2): 2
 +First sector (411648-41943039,​ default 411648): #ENTER
 +Using default value 411648
 +Last sector, +sectors or +size{K,​M,​G} (411648-41943039,​ default 41943039): +17G
 +Partition 2 of type Linux and of size 17 GiB is set
 +</​sxh>​
 +
 +Mesmo processo da criação da partição para o /boot porém aqui informamos +17G que é o tamanho da nossa raiz
 +
 +Agora vamos criar uma partição com o tamanho restante do nosso disco
 +<sxh bash>
 +Command (m for help): n
 +Partition type:
 +   ​p ​  ​primary (2 primary, 0 extended, 2 free)
 +   ​e ​  ​extended
 +Select (default p): p
 +Partition number (1-4, default 3): 3
 +First sector (36063232-41943039,​ default 36063232): #ENTER
 +Using default value 36063232
 +Last sector, +sectors or +size{K,​M,​G} (36063232-41943039,​ default 41943039): #ENTER
 +Using default value 41943039
 +Partition 3 of type Linux and of size 2.8 GiB is set
 +</​sxh>​
 +
 +Aqui em First sector e Last sector eu pressionei ENTER para que o sistema use o tamanho total restante
 +
 +Agora vamos mandar listar as nossas partições
 +<sxh bash>
 +Command (m for help): p
 +
 +Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
 +Units = sectors of 1 * 512 = 512 bytes
 +Sector size (logical/​physical):​ 512 bytes / 512 bytes
 +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes
 +Disk identifier: 0xb2636897
 +
 +   ​Device Boot      Start         ​End ​     Blocks ​  ​Id ​ System
 +/​dev/​sda1 ​           2048      411647 ​     204800 ​  ​83 ​ Linux
 +/​dev/​sda2 ​         411648 ​   36063231 ​   17825792 ​  ​83 ​ Linux
 +/​dev/​sda3 ​       36063232 ​   41943039 ​    ​2939904 ​  ​83 ​ Linux
 +</​sxh>​
 +
 +Elas estão ok agora vamos mandar gravar elas no disco
 +<sxh bash>
 +Command (m for help): w
 +The partition table has been altered!
 +
 +Calling ioctl() to re-read partition table.
 +Syncing disks.
 +</​sxh>​
 +
 +Agora vamos listar as nossas partições pelo sistema
 +<sxh bash>
 +lsblk /dev/sda
 +NAME   ​MAJ:​MIN RM  SIZE RO TYPE MOUNTPOINT
 +sda      8:0    0   ​20G ​ 0 disk 
 +├─sda1 ​  ​8:​1 ​   0  200M  0 part 
 +├─sda2 ​  ​8:​2 ​   0   ​17G ​ 0 part 
 +└─sda3 ​  ​8:​3 ​   0  2.8G  0 part 
 +</​sxh>​
 +
 +Elas estão ok como definimos no fdisk sempre confira a criação delas em alguns casos precisamos reiniciar a máquina para que ela reconheça a nova tabela de partições.
 +
 +Agora vamos criar os sistemas de arquivos para as partições vou usar o seguinte:
 +  - / -> ext4
 +  - /boot -> ext4
 +  - swap -> swap
 +
 +Vamos criar o sistema de arquivos para o /boot
 +<sxh bash>
 +mkfs.ext4 /dev/sda1
 +mke2fs 1.42.6 (21-Sep-2012)
 +Filesystem label=
 +OS type: Linux
 +Block size=1024 (log=0)
 +Fragment size=1024 (log=0)
 +Stride=0 blocks, Stripe width=0 blocks
 +51200 inodes, 204800 blocks
 +10240 blocks (5.00%) reserved for the super user
 +First data block=1
 +Maximum filesystem blocks=67371008
 +25 block groups
 +8192 blocks per group, 8192 fragments per group
 +2048 inodes per group
 +Superblock backups stored on blocks: ​
 +  8193, 24577, 40961, 57345, 73729
 +
 +Allocating group tables: done                            ​
 +Writing inode tables: done                            ​
 +Creating journal (4096 blocks): done
 +Writing superblocks and filesystem accounting information:​ done 
 +</​sxh>​
 +
 +Agora vamos criar o sistema de arquivos para a raiz
 +<sxh bash>
 +mkfs.ext4 /dev/sda2
 +mke2fs 1.42.6 (21-Sep-2012)
 +Filesystem label=
 +OS type: Linux
 +Block size=4096 (log=2)
 +Fragment size=4096 (log=2)
 +Stride=0 blocks, Stripe width=0 blocks
 +1114112 inodes, 4456448 blocks
 +222822 blocks (5.00%) reserved for the super user
 +First data block=0
 +Maximum filesystem blocks=4294967296
 +136 block groups
 +32768 blocks per group, 32768 fragments per group
 +8192 inodes per group
 +Superblock backups stored on blocks: ​
 +  32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, ​
 +  4096000
 +
 +Allocating group tables: done                            ​
 +Writing inode tables: done                            ​
 +Creating journal (32768 blocks): done
 +Writing superblocks and filesystem accounting information:​ done 
 +</​sxh>​
 +
 +Agora precisamos criar o sistema de arquivos para a partição da swap
 +<sxh bash>
 +mkswap /dev/sda3
 +Setting up swapspace version 1, size = 2939900 KiB
 +no label, UUID=a8b0853e-8d01-4d34-803d-fc6bd3125cff
 +</​sxh>​
 +
 +Agora precisamos montar a partição raiz no /mnt e a partição boot no /mnt/boot
 +
 +Vamos montar primeiro a partição raiz
 +<sxh bash>
 +mount /dev/sda2 /mnt
 +</​sxh>​
 +
 +Agora vamos criar um diretório boot dentro do /mnt para montarmos o /dev/sda1 que vai armazenar os arquivos de boot
 +<sxh bash>
 +mkdir /mnt/boot
 +</​sxh>​
 +
 +Agora vamos montar o /dev/sda2 no /mnt/boot
 +<sxh bash>
 +mount /dev/sda1 /mnt/boot
 +</​sxh>​
 +
 +Agora vamos listar as nossas partições
 +<sxh bash>
 +lsblk /dev/sda
 +NAME   ​MAJ:​MIN RM  SIZE RO TYPE MOUNTPOINT
 +sda      8:0    0   ​20G ​ 0 disk 
 +├─sda1 ​  ​8:​1 ​   0  200M  0 part /mnt/boot
 +├─sda2 ​  ​8:​2 ​   0   ​17G ​ 0 part /mnt
 +└─sda3 ​  ​8:​3 ​   0  2.8G  0 part 
 +</​sxh>​
 +
 +Como podemos notar temos as partições montadas corretamente o /dev/sda3 não vamos montar pois somente precisamos ativar o swap porém não precisamos por enquanto vamos mandar fazer isso na inicialização do sistema mais adiante.
 +
 +Agora precisamos fazer um acerto no arquivo de repositórios precisamos comentar todas as linhas que 
 +<sxh bash>
 +sed -i '​s/​^S/#​S/​g'​ /​etc/​pacman.d/​mirrorlist
 +</​sxh>​
 +
 +Agora vamos descomentar somente a linha do repositório do Brasil
 +<sxh bash>
 +sed -i '​s,#​Server = http://​archlinux.c3sl,​Server = http://​archlinux.c3sl,​g'​ /​etc/​pacman.d/​mirrorlist
 +</​sxh>​
 +
 +Agora vamos mandar instalar o sistema base e algumas ferramentar básicas
 +<sxh bash>
 +pacstrap /mnt base base-devel vim net-tools dnsutils openssh wget dos2unix
 +[...]
 +pacstrap /mnt base base-devel vim net-tools dnsutils openssh ​ wget 52.55s user 11.85s system 40% cpu 2:38.72 total
 +</​sxh>​
 +
 +Agora que já temos a base do nosso sistema precisamos gerar o nosso fstab
 +<sxh bash>
 +genfstab -U -p /mnt >> /​mnt/​etc/​fstab
 +</​sxh>​
 +
 +Agora precisamos adicionar a swap no fstab
 +<sxh bash>
 +echo "/​dev/​sda3 swap swap defaults 0 0" >> /​mnt/​etc/​fstab
 +</​sxh>​
 +
 +Agora vamos enjaular o Arch Linux para terminarmos a nossa configuração
 +<sxh bash>
 +arch-chroot /mnt /bin/bash
 +</​sxh>​
 +
 +Agora vamos acertar o locales
 +<sxh bash>
 +sed -i '​s/​^#​pt_BR/​pt_BR/​g'​ /​etc/​locale.gen
 +</​sxh>​
 +
 +Agora vamos mandar gerar ele
 +<sxh bash>
 +locale-gen
 +</​sxh>​
 +
 +Agora vamos deixar gravado o LANG no sistema
 +<sxh bash>
 +echo LANG=pt_BR.UTF-8 > /​etc/​locale.conf
 +</​sxh>​
 +
 +Agora vamos mandar exportar o LANG para o sistema
 +<sxh bash>
 +export LANG=pt_BR.UTF-8
 +</​sxh>​
 +
 +Agora vamos acertar o nosso teclado para o sistema
 +<sxh bash>
 +echo "​KEYMAP=br-abnt2"​ > /​etc/​vconsole.conf
 +</​sxh>​
 +
 +Agora vamos acertar o localtime do sistema no meu caso Sao_Paulo caso esteja em outra região consulte as possiveis configurações em /​usr/​share/​zoneinfo/​
 +<sxh bash>
 +ln -s /​usr/​share/​zoneinfo/​America/​Sao_Paulo /​etc/​localtime
 +</​sxh>​
 +
 +Agora vamos ajustar o relógio do Hardware com o do sistema
 +<sxh bash>
 +hwclock --systohc --utc
 +</​sxh>​
 +
 +Agora vamos definir o nome da nossa máquina
 +<sxh bash>
 +echo arch > /​etc/​hostname
 +</​sxh>​
 +
 +Agora caso queira utilizar dhcp precisamos somente mandar deixar o serviço ativo na inicialização do sistema
 +<sxh bash>
 +systemctl enable dhcpcd@eth0.service
 +</​sxh>​
 +
 +Podemos utilizar também uma outra alternativa para dhcp configurando o ifplugd
 +
 +Vamos mandar instalar ele
 +<sxh bash>
 +pacman -S ifplugd
 +</​sxh>​
 +
 +Agora vamos acessar o diretório que contém a sua configuração
 +<sxh bash>
 +cd /​etc/​network.d
 +</​sxh>​
 +
 +Agora vamos criar um link para configuração de dhcp
 +<sxh bash>
 +ln -s examples/​ethernet-dhcp .
 +</​sxh>​
 +
 +Agora vamos deixar o serviço para iniciar junto com o sistema
 +<sxh bash>
 +systemctl enable net-auto-wired.service
 +</​sxh>​
 +
 +Agora caso esteja utilizando um endereço Estático vamos seguir o seguinte procedimento
 +
 +Vamos mandar instalar o ifplugd
 +<sxh bash>
 +pacman -S netctl
 +</​sxh>​
 +
 +Agora vamos acessar o diretório que contém as suas configurações
 +<sxh bash>
 +cd /etc/netctl
 +</​sxh>​
 +
 +Agora vamos fazer uma cópia do arquivo de exemplo da configuração de endereço estático
 +<sxh bash>
 +cp examples/​ethernet-static .
 +</​sxh>​
 +
 +Agora vamos editar o nosso arquivo
 +<sxh bash>
 +vim ethernet-static
 +CONNECTION='​ethernet'​
 +DESCRIPTION='​A basic static ethernet connection using iproute'​
 +INTERFACE='​eth0'​
 +IP='​static'​
 +ADDR='​192.168.1.120'​
 +#​ROUTES=('​192.168.0.0/​24 via 192.168.1.2'​)
 +GATEWAY='​192.168.1.1'​
 +DNS=('​192.168.1.1'​)
 +
 +## For IPv6 autoconfiguration
 +#​IP6=stateless
 +
 +## For IPv6 static address configuration
 +#​IP6='​static'​
 +#​ADDR6=('​1234:​5678:​9abc:​def::​1/​64'​ '​1234:​3456::​123/​96'​)
 +#​ROUTES6=('​abcd::​1234'​)
 +#​GATEWAY6='​1234:​0:​123::​abcd'​
 +</​sxh>​
 +
 +Agora vamos mandar inserir a nossa configuração na inicialização do sistema
 +<sxh bash>
 +netctl enable ethernet-static
 +</​sxh>​
 +
 +Vamos habilitar também o sshd na inicialização do sistema
 +<sxh bash>
 +systemctl enable sshd.service
 +</​sxh>​
 +
 +Caso esteja utilizando ip estático não podemos esquecer de acertar a configuração de DNS
 +<sxh bash>
 +echo "​nameserver 192.168.1.1"​ > /​etc/​resolv.conf
 +</​sxh>​
 +
 +
 +Agora vamos criar um initial ramdisk
 +<sxh bash>
 +mkinitcpio -p linux
 +</​sxh>​
 +
 +Agora vamos setar a senha para o usuário root
 +<sxh bash>
 +passwd
 +Digite a nova senha UNIX: #senha
 +Redigite a nova senha UNIX: #senha
 +passwd: senha atualizada com sucesso
 +</​sxh>​
 +
 +Agora vamos criar um usuário comum para utilizamos o ambiente gráfico ​
 +<sxh bash>
 +useradd -m -g users -s /bin/bash douglas
 +</​sxh>​
 +
 +Agora vamos setar uma senha para o nosso usuário
 +<sxh bash>
 +passwd douglas
 +Digite a nova senha UNIX: #senha
 +Redigite a nova senha UNIX: #senha
 +passwd: senha atualizada com sucesso
 +</​sxh>​
 +
 +Agora vamos mandar instalar o Grub
 +<sxh bash>
 +pacman -S grub-bios
 +pacman -S grub
 +</​sxh>​
 +
 +Agora vamos mandar instalar o Grub na MBR
 +<sxh bash>
 +grub-install --recheck /dev/sda
 +grub-install --target=i386-pc --recheck /dev/sda
 +Installation finished. No error reported.
 +</​sxh>​
 +
 +Precisamos fazer mais um ajuste nele a respeito das mensagens
 +<sxh bash>
 +cp /​usr/​share/​locale/​en\@quot/​LC_MESSAGES/​grub.mo /​boot/​grub/​locale/​en.mo
 +</​sxh>​
 +
 +Agora vamos mandar gerar a configuração do Grub
 +<sxh bash>
 +grub-mkconfig -o /​boot/​grub/​grub.cfg
 +Generating grub.cfg ...
 +Found linux image: /​boot/​vmlinuz-linux
 +Found initrd image: /​boot/​initramfs-linux.img
 +done
 +</​sxh>​
 +
 +Agora já podemos sair da jaula
 +<sxh bash>
 +exit
 +arch-chroot /mnt  8.74s user 2.86s system 0% cpu 22:21.91 total
 +</​sxh>​
 +
 +Agora vamos mandar desmontar as partições
 +<sxh bash>
 +umount /mnt/boot
 +umount /mnt
 +</​sxh>​
 +
 +Agora vamos mandar reiniciar o sistema
 +<sxh bash>
 +reboot
 +</​sxh>​
 +
 +
 +Logue novamente em nosso Arch Linux
 +
 +Agora vamos adicionar um repositório extra em nosso Arch Linux
 +<sxh bash>
 +vim /​etc/​pacman.conf
 +#No final do arquivo adicione as linhas abaixo
 +[archlinuxfr]
 +Server = http://​repo.archlinux.fr/​$arch
 +</​sxh>​
 +
 +Agora vamos mandar instalar o yaourt e mais alguns pacotes básicos
 +<sxh bash>
 +pacman -Suy yaourt rsync pacman-color nmap tcpdump
 +</​sxh>​
 +
 +Esse yaourt é o cara ele caso não tenhamos algum pacote no repositório default do pacman ele consegue obter os fontes do pacotes que queremos e manda compilar e instalar ​
 +
 +Ex: vamos mandar pesquisar o Dropbox no pacman
 +<sxh bash>
 +pacman -sS dropbox
 +</​sxh>​
 +
 +Não tivemos nenhum retorno agora vamos mandar pesquisar o Dropbox no yaourt
 +<sxh bash>
 +yaourt -sS dropbox
 +aur/bbox 0.1-1 (6)
 +    ...something like dropbox based on subversion.
 +aur/​bbox-git 20120403-4 (1)
 +    ...something like dropbox based on subversion. (Git-Version,​ not precompiled,​ works w/o multilib)
 +aur/​bitpocket-git 20120103-1 (0)
 +    DIY Dropbox or 2-way directory (r)sync with proper deletion - Git version
 +aur/​caja-dropbox 0.7.1-2 (3)
 +    Dropbox for Linux - Caja extension (MATE File Manager)
 +aur/​dolphin-box-plugin-git 20110404-1 (153)
 +    Dropbox integration for the dolphin file manager
 +aur/​dolphin-dropbox-plugin-hg 27-1 (2)
 +    KDE Dolphin plugin for Dropbox
 +aur/dropbox 1.4.20-1 (3061)
 +    A free service that lets you bring your photos, docs, and videos anywhere and share them easily.
 +aur/​dropbox-cli 1-13 (491)
 +    Command line interface for dropbox
 +aur/​dropbox-daemon 0.8-8 (139)
 +    Run Dropbox as a given user at boot.
 +aur/​dropbox-dark-panel-icons 1.0-10 (21)
 +[...]
 +</​sxh>​
 +
 +Como podemos ver temos muitas opções para mandar instalar é só s informar qual queremos ex
 +<sxh bash>
 +yaourt -S dropbox
 +[...]
 +</​sxh>​
 +
 +Aqui é somente ir seguindo as instruções ;)
 +
 +Agora vamos ver os procedimento para mandar instalar o Gnome
 +
 +Primeiro precisamos mandar instalar o X então vamos lá
 +<sxh bash>
 +pacman -Suy xorg-server xorg-xinit xorg-server-utils ​ xf86-video-vesa xorg-twm xorg-xclock xterm ttf-dejavu xf86-input-synaptics
 +</​sxh>​
 +
 +Agora vamos pesquisar os possívies drivers para vídeo que temos em repositório
 +<sxh bash>
 +pacman -sS xf86-video
 +extra/​xf86-video-apm 1.2.5-2
 +    X.org Alliance ProMotion video driver
 +extra/​xf86-video-ark 0.7.5-2 (xorg-drivers xorg)
 +    X.org ark video driver
 +extra/​xf86-video-ast 0.97.0-2 (xorg-drivers xorg)
 +    X.org ASPEED AST Graphics video driver
 +extra/​xf86-video-ati 1:6.14.6-2 (xorg-drivers xorg)
 +    X.org ati video driver
 +extra/​xf86-video-chips 1.2.5-2
 +    X.org Chips and Technologies video driver
 +extra/​xf86-video-cirrus 1.5.1-2 (xorg-drivers xorg)
 +    X.org Cirrus Logic video driver
 +extra/​xf86-video-dummy 0.3.6-2 (xorg-drivers xorg)
 +    X.org dummy video driver
 +extra/​xf86-video-fbdev 0.4.3-2 (xorg-drivers xorg)
 +    X.org framebuffer video driver
 +extra/​xf86-video-glint 1.2.8-2 (xorg-drivers xorg)
 +    X.org GLINT/​Permedia video driver
 +extra/​xf86-video-i128 1.3.6-2 (xorg-drivers xorg)
 +    X.org Number 9 I128 video driver
 +extra/​xf86-video-i740 1.3.4-2
 +    X.org Intel i740 video driver
 +extra/​xf86-video-intel 2.20.12-1 (xorg-drivers xorg)
 +    X.org Intel i810/​i830/​i915/​945G/​G965+ video drivers
 +extra/​xf86-video-mach64 6.9.3-2 (xorg-drivers xorg)
 +    X.org mach64 video driver
 +extra/​xf86-video-mga 1.6.2-2 (xorg-drivers xorg)
 +    X.org mga video driver
 +extra/​xf86-video-modesetting 0.5.0-1 (xorg-drivers xorg)
 +    X.org generic modesetting video driver
 +extra/​xf86-video-neomagic 1.2.7-3 (xorg-drivers xorg)
 +    X.org neomagic video driver
 +extra/​xf86-video-nouveau 1.0.3-1
 +    Open Source 2D acceleration driver for nVidia cards
 +extra/​xf86-video-nv 2.1.20-2 (xorg-drivers xorg)
 +    X.org nv video driver
 +extra/​xf86-video-openchrome 0.3.1-2 (xorg-drivers xorg)
 +    X.Org Openchrome drivers
 +extra/​xf86-video-r128 6.9.1-2 (xorg-drivers xorg)
 +    X.org ati Rage128 video driver
 +extra/​xf86-video-rendition 4.2.5-2
 +    X.org Rendition video driver
 +extra/​xf86-video-s3 0.6.5-2
 +    X.org S3 video driver
 +extra/​xf86-video-s3virge 1.10.6-2
 +    X.org S3 Virge video driver
 +extra/​xf86-video-savage 2.3.6-2 (xorg-drivers xorg)
 +    X.org savage video driver
 +extra/​xf86-video-siliconmotion 1.7.7-2 (xorg-drivers xorg)
 +    X.org siliconmotion video driver
 +extra/​xf86-video-sis 0.10.7-2 (xorg-drivers xorg)
 +    X.org SiS video driver
 +extra/​xf86-video-sisimedia 0.9.1-4
 +    X.org SiS 671 video driver
 +extra/​xf86-video-sisusb 0.9.6-2
 +    X.org SiS USB video driver
 +extra/​xf86-video-tdfx 1.4.5-2 (xorg-drivers xorg)
 +    X.org tdfx video driver
 +extra/​xf86-video-trident 1.3.6-3 (xorg-drivers xorg)
 +    X.org Trident video driver
 +extra/​xf86-video-tseng 1.2.5-2
 +    X.org tseng video driver
 +extra/​xf86-video-unichrome 0.2.7-7
 +    Unichrome video drivers for X.Org
 +extra/​xf86-video-v4l 0.2.0-11 (xorg-drivers xorg)
 +    X.org v4l video driver
 +extra/​xf86-video-vesa 2.3.2-2 (xorg-drivers xorg) [instalado]
 +    X.org vesa video driver
 +extra/​xf86-video-vmware 12.0.2-2 (xorg-drivers xorg)
 +    X.org vmware video driver
 +extra/​xf86-video-voodoo 1.2.5-2 (xorg-drivers xorg)
 +    X.org 3dfx Voodoo1/​Voodoo2 2D video driver
 +</​sxh>​
 +
 +Temos uma boa quantidade por padrão, se estiver utilizando uma ATI precisamos instalar o seguinte pacote
 +<sxh bash>
 +pacman -Suy xf86-video-ati
 +</​sxh>​
 +
 +Se estiver utilizando uma Nvidia precisamos instalar o seguinte pacote
 +<sxh bash>
 +pacman -Suy xf86-video-nouveau
 +</​sxh>​
 +
 +Ou caso ela de suporte a 3D precisamos instalar ​
 +<sxh bash>
 +pacman -Suy xf86-video-nv
 +</​sxh>​
 +
 +Os pacotes que estou referênciando são os OpenSource temos os proprietarios em repositório também caso ache necessário utilizar
 +
 +Caso esteja utilizando uma Intel podemos instalar o seguinte pacote
 +<sxh bash>
 +pacman -Suy xf86-video-intel
 +</​sxh>​
 +
 +Ou em alguns casos vamos precisar do seguinte pacote
 +<sxh bash>
 +pacman -Suy xf86-video-i740
 +</​sxh>​
 +
 +Para quem esta utilizando placas SIS temos os seguintes pacotes que podemos utilizar
 +<sxh bash>
 +pacman -Suy xf86-video-sis
 +</​sxh>​
 +
 +Ou em alguns casos vamos precisar do seguinte pacote
 +<sxh bash>
 +pacman -Suy xf86-video-sisimedia
 +</​sxh>​
 +
 +Ou ainda em alguns casos vamos precisar do seguinte pacote
 +<sxh bash>
 +pacman -Suy xf86-video-sisusb
 +</​sxh>​
 +
 +Agora vamos mandar instalar o gnome e suas dependências
 +<sxh bash>
 +pacman -Suy gnome gnome-extra gnome-tweak-tool gdm
 +</​sxh>​
 +
 +Vamos ser questionados sobre quais pacotes vamos querer somente pressione ENTER e ENTER para instalarmos todos 
 +
 +Agora vamos mandar ativar o gdm na inicialização do sistema
 +<sxh bash>
 +systemctl enable gdm
 +</​sxh>​
 +
 +Agora vamos inserir na inicialização do nosso usuário a configuração do gnome
 +<sxh bash>
 +echo "exec ck-launch-session gnome-session"​ >> /​home/​douglas/​.xinitrc
 +</​sxh>​
 +
 +Agora vamos deixar o padrão de novos usuários o gnome
 +<sxh bash>
 +echo "exec ck-launch-session gnome-session"​ >> /​etc/​skel/​.xinitrc
 +</​sxh>​
 +
 +Agora vamos mandar instalar o Alsa
 +<sxh bash>
 +pacman -Suy alsa-utils alsa-oss alsa-plugins
 +</​sxh>​
 +
 +Agora vamos mandar reiniciar o sistema para testar
 +<sxh bash>
 +reboot
 +</​sxh>​
 +
 +Temos mais uma opção muito show de bola pra shell, para quem trabalha muito com o shell precisamos sempre de ferramentas que nós ajudem então temos o [[http://​en.wikipedia.org/​wiki/​Z_shell|zsh]]
 +
 +Vamos instalar ele
 +<sxh bash>
 +pacman -Suy zsh
 +</​sxh>​
 +
 +Agora vamos mudar o shell do usuário root
 +<sxh bash>
 +chsh -s /bin/zsh root
 +</​sxh>​
 +
 +Agora vamos obter um arquivo personalizado dele eu peguei o padrão que eu utilizo do Arch Linux
 +<sxh bash>
 +wget -c http://​www.douglas.wiki.br/​Downloads/​scripts/​zshrc -O /​root/​.zshrc
 +</​sxh>​
 +
 +Agora vamos fazer logout e logar novamente
 +<sxh bash>
 +logout
 +</​sxh>​
 +
 +Agora vamos copiar essa configuração para o nosso usuário douglas
 +<sxh bash>
 +cp /​root/​.zshrc /​home/​douglas/​
 +</​sxh>​
 +
 +Agora vamos acertar as permissões desse arquivo
 +<sxh bash>
 +chown douglas:​users /​home/​douglas/​.zshrc
 +</​sxh>​
 +
 +Agora vamos mudar o shell do usuário douglas
 +<sxh bash>
 +chsh -s /bin/zsh douglas
 +</​sxh>​
 +
 +Agora vamos copiar essa configuração do zshrc para os novos usuários
 +<sxh bash>
 +cp /​root/​.zshrc /etc/skel
 +</​sxh>​
 +
 +Está pronto o nosso Arch Linux ;)
 +
 +====== MATE ======
 +
 +Agora vamos adicionar um repositório extra em nosso Arch Linux
 +<sxh bash>
 +vim /​etc/​pacman.conf
 +[...]
 +#No final do arquivo adicione as linhas abaixo
 +[archlinuxfr]
 +SigLevel ​   = Optional TrustAll
 +Server = http://​repo.archlinux.fr/​$arch
 +</​sxh>​
 +
 +Agora vamos mandar instalar o yaourt e mais alguns pacotes básicos
 +<sxh bash>
 +pacman -Suy yaourt rsync pacman-color nmap tcpdump
 +</​sxh>​
 +
 +<sxh bash>
 +pacman-key --init && pacman-key --populate archlinux && pacman-key --refresh-keys
 +</​sxh>​
 +
 +<sxh bash>
 +pacman -Suy xorg-server xorg-xinit xorg-server-utils ​ xf86-video-vesa xorg-twm xorg-xclock xterm ttf-dejavu xf86-input-synaptics
 +</​sxh>​
 +
 +<sxh bash>
 +pacman -Suy mate mate-extra ​ mate-applet-lockkeys mate-applet-softupd ​ mate-applet-streamer mate-color-manager ​ mate-accountsdialog faience-icon-theme \
 +mate-disk-utility ​ mate-mplayer mate-nettool mate-themes-extras gnome-main-menu ​ variety slim archlinux-themes-slim faenza-icon-theme ​
 +</​sxh>​
 +
 +HAbilitando o slim
 +<sxh bash>
 +systemctl enable slim.service
 +</​sxh>​
 +
 +Ajustando o tema
 +<sxh bash>
 +cp -Rfa /​usr/​share/​slim/​themes/​default{,​.bkp}
 +</​sxh>​
 +
 +<sxh bash>
 +rm -rf /​usr/​share/​slim/​themes/​default/​*
 +</​sxh>​
 +
 +<sxh bash>
 +cd /​usr/​share/​slim/​themes/​default
 +</​sxh>​
 +
 +<sxh bash>
 +cp ../​archlinux-darch-white/​* .
 +</​sxh>​
 +====== Referências ======
 +
 +  - https://​www.archlinux.org/​
 +  - https://​wiki.archlinux.org/​
 +  - https://​wiki.archlinux.org/​index.php/​Installation_Guide
 +  - https://​wiki.archlinux.org/​index.php/​Beginners%27_Guide