Я хочу попробовать новые версии ОС, когда они прибывают, такие как Ubuntu 17.04 или Ubuntu 17.10 для наблюдения новых возможностей. Мне также нравится смотреть на Kubuntu, CentOS или другие дистрибутивы (Windows 11, когда он прибывает?) - или настроенные тестовые среды, зная я могу повредить их и не хочу делать это к своей базовой машине.
Какой набор альтернатив там, чтобы сделать это, не рискуя моей основной машиной разработки? Я не ищу дебаты по Лучшему способу, но какие альтернативы доступны.
Я держу отдельный раздел на своем диске (рекомендуем минимум 20 ГБ, больше, если можете).
Я могу установить на этот раздел любую ОС, которую я хочу протестировать, и затем перезагрузиться в нее.
Если все работает хорошо, я могу отказаться от своего исходного раздела ОС и в конце концов переназначить его.
Но если новая ОС не работает для меня (проблемы с драйверами, недоступное программное обеспечение), тогда я могу просто перезагрузиться обратно в мою старую ОС и быть благодарным, что она у меня все еще есть!
Примечания:
Таким образом, вы действительно можете протестировать новую ОС на своем оборудовании, чтобы вы могли обнаружить проблемы с драйверами.
Но если вы только хотели узнать, как чувствует себя новая ОС, одно из других решений для виртуализации, вероятно, быстрее, проще и безопаснее для вас.
Я держу свой /home
в большом отдельном разделе, поэтому он не зависит от двух ОС. (Не переформатируйте этот раздел случайно!)
Но я рекомендую не использовать общий раздел /home
во время тестирования. Если две ОС имеют существенно различающиеся версии программного обеспечения, приложение может изменить свои файлы конфигурации способом, который не подходит для другой ОС. Так что сохраняйте отдельные файлы конфигурации для каждой ОС, пока не перейдете к одной из них. (*) см. ниже
Вам не нужно создавать второй раздел подкачки. Вы можете использовать один и тот же раздел подкачки для обеих ОС.
Конечно, вам нужно быть осторожным , какие разделы вы форматируете / устанавливаете. Поэтому сделайте резервную копию и запишите свои идентификаторы и размеры разделов (parted, p, q) перед установкой новой ОС.
Чтобы выполнить двойную загрузку между двумя операционными системами, вам потребуется grub для обнаружения обеих из них. По моему опыту, Grub всегда делал это автоматически. (Но раньше lilo была другой историей!)
Часто можно запускать программное обеспечение из одной ОС, пока вы работаете в другой ОС. Я справился с этим, используя sudo chroot /mnt/original_os
, хотя для настройки это было : я должен был выполнить привязку /dev
и /proc
.
Моя запись была о 4 ОС Linux на одной машине и Windows XP. Раньше я загружался в Gentoo для скорости и удовольствия, но запускал мой веб-сервер и почтовый сервер в chroot для доверенной ОС Debian.
(*) Вы можете настроить разные домашние папки для каждой ОС, отредактировав
BLOCKQUOTE>/etc/passwd
. Установите для своего дома значение/home/you/arch-test
, затем выберите целевой общий раздел в/etc/fstab
и перезагрузите компьютер. Вы можете создать символическую ссылку на некоторые точечные файлы для совместного использования в обеих ОС, оставив другие для конкретной ОС.
Альтернативы USB хороши, когда
Можно использовать USB pendrive по крайней мере с 2 ГБ дискового пространства и создать a
живите система Ubuntu в pendrive.
Начальная загрузка от USB pendrive и выбора 'Пробует Ubuntu' в меню начальной загрузки (и что-то похожее с другими дистрибутивами Linux). Если Вы сохраните данные, установите программы или настроите систему в живом (живо-единственном) диске, то это не переживет завершение работы или перезагрузку.
Если Вы хотите
можно создать a
или если Вы/получаете быстрый USB pendrive по крайней мере 16 ГБ, можно создать
установленная система Ubuntu (как установленный во внутреннем диске, но в USB pendrive).
Установленная система в Карте памяти устойчива и гибка, может быть усовершенствована и настроена без любых пределов. Таким образом это лучше, чем персистентная живая система. Это портативно между компьютерами, если можно избежать собственных драйверов, но персистентная живая система является более портативной.
Попробуйте Ubuntu (Kubuntu, Lubuntu, Xubuntu...) прежде, чем установить его
help.ubuntu.com/community/Installation/FromUSBStick#Notes_about_speed
Один способ протестировать новые дистрибутивы и версии ОС с виртуализацией. Это не требует, чтобы пространство для дополнительного ПК/клавиатуры/видео/мыши или адаптеров выполнило несколько ПК с единственной клавиатурой, видео, мышью. Это только требует единственного ПК и некоторого программного обеспечения виртуализации.
Это предполагает, что у Вас есть машина с многоядерным ЦП, способным к виртуализации и разумному объему памяти. Я рекомендовал бы по крайней мере 8 ГБ памяти с на 16 ГБ лучше, если у Вас есть она.
Если Вы запускаете Ubuntu и только хотите попробовать дистрибутивы Linux (я не полагаю, что Windows будет работать), можно использовать бесплатное программное обеспечение виртуализации, упакованное в Ubuntu: KVM или Xen. Оба хорошо работают, СВОБОДНЫ, и могут выполнить различные дистрибутивы Linux. Однако инструментам для управления VMs несколько недостает. Oracle имеет Бесплатную версию инструмента виртуализации под названием VirtualBox и конечно всегда существует коммерческий продукт VMware. И VirtualBox и VMware могут также запустить Ubuntu сверху машины Windows, если это - Ваш предпочтительный рабочий стол.
При помощи менеджера VM Вы сможете добавить новые дистрибутивы, поскольку они выходят, тестируют их, игру с новыми возможностями, и затем отбрасывают их, когда новый выпуск появляется. Они только съедают дисковое пространство, если не работающее, таким образом, они даже не должны быть отброшены, если это не становится трудным. С менеджером VM легко балансироваться 5, 10 или больше дистрибутивов на машине и смочь загрузить их и удалить их по мере необходимости. Если Вам повезло иметь машину на 64 ГБ или на 32 ГБ, можно даже выполнить их всех параллельно.
Как еще более быстрая и более дешевая альтернатива ответу sudodu можно загрузить непосредственно от загрузочного файла изображения диска вместо специализированного (USB) диск.
По крайней мере, для ISO-образов Ubuntu (и производные как Linux Mint) следующие работы рецепта. Другие дистрибутивы, возможно, нуждаются в дальнейшей тонкой настройке.
Сохраните загрузочное изображение (изображения) диска в ISO format1 где-нибудь как файл на Вашем диске (дисках) внутренней памяти 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, если Вы хотите.
Сделайте исполняемый файл файла:
sudo chmod a+x /etc/grub.d/35_isofiles
Удостоверьтесь, что меню Grub включено.
Обновите конфигурацию Личинки:
sudo update-grub
Перезагрузка и выбор недавно добавленная запись меню Grub для начальной загрузки от соответствующего файла изображения.
1 Другой тип файловой системы возможен, но может потребовать других команд Личинки и тонкой настройки параметра начальной загрузки.
2 LVM, RAID и системы зашифрованного файла должны работать благодаря служебной библиотеке Личинки, но я не протестировал их.
Виртуализация является безусловно самой простой.
Однако у Вас есть 2 отдельных варианта использования здесь, которые будут иметь различные решения
Дистрибутивы в основном определяются пакетными приложениями и средой пространства пользователя (например. SystemD
по сравнению с init
для начальной загрузки)
Если бы Вы хотите "оценить" UIX другого распределения, качественно, то я рекомендовал бы полноценную виртуализацию, где Вы устанавливаете ОС в целом и оцениваете ее удобство использования. Это покрыто соответственно в других ответах.
Если Вам просто нужна среда пространства пользователя для тестирования, затем продолжает читать.
Это легче, более дешево, и быстрее использовать контейнеризацию, форму виртуализации легкого веса, которая использует ядро для создания поигравших в песочнице сред.
Контейнер совместно использует ресурсы ядра с Хостом, но иначе имеет его собственную корневую файловую систему, пространство пользователя, сетевой стек, и т.д. Это может думаться, концептуально как 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
Существуют буквально сотни других шаблонов использования, однако, подобное сценарию определение изображения, растяжимые изображения, и использование командной строки делает его чрезвычайно привлекательным для разработки, теста и даже сред развертывания
У Вас в основном есть три опции: виртуализация (VirtualBox или Докер), загрузочный флеш-накопитель (современная альтернатива живому CD), или двойная загрузка от раздела. Выбор между этими тремя зависит от Ваших потребностей, аппаратных средств и опыта. Некоторые из других ответов вдаются в намного большее количество подробностей о конкретном подходе, но вот высокоуровневое сравнение, чтобы дать Вам платформу для решения между ними.
Профессионалы:
Недостатки:
Профессионалы:
Недостатки:
Профессионалы:
Недостатки:
QEMU
QEMU является решением для виртуализации, которое теоретически решает требования этого вопроса для дешевого и простого.
Это позволяет начальную загрузку перетаскивания операционной системы файлы ISO в хосте Linux или Windows.
Это также позволяет загружаться Живых жестких дисков USB, в хост-системе и использует персистентность при наличии.
Нет никакой потребности создать виртуальный жесткий диск как с VBox.
QEMU доступен как приложение командной строки для Linux, Windows и другой ОС. Это также доступно как GUI и включено с MultiBootUSB Linux и версиями Windows http://multibootusb.org/.
QEMU может также быть выполнен из Диспетчера виртуальных машин, который быстрее, чем MBUSB, но не является перетаскиванием.
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
sudo apt-get install virt-manager
Поскольку долгосрочная ОС, тестирующая VirtualBox, установила систему, выше.
Самый простой и легкий путь использует виртуализацию. Можно загрузить VirtualBox (это - открытый исходный код), и установите любую операционную систему. И, я рекомендую Вам создать снимок, прежде чем выполнено в первый раз, когда таким образом Вы можете нейтрализация к ее предыдущему состоянию при установке какой-либо настройки ошибки она, изменяя конфигурацию, и т.д.
Я имею использование и тестирую несколько ОС таким образом. Это очень просто и быстро. Даже, я использовал MS-DOS и Windows 3.1 с помощью виртуализации. Можно установить что-либо, даже ChromeOS (с определенной работой) или любая версия Windows или Linux, это не имеет значения своя настольная разновидность.
Я успешно загружал полные установки Ubuntu от Карт памяти в течение прошлых 3 лет. USB 2.0 был немного медленнее, чем более старый 3G SATA HD (кэш на 7 200 об/мин 16 МБ), но USB 3.0 в течение пары секунд после SSD в интерфейсе SATA 3G.