Offline installation (Português)
Este artigo fornece instruções sobre como instalar o Arch Linux em um sistema sem conexão com a Internet. Para fazer isso, é necessário outro sistema com conexão ativa à Internet.
Primeiro, siga o Guia de instalação, pulando a seção Guia de instalação#Conectar à internet, até a etapa Guia de instalação#Instalar os pacotes essenciais.
airootfs.sfs
) do ISO ou copiar o sistema de arquivos raiz do ambiente ativo não é um método de instalação compatível.Preparar repositório local
Siga Pacman/Dicas e truques#Instalando pacotes a partir de um CD/DVD ou pendrive para obter instruções sobre como preparar um repositório local com os arquivos necessários em uma instalação de host separada.
No mínimo, para um sistema funcional, os seguintes pacotes são recomendados:
# pacman -Syw --cachedir . --dbpath /tmp/blankdb base base-devel linux linux-firmware mkinitcpio vim
Crie seu repositório offline personalizado:
# repo-add ./custom.db.tar.gz ./*[^sig]
Montar e configurar
Assim que o repositório estiver preparado, conecte a mídia externa à nova instalação e monte-a no sistema de arquivos raiz recém-criado:
# mount --mkdir /dev/sdxy /mnt/repo
Edite o /etc/pacman.conf
do seu archiso e adicione uma nova seção:
/etc/pacman.conf
[custom] SigLevel = Optional Server = file:///mnt/repo/
Comente [core]
e [extra]
de forma que o pacman não falhe com os repositórios padrão.
Pacstrap
Agora você pode continuar a usar pacstrap seus pacotes disponíveis localmente para a nova instalação:
# pacstrap -K /mnt base base-devel linux linux-firmware mkinitcpio vim
Instalação offline de pacotes
Instalar a partir de arquivo
Caso o processo de instalação offline tenha sido apenas temporário, mas exija a instalação manual de alguns pacotes antes de poder acessar uma rede, consulte pacman (Português)#Comandos adicionais para aprender como instalar pacotes locais.
Shell globbing pode ser usado para instalar muitos pacotes de uma vez:
# pacman -U /pasta/de/pacotes/*.tar.zst
Cache offline
Você pode colocar os arquivos necessários em /var/lib/pacman/sync
e /var/cache/pacman/pkg
, para fazer o pacman
acreditar que tenha tudo o que precisa para fazer pesquisas, atualizações e instalações. O método a seguir é baseado em dois tópicos do fórum: [1][2].
As etapas são:
- baixar os bancos de dados de pacotes atualizados em um computador com acesso à Internet,
- transferi-los para o computador desconectado,
- gerar a lista de pacotes necessários do computador desconectado para atualizá-lo,
- baixá-los com sua assinatura em um computador com acesso à internet,
- transferi-los para o cache do pacman do computador desconectado,
- instalar as atualizações.
/etc/pacman.conf
.O script a seguir fará o download dos bancos de dados de pacotes atualizados. Se necessário, altere MIRROR
para qualquer espelho da lista de status de espelho.
download_databases.sh
#!/bin/sh ARCH="x86_64" MIRROR="https://mirrors.kernel.org/archlinux/" wget "${MIRROR}/core/os/${ARCH}/core.db" wget "${MIRROR}/extra/os/${ARCH}/extra.db" wget "${MIRROR}/multilib/os/${ARCH}/multilib.db" # e possivelmente -descomente- (se personalizou em /etc/pacman.conf ou pacman.conf.d): #wget "${MIRROR}/core-testing/os/${ARCH}/core-testing.db" #wget "${MIRROR}/extra-testing/os/${ARCH}/extra-testing.db" #wget "${MIRROR}/multilib-testing/os/${ARCH}/multilib-testing.db" # e -também- pacotes de debug e staging.
Torne o script executável e execute-o. Você obterá vários arquivos .db.
Os passos a seguir serão transferir os arquivos .db para o PC offline, fazendo com que você esteja trabalhando com listas de pacotes atualizadas (como se você tivesse executado pacman -Sy
), então gerando uma lista de pacotes necessários para a atualização:
# cp *.db /var/lib/pacman/sync/ # pacman -Sup --noconfirm > pkglist
/etc/pacman.d/mirrorlist
. Caso contrário, tudo o que você receberá será uma mensagem de erro enganosa: error: no database for package: nome-pacote
.Você também precisará baixar as assinaturas dos pacotes correspondentes, então prepare a lista de assinaturas para download:
# sed -e 's/\.zst$/.zst.sig/' ../pkglist > ../siglist
Em seguida, leve as duas listas com você para um local onde você tenha internet e baixe os pacotes listados em um diretório vazio:
# wget -nv -i ../pkglist # wget -nv -i ../siglist
wget --restrict-file-names=unix
.Leve todos os arquivos *.pkg.tar.zst
e *.pkg.tar.zst.sig
para casa e coloque-os em /var/cache/pacman/ pkg
e finalmente execute:
# pacman -Su
Repositório local
Caso se espere que o novo sistema permaneça desconectado ou com airgap, ele deverá ser configurado para esperar apenas repositórios locais.
Repositório completo
Depois de fazer chroot em sua nova instalação, edite o novo /etc/pacman.conf
da mesma forma que anteriormente (mas sem o prefixo /mnt
):
/etc/pacman.conf
[custom] SigLevel = Optional Server = file:///repo/
Comente todos os outros repositórios e salve. Continue configurando o novo sistema normalmente.
De agora em diante, quaisquer atualizações no sistema desconectado podem ser feitas trazendo uma cópia atualizada do repositório local, montando-o em /repo
e executando comandos do pacman normalmente.
Veja também
- Leitura offline: para navegar no ArchWiki sem conexão.