¿Métodos para probar nuevas versiones del sistema operativo sin comprometerse con ello?

19

Quiero probar nuevas versiones del sistema operativo a medida que llegan, como Ubuntu 17.04 o Ubuntu 17.10 para ver nuevas funciones. También me gusta mirar Kubuntu, CentOS u otras distribuciones (¿Windows 11 cuando llega?) O configurar entornos de prueba sabiendo que puedo destruirlos y no quiero hacer esto en mi máquina central.

¿Qué conjunto de alternativas hay para hacer esto sin arriesgar mi máquina principal de desarrollo? No estoy buscando un debate sobre la MEJOR manera, pero qué alternativas están disponibles.

    
pregunta Ted Cahall 07.03.2018 - 12:50

9 respuestas

25

Alternativas USB

Las alternativas USB son buenas, cuando

  • quieres probar el rendimiento (en metal desnudo)
  • la computadora no es lo suficientemente potente como para ejecutar bien un sistema en una máquina virtual

Puede usar un pendrive USB con un espacio de disco de al menos 2GB y crear un

  • en vivo sistema Ubuntu en el pendrive.

    Arranque desde el pendrive USB y seleccione "Probar Ubuntu" en el menú de inicio (y algo similar con otras distribuciones de Linux). Si guarda datos, instala programas o modifica el sistema en una unidad en vivo (solo en vivo), no sobrevivirá al apagado o al reinicio.

Si quieres

  • prueba Ubuntu de una manera más avanzada o
  • guarda datos, instala programas o modifica el sistema y
  • tiene / obtiene un pendrive USB rápido de al menos 4 GB,

puedes crear un

  • persistencia en vivo sistema Ubuntu

o si tiene / obtiene un rápido pendrive USB de al menos 16 GB , puede crear un

  • instalado Sistema Ubuntu (como instalado en una unidad interna, pero en un pendrive USB).

    Un sistema instalado en una unidad USB es estable y flexible, puede mantenerse actualizado y ajustado sin límites. De esta manera, es mejor que un sistema en vivo persistente. Es portátil entre computadoras, si puede evitar controladores propietarios, pero un sistema en vivo persistente es más portátil.

Enlaces

respondido por el sudodus 07.03.2018 - 14:48
15

Una forma de probar nuevas distribuciones y versiones de sistema operativo es con la virtualización. No requiere espacio para una PC / teclado / video / mouse adicional o adaptadores para ejecutar varias PC con un solo teclado, video, mouse. Solo requiere una sola PC y algún software de virtualización.

Esto supone que tiene una máquina con una CPU multi-core capaz de virtualización y una cantidad razonable de memoria. Recomendaría al menos 8GB de memoria con 16GB mejor si lo tiene.

Si está ejecutando Ubuntu y solo quiere probar las distribuciones de Linux (no creo que Windows funcione), puede usar el software gratuito de virtualización empaquetado en Ubuntu: KVM o Xen. Ambos funcionan bien, son GRATUITOS y pueden ejecutar varias distribuciones de Linux. Sin embargo, las herramientas para administrar las máquinas virtuales son algo deficientes. Oracle tiene una versión GRATUITA de una herramienta de virtualización llamada VirtualBox y, por supuesto, siempre existe el producto comercial VMWare. Tanto VirtualBox como VMWare también pueden ejecutar Ubuntu en la parte superior de una máquina con Windows si ese es su escritorio de elección.

Al usar un administrador de VM, podrá agregar nuevas distribuciones a medida que salgan, probarlas, jugar con las nuevas características y luego descartarlas cuando aparezca la nueva versión. Solo consumen espacio en el disco cuando no se están ejecutando, por lo que ni siquiera necesitan ser descartados a menos que se vuelvan apretados. Con un administrador de VM, es fácil equilibrar 5, 10 o más distribuciones en una máquina y poder arrancarlas y eliminarlas según sea necesario. Si tienes la suerte de tener una máquina de 32GB o 64GB, incluso puedes ejecutarlos todos en paralelo.

    
respondido por el Ted Cahall 07.03.2018 - 12:50
12

Como una alternativa más barata y a la respuesta de sudodus , puede iniciar directamente desde una imagen de unidad de arranque archivo en lugar de un disco dedicado (USB).

