Методы для испытания новых версий ОС, не соглашаясь на него?

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

Какой набор альтернатив там, чтобы сделать это, не рискуя моей основной машиной разработки? Я не ищу дебаты по Лучшему способу, но какие альтернативы доступны.

20
задан 10 March 2018 в 04:54

9 ответов

Я держу отдельный раздел на своем диске (рекомендуем минимум 20 ГБ, больше, если можете).

Я могу установить на этот раздел любую ОС, которую я хочу протестировать, и затем перезагрузиться в нее.

Если все работает хорошо, я могу отказаться от своего исходного раздела ОС и в конце концов переназначить его.

Но если новая ОС не работает для меня (проблемы с драйверами, недоступное программное обеспечение), тогда я могу просто перезагрузиться обратно в мою старую ОС и быть благодарным, что она у меня все еще есть!

Примечания:

  • Таким образом, вы действительно можете протестировать новую ОС на своем оборудовании, чтобы вы могли обнаружить проблемы с драйверами.

  • Но если вы только хотели узнать, как чувствует себя новая ОС, одно из других решений для виртуализации, вероятно, быстрее, проще и безопаснее для вас.

  • Я держу свой /home в большом отдельном разделе, поэтому он не зависит от двух ОС. (Не переформатируйте этот раздел случайно!)

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

  • Вам не нужно создавать второй раздел подкачки. Вы можете использовать один и тот же раздел подкачки для обеих ОС.

  • Конечно, вам нужно быть осторожным , какие разделы вы форматируете / устанавливаете. Поэтому сделайте резервную копию и запишите свои идентификаторы и размеры разделов (parted, p, q) перед установкой новой ОС.

  • Чтобы выполнить двойную загрузку между двумя операционными системами, вам потребуется grub для обнаружения обеих из них. По моему опыту, Grub всегда делал это автоматически. (Но раньше lilo была другой историей!)

  • Часто можно запускать программное обеспечение из одной ОС, пока вы работаете в другой ОС. Я справился с этим, используя sudo chroot /mnt/original_os, хотя для настройки это было : я должен был выполнить привязку /dev и /proc.

  • .

Моя запись была о 4 ОС Linux на одной машине и Windows XP. Раньше я загружался в Gentoo для скорости и удовольствия, но запускал мой веб-сервер и почтовый сервер в chroot для доверенной ОС Debian.

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

3
ответ дан 23 November 2019 в 01:46

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

Альтернативы USB хороши, когда

  • Вы хотите проверить производительность (на чистом металле)
  • компьютер не достаточно мощен для выполнения системы хорошо в виртуальной машине

Можно использовать USB pendrive по крайней мере с 2 ГБ дискового пространства и создать a

  • живите система Ubuntu в pendrive.

    Начальная загрузка от USB pendrive и выбора 'Пробует Ubuntu' в меню начальной загрузки (и что-то похожее с другими дистрибутивами Linux). Если Вы сохраните данные, установите программы или настроите систему в живом (живо-единственном) диске, то это не переживет завершение работы или перезагрузку.


Если Вы хотите

  • попробуйте Ubuntu более усовершенствованным способом или
  • сохраните данные, установите программы или настройте систему и
  • Вы/получаете быстрый USB pendrive по крайней мере 4 ГБ,

можно создать a

  • персистентная живая система Ubuntu

или если Вы/получаете быстрый USB pendrive по крайней мере 16 ГБ, можно создать

  • установленная система Ubuntu (как установленный во внутреннем диске, но в USB pendrive).

    Установленная система в Карте памяти устойчива и гибка, может быть усовершенствована и настроена без любых пределов. Таким образом это лучше, чем персистентная живая система. Это портативно между компьютерами, если можно избежать собственных драйверов, но персистентная живая система является более портативной.

Ссылки


26
ответ дан 23 November 2019 в 01:46

Один способ протестировать новые дистрибутивы и версии ОС с виртуализацией. Это не требует, чтобы пространство для дополнительного ПК/клавиатуры/видео/мыши или адаптеров выполнило несколько ПК с единственной клавиатурой, видео, мышью. Это только требует единственного ПК и некоторого программного обеспечения виртуализации.

Это предполагает, что у Вас есть машина с многоядерным ЦП, способным к виртуализации и разумному объему памяти. Я рекомендовал бы по крайней мере 8 ГБ памяти с на 16 ГБ лучше, если у Вас есть она.

Если Вы запускаете Ubuntu и только хотите попробовать дистрибутивы Linux (я не полагаю, что Windows будет работать), можно использовать бесплатное программное обеспечение виртуализации, упакованное в Ubuntu: KVM или Xen. Оба хорошо работают, СВОБОДНЫ, и могут выполнить различные дистрибутивы Linux. Однако инструментам для управления VMs несколько недостает. Oracle имеет Бесплатную версию инструмента виртуализации под названием VirtualBox и конечно всегда существует коммерческий продукт VMware. И VirtualBox и VMware могут также запустить Ubuntu сверху машины Windows, если это - Ваш предпочтительный рабочий стол.

При помощи менеджера VM Вы сможете добавить новые дистрибутивы, поскольку они выходят, тестируют их, игру с новыми возможностями, и затем отбрасывают их, когда новый выпуск появляется. Они только съедают дисковое пространство, если не работающее, таким образом, они даже не должны быть отброшены, если это не становится трудным. С менеджером VM легко балансироваться 5, 10 или больше дистрибутивов на машине и смочь загрузить их и удалить их по мере необходимости. Если Вам повезло иметь машину на 64 ГБ или на 32 ГБ, можно даже выполнить их всех параллельно.

15
ответ дан 23 November 2019 в 01:46

Как еще более быстрая и более дешевая альтернатива ответу sudodu можно загрузить непосредственно от загрузочного файла изображения диска вместо специализированного (USB) диск.

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

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

  2. Добавьте файл “частей” Личинки, например. 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, если Вы хотите.

  3. Сделайте исполняемый файл файла:

    sudo chmod a+x /etc/grub.d/35_isofiles
    
  4. Удостоверьтесь, что меню Grub включено.

  5. Обновите конфигурацию Личинки:

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


1 Другой тип файловой системы возможен, но может потребовать других команд Личинки и тонкой настройки параметра начальной загрузки.

2 LVM, RAID и системы зашифрованного файла должны работать благодаря служебной библиотеке Личинки, но я не протестировал их.

12
ответ дан 23 November 2019 в 01:46

Виртуализация является безусловно самой простой.

Однако у Вас есть 2 отдельных варианта использования здесь, которые будут иметь различные решения

1. Испытайте новый дистрибутив

Дистрибутивы в основном определяются пакетными приложениями и средой пространства пользователя (например. SystemD по сравнению с init для начальной загрузки)

Если бы Вы хотите "оценить" UIX другого распределения, качественно, то я рекомендовал бы полноценную виртуализацию, где Вы устанавливаете ОС в целом и оцениваете ее удобство использования. Это покрыто соответственно в других ответах.

Если Вам просто нужна среда пространства пользователя для тестирования, затем продолжает читать.

2. Тестирование и "одноразовые экземпляры" в различных средах

Это легче, более дешево, и быстрее использовать контейнеризацию, форму виртуализации легкого веса, которая использует ядро для создания поигравших в песочнице сред.

Контейнер совместно использует ресурсы ядра с Хостом, но иначе имеет его собственную корневую файловую систему, пространство пользователя, сетевой стек, и т.д. Это может думаться, концептуально как a chroot на стероидах. Однако, потому что ядро совместно используется, виртуализация "тонкая", означая, что для наиболее практических целей это работает на той же скорости как хост ОС.

Существует наиболее часто используемая контейнерная названная система docker. Докер стандартизировал изображения для практически каждого дистрибутива Linux, который Вы хотели бы, и он работает на окнах (однако, окна отображает только работу над окнами, работу изображений 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

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

9
ответ дан 23 November 2019 в 01:46

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

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

Профессионалы:

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

Недостатки:

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

2. Загрузочный флеш-накопитель

Профессионалы:

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

Недостатки:

  • требует наличия одного (или больше) флеш-накопители, выделенные этой цели
  • производительность зависит от качества флеш-накопителя, который Вы используете

3. Двойная загрузка от раздела

Профессионалы:

  • дает Вам лучшую идею производительности, совместимости драйвера, и т.д., так как она работает на тех же самых аппаратных средствах как Ваша основная ОС
  • может настроить несколько сразу, пока у Вас есть пространство на жестком диске (просто необходимо настроить отдельный раздел для каждого),

Недостатки:

  • требует, чтобы некоторое ноу-хау низкого уровня настроило правильно
  • питание с разделами жесткого диска и загрузчиками всегда имеет некоторый потенциал к Bork Ваша текущая установка (удостоверьтесь, что у Вас есть загрузочный флеш-накопитель или живой CD, удобный перед запуском),
3
ответ дан 23 November 2019 в 01:46

QEMU

QEMU является решением для виртуализации, которое теоретически решает требования этого вопроса для дешевого и простого.

Это позволяет начальную загрузку перетаскивания операционной системы файлы ISO в хосте Linux или Windows.

Это также позволяет загружаться Живых жестких дисков USB, в хост-системе и использует персистентность при наличии.

Нет никакой потребности создать виртуальный жесткий диск как с VBox.

QEMU доступен как приложение командной строки для Linux, Windows и другой ОС. Это также доступно как GUI и включено с MultiBootUSB Linux и версиями Windows http://multibootusb.org/.

QEMU

QEMU может также быть выполнен из Диспетчера виртуальных машин, который быстрее, чем MBUSB, но не является перетаскиванием.

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

Поскольку долгосрочная ОС, тестирующая VirtualBox, установила систему, выше.

2
ответ дан 23 November 2019 в 01:46

Самый простой и легкий путь использует виртуализацию. Можно загрузить VirtualBox (это - открытый исходный код), и установите любую операционную систему. И, я рекомендую Вам создать снимок, прежде чем выполнено в первый раз, когда таким образом Вы можете нейтрализация к ее предыдущему состоянию при установке какой-либо настройки ошибки она, изменяя конфигурацию, и т.д.

Я имею использование и тестирую несколько ОС таким образом. Это очень просто и быстро. Даже, я использовал MS-DOS и Windows 3.1 с помощью виртуализации. Можно установить что-либо, даже ChromeOS (с определенной работой) или любая версия Windows или Linux, это не имеет значения своя настольная разновидность.

2
ответ дан 23 November 2019 в 01:46

Я успешно загружал полные установки Ubuntu от Карт памяти в течение прошлых 3 лет. USB 2.0 был немного медленнее, чем более старый 3G SATA HD (кэш на 7 200 об/мин 16 МБ), но USB 3.0 в течение пары секунд после SSD в интерфейсе SATA 3G.

1
ответ дан 23 November 2019 в 01:46

Другие вопросы по тегам:

Похожие вопросы: