web-dev-qa-db-fra.com

Des méthodes pour essayer de nouvelles versions d'OS sans s'y engager?

Je souhaite essayer les nouvelles versions du système d’exploitation au fur et à mesure de leur arrivée, telles que Ubuntu 17.04 ou Ubuntu 17.10 pour découvrir de nouvelles fonctionnalités. J'aime aussi regarder Kubuntu, CentOS ou d'autres distributions (Windows 11 à son arrivée?) - ou configurer des environnements de test en sachant que je peux les jeter et que je ne veux pas le faire sur ma machine principale.

Quelle série d'alternatives existe-t-il pour le faire sans risquer ma machine principale de développement? Je ne cherche pas un débat sur la meilleure façon, mais quelles alternatives sont disponibles.

20
Ted Cahall

Alternatives USB

Les alternatives USB sont bonnes, quand

  • vous voulez tester la performance (sur du métal nu)
  • l'ordinateur n'est pas assez puissant pour bien faire fonctionner un système dans une machine virtuelle

Vous pouvez utiliser une clé USB avec au moins 2 Go d’espace disque et créer un

  • live Système Ubuntu dans la clé USB.

    Démarrez à partir de la clé USB et sélectionnez "Try Ubuntu" dans le menu de démarrage (et quelque chose de similaire avec d'autres distributions Linux). Si vous sauvegardez des données, installez des programmes ou modifiez le système dans un lecteur actif (en direct uniquement), il ne survivra pas à l'arrêt ou au redémarrage.


Si tu veux

  • essayez Ubuntu de manière plus avancée ou
  • sauvegarder des données, installer des programmes ou modifier le système et
  • vous avez/obtenez une clé USB rapide d'au moins 4 Go,

vous pouvez créer un

  • persistant en direct système Ubuntu

ou si vous avez/obtenez un clé USB rapide d'au moins 16 Go , vous pouvez créer un

  • installé système Ubuntu (comme installé dans un lecteur interne, mais dans une clé USB).

    Un système installé sur une clé USB est stable et flexible, peut être tenu à jour et modifié sans aucune limite. De cette façon, c'est mieux qu'un système live persistant. Il est portable entre ordinateurs, si vous pouvez éviter les pilotes propriétaires, mais un système en direct persistant est plus portable.

Liens


26
sudodus

La virtualisation est un moyen de tester de nouvelles versions et versions de système d’exploitation. Il ne nécessite pas d'espace supplémentaire pour un PC, un clavier, une vidéo, une souris ou des adaptateurs supplémentaires afin de faire fonctionner plusieurs ordinateurs avec un seul clavier, une seule vidéo ou une seule souris. Il ne nécessite qu'un seul PC et un logiciel de virtualisation.

Cela suppose que vous avez une machine avec un processeur multicœur capable de virtualisation et une quantité de mémoire raisonnable. Je recommanderais au moins 8 Go de mémoire avec 16 Go de mieux si vous en avez.

Si vous utilisez Ubuntu et souhaitez uniquement essayer les distributions Linux (je ne crois pas que Windows fonctionnera), vous pouvez utiliser le logiciel de virtualisation gratuit fourni avec Ubuntu: KVM ou Xen. Les deux fonctionnent correctement, sont GRATUITS et peuvent exécuter diverses distributions Linux. Cependant, les outils permettant de gérer les ordinateurs virtuels manquent quelque peu. Oracle dispose d'une version GRATUITE d'un outil de virtualisation appelé VirtualBox et, bien entendu, du produit commercial VMWare. VirtualBox et VMWare peuvent également exécuter Ubuntu sur une machine Windows si tel est votre bureau préféré.

En utilisant un gestionnaire VM, vous pourrez ajouter de nouvelles distributions au fur et à mesure de leur sortie, les tester, jouer avec les nouvelles fonctionnalités, puis les ignorer lorsque la nouvelle version paraîtra. Ils ne consomment que de l’espace disque lorsqu’ils ne fonctionnent pas, ils n’ont même pas besoin d’être mis au rebut, à moins que cela ne devienne serré. Avec un VM manager, il est facile d'équilibrer 5, 10 ou plus de distributions sur une machine, de pouvoir les démarrer et de les supprimer au besoin. Si vous avez la chance d’avoir un ordinateur de 32 ou 64 Go, vous pouvez même les exécuter tous en parallèle.

15
Ted Cahall

Comme alternative encore plus rapide and moins chère à réponse de sudodus , vous pouvez démarrer directement à partir d'une image de lecteur amorçable fichier au lieu d'un lecteur dédié (USB) .

Au moins pour les images ISO Ubuntu (et leurs dérivés comme Linux Mint), la recette suivante fonctionne. D'autres distributions peuvent nécessiter des ajustements supplémentaires.

  1. Stocker la ou les images de lecteur de démarrage au format ISO1 quelque part sous forme de fichier sur vos lecteurs de stockage internes2.

  2. Ajoutez un fichier “parties” Grub, e. g. 35_isofiles, avec le contenu

    #!/bin/bash
    set -e
    . /usr/share/grub/grub-mkconfig_lib
    shopt -s nullglob
    
    make_iso_menuentry()
    {
        local isodevice="$(exec "$grub_probe" -t device -- "$1")" || return $?
        local isogrub="$(make_system_path_relative_to_its_root "$1")"
        local label="${2:-"$1"}"
    
        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" "$1" >&2
    }
    
    
    for iso in /path/to/image.iso # <-- set path to your ISO image here
    do
        make_iso_menuentry "$iso" "${iso##*/}" || true
    done
    

    /etc/grub.d et le rendre exécutable.

    Modifiez le chemin du fichier dans la ligne indiquée pour répondre à vos besoins. Vous pouvez ajouter plusieurs chemins et/ou modèles globaux Bash si vous le souhaitez.

  3. Rendre le fichier exécutable:

    Sudo chmod a+x /etc/grub.d/35_isofiles
    
  4. Assurez-vous que le menu Grub est activé .

  5. Mettez à jour la configuration de Grub:

    Sudo update-grub
    
  6. Redémarrez et sélectionnez l'entrée de menu Grub nouvellement ajoutée pour démarrer à partir du fichier image correspondant.


1 D'autres types de système de fichiers sont possibles mais peuvent nécessiter d'autres commandes Grub et un ajustement minutieux des paramètres d'amorçage.

2 Les systèmes de fichiers LVM, RAID et chiffrés devraient fonctionner grâce à la bibliothèque d’utilitaires de Grub, mais je ne les ai pas testés.

12
David Foerster

La virtualisation est de loin la plus simple.

Cependant, vous avez 2 cas d’utilisation distincts ici, qui auront des solutions différentes

1. Essayez une nouvelle distribution

Les distributions sont essentiellement déterminées par les applications empaquetées et l'environnement utilisateur (par exemple, SystemDvs initpour l'amorçage).

