Есть такой очень удобный софт для виртуализации как vagrant. Он использует под капотом VirtualBox (возможно в будущем это может изменится, но пока он поддерживает только его). Я думаю что минимальный образ который может загрузится и поднять сеть будет достаточно. Т.е. как минимальный сервер: std-def ядро, glibc, rpm, apt, openssh server. sshd должен быть включён. Box это в терминалогии vagrant обычный образ для VirtualBox в котором поднята сеть и положен ssh ключ vagrant. Этот ключ публичный. Остальные подробности могу добавить потом.
Посмотри doc/vm.txt и собери себе vm/net.vdi (+/- что ещё захочешь). А на vagrant я было смотрел как раз для генерации образов, в итоге оказалось проще содрать у коллеги сделанное для clustrx.
(В ответ на комментарий №1) > Посмотри doc/vm.txt и собери себе vm/net.vdi (+/- что ещё захочешь). Я не дописал. Никто не хочет и не будет собирать себе образы для vagrant таким образом. Надо что бы они просто автоматически собирались и выкладывались рядом с регулярными сборками десктопных исошкек. Лично я считаю порог вхождения в mkimage-profiles слишком высоким. А с учётом того что эти знания применить потом даже негде, то учить этот инструмент я не буду. Так же поступят и все остальные. > А на vagrant я было смотрел как раз для генерации образов, в итоге оказалось > проще содрать у коллеги сделанное для clustrx. vagrant не собирает образы. Он всего лишь прослойка для простого и удобного разворачивания и руления виртуальными машинами. Максимум что он умеет, это перепаковывать образы через VirtualBox.
Вот тут расписана процедура изготовления бокса - http://williamwalker.me/blog/creating-a-custom-vagrant-box.html
Ещё раз: цеплять vagrant в виде генератора образов на сейчас не вижу смысла, а в чём иная суть предложенной разработки -- из comment #0 не понял. Просьба уточнить, чем не устраивает http://altlinux.org/starterkits#vm
(В ответ на комментарий №4) > Ещё раз: цеплять vagrant в виде генератора образов на сейчас не вижу смысла, > а в чём иная суть предложенной разработки -- из comment #0 не понял. Перечитай заново всё то что я написал. > Просьба уточнить, чем не устраивает http://altlinux.org/starterkits#vm Я хочу делать такое: $ vagrant box add --name sisyphus http://ftp.altlinux.org/.../sisyphus.box $ vagrant init sisyphus $ vagrant up Какой из тех образов можно скормить vagrant что бы такое заработало? Охота что бы такие образы для vagrant делались регулярно. Хотя бы на базе Sisyphus. И ещё один момент, в новом vagrant была добавлена поддержка других типов виртуальных и не очень (amazon ec2 к примеру) машин. Предлагаю считать что тут у нас vagrant на VirtualBox.
(В ответ на комментарий №4) > Ещё раз: цеплять vagrant в виде генератора образов на сейчас не вижу смысла, > а в чём иная суть предложенной разработки -- из comment #0 не понял. Если уж быть ещё более дотошным, то нужен просто образ от в формате VirtualBox с парой хаков внутри: 1. Включена сеть 2. Установленный sshd и запускается по-умолчанию 2. Добавлен пользователь vagrant с паролем vagrant 3. Добавлен публичный ключ vagrant из самого vagrant 4. Установлен sudo, отключён requiretty и настроен что бы пользователь vagrant мог его использовать без пароля ("vagrant ALL=(ALL) NOPASSWD:ALL"). 5. Установлены дополнения для VirtualBox. Это всё предельно просто. Только я в вашей каше из makefiles просто не знаю как это сделать.
Во, так понятней. А каша вообще-то немного документирована как внутри себя, так и на http://altlinux.org/m-p и недостаток/невнятность/избыток документации признаются багами.
(В ответ на комментарий №7) > Во, так понятней. Готов помочь с тестирование. :) И что бы не было путаницы, думаю что target лучше всего сделать vagrant-virtualbox. И файл на выходе vagrant-virtualbox.box
Там еще неприятность в том, что в /opt/vagrant/embedded/gems/gems/vagrant-1.5.4/plugins/communicators/ssh/communicator.rb прибито гвоздями sudo -E, которого наш древний sudo не знает :(
(В ответ на комментарий №9) > Там еще неприятность в том, что в > /opt/vagrant/embedded/gems/gems/vagrant-1.5.4/plugins/communicators/ssh/communicator.rb > прибито гвоздями sudo -E, которого наш древний sudo не знает :( Это не влияет на то, что нужен образ sisyphus (ну или бранчей) для запуска vagrant. Мне не особо волнует что сам vagrant не работает на текущем Сизифе.
а как здесь дела? мне тоже актуально иметь box (образ) для vagrant.. хотя бы какой-нибудь..
Created attachment 6132 [details] начальная фича и проверочный образ Смотрел на него задумчиво примерно вчера, пока затык. "Наработок" негусто.
(В ответ на комментарий №12) > Created an attachment (id=6132) [details] > начальная фича и проверочный образ > > Смотрел на него задумчиво примерно вчера, пока затык. "Наработок" негусто. Выглядит вроде как правильно. Собери образ и положи куда-нибудь.
Собрано вслепую и, скорее всего, не заработает -- просьба сообщить, что не так: http://fly.osdn.org.ua/~mike/iso/test/vagrant-base-20140904-x86_64.vdi
(В ответ на комментарий №14) > Собрано вслепую и, скорее всего, не заработает -- просьба сообщить, что не так: > http://fly.osdn.org.ua/~mike/iso/test/vagrant-base-20140904-x86_64.vdi не может root смонтировать.. ругается на 'Unknown agrgument' в udevadm_settle...
Created attachment 6136 [details] скриншот с ошибкой.. Скриншот с ошибкой загрузки..
Спасибо; а что говорит ls /dev (или echo /dev/*) и как бы самому посмотреть?
Created attachment 6137 [details] ls /dev (В ответ на комментарий №17) > Спасибо; а что говорит ls /dev (или echo /dev/*) прилагаю скриншот > и как бы самому посмотреть? так собственно я просто в VirtualBox создал машину, запускаю и всё. До vagrant-а дело ещё не дошло..
Ага, не хватало ahci в tar2fs. Просьба проверить http://fly.osdn.org.ua/~mike/iso/test/vagrant-base-20140909-x86_64.vdi.xz -- у меня в virtualbox загружается, хотя и с кучей ругани на invalid devname entry.
(В ответ на комментарий №19) > Ага, не хватало ahci в tar2fs. Просьба проверить > http://fly.osdn.org.ua/~mike/iso/test/vagrant-base-20140909-x86_64.vdi.xz -- у > меня в virtualbox загружается, хотя и с кучей ругани на invalid devname entry. При загрузке какой-то мусор лезит в терминал. Потом, пользователя vagrant с паролем vagrant впустило. Рута с паролем vagrant нет, хотя должно было. sudo не стоит, хотя тоже должно. Пока тестировать больше нечего. Если что, я образ просто подключил к VirtualBox и загрузился.
(В ответ на комментарий №16) > Created an attachment (id=6136) [details] > скриншот с ошибкой.. > > Скриншот с ошибкой загрузки.. Это скорее всего из-за того что новый udev не знает опции --quiet. Надо дождатся исправления make-initrd в Сизифе.
Э, про root:vagrant в comment 6 ничего не было! ;-) Обновил (MD5: 4e72e328e490bb53c06ed41f3264b5c0), просьба глянуть: http://fly.osdn.org.ua/~mike/iso/test/vagrant-base-20140909-x86_64.vdi.xz
Оно что -- заработало, что все хором замолчали? :)
(В ответ на комментарий №23) > Оно что -- заработало, что все хором замолчали? :) ну для моей задачи мне достаточно было образа запускаемого при помощи vagrant. Соответственно более серьёзно, я проверить не могу просто.
Так запустился? Просто если да, то я коммиты причешу и опубликую в m-p хоть.
(В ответ на комментарий №25) > Так запустился? Просто если да, то я коммиты причешу и опубликую в m-p хоть. Да. В VB запускается... root по паролю vagrant пускает, sudo есть. Специфику vagrant не проверял..
Обновлённый по состоянию на сегодня box можно взять здесь: http://fly.osdn.org.ua/~mike/iso/test/vagrant-base-20150216-x86_64.vdi.xz (md5: 45c1beb53485940acca2773ecd414bd4) Если устраивает -- мержу соответствующую ветку в mkimage-profiles.
(В ответ на комментарий №27) > Обновлённый по состоянию на сегодня box можно взять здесь: > http://fly.osdn.org.ua/~mike/iso/test/vagrant-base-20150216-x86_64.vdi.xz > (md5: 45c1beb53485940acca2773ecd414bd4) > > Если устраивает -- мержу соответствующую ветку в mkimage-profiles. Проверино: 1. login: root, password: vagrant -- работает 2. login: vagrant, password: vagrant -- работает (Тут в документации не написано, должен ли у пользователя vagrant вообще быть пароль. Когда я найду ответ на этот вопрос в документации, я напишу суда.) 3. "sudo su -" от пользователя vagrant работает. Без пароля работает. 4. Дальше в этой сборке оказался пустой /home/vagrant/.ssh/authorized_keys. После докладывания, ssh vagrant@localhost в virtualbox'е заработал. Но это не показатель того что там всё правильно. 5. В этой сборке оказались уже старые дополнения для virtualbox. 4.3.20, а текущая версия уже 4.3.22. Было бы не плохо их обновить. 6. В этом образе оказалось слишком мало свободного места. Всего 20-30 мегабайт. Можно больше? А то реально тестировать просто не возможно. (В ответ на комментарий №9) > Там еще неприятность в том, что в > /opt/vagrant/embedded/gems/gems/vagrant-1.5.4/plugins/communicators/ssh/communicator.rb > прибито гвоздями sudo -E, которого наш древний sudo не знает :( И до сих пор не поддерживает. А в исходниках всё ещё использует "sudo -E". Я пока не знаю, чем это может обернутся для нас. Надо тестировать. Остальное буду тестировать дальше.
(В ответ на комментарий №28) > 4. Дальше в этой сборке оказался пустой /home/vagrant/.ssh/authorized_keys. Да, заметил в офлайне нюанс с порядком запуска скриптов. Поправил. > 5. В этой сборке оказались уже старые дополнения для virtualbox. Это как в сизиф приедут. > 6. В этом образе оказалось слишком мало свободного места. Добавил до гигабайта пока, заодно собираю vmdk вместо vdi, как у них принято: http://fly.osdn.org.ua/~mike/iso/test/vagrant-base-20150216-x86_64.vmdk.xz (md5: 17f4f49160810d0291fd280bf0353b88) > И до сих пор не поддерживает. А в исходниках всё ещё использует "sudo -E". > Я пока не знаю, чем это может обернутся для нас. Надо тестировать. Это ортогональный вопрос про упаковку самого vagrant.
(В ответ на комментарий №28) > 2. login: vagrant, password: vagrant -- работает > (Тут в документации не написано, должен ли у пользователя vagrant вообще быть > пароль. Когда я найду ответ на этот вопрос в документации, я напишу суда.) Перечитал документации. Пароль у пользователя vagrant должен быть vagrant. "Also, even though Vagrant uses key-based authentication by default, it is a general convention to set the password for the "vagrant" user to "vagrant". This lets people login as that user manually if they need to." Т.е. у нас тут правильно.
Угу. Заканчиваю оформление этих коммитов и собираюсь опубликовать в составе mkimage-profiles 1.1.58 -- а дальше заняться метаданными для формата box (экспортированная тестовая машинка с осенних экспериментов под рукой есть).
http://git.altlinux.org/people/mike/packages/?p=mkimage-profiles.git;a=commitdiff;h=451d7c012d416b2806819cfa30adef85d93cc340
mkimage-profiles-1.1.58-alt1 -> sisyphus: * Mon Feb 16 2015 Michael Shigorin <mike@altlinux> 1.1.58-alt1 - vagrant feature (closes: #28553)