Al menos para las imágenes ISO de Ubuntu (y derivados como Linux Mint) funciona la siguiente receta. Otras distribuciones pueden necesitar ajustes adicionales.

  1. Almacene la (s) imagen (es) de la unidad de arranque en formato ISO 1 en algún lugar como un archivo en su (s) unidad (es) de almacenamiento interno (s) 2 .

  2. Agregue un archivo de "partes" de Grub, e. gramo. 35_isofiles , con el contenido

    #!/bin/bash
    set -e
    . /usr/share/grub/grub-mkconfig_lib
    shopt -s nullglob
    
    make_iso_menuentry()
    {
        local isodevice="$(exec "$grub_probe" -t device -- "")" || return $?
        local isogrub="$(make_system_path_relative_to_its_root "")"
        local label="${2:-""}"
    
        printf 'menuentry %s {\n' "'${label//\'/\'\\'\'}'"
        printf '\tset isofile=%s\n' "'${isogrub//\'/\'\\'\'}'"
        prepare_grub_to_access_device "$isodevice" | sed -e 's/^/\t/'
        printf '\t%s\n' \
            'insmod loopback' 'insmod iso9660' 'loopback loop "$isofile"' \
            'linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename="$isofile" ro noprompt noeject noplymouth' \
            'initrd (loop)/casper/initrd.lz'
        printf '}\n\n'
    
        printf 'Found "%s" image: %s\n' "$label" "" >&2
    }
    
    
    for iso in /path/to/image.iso # <-- set path to your ISO image here
    do
        make_iso_menuentry "$iso" "${iso##*/}" || true
    done
    

    a /etc/grub.d y hazlo ejecutable.

    Edite la ruta del archivo en la línea indicada para que coincida con sus necesidades. Puede agregar múltiples rutas y / o patrones glob Bash si lo desea.

  3. Hacer que el archivo sea ejecutable:

    sudo chmod a+x /etc/grub.d/35_isofiles
    
  4. Asegúrese de que el menú de Grub esté habilitado .

  5. Actualiza la configuración de Grub:

    sudo update-grub
    
  6. Reinicie y seleccione la entrada del menú de Grub recién agregada para iniciar desde el archivo de imagen respectivo.

1 Otros tipos de sistema de archivos son posibles pero pueden requerir otros comandos de Grub y ajuste de parámetros de arranque.

2 LVM, RAID y los sistemas de archivos cifrados deberían funcionar gracias a la biblioteca de utilidades de Grub, pero no los probé.

    
respondido por el David Foerster 08.03.2018 - 00:23
9

La virtualización es, de lejos, la más simple.

Sin embargo, tiene 2 casos de uso separados aquí, que tendrán diferentes soluciones

1. Pruebe la nueva distro

Las distribuciones están determinadas básicamente por las aplicaciones empaquetadas y el entorno del espacio de usuario (por ejemplo, SystemD vs init para el arranque)

Si desea "evaluar" el UIX de una distribución diferente, cualitativamente, entonces recomendaría la virtualización en toda regla donde instale el sistema operativo en su totalidad y evalúe su usabilidad. Esto está cubierto adecuadamente en otras respuestas.

Si simplemente necesita el entorno de espacio de usuario para probar, siga leyendo.

2. Pruebas e "instancias desechables" en diferentes entornos

Es más fácil, más económico y más rápido usar la contenedorización, una forma de virtualización liviana que utiliza el kernel para crear entornos de espacio aislado.

Un contenedor comparte los recursos del kernel con el Host, pero de lo contrario tiene su propio sistema de archivos raíz, espacio de usuario, pila de red, etc. Se puede pensar, conceptualmente como chroot en esteroides. Sin embargo, debido a que el kernel es compartido, la virtualización es "delgada", lo que significa que para la mayoría de los propósitos prácticos se ejecuta a la misma velocidad que el sistema operativo host.

Hay un sistema de contenedor comúnmente usado llamado docker . Docker tiene imágenes estandarizadas para prácticamente cada distribución de Linux que desee, y se ejecuta en Windows (sin embargo, las imágenes de Windows solo funcionan en Windows, las imágenes de Linux funcionan en ambas). Tiene funciones adicionales útiles para ahorrar espacio y rendimiento.

También hay alternativas nativas de código abierto para Linux como LXC (¡que está integrado en el kernel!), que se pueden usar para casi lo mismo (pero con más configuración requerida).

Ejemplo simplificado de un entorno de prueba o compilación en docker

# Dockerfile

FROM ubuntu:17.10

RUN apt-get update && apt-get install -y build-essential

WORKDIR /workdir
  • docker build --tag my-builder .

Luego, desde la línea de comandos, compila tu proyecto o prueba en ese entorno de varias formas