Si vous souhaitez "évaluer" qualitativement le UIX d'une autre distribution, je vous recommanderais une virtualisation complète dans laquelle vous installerez le système d'exploitation dans son intégralité et en évaluerez la convivialité. Ceci est couvert de manière adéquate dans d'autres réponses.

Si vous avez simplement besoin de l'environnement utilisateur pour les tests, lisez la suite.

2. Tester et "jeter des instances" dans différents environnements

Il est plus facile, moins coûteux et plus rapide d’utiliser la conteneurisation, une forme de virtualisation légère qui utilise le noyau pour créer des environnements en mode bac à sable.

Un conteneur partage les ressources du noyau avec l'hôte, mais possède par ailleurs son propre système de fichiers racine, son propre espace utilisateur, sa pile réseau, etc. Il peut être considéré, conceptuellement, comme un chrootsur des stéroïdes. Cependant, étant donné que le noyau est partagé, la virtualisation est "mince", ce qui signifie que, dans la plupart des cas, elle s'exécute à la même vitesse que le système d'exploitation hôte.

Il existe un système de conteneur couramment utilisé appelé dockername__. Docker a normalisé les images pour pratiquement chaque distribution Linux que vous souhaitez, et il fonctionne sous Windows (toutefois, les images Windows ne fonctionnent que sur Windows, les images Linux sur les deux). Il comporte des fonctionnalités utiles supplémentaires pour économiser de l'espace et des performances.

Il existe également des alternatives open source natives pour Linux telles que LXC(qui est intégré au noyau!), Qui peuvent être utilisées à peu près de la même manière (mais avec davantage de configuration requise).

Exemple simplifié d'un environnement de test ou de construction dans dockername__

# Dockerfile

FROM ubuntu:17.10

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

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

Ensuite, à partir de la ligne de commande, compilez votre projet ou les tests dans cet environnement de différentes manières.

