Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср ноя 22, 2017 1:58 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 115 сообщений ]  На страницу 1 2 3 4 58 След.
Автор Сообщение
СообщениеДобавлено: Ср май 29, 2013 3:57 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
В связи с планами выпуска дистрибутива 1.0.0.0, встает вопрос с ISO образом. Нынче на нем содержатся дополнительные программы, которые не влезли в образ рамдиска. Пользователь может их запускать, но разумеется для полноценной работы требуется ручками прописать ассоциации в файловых менеджерах. Разумеется это не годный подход.

Давно уже всплывала тема как дать загруженной системе знать, где находится диск с дополнительными приложениями. ЕМНИП первым предложил Serge - располагать контрольный файл, по которому система найдет нужный диск и раздел. Однако идея был не до конца проработана в деталях.

Предлагаю тут обсудить реализацию. Вот как я ее вижу.

Система при старте запускает не Launcher, а приложение, которое будет искать нужный раздел, с нужным контрольным файлом. Копия такого-же файла будет лежать на рамдиске, для быстрой смены образа без перекомпиляции. Если файлы совпадут по содержимому, то программа вызывает системную функцию, которая добавляет в корневой раздел ("/" ) диск с названием допустим "/addappl" и создает линк на найденный раздел (название не так принципиально, лишь бы не совпадало с уже существующими, например можно обозвать "/sys2"), который будет вторым после "/sys" приложением. Можно монтировать дополнительную директорию не в "/", а в "/sys", но такого кода у нас пока принципиально нет. Далее мы уже просто пользуемся, вызывая с использованием пути "/addappl/media/fplay", например для видеоплеера.

Есть один минус, который одновременно и плюс - никто не мешает во время работы ВНЕЗАПНО подменить директорию. Прав доступа у нас нет, потому я думаю можно на первых порах этот функционал в ядре сделать, чтобы не рожать дополнительных системных функций и обеспечить неизменность директории в продолжении хотя бы одного сеанса. С другой стороны в данный момент никто не мешает подменить "/sys" - или я уже путаюсь и оно не доступно к смене через системную функцию ядра?

В общем высказывайтесь, критикуйте - я не отрицаю что мои идеи и код на 90% говно, но для того здесь коллективный разум сообщества присутствует.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 4:03 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
А ещё есть замечательный tmpdisk, с которого программы загружаются очень быстро. Многие live-системы грузят своё содержимое в память, и работают оттуда. Не панацея, потому что увеличивает время загрузки системы в целом. В общем-то, даже на 4x CD-ROM дополнительные файлы размером 20 Мб будут считываться аж 40 секунд, а на 52x - целых 4.


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 4:06 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
SoUrcerer
И часто нам нужно запускать видеоплеер и другие толстые приложения? Я думаю копирование их на темповский диск не всегда оправдано. ALT Linux Live например прекрасно запускает такие приложения с самого исходного диска. К тому же наличие темповского раздела не решает проблемы с обнаружением исходного системного раздела, который может быть как на CD, DVD, так и на HD, USB, BD.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 4:19 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Не решает. Ты прав.
Но концепция поиска и монтирования как /sys/somewhat/ мне нравится.


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 5:22 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Mario_r4
Не по содержимому, пустой файл с именем - UUID строкой. И лучше делать это ещё в ядре. И монтировать на /sys, для подмены которой уже написан код.


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 6:12 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Serge писал(а):
Не по содержимому, пустой файл с именем - UUID строкой.

Не есть хорошо с точки зрения ограничения на отдельные символы на разных файловых системах. У того что предложил я - нет ограничений на саму сравниваемую строку и ее длину - уникальность нужна.
Serge писал(а):
И монтировать на /sys, для подмены которой уже написан код.

Монтировать с заменой "/sys" также не совсем хорошо - рамдиск работает быстрее и желательно "/sys" = "/rd/1", чтобы грузить основной набор программ именно с рамдиска.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 6:33 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
Вам не передать как я рад, что кто-то наконец в глобальном слысле подошёл к проблеме. Она в некотором смылсе уже решённа в KolibriN.

>>приложение, которое будет искать нужный раздел, с нужным контрольным файлом
именно такое приложение в KolibriN: http://websvn.kolibrios.org/listing.php ... 300457094c
запускается, ищет, и запускает установщик

