
[Čeština] | [中文] | [پارسی]
Precisamos da sua ajuda para traduzir este ReadMe. Olhe aqui!
Ashos (qualquer sistema operacional hierárquico de instantâneo)
Uma meta-distribuição imutável em forma de árvore usando instantâneos
(Não, isso ainda não é outra pele/"distro" temática!)!)
Observe que, para os fins deste projeto, em conformidade com a maneira 'pitônica' não era uma meta, pois no futuro, a implementação pode mudar para ferrugem, C, C ++, etc. Gostaríamos de estar o mais próximo possível do shell sans-bashismo compatível com Posix.
Índice
- O que é Ashos?
- Ashos comparados a outras distribuições semelhantes
- Documentação Ash e Ashos
- Instalação
- Pós -instalação
- Gerenciamento e implantações de instantâneos
- Gerenciamento de pacotes
- Configuração do instantâneo
- Documentação adicional
- Atualizando as chaves do Pacman
- Salvando alterações de configuração feitas em /etc persistentemente
- Configurando bota dupla
- Atualizando o próprio Ash
- Variado
- Recursos avançados
- Multi-Boot
- Luks
- Alternância de mutabilidade
- Depuração de Ash
- Debuggin instalador
- Bugs conhecidos
- Contribuindo
- Comunidade
- Todos
- Notas específicas para distro
- Arco
- Aur
- Corrigindo pacotes corruptos do Pacman ou problemas -chave
- Alpino
- Cachyos
- Debian
- Endeavos
- Proxmox
- Ubuntu
O que é Ashos?
Você sempre quis experimentar o Fedora Rawhide, mas depois de alguns dias, sua fragilidade se deu nos nervos. Então, talvez você tenha experimentado o Fedora Silverblue Rawhide, mas suas operações complicadas e lentas de ostree do tipo git mataram seu humor! Bem, não mais! Agora você pode experimentar esta distração de borda sangrando (e muitas outras distribuições como o Debian Sid) com mais tranquilidade. O ASHOS fornece flexibilidade final para a instalação de sistemas operacionais, por exemplo, você pode configurar facilmente um proxmox VE imutável!
Ashos é uma meta-distribuição única que:
- pretende trazer imutabilidade até mesmo para distos que não têm esse recurso muito útil, ie arch linux, gentoo, etc.
- envolve qualquer distribuição Linux que possa ser inicializada (praticamente qualquer distribuição importante)
- Alvos para se tornar um instalador universal para diferentes distros e diferentes ambientes de desktop/gerentes de janelas
- pode instalar, implantar e botas com várias distribuições
Inicialmente inspirado pelo Arch Linux, Ashos usa um sistema de arquivos root imutável (somente leitura) para diferenciar-se de qualquer outra distro por aí. O software é instalado e configurado em árvores de instantâneos individuais, que podem ser implantadas e inicializadas. Ele não inventa outro formato de pacote ou gerenciador de pacotes, mas depende do gerenciador de pacotes nativo, por exemplo, Pacman do Arch.
As cinzas são uma das árvores mais antigas do mundo e inspiraram o nome de ashos.
Em Ashos, existem várias palavras -chave:
- Vanilla: Tentamos estar o mais próximo da versão "baunilha" da distribuição de destino que está sendo instalada.
- Minimalismo: aderimos a um sistema de construção LEGO. Comece pequeno e construa um sistema tão complexo quanto desejar. O foco principal do desenvolvimento é ter um instantâneo mínimo instalado sólido, com base no qual o usuário pode ter permutações imutáveis infinitas!
- Generalidade: Nós nos esforçamos para atender o denominador mais comum entre distroções e arquiteturas (x64, Aarch64, SPARC, etc.). Como tal, quando há uma escolha entre conveniência e abrangência/generalidade, vamos com o último. Para esclarecer com um exemplo, pode ser mais fácil usar o GRUB-BTRFS em vez de implementar nosso próprio mecanismo de atualização do GRUB, mas como esse pacote específico pode não estar prontamente disponível em todas as distros, desenvolvemos uma solução específica de Ashos. Dessa forma, podemos potencialmente atender a qualquer distribuição no futuro!
Isso tem várias vantagens:
Segurança
- Mesmo que execute um aplicativo com permissões elevadas, ele não pode substituir as bibliotecas do sistema por versões maliciosas
Estabilidade e confiabilidade
- Devido ao fato de o sistema ser montado apenas como leitura, não é possível substituir acidentalmente os arquivos do sistema
- Se o sistema tiver problemas, você poderá reverter facilmente o último instantâneo em funcionamento em minutos
- Atualizações atômicas - Atualizar seu sistema de uma só vez é mais confiável
- Graças ao recurso de instantâneo, ashos podem enviar software de ponta sem se tornar instável
- Ashos precisa de pouca manutenção, pois possui uma ferramenta de atualização totalmente automática que cria instantâneos antes de atualizações e verificar automaticamente se o sistema atualizou corretamente antes de implantar o novo instantâneo
Configurabilidade
- Com os instantâneos organizados em uma árvore, você pode facilmente ter várias configurações diferentes do seu software disponível, com pacotes variados, sem qualquer interferência
- Por exemplo: você pode instalar um único desktop do Gnome e depois ter 2 instantâneos no topo - um com seus videogames, com o mais novo kernel e drivers, e o outro para o trabalho, com o kernel LTS e o software mais estável, você pode alternar facilmente entre eles, dependendo do que está tentando fazer
- Você também pode experimentar o software facilmente sem ter que se preocupar em quebrar seu sistema ou poluí -lo com arquivos desnecessários, por exemplo, você pode experimentar um novo ambiente de desktop em um instantâneo e depois excluir o instantâneo depois, sem modificar seu sistema principal
- Isso também pode ser usado para sistemas multiusuário, onde cada usuário possui um sistema completamente separado com software diferente e, no entanto, eles podem compartilhar determinados pacotes, como kernels e drivers
- Ashos permite que você instale o software cocrando em instantâneos, portanto (por exemplo, em arco), você pode usar software como a AUR para instalar pacotes adicionais
- Ashos é, muito personalizável, você pode escolher exatamente qual software deseja usar (assim como o Arch Linux)
Graças às suas atualizações confiáveis e automáticas, o Ashos é bem adequado para dispositivos de uso único ou incorporado
Também contribui para uma boa estação de trabalho ou distribuição de uso geral, utilizando recipientes de desenvolvimento e aplicações FlatPak para desktop
NOTA IMPORTANTE: Primeiro experimente ashos em uma máquina virtual e fique confortável com ela antes de instalá -lo em metal nu. O instalador de Ashos é * cruel e assume que o usuário sabe o que está fazendo. Executando o instalador como está limpando o disco!
À medida que o Ashos se esforça para ser um sólido mínimo e seguir uma estrutura LEGO (iniciar pequena, personalizar à medida que avança), focamos principalmente o desenvolvimento na base, o que significa que não há nenhum ambiente de desktop (nem mesmo gerenciador de janelas). Isso é por design, de outra forma, a equipe deve apoiar muitos desm em muitas distritos. O que é fornecido são profiles . Como o DES/WMS são apenas pacotes, com potência de instantâneos, pode -se usar cinzas para instalar o DE/WM desejado. Por exemplo, para instalar o GNOME no instantâneo 1:
`ash clone 0` : create snapshot #1
`ash install 1 -P gnome` : install gnome in snapshot #1
`ash deploy 1`
`reboot`
Ashos comparados a outras distribuições semelhantes
- Nixos / GNU Guix - Comparado ao Nixos, ashos é um sistema mais tradicional com a forma como é configurada e mantida. Embora o Nixos seja totalmente configurado usando a linguagem de programação NIX, Ashos usa o gerente de pacotes nativo da distribuição de destino, por exemplo, Pacman for Arch, Apt-Get para Debian etc. Ashos consome menos armazenamento e configurar seu sistema é mais rápido e mais fácil (menos reproduzível), também oferece mais opções de personalização. Ashos é compatível com o FHS, garantindo a compatibilidade adequada do software. Ao contrário dos Nixos, você não precisa ter um doutorado. na ciência da computação para apenas administrar um sistema operacional imutável
- Ashos permite a configuração declarativa usando Ansible, para funcionalidade um tanto semelhante ao nixos
- Fedora Silverblue/Kinoite - Ashos é mais personalizável, mas requer mais configuração manual. Ashos suporta bota dupla, ao contrário do SilverBlue.
- OpenSuse Microos - Ashos é um sistema mais personalizável, mas mais uma vez requer uma configuração um pouco mais manual. O Microos funciona da mesma forma na maneira como utiliza instantâneos BTRFS. Ashos possui uma instalação oficial do KDE, mas também suporta outros ambientes de desktop, enquanto o Microos suporta apenas o GNOME. Ashos suporta bota dupla, bem como a deputação ao vivo do sistema e a instalação de pacotes sem reinicialização
Instalação
- (Nota: todos os scripts durante a instalação devem ser executados com privilégios de super usuário)
- Ashos é instalado a partir da ISO oficial LIVE para distribuição de destino. Por exemplo, Arch Linux, Debian/Debian Netinstaller etc.
- Arch ISO pode ser geralmente usado para inicializar outras distros, exceto: Use Debian Live Iso-híbrido para Bootstrap Debian, Ubuntu ISO para Bootstrap Ubuntu
- Dependendo da ISO ao vivo, é muito importante que scripts em
./src/prep/ sejam executados (preparando o ambiente ao vivo, bem como partição/formatação), caso contrário, haveria erro porque o tempo não é sincronizado etc. Por padrão, o instalador chamará esses scripts, mas se você quiser fazê -las manualmente, comentar as respectivas linhas das respectivas - Os comandos para corrigir problemas de banco de dados no ISO ao vivo (ou seja, arch_live.iso) levam muito tempo para ser executado. Pode -se comentar isso para que o instalador funcione significativamente mais rápido. Eles são incluídos principalmente para instalação de máquinas virtuais, onde os problemas de sincronização do tempo são abundantes.
- Se você tiver problemas para instalar pacotes durante a instalação, verifique se está usando o mais novo ISO e atualize o chaveiro do gerenciador de pacotes, se necessário
- Se estiver executando de um antigo Arch ISO, execute os comandos na seção
# Fix signature invalid error em ./src/prep/arch-live.sh - Você precisa de uma conexão com a Internet para instalar ashos
- Ashos costumava enviar com 3 perfis de instalação, um para instalações mínimas e duas para desktop (Gnome, KDE Plasma). Para torná -lo mais modular, redesenhamos -o e, por padrão, ele instala apenas um instantâneo básico mínimo. Uma vez feito isso, você pode instalar qualquer ambiente de desktop que desejar. Por exemplo, para o GNOME, uma vez inicializado no instantâneo básico, execute:
ash branch 0 # This produces node #N
ash install N --profile gnome
ash deploy N
- O suporte a mais DES será adicionado, mas não fará parte da instalação base.
- O script de instalação é facilmente configurável e ajustado para suas necessidades (mas funciona muito bem sem modificações)
Instale o git primeiro - isso nos permitirá baixar o script de instalação
Repositório de clones
git clone "https://github.com/ashos/ashos"
cd ashos
Unidade de partição e formato
- Se instalar em um sistema BIOS, use uma tabela de partição DOS (MBR)
- Na EFI, você pode usar GPT
- A partição EFI deve ser formatada para FAT32 antes de executar o instalador (
mkfs.fat -F32 /dev/<part> ) - Existem scripts de preparação em
./src/prep/
lsblk # Find your drive name
cfdisk /dev/*** # Format drive, make sure to add an EFI partition, if using BIOS leave 2M free space before first partition
mkfs.btrfs /dev/*** # Create a btrfs filesystem, don't skip this step!
Execute o instalador
python3 setup.py /dev/<root_partition> /dev/<drive> [/dev/<efi part>] [distro_id] ["distro_name"]# Skip the EFI partition if installing in BIOS mode
Here are 3 example scenarios:
example 1 (BIOS): python3 setup.py /dev/vda1 /dev/vda
This is a simple case when iso from the `same distro` is used
example 2 (UEFI): python3 setup.py /dev/nvm0p2 /dev/nvm0 /dev/nvm0p1 fedora "Fedora Linux"
When installing a distro using another distro's iso, the last two arguments are necessary
example 3 (UEFI): python3 setup.py /dev/sda2 /dev/sda /dev/sda1 cachyos "CachyOS Linux"
If for any reason, there is a mismatch between what distro actually is and its /etc/os-release file, it is [usually] mandatory to pass two additional arguments. Here even though we are using CachyOS iso file (which is based on Arch Linux), by investigating in /etc/os-release file, you would see ID and NAME are same as Arch Linux. In a single boot install, it is okay to not pass the last two arguments, but if you want a multiboot system (say dual boot with Arch Linux), they are required.
Os argumentos dentro dos colchetes são opcionais. Em relação ao quarto argumento: diga se você deseja instalar o alpine linux usando o arch linux iso, execute python3 setup.py /dev/vda2 /dev/vda /dev/vda1 alpine .
Publique instalação de instalação
- A instalação de postagem não é necessária se você instalar uma das edições da área de trabalho (Gnome ou KDE)
- Muitas informações sobre como lidar com a configuração pós-instalação estão disponíveis na página Archwiki
- Aqui está um pequeno procedimento de configuração de exemplo:
- Comece criando um novo instantâneo da
base usando ash clone 0 - Chroot dentro deste novo instantâneo (
ash chroot <snapshot> ) e inicie a configuração- Comece adicionando uma nova conta de usuário:
useradd username - Defina a senha do usuário
passwd username - Agora defina uma nova senha para o usuário root
passwd root - Agora você pode instalar pacotes adicionais (ambientes de desktop, tecnologias de contêineres, Flatpak) usando o Pacman
- Uma vez feito, saia do chroot com
exit - Então você pode implantá -lo com
ash deploy <snapshot>
Documentação adicional
- Para mais informações que não são abordadas neste projeto, é aconselhável se referir ao The Target Distro, ou seja, Arch Wiki
- Relatar questões/bugs na página de problemas do github
- Dica: você pode usar
ash --help para obter uma folha de trapaça rápida de todos os comandos disponíveis - Idealmente, gostaríamos de manter Ash como um único arquivo executável
- O script de cinzas é dividido em 2 arquivos: código comum (ashpk_core.py) e código específico da distro (ou seja, gentoo.py). Observe que nenhum desses arquivos pode ser executado independente (importar um script para o outro não se pretende). A divisão é apenas para facilitar o uso de arquivos como modelos no desenvolvimento de cinzas para outras distribuições. No momento da instalação de uma distro, os dois arquivos são simplesmente concatenados.
- Para não precisar de fontes adicionais, usamos o estilo ASCII ao imprimir a árvore de cinzas. Para uma saída mais agradável, fique à vontade para substituir asciistyle () por contstyle (), contrownstyle () ou dublestyle ()
- A outra coisa legal sobre o Ashos é que seus distrôs relacionados são construídos de maneira muito semelhante. Por exemplo, o instalador de Arch e Manjaro é muito semelhante, a diferença é apenas os repositórios de pacotes!
Instantâneo base
- O instantâneo
0 é reservado para o instantâneo do sistema básico, ele não pode ser alterado e só pode ser atualizado usando ash base-update
Gerenciamento de instantâneos
Mostre a árvore do sistema de arquivos
- A saída pode procurar, por exemplo, assim:
root - root
├── 0 - base snapshot
└── 1 - multi-user system
└── 4 - applications
├── 6 - MATE full desktop
└── 2*- Plasma full desktop
Adicione descrição ao instantâneo
- Os instantâneos permitem adicionar uma descrição a eles para facilitar a identificação
ash desc <snapshot> <description>
Exclua uma árvore
- Isso remove a árvore e tudo o que seus galhos
Configuração de inicialização personalizada
- Se você precisar usar uma configuração de grub personalizada, chroot em um instantâneo e editar
/etc/default/grub , depois implante o instantâneo e reinicie
Chroot no instantâneo
- Uma vez dentro do chroot, o sistema operacional se comporta como arco comum, para que você possa instalar e remover pacotes usando Pacman ou similar
- Não passe as cinzas de dentro de um chroot, isso pode causar danos ao sistema, há um FailSafe no lugar, que pode ser ignorado com
--chroot se você realmente precisar (não recomendado) - O chroot deve ser apagado corretamente com
exit , caso contrário, as alterações feitas não serão salvas - Se você não sair da maneira "limpa" com
exit , é recomendável executar ash tmp para limpar os arquivos temporários deixados para trás
- Você pode inserir uma concha desbloqueada dentro do instantâneo atual de botas com
- As alterações feitas para a sessão ao vivo não são salvas em novas implantações
Outras opções de chroot
- Executa um comando especificado dentro do instantâneo
ash run <snapshot> <command>
- Executa um comando especificado dentro do instantâneo e tudo o que são ramos
ash tree-run <tree> <command>
Clone Snapshot
- Este clones o instantâneo como uma nova árvore
Clonar uma árvore recursivamente
- Isso clones uma árvore inteira recursivamente
ash clone-tree <snapshot>
Crie novo galho de árvore
- Adiciona uma nova filial ao instantâneo especificado
ash branch <snapshot-to-branch-from>
Clone Snapshot sob o mesmo pai
Clone Snapshot sob pai especificado
- Certifique -se de sincronizar a árvore depois
ash ubranch <parent> <snapshot>
Crie nova árvore base
Implante instantâneo
- Reinicie para inicializar no novo instantâneo após implantar
Base de atualização de quais novos instantâneos são construídos a partir de
- A própria base está localizada em
/.snapshots/rootfs/snapshot-0 com seus arquivos específicos /var e /etc sendo localizados em /.snapshots/var/var-0 e /.snapshots/etc/etc-0 , portanto, se você realmente precisar e fazer uma mudança de configuração, o que pode ser um snapfot para que você possa fazer uma mudança de snaps/etc/ETC-0, assim como você realmente precisa fazer uma mudança de configuração, o que pode ser relevado, o que pode ser realizado, mas também pode fazer uma mudança de snapShots, que pode ser snaps/etc/ETC-0, portanto, se você realmente precisa fazer uma mudança de configuração, o que pode ser snapfot, que pode ser realizado, mas também pode fazer uma alteração de snapSots/ETC/ETC-0, pois, se você realmente precisar e fazer uma mudança de configuração.
Gerenciamento de pacotes
Instalação de software
- Execute
ash deploy <snapshot> e reinicie depois de instalar um novo software para alterações para aplicar (a menos que use a instalação ao vivo, mais informações abaixo), isso não é mais necessário por padrão. - O software também pode ser instalado usando Pacman em um chroot
- Aur pode ser usado sob o chroot
- Flatpak pode ser usado para instalação de embalagem persistente
- O uso de contêineres para instalação adicional de software também é uma opção. Uma maneira fácil de fazer isso é com a distrobóx
ash install <snapshot> <package>
- Depois de instalar, você pode sincronizar os pacotes recém -instalados a todos os galhos da árvore com
- A sincronização da árvore também atualiza automaticamente todos os instantâneos
- Se você deseja sincronizar sem atualizar (pode causar duplicação de pacotes no banco de dados), use
- Ash também suporta a instalação de pacotes sem reiniciar. Isso não é mais necessário. ### Review_later
ash install <snapshot> -p <package> --live
Remoção de software
- Para um único instantâneo
ash remove <snapshot> <package or packages>
ash tree-rmpkg <tree> <pacakge or packages>
Atualização
É aconselhável clonar um instantâneo antes de atualizá -lo, para que você possa reverter em caso de falha
Esta atualização atualiza apenas os pacotes do sistema, para atualizar as próprias cinzas, consulte esta seção
Para atualizar um único instantâneo
- Para atualizar recursivamente uma árvore inteira
Isso pode ser configurado em um script (ou seja, um script crontab) para atualizações automáticas fáceis e seguras
Se o sistema se tornar inalterável após uma atualização, você poderá inicializar a última implantação de trabalho (selecione no menu Grub) e depois executar uma reversão
- Então você pode reiniciar de volta a um sistema de trabalho
Configuração do instantâneo
- Ashos tem um sistema de configuração por snapshot
- Usando este sistema, podemos alternar algumas funcionalidades. Por exemplo, para aur (repositório de usuário do ARCH), procure no Arch Notes abaixo.
- Você precisa ter um editor de texto. Para Nano ou VI, Skip Step0 completamente:
Etapa0:
set $EDITOR environment variable (i.e. add 'EDITOR=nvim' line in ~/.bashrc)
reload it (i.e. source ~/.bashrc)
Add 'Defaults env_keep = "EDITOR PROMPT"' line to /etc/sudoers
- Salvar alterações e desistir
Observe que você pode pular a linha para /etc /sudoers, mas cada vez que você deve digitar 'sudo -e ash edit' para passar a variável de ambiente com sudo!
Extras
Salvando alterações de configuração feitas em /etc persistentemente
- Normalmente, a configuração deve ser feita com
ash chroot , mas às vezes você pode aplicar mudanças que você fez no sistema de inicialização persistentemente - Para fazer isso, use o seguinte comando
- Isso permite que você configure seu sistema modificando
/etc como de costume e salvando essas alterações.
Boot dupla
- Ashos suporta bota dupla usando o carregador de inicialização Grub
- Ao instalar o sistema, use a partição EFI existente
- Para configurar a bota dupla, devemos começar instalando o pacote
os-prober :
ash install <snapshot> os-prober
- Agora temos que configurar o grub
ash chroot <snapshot>
echo 'GRUB_DISABLE_OS_PROBER=false' >> /etc/default/grub
exit
- Agora basta implantar o instantâneo para reconfigurar o carregador de inicialização
Se o Windows for detectado, as cinzas devem retornar a saída ao longo das linhas do Found Windows Boot Manager on... Pode ser necessário instalar ntfs-3g primeiro e re-implantar se você não vir uma entrada do Windows. ### Review_later
Atualizando o próprio Ash
- Ash não é atualizado ao lado do sistema quando
ash upgrade é usada - Às vezes pode ser necessário atualizar o próprio Ash
- Ash pode ser atualizado com um único comando
Variado
Leia o acesso a várias partes do sistema de arquivos: /.snapshots/rootfs/snapshot-*: ro /.snapshots/etc/etc-**: ro /var: rw /: montado como ro, mas o próprio snapshot é rw /usr: ro /etc: rw: rw: rw: rw: r, r.
Para perfis GNOME e KDE, estamos assumindo que o usuário que deseja que as coisas funcionem como padrão e, como tal, instalamos o gerenciador de login padrão. Para qualquer outro perfil, focamos no minimalismo e apenas instalamos o TBSM. Obviamente, pode -se modificar facilmente isso, se quiserem.
Ao usar um arquivo ISO mais antigo, verifique se a linha FixDB não doméstica no script de preparação para a distro correspondente. Caso contrário, há circunstâncias de que, mesmo que a instalação pareça ter sucesso, você poderá obter erros de DB do Sync Package Manager quando inicializados na sua distração. Esse FIXDB pode tornar a parte inicial do processo de instalação muito lenta, mas pode valer a pena.
Recursos avançados
Esses são algum recurso avançado e sugerimos que você os use apenas se estiver pronto para quebrar, fazendo backups de dados e correções ocasionais. Eles podem não estar prontos para o horário nobre.
Multi-Boot
Para obter distritos diferentes, geralmente siga este procedimento:
- Instale o primeiro distro-A com a opção número 2 quando solicitado no início do instalador
- Instale distritos consequentes com a opção número 3 (importante: outras opções limparão as partições raiz ou raiz e efi)
Luks
A criptografia de disco integral usando LUKS2 é implementado. Isso significa também criptografar /bota, que é um recurso experimental do GRUB desde a v2.06. No momento, no mainstream, ele suporta apenas PBKDF2 e não o argon2 padrão. Isso desacelerará significativamente a inicialização, pois, por exemplo, a descriptografia do Cryptomount é de cerca de 30 segundos no arquivo de chave de 8kb. Se você planeja fazer multi-boot com outro sistema operacional, ainda não use esse recurso! Monnitamos o desenvolvimento do GRUB de perto e atualizaremos o mais rápido possível.
Alternância de mutabilidade
A beleza da personalização de Ashos é que podemos ter uma mistura de nós imutáveis e não imutáveis! Dentro da floresta/árvore de Ashos, pode -se fazer qualquer instantâneo (exceto a base 0 ) mutável. Por exemplo, para tornar o nó 9 Run Mutable sudo ash immen 9 . Isso torna um nó e qualquer criança (que seja criada depois) mutável.
Depuração de Ash
- Às vezes pode ser necessário depurar cinzas
- O comando a seguir é útil, pois mostra saídas de comandos ao executar ashpk.py:
sed -e 's| >/dev/null 2>&1||g' /usr/bin/ash > ashpk.py
Instalador de depuração
- Ao trabalhar em qualquer projeto de desenvolvimento do sistema operacional, muitos problemas podem surgir. É apenas a natureza de depuração neste projeto e precisa de paciência!
- Ao enfrentar problemas no instalador ou após a configuração inicial, vá para Grub e exclua
quiet de argumentos - Inicialização usando Ctrl+X e relate o que você observa
- Se possível, vá para tty2 por ctrl+alt+f2 e execute
journalctl -b e relate de volta
Bugs conhecidos
- No final do instalador, se o Luks for usado, haveria aviso
remove ioctl device or resource busy . Eles podem ser ignorados. Provavelmente causa: Systemd-Journald - A partição de troca não funciona, é recomendável usar um swapfile ou zram em vez disso
- Docker tem problemas com permissões, para corrigir a execução
sudo chmod 666 /var/run/docker.sock
- Se você tiver algum problema, relate -os na página de problemas
Contribuindo
- Estrela este repo!
- Por favor, dê uma olhada em
./src/profiles/ e adicione um ambiente de desktop ou gerenciador do Windows se estiver ausente. Tente ser o mais mínimo e baunilha possível. Se um pacote tiver nomes diferentes em diferentes distros (como o NetworkManager em Arch e Network-manager no Debian, crie um arquivo com o sufixo de distro para o perfil, isto é, no Gnome: Packages-Arch.txt vs. Packages-Debian.txt - Se o Ashos ainda não suportar sua distração, você pode fazê -lo com facilidade 'relativa'! Uma boa maneira seria usar o Arch como um modelo (./src/distros/arch/) para instalador.py, geralmente, apenas algumas das seções numeradas (indicadas como
# 1. Para # 6. ) Precisa ser adaptado ao novo sistema operacional. Para ashpk.py, converta os comandos no novo gerenciador de pacotes. - Ao adicionar novas funções a Ashpk_core.py ou ashpk_distro.py, adicione -as em ordem alfabética (exceto Main (), que é a última função em Ashpk_core.py para facilitar o acesso)
- Gostaríamos de manter ashpk_distro.py o menor possível, por isso é mais fácil traduzi -lo para outras distritos. Lembre-se disso se adicionar novos recursos/função ... o máximo possível, torne os recursos distro-agnósticos. (ou seja, adicione funções no Ashpk.py compartilhado, quando possível)
- Se você estiver adicionando um novo perfil (Windows Manager, ambiente de desktop), inclua absolutamente os pacotes mais minimamente exigidos. Dê uma olhada no Gnome, JWM ou I3, por exemplo. Para criar pacotes viáveis mínimos, se você já possui uma instalação de Ashos da distro -alvo (ou seja, Debian, Arch, Alpine etc.), crie um instantâneo de teste e tente instalar alguns pacotes e ver se funciona. Como alternativa, você pode usar um ambiente de baunilha limpo/chroot de distribuição de destino ou em uma máquina virtual ou imagem do docker. Alguns comandos de serviço Systemd de tempo podem ser necessários. Certifique -se de incluí -los também no arquivo confish conf.
- As contribuições de código e documentação são bem -vindas!
- Relatórios de bugs são uma boa maneira de contribuir para o projeto também
- Antes de enviar uma solicitação de tração, teste seu código e certifique -se de comentar corretamente
- Se uma parte do código precisar de mais longe, indique -o com
### YOUR_COMMENT - Ao adicionar código contribuinte ao projeto, siga sempre a abordagem de garfo e clone: bifurcar o principal repositório organizacional (Ashos/Ashos) sob seu git pessoal, faça as alterações, empurre suas alterações no seu git e, finalmente, crie uma solicitação de tração de volta ao repo principal.
Comunidade
- Sinta -se à vontade para se juntar a nós na Matrix ou Discord para mais discussões e apoio!
- Feliz instantâneo sem preocupações!
Todos
- Uma maneira limpa de unistall cinzas completamente
- Implementar a manutenção do pacote AUR entre instantâneos
- Torne ashos mais acessíveis a usuários não avançados
Notas específicas para distro
- Para pacotes-distro.conf, o gerenciador de tela mais lean (Xorg ou Wayland) incluído no repositório oficial da distro especificada seria incluída. Por exemplo, para o Arch Linux, isso seria 'slim', embora haja gerentes de exibição mais finos como 'ly', 'tbsm', 'CDM' etc. Mas, infelizmente, existem no momento em que escrevem este documento.
Arch Linux
Aur
- Ashos suporta a AUR nativamente
- Ashos usa o ajudante Paru Aur para fornecer essa funcionalidade
- Se você já está instalado Paru, verifique se ele foi removido do instantâneo primeiro:
ash remove <snapshot> paru e prossiga para as outras etapas - Para ativar o suporte da AUR, primeiro abra a configuração do instantâneo:
EDITOR=nano ash edit-conf <snapshot> # set the EDITOR variable
- Agora podemos ativar a AUR editando o arquivo como assim:
- Salvar alterações e desistir
- Agora o suporte da AUR está ativado, você pode usar
ash install e ash upgrade como de costume com pacotes AUR
Corrigindo pacotes corruptos do Pacman ou problemas -chave
- O gerenciador de pacotes de Pacman's Pacman às vezes exige uma atualização das teclas PGP
- Para corrigir esse problema, podemos simplesmente reinstalar eles arquear
ash install <snapshots> archlinux-keyring
Se isso não resolveu o problema, execute:
E como último recurso, Run: (Cuidado: isso pode ter efeitos indesejados)
Alpino
- Atualmente, existe um comportamento irregular com o pacote Grub (não o Grub-Efi que, embora o último dependa do primeiro), o que resulta em ter um banco de dados APK danificado em uma nova instalação / novo instantâneo! Como resultado, faz com que as operações também
ash in pois estamos verificando erros. Para consertar isso, execute:
ash un -p grub-efi grub -s <snapshot-number>
ash in -p grub-efi -s <snapshot-number>
Cachyos
- Você pode usar o Arch ISO ou o Cachyos ISO para instalação. Passe argumentos extras se estiver usando anterior (veja exemplos acima)
- O instalador da CLI é suficiente, não é necessário baixar o instalador da GUI.
Debian
- Ao emitir
sudo python3 setup.py /dev/sdXY /dev/sdX /dev/sdXZ , pode parecer que o instalador está congelado, mas na verdade está fazendo o que quer! Seja paciente e você terá um aviso para iniciar a instalação em cerca de 30 segundos! Por alguma razão, não estava mostrando o que está acontecendo de uma maneira agradável, então eu coloquei um comando set echo off . - Certifique -se de não perder o sudo no comando acima, caso contrário, haveria erro de permissão ao escrever para /mnt/.snapshots/...
Endeavos
- Inicie o processo de inicialização do arquivo ISO
- Quando o GRUB for solicitado, pressione as teclas 'e' e depois termine para adicionar 'single' ao final dos parâmetros do kernel. Quando solicitado sobre o modo de resgate, pressione Enter.
- Isso o deixará no modo de usuário único em vez do ambiente de desktop padrão
- Se o acesso à Internet não estiver disponível, execute
sudo dhclient - Caso contrário, se instalar no ambiente da área de trabalho, comente "SU" em Endevouros_Live.sh, pois ele solicitará uma senha. Em vez disso, execute o script como sudo.
Proxmox
- Use Debian Live iso-híbrido
- Encontre a versão mais recente do pve-kernel _*-PVE de http://download.proxmox.com/debian/dists/{ (release }/pve-no-subscription/binary-amd64/ e atualize Kernel_version.
-
sudo python3 setup.py /dev/sdXY /dev/sdX /dev/sdXZ proxmox "Proxmox VE" - Nota para o pacote
postfix : Configure pacotes que exigem entrada do usuário na instalação de acordo com suas necessidades. Se você possui um servidor de correio em sua rede, configure o Postfix como um sistema de satélite. Seu servidor de email existente será o host de revezamento que direcionará os e -mails enviados pelo Proxmox VE para o destinatário final. Se você não sabe o que entrar aqui, escolha apenas local e deixe o nome do sistema como está.
Ubuntu
- Download Links: Link 1, Link 2
- No Grub, você pode passar um
single argumento para o kernel Linux para inicializar no modo único e pressionar Enter para manutenção (como nenhum GUI é necessário para este instalador, é muito mais rápido inicializar) - Em julho de 2022, o Debian ISO não pode ser usado para inicializar 'Jammy' (ZSTD Bug: https://bugs.debian.org/892664)
Este projeto está licenciado sob o AGPLV3.