"se connecter" et compiler dans l'environnement, exécuter des tests, etc. En supposant que vous soyez dans le répertoire source de votre projet

$ 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 :) "

Utiliser comme unique

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

Vous pouvez même passer des variables d'environnement

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

Ou démarrez une instance persistante et copiez-y explicitement des fichiers

$ 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

Il existe littéralement des centaines d'autres modèles d'utilisation. Cependant, la définition d'image de type script, les images extensibles et l'utilisation de la ligne de commande le rendent extrêmement attrayant pour les environnements de développement, de test et même de déploiement.

9
crasic

Je garde une partition séparée sur mon lecteur (20 Go minimum, plus si vous le pouvez).

Je peux installer sur cette partition tout système d'exploitation que je veux tester, puis le redémarrer.

Si tout fonctionne bien, je peux déprécier ma partition OS d'origine et éventuellement la réutiliser.

Mais si le nouveau système d'exploitation ne fonctionne pas pour moi (problèmes de pilote, logiciel indisponible), je peux simplement redémarrer dans mon ancien système d'exploitation et être reconnaissant. que je l'ai encore!

Remarques:

  • De cette façon, vous pouvez vraiment tester le nouveau système d'exploitation sur votre matériel, afin de pouvoir détecter les problèmes de pilotes.

  • Mais si vous vouliez seulement ressentir le nouveau système d'exploitation, l'une des autres solutions de virtualisation est probablement plus rapide, plus simple et plus sûre.

  • Je garde mon /home sur une grande partition séparée, elle est donc indépendante des deux systèmes d'exploitation. (Ne reformatez pas accidentellement cette partition!)

  • Mais je vous recommande de ne pas utiliser une partition /home partagée lors des tests. Si les versions de logiciel des deux systèmes d'exploitation sont très différentes, une application peut modifier ses fichiers de configuration de manière inappropriée pour l'autre système d'exploitation. Conservez donc des fichiers de configuration distincts pour chaque système d’exploitation, jusqu’à ce que vous vous engagiez dans l’un d’eux. (*) voir ci-dessous

  • Vous n'avez pas besoin de créer une seconde partition de swap. Vous pouvez utiliser la même partition de swap pour les deux systèmes d'exploitation.

  • Bien sûr, vous devez faire attention aux partitions sur lesquelles vous formatez/installez. Faites donc une sauvegarde et notez vos identifiants et tailles de partition (parted, p, q) avant d'installer un nouveau système d'exploitation.

  • Pour effectuer un double amorçage entre les deux systèmes d’exploitation, vous devez utiliser Grub pour les détecter. D'après mon expérience, grub a toujours fait cela automatiquement. (Mais lilo était une histoire différente!)

  • Il est souvent possible d’exécuter un logiciel à partir d’un système d’exploitation alors que vous êtes sur l’autre. J'ai réussi à utiliser Sudo chroot /mnt/original_os, bien que ce fût n fiddle à configurer : Je devais monter-relier /dev et /proc.

Mon dossier était 4 systèmes d’exploitation Linux sur une machine et un système d'exploitation Windows XP. J'avais l'habitude de démarrer Gentoo pour la rapidité et le plaisir, mais exécuter mon serveur Web et mon serveur de courrier électronique dans un chroot vers le système d'exploitation Debian approuvé.

(*) Vous pouvez configurer un dossier personnel différent pour chaque système d'exploitation en éditant /etc/passwd. Définissez votre domicile sur /home/you/Arch-test, puis ciblez la partition home partagée dans /etc/fstab et redémarrez. Vous pouvez créer un lien symbolique entre certains fichiers de points à partager entre les deux systèmes d'exploitation, tout en laissant les autres être spécifiques à un système d'exploitation.

3
joeytwiddle

Vous avez en gros trois options: la virtualisation (VirtualBox ou Docker), un lecteur flash amorçable (alternative moderne à un CD live) ou un double démarrage à partir d’une partition. Le choix entre les trois dépend de vos besoins, de votre matériel et de votre expérience. Certaines des autres réponses donnent beaucoup plus de détails sur une approche particulière, mais voici une comparaison de haut niveau pour vous donner un cadre permettant de décider entre elles.

1. Virtualisation

Pros:

  • assez facile à mettre en place
  • n'affectera pas votre environnement de développement principal
  • vous pouvez facilement en configurer autant que vous le souhaitez, à condition de disposer d'un espace disque suffisant - créez même des instantanés avant d'effectuer des modifications majeures et supprimez-les simplement lorsque vous avez terminé.

inconvénients:

  • nécessite du matériel adéquat pour exécuter deux systèmes d'exploitation ou plus simultanément
  • les performances sont limitées par les ressources allouées à la machine virtuelle. Par conséquent, vous ne pourrez vraiment pas vous faire une idée précise de la manière dont la version du système d'exploitation que vous testez se compare à votre système d'exploitation principal.
  • étant donné que le matériel est entièrement virtualisé, vous n'aurez pas non plus une idée précise de la disponibilité/compatibilité des pilotes.

2. Lecteur flash amorçable

Pros:

  • moyennement facile à mettre en place
  • n'affectera pas votre environnement de développement principal
  • les performances sont généralement bonnes avec un lecteur flash USB3, bien qu'il existe certainement des variations en fonction de la qualité du lecteur flash (USB2 sera plus lent - je l'éviterais pour cela)
  • utilise votre matériel réel (autre que le périphérique de stockage), de sorte que vous pouvez voir à quel point il joue avec les pilotes et autres
  • vous pouvez facilement en configurer autant que vous voulez, à condition de disposer de suffisamment de lecteurs flash (et de les reformater si vous voulez essayer autre chose)

inconvénients:

  • nécessite d'avoir un (ou plusieurs) lecteur flash dédié à cette fin
  • les performances dépendent de la qualité du lecteur flash utilisé

3. Double démarrage à partir d'une partition

Pros:

  • vous donne la meilleure idée des performances, de la compatibilité des pilotes, etc., car il fonctionne exactement sur le même matériel que votre système d'exploitation principal
  • peut configurer plusieurs fichiers à la fois, à condition que vous disposiez d'un espace disque suffisant (il vous suffit de configurer une partition distincte pour chaque disque)

inconvénients:

  • nécessite un savoir-faire de bas niveau pour configurer correctement
  • jouer avec les partitions de disque dur et les chargeurs de démarrage a toujours le potentiel de modifier votre configuration actuelle (assurez-vous que vous avez un lecteur flash amorçable ou un CD live à portée de main avant de commencer)
3
Sean the Bean

QEMU

QEMU est une solution de virtualisation qui résout théoriquement les exigences simples et peu coûteuses de cette question.

Il permet d’amorcer par glisser/déposer les fichiers iso du système d’exploitation dans un hôte Linux ou Windows.

Il permet également de démarrer des disques durs Live USB, au sein d’un système hôte et utilise la persistance, le cas échéant.

Il n’est pas nécessaire de créer un disque dur virtuel comme avec VBox.

QEMU est disponible en tant qu'application en ligne de commande pour Linux, Windows et d'autres systèmes d'exploitation. Il est également disponible en tant qu'interface graphique et est inclus avec MultiBootUSB versions Linux et Windows http://multibootusb.org/ .

QEMU

QEMU peut également être exécuté à partir de Virtual Machine Manager, qui est plus rapide que MBUSB mais ne fait pas de glisser-déposer.

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

Pour les tests de système d'exploitation à plus long terme, un système installé VirtualBox est supérieur.

2
C.S.Cameron

Le moyen le plus simple et le plus simple consiste à utiliser la virtualisation. Vous pouvez télécharger VirtualBox (c'est open source) et installer n'importe quel système d'exploitation. Et, je vous recommande de créer un instantané avant la première exécution, de cette manière, vous pourrez revenir à son état précédent si vous faites une erreur en la configurant, en modifiant la configuration, etc.

J'ai utilisé et testé plusieurs systèmes d'exploitation de cette manière. C'est très simple et rapide. Même, j'ai utilisé MSDOS et Windows 3.1 en utilisant la virtualisation. Vous pouvez installer n'importe quoi, même ChromeOS (avec un peu de travail) ou n'importe quelle version de Windows ou Linux, peu importe sa version de bureau.

2
Luis Arriojas

J'ai réussi à démarrer des installations complètes d'Ubuntu à partir de clés USB au cours des 3 dernières années. L'USB 2.0 était un peu plus lent qu'un ancien disque dur SATA 3G (cache de 7200 tpm, 16 Mo), mais l'USB 3.0 se situe à quelques secondes d'un SSD sur une interface SATA 3G.

1
CSharpQuestions