инсталляция: быстрая + безопасная
Добавлено: 14 ноя 2013, 18:27
Тема возникла из необходимости часто устанавливать самые различные дистрибутивы Linux (для ознакомления ... удачные оставлялись для работы).
Кроме того, точно такая же задача возникает при создании мобильных инсталляций Linux: на USB-флеш, на внешний USB HDD ... через переходник USB <-> IDE/SATA на любой HDD и т.д.
А поскольку я за последние 2-3 года устанавливал (посмотреть) практически все свежие релизы всех дистрибутивов (вплоть до самых замысловатых ... да и не только Linux, но и Solaris, QNX, Minux 3, Android-86, ...). Речь идёт о многих десятках инсталляций, то, естественно, возникает вопрос: как это делать быстрее и с меньшими трудозатратами ... + к этому с меньшими рисками по неосторожности не "поставить" новую инсталляцию на место существующей системы на HDD.
Обычный традиционный путь установки из образа ISO описывается так:
1. накатать из ISO-образа CD/DVD;
2. загрузиться с этого CD/DVD;
3. ... следовать инструкции инсталляции
4. перезагрузиться с установленной системы.
Поначалу все только так и делали... Но здесь неприятные п.п.1-2: долго, хлопотно, бывают порченые носители, ... не на всех компьютерах уже есть CD-привод, или он может барахлить и т.д.
Следующий шаг - переход на загрузку-инсталляцию с USB-флеш диска:
1. записать загрузочную флешку (см. загрузочный Linux на USB флешке;
2. загрузиться с этой флешки;
... а дальше всё в точности как в предыдущей задаче
И там и там от чего хотелось бы избавиться?
1. 2 перезагрузки (п.2 и п.4)
2. вся инсталляция (обычно довольно медленная и тягомутная) происходит вслепую (в режиме текстового или графического диалога) и в однозадачном-одноэкранном режиме (оно делает - мы сидим ждём )
2. если что-то с установкой не так (п.4 не успешный) всё практически придётся повторять по-новой
Но можно (особенно если хорошо понимать что делаешь) весь этот процесс делать в виртуальной машине, QEMU (или VirtualBox):
1. запускаем в Linux виртуальную машину, отдав ей не так много RAM - 500M, 700M, ... обычно за глаза достаточно...
2. в качестве CD/DVD указываем имя файла ISO-образа...
3. в качестве HDD указываем только один выбранный привод (это вовсе может быть не HDD, а внешний USB-носитель - их Linux не различит)...
4. создаём (при запуске ... командой, настройками) сетевые соединения (для QEMU TAP или др.)...
5. устанавливаем систему с ISO-образа на единственный переданный HDD, который теперь отображается как /dev/sda
6. перезагружаем виртуальную машину изменив ей устройство загрузки с ISO-образа на USB-носитель куда установили
7. если при инсталляции что-то установилось не так - всегда можем смонтировать USB-носитель в базовом Linux - подправить - вернуться на п.5/6 ... а не делать всю инсталляцию с начала.
8. все операции п.п.1-6 можем делать при работающей системе, без единой перезагрузки, параллельно занимаясь чем-то другим
Кроме того, точно такая же задача возникает при создании мобильных инсталляций Linux: на USB-флеш, на внешний USB HDD ... через переходник USB <-> IDE/SATA на любой HDD и т.д.
А поскольку я за последние 2-3 года устанавливал (посмотреть) практически все свежие релизы всех дистрибутивов (вплоть до самых замысловатых ... да и не только Linux, но и Solaris, QNX, Minux 3, Android-86, ...). Речь идёт о многих десятках инсталляций, то, естественно, возникает вопрос: как это делать быстрее и с меньшими трудозатратами ... + к этому с меньшими рисками по неосторожности не "поставить" новую инсталляцию на место существующей системы на HDD.
Обычный традиционный путь установки из образа ISO описывается так:
1. накатать из ISO-образа CD/DVD;
2. загрузиться с этого CD/DVD;
3. ... следовать инструкции инсталляции
4. перезагрузиться с установленной системы.
Поначалу все только так и делали... Но здесь неприятные п.п.1-2: долго, хлопотно, бывают порченые носители, ... не на всех компьютерах уже есть CD-привод, или он может барахлить и т.д.
Следующий шаг - переход на загрузку-инсталляцию с USB-флеш диска:
1. записать загрузочную флешку (см. загрузочный Linux на USB флешке;
2. загрузиться с этой флешки;
... а дальше всё в точности как в предыдущей задаче
И там и там от чего хотелось бы избавиться?
1. 2 перезагрузки (п.2 и п.4)
2. вся инсталляция (обычно довольно медленная и тягомутная) происходит вслепую (в режиме текстового или графического диалога) и в однозадачном-одноэкранном режиме (оно делает - мы сидим ждём )
2. если что-то с установкой не так (п.4 не успешный) всё практически придётся повторять по-новой
Но можно (особенно если хорошо понимать что делаешь) весь этот процесс делать в виртуальной машине, QEMU (или VirtualBox):
1. запускаем в Linux виртуальную машину, отдав ей не так много RAM - 500M, 700M, ... обычно за глаза достаточно...
2. в качестве CD/DVD указываем имя файла ISO-образа...
3. в качестве HDD указываем только один выбранный привод (это вовсе может быть не HDD, а внешний USB-носитель - их Linux не различит)...
4. создаём (при запуске ... командой, настройками) сетевые соединения (для QEMU TAP или др.)...
5. устанавливаем систему с ISO-образа на единственный переданный HDD, который теперь отображается как /dev/sda
6. перезагружаем виртуальную машину изменив ей устройство загрузки с ISO-образа на USB-носитель куда установили
7. если при инсталляции что-то установилось не так - всегда можем смонтировать USB-носитель в базовом Linux - подправить - вернуться на п.5/6 ... а не делать всю инсталляцию с начала.
8. все операции п.п.1-6 можем делать при работающей системе, без единой перезагрузки, параллельно занимаясь чем-то другим