только родным ядром от PRAВы учли , что для ПРа надо /usr/lib/modules , а не /lib ?
Как у вас пользователь создаетсяНикак. home/live преднастроен и находится в модулях. Запускаться надо их под него и лучше xwin , а не startx
Установил пра64 в виртуалбоксе на диск gpt vfat, загрузка с uefi.Лишние движения и возможно, созданы доп. проблемы.
Я собирался использовать и ядро и uird от росыЕсли юзать ПРа ядро - теряется весь смысл затеи
возможно если установить на другую фс дело пойдет и с нашим ядром.Да. надо хоть как-то загрузиьться с MO ядром и пробовать монтировать - будет проще дебажить
Взять можно здесь http://files.magos-linux.ru/betcher/Ок - попробую - отпишусь
dir=pra64Вряд ли это надо для uird
При клике на иконку не находятся defaultbrowser, urxvt.sh и defaultterminal, Где они должны быть?в 070. Может не все модули загрузились? Арчовые Симлинки /bin /lib не убились?
dir=pra64Для uird точно не надо, я думал в системе используется для чего то. Pfs-utils например.
Вряд ли это надо для uird
с xwin не запускаются иксы. Не верный интерпретатор ash.В ПРа он в busybox, который в пра-initrd
title ▒▒ PRA UIRD
set d=pra64
kernel /%d%/vmlinuz-4.8.4-pf3_64 dir=%d% quiet uird.from=/pra64
initrd /%d%/uird.magos.cpio.xz
menuentry PRA64 clean mode flash-drive{
icon /EFI/BOOT/snowy/os_linux.png
volume flashka
loader /MagOS/vmlinuz
initrd /MagOS/uird.magos.cpio.xz
options "uird.mode=clean uird.from=flashka@/pra64 dir=pra64 vga=791"
#disabled
}
Добавил в /base http://mirror.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/busybox-any.pfs
И перепаковал http://magos.sibsau.ru/repository/netlive/multi/MagOS/modules/x86_64/00-kernel.xzmЭто делали?
здесь /ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/kernelЭто не работает
/4.1.8-1-MANJARO/uird результаты предыдущих экспериментов
взял http://magos.sibsau.ru/repository/netlive/multi/MagOS/kernel/x86_64/vmlinuzУ меня с неперепакованным - без улучшений
И перепаковал http://magos.sibsau.ru/repository/netlive/multi/MagOS/modules/x86_64/00-kernel.xzm
З.Ы. сети нетВероятно из-за /lib/modules они не загрузились
добавить blacklist=bcma
наличие модуля с fglrx не повлияло, возможно просто xorg.conf нужен настроенный.да
Для загрузки с PRA с UIRD нужно:Хорошо бы проверить через iso
начать с пересборки iso iso-make-grub4dos.sh и грузиться с этого isoУ меня не получилось --скрин выше. Похоже сд не виден не хватает модулей ядра в инитрд
как у вас бизибокс из инитрд в систему попадает?В porteus-initrd initrd остается примонтированным в /mnt/live - просто симлинк
В porteus-initrd initrd остается примонтированным в /mnt/live - просто симлинкНадо будет глянуть как они так замутили.
Похоже сд не виден не хватает модулей ядра в инитрдCD не виден vfat не виден, что-то странное творится :)
Для меня осталось загадкой как у Вас работает без перепаковки /lib в /usr/lib По идее без этого все должно было поклинитьСам в шоке %)
Или в юирд такое учтено....?
CD не виден vfat не виден, что-то странное творитсяДа
Попробую пересобрать uird, может в сборку кривой попал.Не помогло. Будем разбираться с Антоном.
В команде работать веселейРедко столько времени бывает.
http://files.magos-linux.ru/betcher/161124.isoВ vbox без улучшений - не видит сд
Исошник к sata подключен? Как оказалось это важно.Да. Так работает. Но надо и иде
То ли в ядре что-то меняли то ли в дракут.Вероятно в ядре
title ▒▒ PRA-uird. Чистый. С модулями магос.
kernel /magos/vmlinuz uird.from=/pra64;/magos dir=pra quiet
initrd /magos/uird.magos.cpio.xz
title ▒▒ PRA-uird. Чистый, плюс /pra64 в RAM, плюс модули магос и скрипты.
kernel /magos/vmlinuz uird.from=/pra64;/magos uird.cp=*/scripts uird.copy2ram=pra64 dir=pra64 quiet
initrd /magos/uird.magos.cpio.xz
title ▒▒ PRA-uird. pra64 плюс модули магос и скрипты. Режим с сохранениями. Своп.
kernel /magos/vmlinuz uird.from=/pra64;/magos uird.cp=*/scripts uird.swap=auto uird.mode=changes uird.changes=changes dir=pra64 quiet
initrd /magos/uird.magos.cpio.xz
title ▒▒ PRA-uird. pra64 плюс модули магос и скрипты. Плюс хомяк на диске. Гибридный режим (с очисткой сохраненний). Своп.
kernel /magos/vmlinuz uird.from=/pra64;/magos uird.cp=*/scripts uird.swap=auto uird.mode=hybrid uird.changes=changes uird.home=homes dir=pra64 quiet
initrd /magos/uird.magos.cpio.xz
title ▒▒ PRA-uird. Чистый, плюс /pra64 в RAM, плюс модули магос и скрипты. Монтирование /opt/test с диска.
kernel /magos/vmlinuz uird.from=/pra64;/magos uird.cp=*/scripts dir=pra64 uird.mounts=test::/opt/test quiet
initrd /magos/uird.magos.cpio.xz
так что не такие уж мы и разныеРазные. Модули невзаимозаменяемые. :(
нужно заранее создать три папочки homes, changes и test.А не лучше сделать "как у людей" - /home примонтированный раздел, на нём каталог live?
А не лучше сделать "как у людей" - /home примонтированный раздел, на нём каталог live?Конечно можно и так. А в таком варианте и хомяк и ченджез на одном диске в отдельных папочках, разве плохо?
title ▒▒ PRA-uird.
kernel /MagOS/vmlinuz uird.from=/111627.iso;/pra64;/magos
initrd /MagOS/uird.magos.cpio.xz
хомяк и ченджез на одном диске в отдельных папочках, разве плохо?Хомяк лучше держать на отдельном разделе (рекомендация опытных линуксоидов), changes пожалуй лучше на системном.
После загрузки 100500 сообщений и вопросов. Это всегда так?Да, у sfs виндуизмомания :D
Хомяк лучше держать на отдельном разделе (рекомендация опытных линуксоидов), changes пожалуй лучше на системном.Не вопрос. Где то так.
kernel /magos/vmlinuz uird.from=/pra64;/magos uird.mode=changes uird.changes=pra64/changes uird.home=homes
initrd /magos/uird.magos.cpio.xz
kernel /magos/vmlinuz uird.scan=modules
Еще немного экспериментов.Цель - Тест возможностей uird+pra (т.е. того, чего без uird в ПРа нет?)
у вас в отличии от магос пользователь при загрузке не создается.Да. По замыслу Х и большинство приложений от live. Некоторые от root
Перезалил с другим uird, теперь грузится с ideТ.е. дело не в ядре? А почему у меня выше со старым uird и manjaro ядром работало?
Модули невзаимозаменяемыеЕсли собрать модули софта по выкройкам magos из арчрепы - получится функциональный аналог magos
Почему вы используете папку /opt?Чтобы грузить что-то по load= c вариантами. например разные DE или дрова
После загрузки 100500 сообщений и вопросов.Некоторые появляются только при первой загрузке без сохраненки
поиск модулей на доступных носителях и загрузка с найденными.Очень спорный функционал
Цель - Тест возможностей uird+pra (т.е. того, чего без uird в ПРа нет?)Для меня скорее да. Если вдруг вам такая сборка тоже будет интересна, то для внесения необходимых вам изменений путь в UIRD короче чем в porteus.
Т.е. дело не в ядре? А почему у меня выше со старым uird и manjaro ядром работало?
Что поправили в uird?
Что характерно - ничего. Взял UIRD из сборки, а не из своей системы. Видимо пересобирал себе и где-то вкрался косяк :)
Если собрать модули софта по выкройкам magos из арчрепы - получится функциональный аналог magosЕсли в Ваш pra установить firefox он уже становится не быстрым :) Так же тормозит и с такой же скоростью запускается.
Т.е. уже не "маленький и быстрый", а "универсальный и функциональный"
Возможно кому-то это тоже интересно
Чтобы грузить что-то по load= c вариантами. например разные DE или дроваНе понял как связано.
Некоторые появляются только при первой загрузке без сохраненкиОбновить то, обновить се, подъем сети пару сообщений точно. Пароли. Короче субъективно - много. Напрягают.
Про пароли по просьбам трудящихся (все равно не находят)
А какие вопросы?
Очень спорный функционалuird.scan без параметров просто ищет модули, хомяки, инсталляции линукс и так далее. И просто выводит в консоль, для удобства подбора параметров uird.
Какой смысл держать модули не в папке дистра? Можно получить незапускаемую кашу из разных дистров и архитектур
pra работает как магос с lxde,А по размеру? ;)
софта в магос на порядок больше.Все что есть в магос можно собрать (перепаковать из арча) и в ПРА. Если нет - значит наши такое не юзают
Не понял как связано.В porteus load= распространяется только на /optional
Обновить то, обновить се,Если убрать из автозагрузки - не будут обновлять, будут ходить по старым граблям
подъем сетиЕсли ее настроить - будет одно или ни одного
pra-extras.pfs с униврсальным набором софта а-ля магос.ПРА - конструктор. Модули независимы (где зависимости не прописаны). У каждого свое понятие универсальности
К чему сборки то плодить.Помочь новичку с исходным набором под разную мощность компа
даже браузера нет, не порядокЭто - пока экспериментальная сборка. Зачем она нужна - пока нет ясности. Вот с uird экспериментируем
Если все получится - надо все-таки перепаковать /lib в /usr/libВы о модулях с дровами или о самом uird?
initrd загружается в память ядром. После запуска init системы он остается в памяти или память освобождается?Не знаю. Тоже думал об этом. Есть мысль запихать в uird модуль и подключить его в систему совместно с остальными. Интересно получится ли :)
Маленький initrd точно грузится быстрееЭто время загрузки инитрд в память плюс (возможно) потери из-за более сложной логики поиска. Если грузить одинаковый набор модулей из одинаковых папок не думаю, что время загрузки будет отличаться больше чем на пару секунд. А разница в размере большого и ультра мелкого инитрд -метров 10. Так ли это важно?
Это время загрузки инитрдда - и здесь ничего не сделать
(возможно) потери из-за более сложной логикиВ uird udev - тоже работу не ускоряет
После запуска init системы он остается в памяти или память освобождается?Последняя команда в init - switch_root.
DESCRIPTIONИз man switch_root.
switch_root moves already mounted /proc, /dev, /sys and /run to
newroot and makes newroot the new root filesystem and starts init
process.
WARNING: switch_root removes recursively all files and directories on
the current root filesystem.
Поскольку porteus частично (что тоже не до конца понятно ) остается доступен после загрузки системы - получается что память не освобождаетсяТогда как объяснить такое...
В uird udev - тоже работу не ускоряетНе уверен, но возможно потери на udev на этапе uird компенсируются ускорением загрузки основной системы.
потери на udev на этапе uird компенсируются ускорением загрузки основной системы.В основной он запускается второй раз (время) , но ему не надо грузить модули ядра уже загруженные с 1го раза
попробовать загрузить систему с нашим и uird и сравнить htopПровел с нашим ядром - одинаково, т.е. инитрд удаляется
Это поможет избежать перепаковки?теоретически - да. Практически проще перепаковать
Вы не могли бы проверить на Вашем исо пра магосовские дрова атиПока не удачно. Буду еще пробовать.
Если убрать xorg.conf грузится с radeon без ошибок.Т.е. работает и с имеющимся X
собрать uird под pra64 и родное от pra64 ядроЯдро пра скомпилено так что будет работать с любым uird (не требуются доп. модули ядра)
Получилось собрать uird под pra64 и родное от pra64 ядро. Правда в виду отсутствия кучи бинарников пока не грузит, но хотябы пытаетсяУ меня такой же результат
pacman -S gitДля компиляции нужен devx (http://wiki.puppyrus.org/puppyrus/pra#%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F)
ругается на то что не хватает, поставить пришлось дохрена.
Сперва собираем dracut.
packer dracut
1. uird под пра собирается нерабочийКажется мне дело в busybox. Надо попробовать при сборке полный бизибокс подсунуть. Имеюю ввиду собрать с make defconfig.
дело в busybox.Да. лучше воткнуть магосовский
ело в версии иксов похоже.http://forum.puppyrus.org/index.php?topic=18149.msg125632#msg125632
Модуль с бизибоксом не нужен, просто копирую файл из uird в систему.Такое делается штатными средствами uird?
Добавлен один перепакованный модуль от магос с ядерными модулями, но и без него грузится.Грузиться то может и будет, но без модулей не жизнь
uird.syscp+=/usr/bin/busybox::/usr/binпохоже закончится написанием своего языка программирования
похоже закончится написанием своего языка программированияСкорее systemdЫ :)
готов поучаствоватьЗа предложение спасибо, но пожалуй откажусь. Штука интересная, но времени что-то совсем не стало свободного :(
На uird это сделать - MagOS Multi :) можете участвовать в тестировании.uird.syscp+=/usr/bin/busybox::/usr/binпохоже закончится написанием своего языка программирования
Поюзал https://sourceforge.net/projects/berryboot/ на rpi3 - интересная штука - универсальный фругал с сохраненкой , но без модульности и т.п.
На рус. http://4pda.ru/forum/index.php?showtopic=308317&st=7240#entry50001136
Не сделать ли на uird аналог:
Из инитрд грузится гуй (может просто перекомпилить для i686):
настройка сети (провод и wifi) + загрузка из своей репы образов (а еще лучше родных iso)
Образ - корень любого линукса без ядра в squashfs
готов поучаствовать
checkramfree -f
ps -aeo rss,comm --sort rss |sort -nr
нужен верхний слой называйте большим индексом
$ aufs-n
Слои AUFS (верхний 0 перекрывает все что ниже)
N Модуль Путь
0 changes=rw /memory
1 sakura-p-3.3.0-1_64.pfs=ro+wh /memory/bundles
2 nVidia-340.101-k4.8.14-1-MANJARO_64-sf03.pfs=ro+wh/memory/bundles
3 firefox-light-47.0_64-sf01.pfs=ro+wh /memory/bundles
4 090-save-150620net-pra64.pfs=ro+wh /memory/bundles
5 090-save-150405aih.pfs=ro+wh /memory/bundles
6 089-zz-pfs-utils-cli-170202.pfs=ro+wh /memory/bundles
По первому - автоматом так не будет. Используйте подстановки вида $(uname ....)Не понял про что и как сделать... Можно пример?
Называйте с номером все модулиВ ПРА большинство модулей независимые. По другому убивает идею модульности (как я ее понимаю)
Особым образом в магос не выделяется какой-то модуль.Т.е. сохраненки в модуль нет....
Для сохранения изменений используется чаще machines.Он будет в верхнем слое и может быть модулем?
uird.load+="000-kernel-$(uname -r)-...."Для этого придется его в /optional переносить
Сохраненка в модуль есть.И работает как-то очень медленно. (Это впечатления от MagOS)
в виде механизма machines.Можно подробнее или ссылку
UIRD ест после загрузки на 70мб больше памяти, чем porteus-praА этот эффект кто-нибудь может объяснить?
работает как-то очень медленно.Это плата за стандартность , универсальность и отсутствие костылей
в виде механизма machines.Смысл в том, что имя модуля с сохранениями привязано к железу. Это в первую очередь для флешек сделано. То есть на каждой машине где грузите файл свой.
UIRD ест после загрузки на 70мб больше памяти, чем porteus-praФиг знает. Для разницы в размерах ядра+uird как то многовато.
По поводу clear - надо подумать.Надо сделать. Самого бесит, а такая простая идея в голову не пришла.
Смысл в том, что имя модуля с сохранениями привязано к железу.А смысл в этом есть? Железо при загрузке автоопределяется, остаётся только сеть, но это можно решить проще.
имя модуля с сохранениями привязано к железу.На мой взгляд спорный функционал. Усложнение. Актуален для сетевой загрузки в большой сети
При включенном режиме "machines" uird находит модуль с сохранениями для этой машины и распаковывает его в корень.И тратит на это драгоценную память - чем плохо монтировать сквош в верх. слой (о чем изначально и был вопрос: нет спецмодуля, попадающего в верх. слой - нет сохраненки.pfs)
Надо сделать. Самого беситЯ Вам это еще больше года назад предлагал
По алиасам. Сделать я думаю можно, но рекомендовать не стоит.Да. Внесет дополнительную путаницу
Нужно еще в base.cfg вписать значения для пра, чтоб в стандартном случае вообще без параметров запускался.Я из Вашего исо брал инитрд. Вроде там добавить нечего. Или подскажите Во всех наворотах uird не разобрался. Юзаю только load noload
к вопросу о 70 метров в рам. Ядро одинаковое?
При том же ядре, составе модулей и железа и папаметрах загрузки :Размер инитрд на эту память не влияет (по итогу моих экспериментов)
UIRD ест после загрузки на 70мб больше памяти, чем porteus-pra
На мой взгляд спорный функционалСохранение в модуль без привязки к железу тоже есть. uird.mode=changes uird.changes=/file.xzm.
И тратит на это драгоценную память - чем плохо монтировать сквош в верх. слойС копированием проще и надежнее. Не нужно задумываться о тенях, не нужно мержить изменения со старым модулем перед сохранением. Но модуль в итоге самый обыкновенный и при желании можете его монтировать. В uird все по алфавиту подключается, можно просто название модуля поменять. Или uird.load+=savepfs и кладете этот модуль в отдельную папочку savepfs, думаю сработает.
Я из Вашего исо брал инитрд. Вроде там добавить нечего.
uird.changes=/file.xzm.Т.е. всетаки можно засунуть 090 в верхний слой без переименования...
uird.load+=savepfs и кладете этот модуль в отдельную папочку savepfs, думаю сработает.Будет выше /modules, но ниже /optional по алфавиту
Думал, что вы свежие из магос брали.Если есть свежее чем в Вашем втором исо - интересно (если там есть изменения)
uird.changes=/file.xzm.Это тоже с распаковкой. Модуль должен быть вне modules и optiolal иначе фиг знает что произойдет. Наверное и монтируется и копируетсят :) Этот функционал, кстати, не проверял давно, могли поломать клгда machines ремонтировали. :)
Будет выше /modules, но ниже /optional по алфавитуНу идея же понятна.
Если есть свежее чем в Вашем втором исо - интересно (если там есть изменения)Особо ничего. uird.syscp только наверное, может фиксы какие.
Т.е. функционала save.pfs в верхний слой нет. Жаль. Причем обидно что супернавороченный функционал есть, а самого насущного нет :(Не могу понять чего именно нет. Подключить модуль можно в любой уровень, а собрать модуль из изменений это уже не задача initrd.
чего именно нет.Возможности подключить при загрузке системы save.pfs (по имени 090-*) гарантированно в верхний слой не зависимо от расположения и алфавита
Возможности подключить при загрузке системы save.pfs (по имени 090-*) гарантированно в верхний слой не зависимо от расположения и алфавитаНу так uird.load+=ZZZ-saves и в путь :), ну или uird.changes=file.xzm так гарантированно в верхний, но копирование :) Почему в верхний слой должны попадать именно 090* как то странновато. Запилить можно конечно, но логику общую нарушает, имхо.
Я в portrus-pra такое запилил - все стало логичнее
save.pfs (по имени 090-*)Почему "по имени 090-*", логичнее будет "по имени *save*" ?
uird.load+=ZZZ-savesТак- да, но хотелось бы использовать разные initrd с одинаковыми модулями (без переименований и переносов)
но логику общую нарушает, имхо.Разве не логично - сохраненка в верхнем слое...
Почему "по имени 090-*", логичнее будет "по имени *save*" ?Исторически сложилось. В портеус базовые модуле с номерами. Сохраненки в модуль нет
Разве не логично - сохраненка в верхнем слое...Не о том не много. Модуль с сохранениями он такой же как и все остальные, не хочется выпиливать для него особенный костыль. Вполне вероятна ситуация когда под этот шаблон у кого-то попадет совершенно другой модуль, вот он удивится, все по порядку а этот 090-mod.xzm сверху :) Тем более с шаблоном *save*. Даже не знаю как еще разрулить ситуацию. Пока кроме переименования модуля или его переноса в отдельную папочку вариантов не вижу.
Модуль с сохранениями он такой же как и все остальныеНет. Он особенный. Поэтому и грузить надо особенно. Я тоже пока это не догнал - долго с ним мучался
первую попавшуюся папочку testНа любом разделе?
использую для монтирования /var/tmpЗачем? В большинстве дистров там tmpfs
гибридный режимНе догнал - зачем такое.... Хочешь поэкспериментировать и забыть - rw сохраненка
На любом разделе?В том варианте как вы написали - да. Можно же уточнить uird.mounts=/pra64/test::/opt/test или даже uird.mounts=/dev/sda2/pra64/test::/opt/test или еще надежней uird.mounts=LABEL@/pra64/test::/opt/test
Зачем? В большинстве дистров там tmpfsТе кто готовит в Росе КДЕ с вами не согласны. И вообще /var/tmp тем и отличается от /tmp, что файлы из нее полезно сохранять (хоть и не обязательно).
В UIRD такой шквал функционала. Но многие идеи не понятны.Допускаю, что есть и лишнее. Время покажет. Вам вовсе не обязательно рассказывать юзверям все :) Достаточно основных моментов, которые вполне пересекаются и с портеус.
/var/tmp тем и отличается от /tmpВиноват - имел ввиду /tmp
Вам вовсе не обязательно рассказывать юзверям все :) Достаточно основных моментов, которые вполне пересекаются и с портеус.Я так и хотел, но все-таки взял за основу Ваш menu.lst. Уберу пожалуй гибрид-save . Т.к. сам не понял
вряд ли с чем-то перепутается, если есть стандартUIRD не только для PRA.
UIRD не только для PRA.Это понятно. И что ПРА далек от стардартных Линуксов - тоже
Я так и хотел, но все-таки взял за основу Ваш menu.lst. Уберу пожалуй гибрид-save . Т.к. сам не понялКонечно убирайте. Это просто тесты и примеры.
Но пока, я так понимаю, к uird только я интерес проявляю и на вашем форуме один любитель магеи. Это из не МагОсовцевВсе так, но это не повод лепить костыли верно :)
Сохраненки в модуль нетsave-session
save-session?
Конечно убирайте. Это просто тесты и примеры.Примеры удачных тестов с пояснением их ТЗ - как раз очень бы хотелось
Сохранение в модуль для Porteussave-session?
uird.home=home.img uird.mode=machines - надо разжевыватьЭто у вас не будет работать. Точнее грузить будет а сохранять нет, для этого в системе скрипты нужны.
home.img - если я правильно понял - fsinfile?Да. Папака аналогично.
uird.scan=legacy - в доке нетВроде должно быть в help. Это значит найти установленный линукс и загрузить его с помощью ядра+uird Не модульный дистр, а реально обычный.
Сохранение в модуль для PorteusТ.е. и там сделали? В какой версии? Под модулем понимаете squashfs ?
должно быть в helpДа. uird.help надо обязательно в меню. Чуть не забыл
найти установленный линукс и загрузить его с помощью ядра+uird Не модульный дистр, а реально обычный.Как фокус впечатляет... А смысл... Все ведь упрется в
для этого в системе скрипты нужны.Чем мы и начали заниматься (pfs-util)
Чем мы и начали заниматься (pfs-util)Такого в pfs-utils нет. И вероятно не нужен. Скрипт запускается системой при выключении из rc.halt. Ссылку надо?
Как фокус впечатляет... А смысл... Все ведь упрется вМожно же uird.mode=changes uird.changes=/dev/sda2/changes добавить. И ничего никуда не упрется.
Такого в pfs-utils нет.Ну хоть какое-то движение пошло
uird.mode=changes uird.changes=/dev/sda2/changesТ.е. подключить установленный линукс RO + в отдельную папку сохраненку. Издевайся как хочешь или сохраняй состояния на манер виртуалок
Т.е. подключить установленный линукс RO + в отдельную папку сохраненку. Издевайся как хочешь или сохраняй состояния на манер виртуалокДа :)
боюсь, Full-щики никогда не будут юзатьДа :(
Т.е. и там сделали? В какой версии? Под модулем понимаете squashfs ?Ну по крайней мере в 3.1 уже есть. У меня модуль changes-141219.xzm. Создает именно squashfs
в 3.1 уже естьНадо будет посмотреть