
[Čeština] | [中文] | [پارسی]
Necesitamos su ayuda para traducir este readme. ¡Mira aquí!
Ashos (cualquier sistema operativo jerárquico de instantáneas)
Una metadistribución inmutable en forma de árbol utilizando instantáneas
(No, esta no es otra piel/"distribución"!)
Tenga en cuenta que, para el propósito de este proyecto, conformarse con la forma 'pitónica' no era un objetivo, ya que en el futuro, la implementación podría cambiar a la óxido, C, C ++, etc. Nos gustaría estar lo más cerca posible de Sans-Bashism Shell que cumpla con POSIX.
Tabla de contenido
- ¿Qué es Ashos?
- Ashos en comparación con otras distribuciones similares
- Documentación de Ash y Ashos
- Instalación
- Instalación post
- Gestión de instantáneas e implementaciones
- Gestión de paquetes
- Configuración de instantáneas
- Documentación adicional
- Actualización de las teclas Pacman
- Guardar cambios de configuración realizados en /etc de manera persistente
- Configuración de arranque dual
- Actualización de Ash en sí misma
- Misceláneas
- Características avanzadas
- Múltiple
- Luks
- Mutabilidad alternar
- Depuración de cenizas
- Instalador de debuggin
- Errores conocidos
- Que contribuye
- Comunidad
- Diádico
- Notas específicas de distribución
- Arco
- Aur
- Fijar paquetes corruptos de Pacman o problemas clave
- alpino
- Cachio
- Debian
- Esfuerzo
- Proxmox
- Ubuntu
¿Qué es Ashos?
Siempre quisiste probar Fedora Rawhide, pero después de unos días, su fragilidad te puso de los nervios. Entonces, tal vez probaste Fedora SilverBlue Rawhide, pero luego sus complicadas y lentas operaciones de ostraste tipo GIT mataron tu estado de ánimo. ¡Bueno, no más! Ahora puede probar esta distribución de borde sangrante (y muchas más distribuciones como Debian Sid) con más tranquilidad. ASHOS proporciona una flexibilidad definitiva para instalar sistemas operativos, por ejemplo, ¡puede configurar fácilmente un proxmox VE inmutable!
Ashos es una metadistribución única que:
- Su objetivo es aportar inmutabilidad incluso a distribuciones que no tienen esta característica muy útil, es decir, Arch Linux, Gentoo, etc.
- envuelve cualquier distribución de Linux que se pueda arrancar (prácticamente cualquier distribución importante)
- objetivos para convertirse en un instalador universal para diferentes distribuciones y diferentes entornos de escritorio/administradores de ventanas
- puede instalar, implementar y múltiples boot cualquier cantidad de distribuciones
Inicialmente inspirado en Arch Linux, Ashos usa un sistema de archivos raíz inmutable (de solo lectura) para diferenciarse de cualquier otra distribución. El software se instala y se configura en árboles de instantáneas individuales, que luego se pueden implementar y iniciar. No inventa otro formato de paquete o administrador de paquetes, sino que se basa en el administrador de paquetes nativos, por ejemplo, Pacman de Arch.
Las cenizas son uno de los árboles más antiguos del mundo e inspiraron a las cenizas de nombres.
En Ashos, hay varias palabras clave:
- Vanilla: Tratamos de estar tan cerca de la versión "vainilla" de la distribución de objetivos que se está instalando.
- Minimalismo: nos adhirimos a un sistema de construcción LEGO. Comience un sistema tan complejo como lo desee. ¡El enfoque principal del desarrollo es tener una instantánea mínima sólida, en función de la cual el usuario puede tener permutaciones inmutables infinitas!
- Generalidad: Nos esforzamos por atender al denominador más común entre las distribuciones y las arquitecturas (X64, Aarch64, SPARC, etc.). Como tal, cuando hay una opción entre conveniencia y integridad/generalidad, vamos con este último. Para aclarar con un ejemplo, podría ser más fácil usar Grub-BTRFS en lugar de implementar nuestro propio mecanismo de actualización de GRUB, pero debido a que ese paquete en particular podría no estar disponible en todas las distribuciones, desarrollamos una solución específica de ASHOS. De esta manera, ¡podemos satisfacer cualquier distribución en el futuro!
Esto tiene varias ventajas:
Seguridad
- Incluso si ejecuta una aplicación con permisos elevados, no puede reemplazar las bibliotecas del sistema con versiones maliciosas
Estabilidad y confiabilidad
- Debido a que el sistema se monta solo como leída, no es posible sobrescribir accidentalmente los archivos del sistema
- Si el sistema se encuentra con problemas, puede revertir fácilmente la última instantánea de trabajo en cuestión de minutos
- Actualizaciones atómicas: actualizar su sistema a la vez más confiable es más confiable
- Gracias a la función de instantánea, Ashos puede enviar software de vanguardia sin volverse inestable
- Ashos necesita poco mantenimiento, ya que tiene una herramienta de actualización totalmente automática incorporada que crea instantáneas antes de las actualizaciones y verifica automáticamente si el sistema se actualizó correctamente antes de implementar la nueva instantánea
Configurabilidad
- Con las instantáneas organizadas en un árbol, puede tener fácilmente múltiples configuraciones diferentes de su software disponibles, con diferentes paquetes, sin ninguna interferencia.
- Por ejemplo: puede tener un solo escritorio de gnomo instalado y luego tener 2 instantáneas en la parte superior: una con sus videojuegos, con el núcleo y los controladores más nuevos, y el otro para trabajar, con el kernel LTS y un software más estable, puede cambiar fácilmente entre estos dependiendo de lo que esté tratando de hacer
- También puede probar fácilmente el software sin tener que preocuparse por romper su sistema o contaminarlo con archivos innecesarios, por ejemplo, puede probar un nuevo entorno de escritorio en una instantánea y luego eliminar la instantánea después, sin modificar su sistema principal en absoluto.
- Esto también se puede utilizar para sistemas de usuarios múltiples, donde cada usuario tiene un sistema completamente separado con un software diferente y, sin embargo, puede compartir ciertos paquetes, como núcleos y controladores.
- ASHOS le permite instalar software colocando en las instantáneas, por lo tanto (por ejemplo, en el sabor del arco), puede usar software como el AUR para instalar paquetes adicionales
- Ashos es muy personalizable, puede elegir exactamente qué software desea usar (al igual que Arch Linux)
Gracias a sus actualizaciones confiables y automáticas, Ashos es adecuado para dispositivos de uso único o integrado
También es una buena estación de trabajo o distribución de uso general que utiliza contenedores de desarrollo y platera para aplicaciones de escritorio
Nota importante: Primero pruebe Ashos en una máquina virtual y siéntete cómodo con ella antes de instalarlo en metal desnudo. El instalador Ashos es * despiadado y asume que el usuario sabe lo que está haciendo. ¡Ejecutar el instalador como está limpiando el disco!
A medida que Ashos se esfuerza por ser mínimos sólidos y seguir una estructura similar a LEGO (comienzan pequeños, personalice a medida que avanza), centramos principalmente el desarrollo en la base, lo que significa que no se instala ningún entorno de escritorio (ni siquiera un administrador de ventanas). Esto es por diseño, ya que de lo contrario el equipo tiene que admitir muchos DES en muchas distribuciones. Lo que se proporciona son profiles . Como DES/WMS son solo paquetes, con alimentación de instantáneas, uno puede usar cenizas para instalar el DE/WM deseado. Por ejemplo, para instalar gnome en la instantánea 1:
`ash clone 0` : create snapshot #1
`ash install 1 -P gnome` : install gnome in snapshot #1
`ash deploy 1`
`reboot`
Ashos en comparación con otras distribuciones similares
- NIXOS / GNU GUIX : en comparación con Nixos, Ashos es un sistema más tradicional con la forma en que está configurada y mantenida. Si bien Nixos está completamente configurado utilizando el lenguaje de programación NIX, Ashos utiliza el administrador de paquetes nativo de distribución de destino, por ejemplo, Pacman para Arch, apt-get para Debian, etc. Ashos consume menos almacenamiento y configurar su sistema es más rápido y más fácil (menos reproducible), también le brinda más opciones de personalización. Ashos cumple con FHS, asegurando la compatibilidad adecuada del software. A diferencia de Nixos, no necesitas tener un Ph.D. en informática para ejecutar un sistema operativo inmutable
- ASHOS permite la configuración declarativa utilizando Ansible, para una funcionalidad algo similar a Nixos
- Fedora SilverBlue/Kinoite : Ashos es más personalizable, pero requiere una configuración más manual. Ashos admite botas duales, a diferencia de SilverBlue.
- OpenSuse Microos : Ashos es un sistema más personalizable, pero una vez más requiere un poco más de configuración manual. Microos funciona de manera similar en la forma en que utiliza instantáneas BTRFS. Ashos tiene una instalación oficial de KDE, pero también admite otros entornos de escritorio, mientras que Microos solo admite correctamente GNOME. ASHOS admite arranque dual, así como en vivo el sistema e instalación de paquetes sin reiniciar
Instalación
- (Nota: todos los scripts durante la instalación deben ejecutarse con privilegios de supervisión de super)
- Ashos se instala desde el ISO en vivo oficial para la distribución de objetivos. Por ejemplo, Arch Linux, Debian/Debian Netinstaller, etc.
- Arch ISO se puede usar generalmente para arrancar otras distribuciones, excepto: use Debian Live ISO-Hybrid para Bootstrap Debian, Ubuntu ISO a Bootstrap Ubuntu
- Dependiendo de la ISO en vivo, es muy importante que los scripts en
./src/prep/ se ejecutaran (preparando el entorno en vivo y la partición/formato) de lo contrario habría error porque el tiempo no está sincronizado, etc. Por defecto, el instalador llamará a estos scripts, pero si desea hacerlos manualmente, solo comente las líneas respectivas. - Los comandos para solucionar los problemas del paquete DB en ISO en vivo (es decir, arch_live.iso) tardan mucho en ejecutarse. Uno puede comentar estos para que el instalador se ejecute significativamente más rápido. Se incluyen principalmente para la instalación de la máquina virtual donde los problemas de sincronización de tiempo son abundantes.
- Si se encuentra con problemas de instalación de paquetes durante la instalación, asegúrese de usar el ISO más nuevo y actualice el llavero del administrador del paquete si es necesario
- Si se ejecuta desde un antiguo arco ISO, ejecute los comandos en la sección
# Fix signature invalid error en ./src/prep/arch-live.sh - Necesita una conexión a Internet para instalar ashos
- Ashos solía enviar con 3 perfiles de instalación, uno para instalaciones mínimas y dos para escritorio (Gnome, KDE Plasma). Para hacerlo más modular, lo rediseñamos y, por defecto, solo instala una instantánea de base mínima. Una vez hecho esto, puede instalar cualquier entorno de escritorio que desee. Por ejemplo, para GNOME, una vez arrancado en la instantánea base, ejecute:
ash branch 0 # This produces node #N
ash install N --profile gnome
ash deploy N
- Se agregará soporte para más DE, pero no será parte de la instalación base.
- El script de instalación es fácilmente configurable y ajustado para sus necesidades (pero funciona bien sin ninguna modificación)
Instalar Git primero: esto nos permitirá descargar el script de instalación
Repositorio de clon
git clone "https://github.com/ashos/ashos"
cd ashos
Partition and Format Drive
- Si se instala en un sistema BIOS, use una tabla de partición DOS (MBR)
- En EFI puedes usar GPT
- La partición EFI debe formatearse a FAT32 antes de ejecutar el instalador (
mkfs.fat -F32 /dev/<part> ) - Hay scripts de preparación debajo
./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!
Ejecutar 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.
Los argumentos dentro de los soportes cuadrados son opcionales. Con respecto al cuarto argumento: digamos si desea instalar Alpine Linux usando Arch Linux ISO, ejecute python3 setup.py /dev/vda2 /dev/vda /dev/vda1 alpine .
Configuración de la instalación post
- La configuración de la instalación posterior no es necesaria si instala una de las ediciones de escritorio (GNOME o KDE)
- Una gran cantidad de información sobre cómo manejar la configuración posterior a la instalación está disponible en la página Archwiki
- Aquí hay un pequeño procedimiento de configuración de ejemplo:
- Comience por crear una nueva instantánea desde
base usando ash clone 0 - Chroot dentro de esta nueva instantánea (
ash chroot <snapshot> ) y comience a configurar- Comience agregando una nueva cuenta de usuario:
useradd username - Establezca la contraseña de usuario
passwd username - Ahora establezca una nueva contraseña para el usuario root
passwd root - Ahora puede instalar paquetes adicionales (entornos de escritorio, tecnologías de contenedores, plano) usando Pacman
- Una vez hecho, salga del chroot con
exit - Luego puede implementarlo con
ash deploy <snapshot>
Documentación adicional
- Para obtener más información que no está cubierta en este proyecto, se recomienda referirse a la distribución de Target IE Arch Wiki
- Informar problemas/errores en la página de problemas de GitHub
- Sugerencia: puedes usar
ash --help para obtener una hoja de trucos rápida de todos los comandos disponibles - Idealmente, nos gustaría mantener a Ash como ejecutable de un solo archivo
- El script Ash se divide en 2 archivos: código común (ashpk_core.py) y código específico de distribución (es decir, gentoo.py). Tenga en cuenta que ninguno de estos archivos se puede ejecutar independientemente (importar un script en el otro no está destinado). La división es solo para aliviar el uso de archivos como plantillas para desarrollar cenizas para otras distribuciones. Al momento de instalar una distribución, los dos archivos simplemente están concatenados.
- Para no necesitar fuentes adicionales, usamos el estilo ASCII al imprimir el árbol de cenizas. Para una salida más agradable, siéntase libre de reemplazar asciistyle () con contstyle (), contundstyle () o doubleStyle ()
- La otra cosa agradable de Ashos es que sus distros relacionados están construidos de manera muy similar. Por ejemplo, el instalador para Arch y Manjaro son muy similares, ¡la diferencia es que es el paquete reposado!
Instantánea base
- La instantánea
0 está reservada para la instantánea del sistema base, no se puede cambiar y solo se puede actualizar utilizando ash base-update
Gestión de instantáneas
Mostrar el árbol del sistema de archivos
- La salida puede verse, por ejemplo, así:
root - root
├── 0 - base snapshot
└── 1 - multi-user system
└── 4 - applications
├── 6 - MATE full desktop
└── 2*- Plasma full desktop
Agregue la descripción a la instantánea
- Las instantáneas le permiten agregar una descripción para una identificación más fácil
ash desc <snapshot> <description>
Eliminar un árbol
- Esto elimina el árbol y todas sus ramas
Configuración de arranque personalizada
- Si necesita usar una configuración de grub personalizada, coloque en una instantánea y editar
/etc/default/grub , luego implementa la instantánea y reinicie
chroot en instantánea
- Una vez dentro del chroot, el sistema operativo se comporta como un arco normal, por lo que puede instalar y eliminar paquetes con Pacman o similar
- No ejecute cenizas desde el interior de un chroot, podría causar daños al sistema, hay un fallas a prueba de fallas, que se puede pasar por alto con
--chroot si realmente necesita (no recomendado) - El chroot debe salir correctamente con
exit , de lo contrario los cambios realizados no se guardarán - Si no sale de la manera "limpia" con
exit , se recomienda ejecutar ash tmp para borrar los archivos temporales dejados
- Puede ingresar una carcasa desbloqueada dentro de la instantánea de arranque actual con
- Los cambios realizados en la sesión en vivo no se guardan en nuevas implementaciones
Otras opciones de chroot
- Ejecuta un comando especificado dentro de la instantánea
ash run <snapshot> <command>
- Ejecuta un comando especificado dentro de la instantánea y todas sus ramas
ash tree-run <tree> <command>
Instantánea de clon
- Esto cliona la instantánea como un árbol nuevo
Clonar un árbol recursivamente
- Esto cliona un árbol entero recursivamente
ash clone-tree <snapshot>
Crear una nueva rama de árbol
- Agrega una nueva rama a la instantánea especificada
ash branch <snapshot-to-branch-from>
Instantánea de clon bajo el mismo padre
Instantánea clon bajo el padre especificado
- Asegúrese de sincronizar el árbol después
ash ubranch <parent> <snapshot>
Crear un nuevo árbol base
Implementar instantánea
- Reiniciar para iniciar la nueva instantánea después de implementar
Actualizar la base de la cual se construyen nuevas instantáneas desde
- NOTA: La base en sí se encuentra en
/.snapshots/rootfs/snapshot-0 con sus archivos específicos /var y /etc que se ubica en /.snapshots/var/var-0 y /.snapshots/etc/etc-0 respectivamente, por lo tanto, si realmente necesita hacer un cambio de configuración, puede montar instantáneas esto como lectura y luego snapshot de retroceso, por lo tanto.
Gestión de paquetes
Instalación de software
- Ejecute
ash deploy <snapshot> y reinicie después de instalar un nuevo software para aplicar los cambios (a menos que use la instalación en vivo, más información a continuación) Esto ya no se necesita de forma predeterminada. - El software también se puede instalar utilizando Pacman en un chroot
- AUR se puede usar debajo del chroot
- Flatpak se puede usar para la instalación de paquetes persistentes
- El uso de contenedores para la instalación de software adicional también es una opción. Una forma fácil de hacer esto es con DistroBox
ash install <snapshot> <package>
- Después de instalar, puede sincronizar los paquetes recién instalados a todas las ramas del árbol con
- Sincronizar el árbol también actualiza automáticamente todas las instantáneas
- Si desea sincronizar sin actualizar (podría causar la duplicación de paquetes en la base de datos), use
- Ash también admite la instalación de paquetes sin reiniciar. Esto ya no es necesario. ### Review_later
ash install <snapshot> -p <package> --live
Eliminación de software
- Para una sola instantánea
ash remove <snapshot> <package or packages>
ash tree-rmpkg <tree> <pacakge or packages>
Actualización
Se recomienda clonar una instantánea antes de actualizarla, para que pueda retroceder en caso de falla
Esta actualización solo actualiza los paquetes del sistema, para actualizar la ceniza en sí, consulte esta sección
Para actualizar una sola instantánea
- Para actualizar recursivamente un árbol completo
Esto se puede configurar en un script (es decir, un script crontab) para actualizaciones automáticas fáciles y seguras
Si el sistema se vuelve incomitable después de una actualización, puede iniciar la última implementación de trabajo (seleccione en el menú Grub) y luego realizar una reversión
- Entonces puedes volver a reiniciar a un sistema de trabajo
Configuración de instantáneas
- Ashos tiene un sistema de configuración por snapshot
- Usando este sistema podemos alternar algunas funcionalidades. Por ejemplo, para AUR (Repositorio de usuarios de Arch), mire en las notas Arch a continuación.
- Necesitas tener un editor de texto. Para Nano o VI, omita el paso 0 por completo:
Paso 0:
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
Tenga en cuenta que puede omitir la línea para /etc /sudoers, pero cada vez debe escribir 'sudo -e ash edit' para pasar la variable de entorno con sudo.
Extras
Guardar cambios de configuración realizados en /etc de manera persistente
- Normalmente, la configuración debe hacerse con
ash chroot , pero a veces es posible que desee aplicar los cambios que ha realizado en el sistema de arranque persistentemente - Para hacer esto, use el siguiente comando
- Esto le permite configurar su sistema modificando
/etc como de costumbre, y luego guardando estos cambios.
Bota dual
- Ashos admite arranque dual con el gestor de arranque grub
- Al instalar el sistema, use la partición EFI existente
- Para configurar el arranque dual, debemos comenzar instalando el paquete
os-prober :
ash install <snapshot> os-prober
- Ahora tenemos que configurar grub
ash chroot <snapshot>
echo 'GRUB_DISABLE_OS_PROBER=false' >> /etc/default/grub
exit
- Ahora implementa la instantánea para reconfigurar el cargador de arranque
Si se detecta Windows, Ash debe devolver la salida en las líneas del Found Windows Boot Manager on... Es posible que deba instalar ntfs-3g primero y volver a implementar si no ve una entrada de Windows. ### Review_later
Actualización de Ash en sí misma
- Ash no se actualiza junto con el sistema cuando se usa
ash upgrade - A veces puede ser necesario actualizar la ceniza misma
- Ash se puede actualizar con un solo comando
Misceláneas
Acceso de lectura-write a varias partes del sistema de archivos: /.snapshots/rootfs/snapshot-*: ro /.snapshots/etc/etc-*: ro /var: rw /: montado como ro, pero la instantánea en sí es rw /usr: ro /etc: rw
Para los perfiles GNOME y KDE, asumimos que el usuario solo quiere que las cosas funcionen como predeterminadas y, como tal, instalamos un administrador de inicio de sesión predeterminado. Para cualquier otro perfil, nos centramos en el minimalismo y solo instalamos TBSM. Obviamente, uno puede modificar esto fácilmente si lo eligen.
Cuando use un archivo ISO anterior, asegúrese de una línea FixDB sin comment en el script de preparación para la distribución correspondiente. De lo contrario, hay circunstancias que, incluso si la instalación parece ser exitosa, puede obtener errores DB de Sync Package Manager cuando se inicia en su distribución. Este FixDB puede hacer que la parte inicial del proceso de instalación sea muy lenta, pero podría valer la pena.
Características avanzadas
Estas son una característica avanzada y le sugerimos que las use solo si está listo para la rotura, realiza copias de seguridad de datos y soluciones ocasionales. Puede que no estén listos para el horario estelar.
Múltiple
Para distribuciones diferentes de múltiples boot, generalmente sigue este procedimiento:
- Instale First Distro-A con la opción número 2 cuando se le solicita al comienzo del instalador
- Instale las distribuciones consecuentes con la opción número 3 (importante: otras opciones borrarán las particiones raíz o de raíz y EFI)
Luks
Se implementa el cifrado de disco completo utilizando LUKS2. Esto significa también encriptar /arranque, que es una característica experimental de GRUB desde v2.06. En este momento en la corriente principal, solo admite PBKDF2 y no el argon2 predeterminado. Esto disminuirá significativamente el arranque, ya que, por ejemplo, el descifrado de Cryptomount es de aproximadamente 30 segundos en el archivo de teclas de 8 kb. Si planea ser múltiple con otro sistema operativo, ¡no use esta función todavía ! Monnitore el desarrollo de GRUB de cerca y se actualizaremos lo antes posible.
Mutabilidad alternar
¡La belleza de la personalización de Ashos es que podemos tener una mezcla de nodos inmutables y no inmutables! Dentro del bosque/árbol de Ashos, uno puede hacer cualquier instantánea (que no sea base 0 ) mutable. Por ejemplo, para hacer que el nodo 9 se ejecute sudo ash immen 9 . Esto hace que un nodo y cualquier niño (que se creen después) mutable.
Depuración de cenizas
- A veces puede ser necesario depurar cenizas
- El siguiente comando es útil ya que muestra salidas de comandos al ejecutar ashpk.py:
sed -e 's| >/dev/null 2>&1||g' /usr/bin/ash > ashpk.py
Instalador de depuración
- Mientras trabaja en cualquier proyecto de desarrollo del sistema operativo, pueden surgir muchos problemas. ¡Es solo la naturaleza de la depuración en este proyecto y necesita paciencia!
- Cuando se enfrente a problemas en el instalador o después de que se realice la configuración inicial, vaya a GRUB y elimine
quiet de los argumentos - Arrancar usando ctrl+x e informar lo que observa
- Si es posible, vaya a TTY2 por Ctrl+Alt+F2 y ejecute
journalctl -b e informe de nuevo
Errores conocidos
- Al final del instalador, si se usa Luks, habría advertencia
remove ioctl device or resource busy . Se pueden ignorar. Causa muy probable: Systemd-Journald - La partición de intercambio no funciona, se recomienda usar un archivo de intercambio o zram en su lugar
- Docker tiene problemas con los permisos, para arreglar la ejecución
sudo chmod 666 /var/run/docker.sock
- Si se encuentra con algún problema, infórmelos en la página de problemas
Que contribuye
- ¡Estrella este repositorio!
- Eche un vistazo a
./src/profiles/ y agregue un entorno de escritorio o Windows Manager si falta. Intente ser lo más mínimo y vainilla posible. Si un paquete tiene diferentes nombres en diferentes distribuciones (como NetworkManager en Arch y Manager de Network en Debian, cree un archivo con el sufijo de distribución para el perfil, es decir, en Gnome: paquetes-arqu.txt vs. paquetes debian.txt - Si Ashos aún no admite su distribución, ¡puede hacerlo con una facilidad 'relativa'! Una buena manera sería usar Arch como plantilla (./src/distros/arch/) para instalador.py, por lo general, solo algunas de las secciones numeradas (indicadas como
# 1. A # 6. ) Deben adaptarse al nuevo sistema operativo. Para Ashpk.py, convierta los comandos en el nuevo Administrador de paquetes. - Al agregar nuevas funciones a ashpk_core.py o ashpk_distro.py, agrégalas en orden alfabético (excepto main (), que es la última función en ashpk_core.py para un acceso más fácil)
- Nos gustaría mantener ashpk_distro.py lo más pequeño posible, por lo que es más fácil traducirlo a otras distribuciones. Tenga esto en cuenta si agregar nuevas características/función ... tanto como sea posible, haga características de distribución-agnóstica. (es decir, agregar funciones en el ashpk.py compartido cuando sea posible)
- Si está agregando un nuevo perfil (Windows Manager, entorno de escritorio), incluya absolutamente los paquetes más mínimamente requeridos. Eche un vistazo a Gnome, JWM o I3, por ejemplo. Para crear paquetes mínimos viables, si ya tiene una instalación de ashos de Distro de Target (es decir, Debian, Arch, Alpine, etc.), cree una instantánea de prueba e intente instalar como pocos paquetes e vea si funciona. Alternativamente, puede usar un entorno de vainilla limpio/chroot de distribución de destino o en una máquina virtual o imagen de Docker. Es posible que se requiera comandos de servicio Systemd de tiempo. Asegúrese de incluirlos en el archivo de perfil de perfil también.
- ¡Las contribuciones de código y documentación son bienvenidos!
- Los informes de errores también son una buena forma de contribuir al proyecto
- Antes de enviar una solicitud de extracción, pruebe su código y asegúrese de comentarlo correctamente
- Si una parte del código necesita más demoras, indíquelo con
### YOUR_COMMENT - Al agregar código contribuyente al proyecto, siempre siga el enfoque de la bifurcación y el clon: el repositorio organizacional principal (ashos/ashos) bajo su git personal, realice los cambios, impulse sus cambios a su GIT y finalmente cree una solicitud de extracción al repositorio principal.
Comunidad
- ¡No dude en unirse a nosotros en Matrix o Discord para una mayor discusión y apoyo!
- ¡Feliz instantánea sin preocupaciones!
Diádico
- Una forma limpia de unir completamente cenizas
- Implementar el mantenimiento del paquete AUR entre instantáneas
- Hacer que Ashos sea más accesible para usuarios no avanzados
Notas específicas de distribución
- Para los paquetes-distro.conf, se incluiría el gerente de exhibición más delgado (ya sea Xorg o Wayland) que se incluye en el repositorio oficial de la distribución dada. Por ejemplo, para Arch Linux, esto sería 'delgado', a pesar de que hay gerentes de visualización más delgados como 'ly', 'TBSM', 'CDM', etc. Pero desafortunadamente hay en el momento de escribir este documento.
Arch Linux
Aur
- Ashos apoya el Aur de forma nativa
- Ashos usa el paru aur ayudante para proporcionar esta funcionalidad
- Si ya tiene instalado PARU, asegúrese de que se retire primero de la instantánea:
ash remove <snapshot> paru , luego continúe con los otros pasos - Para habilitar el soporte de AUR, primero abra la configuración de la instantánea:
EDITOR=nano ash edit-conf <snapshot> # set the EDITOR variable
- Ahora podemos habilitar AUR editando el archivo así:
- Guardar cambios y salir
- Ahora el soporte AUR está habilitado, puede usar
ash install y ash upgrade como de costumbre con los paquetes AUR
Fijar paquetes corruptos de Pacman o problemas clave
- Arch's Pacman Package Manager a veces requiere una actualización de las teclas PGP
- Para solucionar este problema, simplemente podemos reinstalar el arco arqueado
ash install <snapshots> archlinux-keyring
Si esto no resolvió el problema, ejecute:
Y como último recurso, ejecute: (Precaución: esto podría tener efectos no deseados)
alpino
- Actualmente, existe un comportamiento errático con el paquete GRUB (no GRUB-EFI que, aunque este último depende de la primera), lo que resulta en tener una base de datos APK dañada en una nueva instalación / nueva instantánea. Como resultado, hace que
ash in las operaciones también falle, ya que buscamos errores. Para arreglar esto, ejecute:
ash un -p grub-efi grub -s <snapshot-number>
ash in -p grub-efi -s <snapshot-number>
Cachio
- Puede usar Arch ISO o Cachyos ISO para la instalación. Pase argumentos adicionales si usa el anterior (Mire los ejemplos anteriores)
- El instalador CLI es suficiente, no es necesario descargar GUI Installer.
Debian
- Al emitir
sudo python3 setup.py /dev/sdXY /dev/sdX /dev/sdXZ , puede parecer que el instalador se ha congelado, ¡pero en realidad está haciendo lo suyo! ¡Tenga paciencia y obtendrá un mensaje para iniciar la instalación en unos 30 segundos! Por alguna razón, no mostraba lo que está sucediendo de una manera agradable, así que puse un set echo off Command. - Asegúrese de no perderse sudo en el comando anterior, de lo contrario habría un error de permiso al escribir a /mnt/.snapshots/...
Esfuerzo
- Inicie el proceso de arranque desde el archivo ISO
- Cuando se solicite la comida, presione las teclas 'E' y luego termine para agregar 'individual' al final de los parámetros del núcleo. Cuando se le solicite sobre el modo de rescate, presione Entrar.
- Esto lo enviará al modo de usuario único en lugar del entorno de escritorio predeterminado
- Si el acceso a Internet no está disponible, ejecute
sudo dhclient - De lo contrario, si se instala desde el entorno de escritorio, comente "SU" en endevouros_live.sh, ya que solicitará una contraseña. En su lugar, ejecute el script como sudo.
Proxmox
- Use Debian Live ISO-Hybrid
- Encuentre la última versión de Pve-Kernel _*-PVE de http://download.proxmox.com/debian/dists/{releaseh/
-
sudo python3 setup.py /dev/sdXY /dev/sdX /dev/sdXZ proxmox "Proxmox VE" - Nota para el paquete
postfix : Configure los paquetes que requieren la entrada del usuario en la instalación de acuerdo con sus necesidades. Si tiene un servidor de correo en su red, debe configurar Postfix como un sistema satelital. Su servidor de correo existente será el host de retransmisión que enrutará los correos electrónicos enviados por Proxmox VE a su destinatario final. Si no sabe qué ingresar aquí, elija solo local y deje el nombre del sistema tal como está.
Ubuntu
- Descargar enlaces: enlace 1, enlace 2
- En grub, puede pasar
single como argumento al kernel de Linux para arrancar en modo único y presionar Entrar para el mantenimiento (ya que no se requiere GUI para este instalador, es mucho más rápido iniciarlo) - A partir de julio de 2022, Debian ISO no se puede usar para arrancar 'Jammy' (ZSTD Bug: https://bugs.debian.org/892664)
Este proyecto tiene licencia bajo el AGPLV3.