Методи випробувати нові версії ОС, не зобов’язуючись виконувати це?


20

Я хочу спробувати нові версії ОС, коли вони приходять, такі як Ubuntu 17.04 або Ubuntu 17.10, щоб побачити нові функції. Мені також подобається дивитись на Kubuntu, CentOS або інші дистрибутиви (Windows 11, коли він прибуває?) - або налаштовувати тестові середовища, знаючи, що я можу їх виправити і не хочу цього робити на своїй основній машині.

Який набір альтернатив існує для цього, не ризикуючи моєю основною машиною розвитку? Я не шукаю дебатів щодо найкращого способу, але які альтернативи є.


2
Я в основному це роблю з віртуальними машинами. Дивіться це питання для посібника щодо неймовірно швидкого та простого налаштування за допомогою VirtualBox, до якого ви можете посилатись у своїй відповіді.
Таккат

1
Особисто я використовую, dockerтому що ваш контейнер визначений легко зрозумілим сценарієм. Ви маєте повний контроль над базовим зображенням і тим, що встановлюєте. Легко ділитися файлами та пристроями хостів, створювати віртуальні мережі контейнерів, вибірково виставляти порти з аргументами командного рядка, ви можете відправляти команди безпосередньо в оболонку контейнера і виконувати програми в контексті контейнера. Наприклад, ви можете спробувати користувацький простір centos за допомогою одного вкладиша docker run -it centos /bin/bash
катастрофічно

8
"Живі компакт-диски" раніше були великою справою. Сьогодні це був би живий USB-накопичувач.
користувач253751

1
Враховуючи модель оновлення Windows 10, навряд чи коли-небудь з'явиться "Windows 11". Навіть якщо відбудеться капітальна перебудова ОС, Microsoft, швидше за все, називатиме це ще чимось.
Перестаньте шкодити Моніці

3
У вас є три варіанти: віртуальна машина (VirtualBox або Docker), завантажувальна флешка (сучасна альтернатива живому компакт-диску) або подвійне завантаження. Вибір між трьома залежить від ваших потреб, обладнання та досвіду.
Шон Бін

Відповіді:


26

Альтернативи USB

USB альтернативи хороші, коли

  • Ви хочете перевірити продуктивність (на голому металі)
  • комп'ютер недостатньо потужний, щоб добре запустити систему у віртуальній машині

Ви можете використовувати USB-підвіску з принаймні 2 Гб місця на диску та створити

  • жива система Ubuntu в маятнику.

    Завантажтесь із USB pendrive та виберіть "Спробуйте Ubuntu" у меню завантаження (і щось подібне з іншими дистрибутивами Linux). Якщо ви зберігаєте дані, встановлюєте програми або налаштовуєте систему в прямому (тільки для живого) накопичувачі, воно не переживе відключення чи перезавантаження.


Якщо ти хочеш

  • спробуйте Ubuntu більш досконалим способом або
  • зберегти дані, встановити програми або налаштувати систему та
  • Ви маєте / отримаєте швидкий USB-пристрій не менше 4 Гб,

ви можете створити

  • стійка жива система Ubuntu

або якщо у вас є / отримати швидкий USB-накопичувач щонайменше 16 Гб , ви можете створити

  • встановлена система Ubuntu (як встановлена ​​на внутрішньому накопичувачі, але у USB-матриці).

    Встановлена ​​система в USB-накопичувач стабільна і гнучка, її можна постійно оновлювати і налаштовувати без обмежень. Таким чином, це краще, ніж наполеглива жива система. Він портативний між комп’ютерами, якщо ви можете уникнути власних драйверів, але стійка жива система є більш портативною.

Посилання



2
Оскільки плакат має встановлену Ubuntu (?) Установку, завантаження ISO безпосередньо з жорсткого диска також є можливим. Встановіть посилання на (новий) ISO, використовуйте посилання в grub (додайте до /etc/grub.d/40_custom) та майте розділ FAT з каталогами для файлів casper-rw (PERSISTENCE_PATH, щоб визначити, який саме використовувати) ). Додайте "toram", і продуктивність завантаження ISO еквівалентна (або навіть швидша), ніж звичайна установка жорсткого диска.
ubfan1

