Offline installation (Português)

Status de tradução:
Esse artigo é uma tradução de
Offline installation
. Data da última tradução: 2024-01-03. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglê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
.
Atenção
Extrair a imagem do sistema de arquivos raiz (
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
This article or section needs expansion.
Reason:
Adicionar instruções opcionais sobre como colocar o repositório personalizado no ISO. (Discuss in
Talk:Offline installation
)
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/sd
xy
/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.
Dica
Se você alterou seus repositórios padrão (core, extra e multilib), você deve revisar seu arquivo
/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
Nota
Certifique-se de ter habilitado pelo menos um dos servidores definidos no arquivo
/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
Dica
Ao usar
cygwin
ou algum outro tipo de ambiente Windows para baixar os pacotes, os nomes dos arquivos serão confusos, pois a nomenclatura padrão dos arquivos do Windows requer escape, por exemplo. dois pontos. Para evitar isso (no cygwin, já que ele não segue tais restrições), use
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.