Pré-requisitos
Contents
Você DEVE ter um ambiente Debian instável (unstable) (boot físico/dual boot, máquina virtual, contêiner ou um chroot com schroot) para criar pacotes adequados para enviar para o Debian. Veja as instruções fornecidas abaixo para configurar o Debian Sid. Você pode usar lxc, docker ou uma máquina virtual para desenvolvimento.
Nota: O público-alvo destina-se a pessoas que acabaram de descobrir o Debian.
Nota do(a) leitor(a): esta página lista 7 abordagens diferentes. Não lista 7 etapas de uma abordagem. Você pode escolher qualquer abordagem de cada vez e seguir as instruções abaixo. Por exemplo, se você deseja usar o docker, não há necessidade de executar os comandos listados em Schroot/LXC/Máquina Virtual.
Se quiser usar osx em plataformas x86_64 para empacotamento, consulte as seções de máquinas virtuais ou docker, e para uso em plataformas arm64, consulte [https://mac.getutm.app/|UTM]
Opção 1: Systemd Nspawn e Debspawn
Se o seu sistema host já possui o systemd como sistema init, esta seria a melhor opção para você.
Usando Systemd Nspawn para criar um ambiente de desenvolvimento sid.
Usando debspawn para uma compilação limpa. O sbuild pode ser usado como uma alternativa para debspawn.
Opção 2: Schroot e Sbuild
Se você já tem uma distribuição Debian estável ou baseada em Debian (Arch também possui o pacote schroot, embora se você tiver uma distro diferente, precisa verificar se ela possui o pacote schroot), esta opção é a melhor para você. Se estiver usando chroot pela primeira vez, leia o artigo da Wikipedia para aprender mais.
sudo apt install schroot debootstrap
Crie um sistema de arquivos root:
sudo mkdir -p /srv/chroot/debian-sid sudo debootstrap sid /srv/chroot/debian-sid
Se tiver uma conexão de Internet não confiável, talvez seja melhor usar apt-cacher-ng para armazenar e reutilizar debs já baixados quando você tentar novamente o comando debootstrap.
sudo apt install apt-cacher-ng auto-apt-proxy debian-archive-keyring
sudo auto-apt-proxy debootstrap sid /srv/chroot/debian-sid
Crie um arquivo texto /etc/schroot/chroot.d/debian-sid com seu editor favorito (por exemplo, nano):
sudo nano /etc/schroot/chroot.d/debian-sid
e adicione as seguintes linhas no arquivo:
# schroot chroot definitions. # See schroot.conf(5) for complete documentation of the file format. # # Please take note that you should not add untrusted users to # root-groups, because they will essentially have full root access # to your system. They will only have root access inside the chroot, # but that's enough to cause malicious damage. # # The following lines are examples only. Uncomment and alter them to # customise schroot for your needs, or create a new entry from scratch. # [debian-sid] description=Debian Sid for building packages suitable for uploading to debian type=directory directory=/srv/chroot/debian-sid users=<seu_nome_de_usuário(a)> root-groups=root personality=linux preserve-environment=true
Onde <seu_nome_de_usuário(a)> é um(a) usuário(a) sem privilégios no seu sistema.
Para obter um shell root, use:
sudo schroot -c debian-sid
W: Failed to change to directory '/ ... é uma mensagem ok.
apt-get update && apt-get install <algum_pacote> exit
Para obter um shell de usuário(a) normal (execute schroot como usuário(a) normal normal),
schroot -c debian-sid
Error: pkg: unrecoverable fatal error, aborting: unknown system group 'apt-cacher-ng' in statoverride file
Se encontrou este erro, siga estas etapas para removê-lo (isso deve ser feito dentro do chroot)
1. Abra "/var/lib/dpkg/statoverride"
nano /var/lib/dpkg/statoverride
2. Remova esta linha: "root apt-cacher-ng 640 /etc/apt-cacher-ng/security.conf" do arquivo e salve-o.
O sbuild é um script envoltório conveniente do schroot para construir pacotes sob o chroot especificado como instável (unstable). Veja sbuild.
Nota: você precisará de chroots separados para schroot (desenvolvimento local) e sbuild (compilação limpa). Tanto o schroot quanto o sbuild devem ser configurados no sistema host (não tente configurar o sbuild dentro do schroot).
Configurando localizações
Após ter configurado chroot, você também precisa habilitar a localização (locale) padrão do seu host no chroot.
Para fazer isso, vá até o chroot
sudo schroot -c debian-sid
E execute como usuário(a) root em chroot:
# apt install locales # dpkg-reconfigure locales
Agora configure suas localizações de acordo com as instruções na tela.
Opção 3: LXC
Se tiver problemas para configurá-lo, pule esta seção e consulte a seção docker abaixo.
Se já configurou um ambiente de desenvolvimento sid usando um dos métodos fornecidos acima, você pode pular esta etapa.
Usando LXC para criar um ambiente de desenvolvimento sid.
Opção 4: Docker
Se já configurou um ambiente de desenvolvimento sid usando um dos métodos fornecidos acima, você pode pular esta etapa.
Usando Docker para criar um ambiente de desenvolvimento sid.
Opção 5: Máquina virtual
Se já configurou um ambiente de desenvolvimento sid usando um dos métodos fornecidos acima, você pode pular esta etapa.
Usando Virtual Box ou Vagrant para criar um ambiente de desenvolvimento sid.
Opção 6: Instalação direta (bare metal)
Você também pode instalar a Debian instável (unstable) em sua máquina com configuração de inicialização dupla ou até mesmo substituindo o sistema operacional existente. Veja Debian instável (unstable).
Opção 7: Window Subsystem para Linux (WSL 2)
Se já configurou um ambiente de desenvolvimento sid usando um dos métodos fornecidos acima, você pode pular esta etapa.
O Debian instável (unstable) também pode ser instalado em sua máquina local com o sistema operacional Windows usando WSL2 (informações de instalação).
Observe que isso requer que você execute o Windows 10 versão 2004 ou superior (Build 19041 ou superior) ou o Windows 11. Consulte instalando o WSL2 .
O WSL2 instalado não vem com uma configuração "pronta para usar" para o schroot. Você precisará configurar o schroot (da Opção 2) após instalar uma distribuição Debian em WSL2.