2
Так, альтернатива @ ubfan1 хороша, я використовував її кілька разів. Можливо, налаштувати трохи складніше, ніж створити підключення USB, але як тільки ви його матимете, він може працювати добре :-) Дивіться це посилання, help.ubuntu.com/community/Grub2/…
sudodus

2
Установка на окремому пристрої зберігання - це найкращий спосіб, коли ви хочете перевірити, наскільки реально новий випуск ОС поводиться з вашим обладнанням.
pa4080

Це абсолютно правильна відповідь. Спроба тестування ОС на шарах віртуалізації (або Докер, не дай Бог) на вашій поточній ОС - це як взяти новий автомобіль на "тест-драйв", потягнувши його на причіп за вашим поточним автомобілем: звичайно, ви хочете побачити як це виглядає , але це просто не дасть вам уявлення про виставу.
AC

З USB3 це, ймовірно, буде добре. Якщо у вас старша машина з USB2, завантаження може зайняти помітно більше часу.
Шон Бін

15

Один із способів перевірити нові дистрибутиви та версії ОС - це віртуалізація. Він не потребує місця для додаткового ПК / клавіатури / відео / миші або адаптерів для запуску декількох ПК з однією клавіатурою, відео, мишею. Для цього потрібен лише один ПК та деяке програмне забезпечення для віртуалізації.

Це передбачає, що у вас є машина з багатоядерним процесором, здатною до віртуалізації та достатньою кількістю пам'яті. Я б рекомендував принаймні 8 Гб пам'яті з 16 ГБ краще, якщо у вас є.

Якщо ви використовуєте Ubuntu і хочете лише спробувати дистрибутиви Linux (я не вірю, що Windows буде працювати), ви можете скористатися безкоштовним програмним забезпеченням для віртуалізації, упакованим в Ubuntu: KVM або Xen. Обидва працюють добре, БЕЗКОШТОВНІ та можуть працювати в різних дистрибутивах Linux. Однак інструментів для управління ВМ дещо не вистачає. Oracle має БЕЗКОШТОВНУ версію інструменту для віртуалізації під назвою VirtualBox, і звичайно завжди є комерційний продукт VMWare. І VirtualBox, і VMWare також можуть запускати Ubuntu на версії машини Windows, якщо це ваш робочий стіл.

Використовуючи VM-менеджер, ви зможете додати нові дистрибутиви, коли вони вийдуть, протестувати їх, пограти з новими функціями, а потім відкинути їх, коли з’явиться новий реліз. Вони з'їдають дисковий простір лише тоді, коли він не працює, тому їх навіть не потрібно викидати, якщо це не стає щільним. За допомогою менеджера VM можна легко врівноважити 5, 10 або більше дистрибутивів на машині та мати можливість завантажувати їх та знімати їх за потребою. Якщо вам пощастить мати 32 Гб або 64 ГБ апарат, ви навіть можете запустити їх паралельно.


2
Windows можна запускати всередині VM; однак новіші версії настільки важкі, що вам знадобиться досить швидкий багатоядерний шрифт для його використання.
ravery

Віртуальне середовище також залежить від підтримки цієї ОС. Нові версії Windows потребують змін до програмного забезпечення віртуальної машини, щоб підтримати його, щоб це було незначним зривом. Хоча я б очікував, що вони підготуються до нових випусків ;-)
Rinzwind

так - для тестування нам, безумовно, потрібно оновити рішення для віртуалізації до останнього випуску, щоб мати можливість завантажувати останні версії ОС.
Таккат

2
KVM запускає Windows 10 та 7 просто чудово. Якщо Xen ви маєте на увазі сервер Citrics Xen, він також запускає windows 10 та 7.
Robby1212

1
@EricDuminil Вони були настільки ж придатними, як і Windows взагалі. :)
Майкл Хемптон

12

Як ще швидша та дешевша альтернатива відповіді sudodus, ви можете завантажуватись безпосередньо з файлу зображення завантажувального диска замість виділеного (USB) накопичувача.

