Одна из вещей, которые меня немного напрягают в PC-BSD это необходимость запускать сразу три утилиты для поддержания системы в актуальном состоянии. Обычно это происходит так: я вижу наличие обновлений в иконке лотка, потом правая кнопка, потом запускаю менеджер обновлений и менеджер пакетов (часто обновления пакетов идут примерно в одно время с обновлениями системы). А если еще и PBI устарели... Не критично, конечно, но хочется сделать лучше.
В итоге все это вылилось в разработку утилиты которая на момент попадания в PC-BSD должна уметь:
- Обновлять систему, пакеты и PBI
- Делать обновления всего в один клик (но при этом предоставлять возможность выбрать то что нужно)
- Показывать максимально подробную информацию об обновлениях, но при этом иметь визуальное представление с минимумом информации для тех кому не интересно. Другими словами- максимально простой интерфейс по умолчанию и по желанию максимально много деталей для маньяков
- Показывать максимум информации о самом процессе обновления (прогресс, состояние) для тех кто любит медитировать на прогресс бары. Например, текущая реализация обновления пакетов мне не нравится отсутствием информации о том сколько пакетов еще осталось скачать. Обычно обновления это 100 и больше пакетов. Я вижу что качается, скажем opencv, но я не знаю сколько пакетов уже скачалось и сколько еще предстоит скачать.
- Иметь возможность отменить действие когда это безопасно. Опять же, скачивая 400 пакетов (что не быстро) я хочу иметь возможность отменить этот процесс штатными средствами. А при установке пакетов видеть что отменять текущее действие не стоит.
- Утилита должна работать с тюрьмами (jails). Как минимум Warden сейчас вызывает менеджер пакетов с определенными флагами чтобы обновить пакеты в тюрьме. Это в любом случае должно быть реализовано. Но еще хочется это же делать через штатное меню без запуска warden или шаманства с командной строкой.
- Быть интеллектуальной. Это касается как правильного порядка установки обновлений так и не которых других вещей вроде проверки изменились ли ключевые пакеты текущего окружения рабочего стола и если да предложения выйти из сессии.
На сейчас более или менее работают обновления PBI и пакетов. Проверка системных обновлений в общих чертах тоже сделана. Из оставшегося:
- Установка системных обновлений (их есть аж 3 вида - патч, апгрейд между версиями и обычный freebsd-update)
- Нужно улучшить обработку ошибок и причесать код.
- Добавить поддержку тюрем (кстати, не так сложно как может показаться)
Когда закончу сказать не возьмусь. Сейчас все готово где- то на 70%, но не стоит забывать о правиле 80/20. Да и со временем не факт что будет все так радужно.
Прямо перед публикацией этой записи получил письмо от Криса. Он не против проведения раннего бета теста. Основная идея- добавить утилиту в PC-BSD, но маркировать ее как раннюю бету для ознакомления и ни в коем случае не отказываться пока от существующих средств обновления. Кстати, это неплохой прецедент. Думаю в будущем можно будет так делать и дальше.
Надеюсь вам будет интересно центр обновлений попробовать пораньше. И самое главное для чего это делается: пожалуйста пишите о найденных ошибках в баг трекере http://trac.pcbsd.org/ или в списке рассылки testing@. Это не значит что я буду выкатывать абсолютно сырую и неюзабельную утилиту. Но все мы люди и ошибки вполне возможны. В том числе, порой, просто идиотские. Лично мне очень хочется увидеть полностью готовый и стабильный центр обновлений в релизе 10.0.
Что в итоге получается можно увидеть ниже (скриншоты разной степени готовности так что могут немного отличатся):
Немає коментарів:
Дописати коментар