Способы опробовать новые выпуски ОС без его фиксации?

18

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

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

    
задан Ted Cahall 07.03.2018 в 13:50
источник

9 ответов

25

Варианты USB

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

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

Вы можете использовать USB-накопитель объемом не менее 2 ГБ и создать

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

    Загрузитесь с USB-накопителя и выберите "Попробовать Ubuntu" в меню загрузки (и что-то подобное с другими дистрибутивами linux). Если вы сохраняете данные, устанавливаете программы или настраиваете систему в режиме реального времени (live-only), она будет не выживать при завершении работы или перезагрузке.

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

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

вы можете создать

  • Постоянная живая система Ubuntu

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

  • установлена ​​ система Ubuntu (например, установлена ​​на внутреннем диске, но в USB-накопителе).

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

Ссылки

  • Восстановить USB-накопитель до стандартное устройство хранения данных

  • Невозможно форматировать мой USB-накопитель. Я уже пробовал с mkdosfs и gparted

  • Перенос записи образа DD-образа?

ответ дан sudodus 07.03.2018 в 15:48
15

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

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

Если вы используете Ubuntu и только хотите попробовать дистрибутивы Linux (я не верю, что Windows будет работать), вы можете использовать бесплатное программное обеспечение для виртуализации, упакованное в Ubuntu: KVM или Xen. Оба работают нормально, БЕСПЛАТНО и могут запускать различные дистрибутивы Linux. Однако инструменты для управления виртуальными машинами несколько отсутствуют. У Oracle есть БЕСПЛАТНАЯ версия инструмента виртуализации VirtualBox, и, конечно же, всегда есть коммерческий продукт VMWare. И VirtualBox, и VMWare также могут запускать Ubuntu поверх Windows-компьютера, если это ваш рабочий стол по выбору.

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

    
ответ дан Ted Cahall 07.03.2018 в 13:50
12

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

По крайней мере, для образов ISO Ubuntu (и таких производных, как 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 -- "")" || 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
    

    до /etc/grub.d и сделать его выполнимым.

    Отредактируйте путь к файлу в указанной строке в соответствии с вашими потребностями. Вы можете добавить несколько путей и / или шаблоны шаров Bash, если хотите.

  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, но я не тестировал их.

    
ответ дан David Foerster 08.03.2018 в 01:23
9

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

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

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

Распределения в основном определяются упакованными приложениями и средой пользовательского пространства (например, SystemD vs init для загрузки)

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

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

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

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

Контейнер разделяет ресурсы ядра с хостом, но в остальном имеет свою собственную корневую файловую систему, пользовательское пространство, сетевой стек и т. д. Это можно представить концептуально как chroot на стероидах. Однако, поскольку ядро ​​является общим, виртуализация является «тонкой», что означает, что для большинства практических целей она работает с той же скоростью, что и ОС хоста.

Обычно используется контейнерная система, называемая docker . 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

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

    
ответ дан crasic 07.03.2018 в 19:35
3

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

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

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

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

Примечания:

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

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

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

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

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

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

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

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

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

  

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

    
ответ дан joeytwiddle 08.03.2018 в 03:22
3

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

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

Профи :

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

против

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

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

Профи :

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

против

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

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

Pros

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

против

  • требуется некоторая ноу-хау низкого уровня для правильной настройки
  • Взаимодействие с разделами жесткого диска и загрузчиками всегда имеет некоторый потенциал, позволяющий настроить вашу текущую настройку (перед началом работы убедитесь, что у вас есть загрузочный флеш-накопитель или компакт-диск с компакт-диском)
ответ дан Sean the Bean 09.03.2018 в 17:19
2

QEMU

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

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

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

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

QEMU доступен как приложение командной строки для Linux, Windows и других ОС. Он также доступен как графический интерфейс и включен в MultiBootUSB Linux и Windows версии Ссылка .

QEMU также может быть запущен из Virtual Machine Manager, который быстрее MBUSB, но не перетаскивается.

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

Для более долговременного тестирования ОС система, установленная VirtualBox, превосходит.

    
ответ дан C.S.Cameron 11.03.2018 в 01:14
2

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

Я использую и тестирую несколько ОС таким образом. Это очень просто и быстро. Даже, я использовал MSDOS и Windows 3.1, используя виртуализацию. Вы можете установить что угодно, даже ChromeOS (с небольшим количеством работы) или с любой версией Windows или Linux, это не имеет значения для его настольных приложений.

    
ответ дан Luis Arriojas 08.03.2018 в 16:30
1

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

    
ответ дан CSharpQuestions 08.03.2018 в 20:55