Принаймні для образів Ubuntu ISO (та похідних, таких як Linux Mint) працює наступний рецепт. Інші дистрибутиви можуть потребувати подальшого налаштування.

  1. Зберігайте зображення (-и) завантажувального диска у форматі ISO 1 десь як файл на внутрішньому накопичувачі 2 .

  2. Додайте файл "частини" Grub, наприклад 35_isofiles, із вмістом

    #!/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і зробити його виконуваним.

    Відредагуйте шлях до файлу у зазначеному рядку, щоб відповідати вашим потребам. Ви можете додати кілька шляхів та / або шаблонів Bash glob, якщо хочете.

  3. Зробіть файл виконуваним:

    sudo chmod a+x /etc/grub.d/35_isofiles
    
  4. Переконайтесь, що меню Grub увімкнено .

  5. Оновіть конфігурацію Grub:

    sudo update-grub
    
  6. Перезавантажте та виберіть щойно доданий запис меню Grub для завантаження із відповідного файлу зображень.


1 Можливі й інші типи файлової системи, але можуть знадобитися інші команди Grub та налаштування параметрів завантаження.

2 LVM, RAID та зашифровані файлові системи повинні працювати завдяки бібліотеці утиліт Grub, але я не перевіряв їх.


2
Оце Так ! який сценарій! Я зробив те ж саме вручну, просто додавши запис у /etc/grub.d/40_custom і знайшов хороші параметри; Не настільки
solsTiCe

9

Віртуалізація на сьогоднішній день найпростіша.

Однак у вас є 2 окремі випадки використання, які матимуть різні рішення

1. Спробуйте нові дистрибутиви

Поширення в основному визначаються упакованими програмами та середовищем користувача (наприклад, SystemDпорівняно з vsinit для завантаження)

Якщо ви хочете якісно "оцінити" UIX іншої дистрибуції, я б рекомендував повномасштабну віртуалізацію, де ви встановите ОС у повному обсязі та оціните її зручність використання. Це адекватно висвітлено в інших відповідях.

Якщо вам просто потрібне середовище простору користувачів для тестування, читайте далі.

2. Тестування та «викидання екземплярів» у різних середовищах

Простіше, дешевше і швидше використовувати контейнеризацію, форму легкої віртуалізації, яка використовує ядро ​​для створення середовищ з пісочним середовищем.

Контейнер ділиться ресурсами ядра з Host, але в іншому випадку має власну кореневу файлову систему, користувальницький простір, мережевий стек тощо. Це можна вважати концептуально як chroot стероїди. Однак оскільки ядро ​​поділяється, віртуалізація є "тонкою", що означає, що для більшості практичних цілей воно працює з тією ж швидкістю, що і хост ОС.

Існує поширена система контейнерів під назвою docker. Docker має стандартизовані зображення практично для кожного Linux-дистрибутиву, який ви хочете, і він працює на windows (однак, зображення Windows працюють лише на Windows, зображення Linux працюють на обох). Він має додаткові корисні функції для економії місця та продуктивності.

Існують також нативні альтернативи з відкритим кодом для linux типу LXC(яка вбудована в ядро!), Яка може використовуватися для того ж самого (але з необхідною більшою конфігурацією).

Спрощений приклад тестування або середовища побудови в docker

# Dockerfile

FROM ubuntu:17.10

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

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

Потім з командного рядка складіть проект чи тести в цьому середовищі різними способами

"увійти" та компілювати всередині середовища, запустити тести і т.д.

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

Використовувати як разову

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

Ви навіть можете передавати змінні середовища

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

Або запустіть стійкий екземпляр і скопіюйте в нього явні файли

$ 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

Існує буквально сотні інших шаблонів використання, однак визначення зображення, схоже на сценарій, зображення, що розширюється, та використання командного рядка робить його надзвичайно привабливим для середовищ розробки, тестування та навіть розгортання.


1
Якщо ви хочете системні контейнери, ви, ймовірно, повинні дивитись на LXD (набагато простіше, ніж традиційні засоби користувальницького простору LXC), а не на Docker (який призначений більше для контейнерів додатків). Однак, обидві версії підтримують підтримку LXC / cgroups ядра. Дивіться також, unix.stackexchange.com/questions/254956/…
Боб

3

Я тримаю окремий розділ на своєму диску (рекомендую мінімум 20 Гб, більше, якщо можете).

Я можу встановити на цей розділ будь-яку ОС, яку я хочу протестувати, а потім перезавантажте її.

Якщо все працює добре, я можу знецінити свій оригінальний розділ ОС і, зрештою, змінити його.

Але якщо нова ОС для мене не працює (проблеми з драйверами, недоступне програмне забезпечення), я можу просто перезавантажити назад в стару ОС , і буду вдячний, що я все ще маю її!

Примітки:

  • Таким чином ви дійсно зможете протестувати нову ОС на вашому апаратному забезпеченні, щоб ви могли виявити проблеми з драйверами.

  • Але якщо ви хотіли лише відчути, як почувається нова ОС, одне з інших рішень для віртуалізації для вас, мабуть, швидше, простіше і безпечніше.

  • Я тримаю своє /homeна великому окремому розділі, тому він не залежить від двох ОС. (Не випадково переформатуйте цей розділ!)

  • Але я рекомендую не використовувати спільний /homeрозділ під час тестування. Якщо дві ОС мають істотно різні версії програмного забезпечення, програма може змінити свої конфігураційні файли таким чином, що не підходить для іншої ОС. Тому зберігайте окремі конфігураційні файли для кожної ОС, поки ви не покладетеся на одну з них. (*) Дивіться нижче

  • Вам не потрібно створювати другий розділ swap. Ви можете використовувати один і той самий розділ для обох ОС.

  • Звичайно, вам слід бути обережними, на які розділи ви відформатуєте / встановите. Тому зробіть резервну копію та запишіть свої ідентифікатори та розміри розділів (проділ, p, q), перш ніж встановлювати нову ОС.

  • Для подвійного завантаження між двома ОС, вам потрібно grub, щоб виявити їх обох. На мій досвід, груб завжди це робив автоматично. (Але Ліло була іншою історією!)

  • Часто можливо запустити програмне забезпечення з однієї ОС, поки ви перебуваєте в іншій ОС. Мені вдалося , що використання sudo chroot /mnt/original_os, хоча це була скрипка , щоб встановити : я повинен був пов'язати монтаж /devі /proc.

У моєму записі було 4 ОС Linux на одній машині та Windows XP. Я раніше завантажувався в Gentoo для швидкості та веселощів, але запускав свій веб-сервер та поштовий сервер chroot до надійної ОС Debian.

(*) Ви можете налаштувати іншу домашню папку для кожної ОС шляхом редагування /etc/passwd. Встановіть свій дім, щоб /home/you/arch-testпотім націлити на загальний домашній розділ у /etc/fstabта перезавантажити. Ви можете символізувати деякі точкові файли для спільного використання на обох ОС, а інші залишати специфічними для ОС.


1
Потрібно по-справжньому довіряти їх сценаріям встановлення .....
mckenzm

Так, з цим методом існує більше ризику. Якщо ви дійсно уважна людина, ви можете спробувати спочатку віртуалізацію, а потім встановити розділ, і лише відмовитися від початкової установки, якщо це працює.
joeytwiddle

Я б більше ніколи цього не робив. Я одного разу наткнувся на явно незрозумілу помилку, яка підірвала всі зашифровані розділи, навіть ті, які не входили до запитуваної установки. AFAIK цю помилку не виправлено.
Майкл Хемптон

3

У вас є три варіанти: віртуалізація (VirtualBox або Docker), завантажувальна флешка (сучасна альтернатива живому компакт-диску) або подвійне завантаження з розділу. Вибір між трьома залежить від ваших потреб, обладнання та досвіду. Деякі з інших відповідей детальніше описують конкретний підхід, але ось порівняння на високому рівні, щоб дати вам основу для прийняття рішення між ними.

1. Віртуалізація

Плюси :

  • досить легко налаштувати
  • не вплине на ваше основне середовище розробників
  • ви можете легко налаштувати скільки завгодно, якщо у вас є місце на жорсткому диску - навіть створюйте знімки перед тим, як вносити основні зміни, і просто видаляти їх, коли закінчите з ними

Мінуси :

  • вимагає гідного обладнання для запуску двох або більше ОС одночасно
  • продуктивність обмежена ресурсами, виділеними для VM, тому ви дійсно не отримаєте точного уявлення про те, як версія ОС, яку ви тестуєте, порівнюється з вашою основною ОС
  • Оскільки апаратне забезпечення все віртуалізоване, ви також не отримаєте точного розуміння наявності / сумісності драйверів

2. завантажувальна флешка

Плюси :

  • помірно простий у налаштуванні
  • не вплине на ваше основне середовище розробників
  • продуктивність, як правило, хороша з флеш-пам’яткою USB3, хоча, безумовно, є деякі зміни залежно від якості флеш-пам’яті (USB2 буде повільнішим - я б цього уникав)
  • використовує власне обладнання (крім пристрою зберігання даних), тож ви зможете побачити, наскільки добре він грає з драйверами і що ще
  • ви можете легко налаштувати скільки завгодно, якщо у вас є достатня кількість флеш-дисків (і ви можете легко переформатувати їх, якщо хочете спробувати щось інше)

Мінуси :

  • Для цього потрібно мати одну (або більше) флеш-накопичувачів
  • продуктивність залежить від якості використовуваної флешки

3. Подвійне завантаження з розділу

Плюси :

  • дає найкращі уявлення про продуктивність, сумісність з драйверами тощо, оскільки він працює на точно такому ж апаратному забезпеченні, що і ваша основна ОС
  • можна налаштувати декілька одразу, якщо у вас є місце на жорсткому диску (просто потрібно встановити окремий розділ для кожного)

Мінуси :

  • Для правильної настройки потрібні певні ноу-хау низького рівня
  • возитися з розділами жорсткого диска та завантажувачами завжди має певний потенціал, щоб захистити вашу поточну установку (переконайтеся, що у вас є зручна завантажувальна флешка або живий компакт-диск перед початком роботи)

Якщо ви розділите докерську альтернативу як окрему від віртуалізації у своєму дописі, я хотів би відзначити це як відповідь, яка охоплює всі альтернативи. IMHO, я вважаю, що контейнери не є справжньою віртуалізацією через відсутність справжніх повноцінних initсистем та повних ядер. Контейнери (докер, LXC тощо) є більш легкими на ресурсах порівняно з повною віртуалізацією (тощо) ...
Тед Кахалл

2

QEMU

QEMU - це рішення з віртуалізації, яке теоретично вирішує вимоги цього питання до дешевих і простих.

Це дозволяє перетягувати завантаження ізо файлів операційної системи в хості Linux або Windows.

Він також дозволяє завантажувати живі жорсткі диски USB в хост-системі і використовує стійкість, якщо вона є.

Немає необхідності створювати віртуальний жорсткий диск, як у VBox.

QEMU доступний як додаток командного рядка для Linux, Windows та інших ОС. Він також доступний як графічний інтерфейс і входить до версій http://multibootusb.org/ MultiBootUSB Linux та Windows .

QEMU

QEMU також можна запустити від менеджера віртуальної машини, який швидше, ніж MBUSB, але не перетягується.

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

Для більш тривалого тестування ОС система, встановлена ​​VirtualBox, є вищою.


Дякую! Я не чув про такий варіант. Я погляну на це.
Тед Кагалл

2

Найпростіший і найпростіший спосіб - це використання віртуалізації. Ви можете завантажити VirtualBox (це відкритий код) та встановити будь-яку операційну систему. І я рекомендую вам створити знімок перед першим запуском, таким чином ви можете повернутися до його попереднього стану, якщо ви допустите будь-яку помилку при його налаштуванні, зміні конфігурації тощо.

У мене є використання та тестування декількох ОС таким чином. Це дуже просто і швидко. Навіть я використовував MSDOS та Windows 3.1 за допомогою віртуалізації. Ви можете встановити що завгодно, навіть ChromeOS (з невеликою кількістю роботи) або будь-яку версію Windows або Linux, це не має значення смаку робочого столу.


1

Останні 3 роки я успішно завантажував повну інсталяцію Ubuntu з USB-накопичувачів. USB 2.0 виявився трохи повільніше, ніж старший 3G SATA HD (7200 об / хв 16 Мб кеш), але USB 3.0 знаходиться за пару секунд від SSD на інтерфейсі 3G SATA.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.