"iniciar sesión" y compilar en el entorno, ejecutar pruebas, etc. Suponiendo que se encuentre en el directorio de origen de su proyecto

$ docker run -v "$PWD:/workdir" --rm -it my-builder /bin/bash
# echo "Now in docker container"
# make
...
# build/test/my-test
...
# exit
$ echo "Build artifacts are now on your host OS Directory :) "

Utilizar como una sola vez

$ docker run -v "$PWD:/workdir" --rm my-builder make

Incluso puede pasar variables de entorno

$ docker run -e "CROSS_COMPILE=arm-linux-gnueabi" -v "$PWD:/workdir" --rm my-builder make

O inicie una instancia persistente y copie los archivos en ella explícitamente

$ Start our instance in background 
$ docker run --name my-builder-inst -d my-builder
$ echo "Copy files to instance" 
$ docker cp /my/source/dir my-builder-inst:/workdir
$ echo "run project build"
$ docker exec my-builder-inst make
$ echo "copy build artifacts"
$ docker cp my-builder-inst:/workdir/build /my/output/dir
$ echo "destroy and delete container" 
$ docker rm -f  my-builder-inst

Existen literalmente cientos de otros patrones de uso, sin embargo, la definición de imagen tipo script, las imágenes ampliables y el uso de la línea de comandos lo hacen extremadamente atractivo para entornos de desarrollo, prueba e incluso implementación

    
respondido por el crasic 07.03.2018 - 18:35
3

Guardo una partición separada en mi disco (recomiende un mínimo de 20GB, más si puede).

Puedo instalar en esa partición cualquier OS que quiera probar, y luego reiniciar en él.

Si todo funciona bien, puedo descartar mi partición original del sistema operativo y, finalmente, reutilizarla.

Pero si el nuevo sistema operativo no funciona para mí (problemas con el controlador, software no disponible), simplemente puedo reiniciar de nuevo en mi viejo sistema operativo y agradecer que todavía lo tenga.

Notas:

  • De esta manera realmente puedes probar el nuevo sistema operativo en tu hardware, para que puedas detectar problemas con el controlador.

  • Pero si solo deseaba experimentar cómo se siente el nuevo sistema operativo, probablemente una de las otras soluciones de virtualización sea más rápida, más fácil y más segura para usted.

  • Guardo mi /home en una gran partición separada, por lo que es independiente de los dos OS-es. (¡No vuelva a formatear accidentalmente esa partición!)

  • Pero te recomiendo no que uses una partición /home compartida mientras pruebas. Si los dos OS-es tienen versiones de software significativamente diferentes, una aplicación puede cambiar sus archivos de configuración de una manera que no es adecuada para el otro sistema operativo. Así que mantenga los archivos de configuración separados para cada sistema operativo, hasta que se comprometa con uno de ellos. (*) vea a continuación

  • No necesita crear una segunda partición de intercambio. Puede usar la misma partición de intercambio para ambos sistemas operativos.

  • Por supuesto, debe tener cuidado en qué particiones debe formatear / instalar. Haga una copia de seguridad y anote los ID y tamaños de su partición (parted, p, q) antes de instalar un nuevo sistema operativo.

  • Para arrancar dualmente entre los dos sistemas operativos, necesita que grub detecte ambos. En mi experiencia, grub siempre ha hecho esto automáticamente. (¡Pero lilo solía ser una historia diferente!)

  • A menudo es posible ejecutar software desde un sistema operativo mientras está en el otro sistema operativo. Lo logré usando sudo chroot /mnt/original_os , aunque era un violín para configurar : Tuve que bind-mount /dev y /proc .

Mi registro fue de 4 sistemas operativos Linux en una máquina y un Windows XP. Solía ​​arrancar en Gentoo para mayor velocidad y diversión, pero ejecutaba mi servidor web y servidor de correo en un chroot al sistema operativo Debian de confianza.

  

(*) Puede configurar una carpeta de inicio diferente para cada sistema operativo editando /etc/passwd . Establezca su hogar en /home/you/arch-test , luego segmente la partición doméstica compartida en /etc/fstab y reinicie. Puede vincular simbólicamente algunos archivos de puntos para compartirlos en ambos sistemas operativos, mientras deja que otros sean específicos del sistema operativo.

    
respondido por el joeytwiddle 08.03.2018 - 02:22
3

Básicamente tiene tres opciones: virtualización (VirtualBox o Docker), una unidad flash de arranque (alternativa moderna a un CD en vivo) o arranque dual desde una partición. Elegir entre los tres depende de sus necesidades, hardware y experiencia. Algunas de las otras respuestas entran en muchos más detalles sobre un enfoque particular, pero aquí hay una comparación de alto nivel para darle un marco para decidir entre ellos.

1. Virtualización

Pros :

  • bastante fácil de configurar
  • no afectará su entorno de desarrollo primario
  • puede configurar fácilmente tantas como quiera, siempre que tenga espacio en el disco duro, incluso cree instantáneas antes de realizar cambios importantes, y simplemente elimínelas cuando haya terminado con ellas

Contras :

  • requiere hardware decente para ejecutar dos o más sistemas operativos simultáneamente
  • el rendimiento está limitado por los recursos asignados a la máquina virtual, por lo que realmente no obtendrá una idea precisa de cómo la versión del sistema operativo que está probando se compara con su sistema operativo primario
  • ya que todo el hardware está virtualizado, tampoco obtendrá un sentido preciso de la disponibilidad / compatibilidad del controlador

2. Unidad flash de arranque

Pros :

  • moderadamente fácil de configurar
  • no afectará su entorno de desarrollo primario
  • el rendimiento generalmente es bueno con una unidad flash USB3, aunque definitivamente hay alguna variación dependiendo de la calidad de la unidad flash (USB2 será más lento, lo evitaría para este propósito)
  • usa su hardware real (que no sea el dispositivo de almacenamiento), para que pueda ver qué tan bien funciona con los controladores y otras cosas
  • puedes configurar fácilmente tantas como quieras, siempre y cuando tengas suficientes unidades flash (y puedes reformatearlas fácilmente si quieres probar otra cosa)

Contras :

  • requiere tener una (o más) unidades flash dedicadas a este propósito
  • el rendimiento depende de la calidad de la unidad flash que usas

3. Arranque dual desde una partición

Pros :

  • le ofrece la mejor idea de rendimiento, compatibilidad de controladores, etc., ya que se ejecuta en el mismo hardware que su sistema operativo primario
  • puede configurar múltiples a la vez, siempre que tenga espacio en el disco duro (solo tiene que configurar una partición separada para cada uno)

Contras :

  • requiere algunos conocimientos de bajo nivel para configurar correctamente
  • jugar con las particiones del disco duro y los cargadores de arranque siempre tiene el potencial de poner a funcionar tu configuración actual (asegúrate de tener a mano una unidad flash de arranque o CD en vivo antes de comenzar)
respondido por el Sean the Bean 09.03.2018 - 16:19
2

QEMU

QEMU es una solución de virtualización que teóricamente resuelve los requisitos de esta pregunta de forma barata y simple.

Permite arrastrar y soltar el arranque de los archivos iso del sistema operativo dentro de un host Linux o Windows.

También permite el inicio de discos duros Live USB, dentro de un sistema host y utiliza la persistencia si está disponible.

No es necesario crear un disco duro virtual como con VBox.

QEMU está disponible como una aplicación de línea de comandos para Linux, Windows y otros sistemas operativos. También está disponible como GUI y se incluye con MultiBootUSB versiones de Linux y Windows enlace .

QEMU también se puede ejecutar desde Virtual Machine Manager, que es más rápido que MBUSB pero no se arrastra y suelta.

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
sudo apt-get install virt-manager

Para las pruebas de sistema operativo a más largo plazo, un sistema instalado VirtualBox es superior.

    
respondido por el C.S.Cameron 11.03.2018 - 00:14
2

La forma más sencilla y fácil es usar la virtualización. Puede descargar VirtualBox (es de código abierto) e instalar cualquier sistema operativo. Y, le recomiendo que cree una instantánea antes de ejecutarla por primera vez, de esta manera puede volver a su estado anterior si comete algún error al configurarlo, cambiar la configuración, etc.

Uso y pruebo varios SO de esta manera. Es muy simple y rápido. Incluso, he usado MSDOS y Windows 3.1 usando virtualización. Puede instalar cualquier cosa, incluso ChromeOS (con un poco de trabajo) o cualquier versión de Windows o Linux, no importa el sabor de su escritorio.

    
respondido por el Luis Arriojas 08.03.2018 - 15:30
1

He iniciado con éxito instalaciones completas de Ubuntu desde unidades USB durante los últimos 3 años. USB 2.0 era un poco más lento que un HD SATA HD anterior (7200 rpm, 16 MB de caché), pero el USB 3.0 está a unos segundos de un SSD en una interfaz SATA 3G.

    
respondido por el CSharpQuestions 08.03.2018 - 19:55

Lea otras preguntas en las etiquetas