Изначально было два варианта:
1. использовать файлы с того места, где мы их нашли
2. или копировать на tmp-диск

Плюсы первого варианта - не нужно копировать файлы. Быстрее приступаем к работе.
Плюсы второго варианта - долго копируем. Зато всё очень быстро запускается и диск на котором были ориг. файлы (CD/flash) можно извлечь.

Чесно: я не знаю какой вариант лучше. И всё же было бы неплохо завести ещё одну переменную типа /sys/ вроде /soft/ или любое другое название. Второй вариант не исключает первого.

_________________
Через тернии к звездам


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 6:40 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1077
Leency писал(а):
Изначально было два варианта:
1. использовать файлы с того места, где мы их нашли
2. или копировать на tmp-диск

Плюсы первого варианта - не нужно копировать файлы. Быстрее приступаем к работе.
Плюсы второго варианта - долго копируем. Зато всё очень быстро запускается и диск на котором были ориг. файлы (CD/flash) можно извлечь.

Чесно: я не знаю какой вариант лучше. И всё же было бы неплохо завести ещё одну переменную типа /sys/ вроде /soft/ или любое другое название. Второй вариант не исключает первого.


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

_________________
я лишь учусь


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 6:49 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
Тоже вариант. В KolibriN сейчас копирование запускается вручную и требует времени. Если этот процесс запустить в фоне после старта системы и начать копирование с самых маленьких/часто испольумых программ, то пользователь этот процесс может и не заметить.

_________________
Через тернии к звездам


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 6:52 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1077
В идеале можно было бы сделать еще никий файл со списком программ которые необходимо скопировать, таким образом человек смог бы настроить процесс опираясь на свои нужды.

_________________
я лишь учусь


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 7:49 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Leency писал(а):
Она в некотором смылсе уже решённа в KolibriN.

>>приложение, которое будет искать нужный раздел, с нужным контрольным файлом
именно такое приложение в KolibriN: http://websvn.kolibrios.org/listing.php ... 300457094c
запускается, ищет, и запускает установщик

Изначально было два варианта:
1. использовать файлы с того места, где мы их нашли
2. или копировать на tmp-диск

1. Код в С-- это не мой выбор.
2. Судя по твоей сборке - она ничего не монтирует автоматически, тем более это никак не поддержано со стороны ядра. Так что такое решение в лучшем случае половинчатое и непрактичное.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 7:52 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Тем не менее, нельзя отрицать, что это решение. И это решение таки решает кое-какие проблемы большинства простых пользователей, которые хотят, чтобы оно "просто работало". Видимо, направление верное. Вопрос в реализации.

А еще мне очень нравится идея кастомных сборок на сервере. Чтобы можно было собрать и систему в 200 кб, и полностью нашпигованную софтом.


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 8:00 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
SoUrcerer писал(а):
А еще мне очень нравится идея кастомных сборок на сервере. Чтобы можно было собрать и систему в 200 кб, и полностью нашпигованную софтом.

Можно написать веб-морду, которая передает выбранные пользователем пункты для сборки - я не думаю, что это настолько сложно. А готовая ссылка например хранится в течение часа. Разумеется необходимый минимум будет гарантированно присутствовать в образе рамдиска, а все опциональное запихиваться в ISO. Также нужно будет корректировать menu.dat

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 8:13 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Раньше такое было в Slax, но теперь убрали. Зато есть в Angstrom:
http://narcissus.angstrom-distribution.org/


Вернуться к началу
СообщениеДобавлено: Ср май 29, 2013 8:34 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
Mario_r4 писал(а):
1. Код в С-- это не мой выбор.
2. Судя по твоей сборке - она ничего не монтирует автоматически, тем более это никак не поддержано со стороны ядра. Так что такое решение в лучшем случае половинчатое и непрактичное.

>>Она в некотором смысле уже решённа в KolibriN. Вам не передать как я рад, что кто-то наконец в глобальном слысле подошёл к проблеме.

Пожалуйста, читай внимательно и старайся уловить суть. У меня был опыт, я им поделился. Моё решение далеко не оптимальное и хорошо, что ты поднял этот вопрос, чтобы решить его на уровне ядра/системы.

_________________
Через тернии к звездам


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 115 сообщений ]  На страницу 1 2 3 4 58 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB