cusdeb

cusdeb

На Пикабу
поставил 24 плюса и 0 минусов
отредактировал 0 постов
проголосовал за 0 редактирований
Награды:
5 лет на Пикабу
1883 рейтинг 86 подписчиков 6 подписок 21 пост 11 в горячем

Какой дистрибутив GNU/Linux выбрать для Raspberry Pi

Данный материал создавался с оглядкой на начинающих туксодрайверов (т.е. линуксоидов) с целью помочь им разобраться в базовых отличительных признаках известных дистрибутивов GNU/Linux. Также интересно мнение по этому вопросу продвинутых пользователей.

Проблема выбора дистрибутива для одноплатника стала актуальна как никогда благодаря тому, что поддержка Raspberry Pi находится в ванильном ядре. Так было не всегда и когда-то единственным выбором был дистрибутив Raspbian, основанный на Debian. Сейчас же многообразие дистрибутивов для Raspberry Pi может сравниться с многообразием дистрибутивов для любой другой машины (отсюда и сложность выбора).

При выборе операционной системы для своего одноплатника я рекомендую всегда отталкиваться от тех задач, которые вы решаете. Если на данный момент вы не определились с задачей, то просто смотрите в сторону Raspbian'а. Загруженный с официального сайта готовый образ подойдет для подавляющего большинства задач, с которыми вы можете столкнуться. Тем не менее, у Raspbian'а есть как минимум два серьезных недостатка.

1. Raspbian до сих пор является 32-битной операционной системой, которая не позволяет задействовать все возможности 64-битных процессоров. Таким образом, если вы являетесь счастливым обладателем Raspberry Pi 3 или 4, то, к сожалению, Raspbian не позволит вам выжать из вашей машины максимум. Примечательно, что если посмотреть на эту особенность операционной системы под другим углом, то из недостатка она может превратиться в достоинство. Дело в том, что производитель Raspberry Pi бережно поддерживает все когда-либо выпущенные на рынок одноплатники. Так, в 2020-м у вас есть редкая возможность загрузить с официального сайта образ операционной системы и запустить его на самой первой версии устройства вышедший в феврале 2012-го года. 64-битный ARM'овский процессор обратно совместим с 32-битным, поэтому 32-битный образ подходит для всех Raspberry Pi.

2. Raspbian, основанный на Debian, является не настолько безопасным как Debian. Дело в том, что Raspbian банально не успевает подтягивать все обновления родительского дистрибутива в режиме реального времени и, когда в Debian'е появляется исправление безопасности, Raspbian продолжает какое-то время оставаться уязвимым. Таким образом, если ваше устройство должно быть доступно извне, присмотритесь к операционной системе, которая серьезно относится к безопасности. Оригинальный Debian рискует стать отличным выбором.

Я упоминал 32-битную природу Raspbian'а в качестве недостатка. В самом деле, если при решении какой-либо задачи вам жизненно необходимы те или иные возможности 64-битного ARM'овского процессора, вам не обойтись без 64-битной операционной системы. Отличным выбором может стать Ubuntu. Canonical, компания-разработчик Ubuntu, вбухала много сил и времени в добавление поддержки Raspberry Pi в свою операционную систему.

Если для решения вашей задачи вам требуется постоянно свежий и в то же время в меру оттестированный софт, вам подойдет Arch Linux, который также славится своей всесторонне развитой вики, которую охотно читают пользователи других дистрибутивов GNU/Linux. Примечательно, что Arch Linux содержит не только всегда свежий софт, но и еще минимально измененный. В этом дистрибутив принципиально отличается от уже упомянутых Raspabian'а, Debian'а и Ubuntu, где сопровождающие в праве менять программное обеспечение, которое они сопровождают в дистрибутиве, по своему усмотрению, из-за чего софт доходит до пользователей не всегда в том виде, который был определен оригинальным разработчиком этого софта.

Заключение


Здесь были рассмотрены четрые популярных дистрибутива, три из которых являются родственниками. Безусловно это далеко не исчерпывающий список, поэтому теперь хотелось бы узнать, какой дистрибутив для Raspberry Pi (и не только) используете вы и почему? Этот материал в сочетании с вашими комментариями позволит начинающим туксодрайверам сделать выбор в сложном вопросе. (Если начнете делиться мыслями, помните, что у каждого дистрибутива есть свои достоинства и недостатки в решении тех или иных задач, и нет единственно верного выбора.)

Показать полностью 1

8 лет назад был продан первый Raspberry Pi!

К восьмой годовщине старта продаж Raspberry Pi наша команда хочет рассказать о событиях, которые предшествовали этой дате.

Снижение интереса к Computer Science в Великобритании


В середине двухтысячных сотрудники Department of Computer Science and Technology Кембриджского университета заметили снижения интереса молодых людей к компьютерным наукам. В 2000 году 600 абитуриентов подали заявления для поступления на факультет Computer Science, а в 2010 году — всего 300.

Помимо двукратного снижения количества абитуриентов, сотрудники компьютерной лаборатории отмечали не самые приятные изменения в уровне подготовки абитуриентов. Алан Майкрофт (Alan Mycroft), профессор из компьютерной лаборатории Кембриджа, на протяжении многих лет интервьюировал 18-летних абитуриентов, желающих получить степень бакалавра в Computer Science в Кембридже. В ходе интервью, помимо прочего, он задавал вопрос: «Расскажите о самой интересной программе, которую вы написали?». Ответ из 1990 года начинался со слов «Используя компьютер BBC Micro я написал программу, которая...», а ответ из 2000 года — со слов: «Сделал веб-страницу и использовал пакет, чтобы...».

Алан и его коллеги ждали в Кембридже молодых людей, обладающих вычислительным мышлением, умеющих программировать эффективные алгоритмы, но приходили люди, привыкшие использовать сторонние наработки. Сотрудникам компьютерной лаборатории ничего не оставалось, кроме как в буквальном смысле доучивать таких молодых людей на первом курсе. Существовал риск, что система образования Великобритании не сможет удовлетворить спрос со стороны индустрии и подготовить достаточное количество баколавров Computer Science.

Девид Брэбен, известный разработчик компьютерных игр, основатель и генеральный директор Frontier Developments, жаловался на отсутствие подходящих людей на рынке труда. По его словам, разработка компьютерных игр не привлекала молодых людей в то время.

Знакомая ситуация? Оказывается не только в странах бывшего СССР преподаватели ВУЗов жаловались на уровень подготовки абитуриентов, а компании не могли найти толковых выпускников. Приглашаю обсудить в комментариях.

Кембриджские единомышленники


Дэвид Бребэн хотел создать компьютерную игру, чтобы поднять интерес молодых людей к разработке... компьютерных игр. Дэвид искал единомышленников, и в какой-то степени ему это удалось. Проблема снижения интереса молодых людей к Computer Science всерьёз обсуждалась в околоакадемических кругах в целом и в компьютерной лаборатории Кембриджа в частности. В 2008 году поток различных событий, встреч и разговоров свёл за одним столом уже упомянутых Алана Майкрофта, Дэвида Бребэна, а также Джека Ленга (Jack Lang), Эбена Аптона (Eben Upton) и Роберта Маллинса (Robert Mullins).

Эбен Аптон, сотрудник компании Broadcom, рассуждал так: Кембридж — лучшее место в мире для изучения Computer Science, население Великобритании увеличивается, значит абитуриентов должно становить больше, но этого не происходит и их становится меньше. Следовательно, заключал Эбен, молодые люди больше не интересуются компьютерами, а интересуются чем-то другим. Нужно вернуть интерес к компьютерам, и тогда на факультете Computer Science в Кембридже станет больше абитуриентов. Но откуда берётся интерес к компьютерам у молодых людей?

BBC Micro — источник интереса к Computer Science из прошлого


Джек Лэнг в прошлом приложил руку к созданию компьютера BBC Micro, ставшего популярным в Великобритании в 80-е годы благодаря сериалу The Computer Programme. Сериал и компьютер были частью проекта BBC Computer Literacy Project, но разработку самого компьютера BBC заказала кембриджской компании Acron. Проект получился успешным, за всё время было продано полтора миллиона устройств. В каждой британской школе на т.н. уроках «печатания» использовали компьютеры BBC Micro. Джек видел в уроках печатания с использованием BBC Micro большой источник интереса к Computer Science.

В 90-е годы школьная программа Великобритании изменилась. На смену терминалу с мигающим курсором BBC Micro, где нужно было программировать, пришли ПК с графическим интерфейсом Windows, где нужно было создавать презентации в Power Point. Новая школьная программа не развивала вычислительного мышления. В 80-е, чтобы отсортировать список чисел на BBC Micro, школьники изучали алгоритмы сортировки и языки программирования. В 90-е для той же задачи школьники искали в интерфейсе Excel пункт «сортировка». В жизни молодых людей больше не было ничего, что приглашало бы програмировать, поэтому интерес к Computer Science снижался.

Маленький компьютер Эбена Аптона


Чтобы вернуть интерес молодых людей к Computer Science, Эбен предложил создать современный, программируемый компьютер, стоимость которого не превышала бы стоимость школьного учебника. Во время учёбы в Кембридже Эбен создавал небольшие компьютеры в качестве хобби.


(На фото компьютер Эбена Аптона, собранный в 2006 году.)

8 лет назад был продан первый Raspberry Pi! Игры, Raspberry pi, Образование, Великобритания, Китай, История, BBC, Компьютер, Видео, Длиннопост

Поделки Эбена не были похожи на компьютеры в понимании большинства людей. Например, на картинке изображён компьютер, основанный на микроконтроллере Atmel ATmega644 с частотой процессора 20 MHz. Используя различные хаки, эта штука выводила на экран телевизора компонентное видео 320×240 и примитивную 3D графику. Но этого было недостаточно для завоевания популярности у современных школьников, — требовалось запускать 3D-игры.

Как-то раз Эбен спросил у ребёнка, кем тот хочет стать, когда вырастет. Ребёнок ответил, что хочет стать электротехником. Эбену понравился ответ, ведь ему очень близко это занятие. Но когда Эбен узнал, что у ребёнка дома нет компьютера, зато есть приставка Nintendo Wii, то сильно разочаровался. Скорее всего ребёнок потеряет интерес к электротехнике. Nintendo Wii, как и любая другая консоль, не рассказывает, как она устроена изнутри и не даёт возможности заниматься программированием. Консоль лишь предлагает выбирать что-либо из меню. По этой причине очень важно сделать компьютер программируемым.

Также очень важно сделать компьютер дешёвым. Вспомните время, когда родители подарили вам первый компьютер. Веротяно вы очень осторожно обращались с ним, боялись сломать, ведь это была дорогая вещь. Страх сломать дорогую вещь очень часто ограничивает любопытство и креативность. Дешёвый компьютер, по замыслу Эбена, должен был позволить детям экспериментировать с железом на всю катушку, не опасаясь последствий.

Чтобы знания об устройстве компьютеров стали массовыми, необходимо рассказывать об этом в школах, правда не каждому это может быть интересно. Но ведь не каждый всерьёз интересуется анатомией человеческого тела, но большинство людей имеют представление о том, из чего состоит человеческое тело. То же самое, по задумке, должно быть и с компьютерами.

Алан Майкрофт, Дэвид Бребэн, Джек Ленг и Роберт Маллинс поддержали идею. Помимо компьютера требовалось разработать ПО и образовательные материалы, чтобы внедрить всё это в школьную программу и обучать молодых людей электротехнике, программированию и т.п.

Чуть позже Алан Майкрафт случайно встретил в Лондоне Пита Ломаса, электротехника из Norcott Technologies, которому понравилась идея, сделать маленький, дешёвй, программируемый компьютер. Пит присоединился к группе. За свою жизнь, Пит спроектировал несколько сотен электронных устройств, и видел свою задачу в том, чтобы уменьшить размер будущего компьютера до размеров кредитной карты.

В конце 2008 года появился второй, более мощный прототип, но его по прежнему нельзя было назвать компьютером в понимании большинства людей. Прототип строился на броадкомовских графическом (GPU) и векторном (VPU) процессорах. Чтобы называться компьютером, требовались и другие элементы. Эбен описывал эту разработку как "a lashed-up thing built on top of Broadcom dev boards". Тогда же впервые в email-переписке было упомянуто слово Raspberry, в сленге английского языка означающее «пренебрежительное фырканье».

Основание Raspberry Pi Foundation. Ничего не получалось.


Для продвижения изучения основ Computer Science в школах, в начале 2009 года была учреждена благотворительная организация Raspberry Pi Foundation. Алан Майкрофт, Девид Брэбен, Эбен Аптон, Джек Лэнг, Роберт Маллинс и Пит Ломас стали попечителями (трасти).

С одной стороны слово raspberry (малина) в названии организации продолжало фруктовую традицию именования компьютерных компаний: Apple (яблоко), Apricot Computers (абрикос), Blackberry (ежевика). С другой стороны, это была насмешливая отсылка к непочтительной и пренебрежительной природе проекта в то время. В английском языке существует сленговое выражение blowing a raspberry, советую разобраться в этимологии этого выражения, если хотите глубже проникнуться идеей, заложенной в названии.

Pi — это на самом деле Py, сокращение от названия популярного языка программирования Python. Но Pi в английском языке означает математическую контанту π, равную 3,1415.... Эбен Аптон очень хотел использоваться греческую букву π в качестве логотипа, поэтому настаивал именно на использовании Pi вместо Py в названии.

Если с организацией всё складывалось благополучно, то с привлечением денег были сложности. Идея создания маленького дешёвого компьютера звучала довольно фантастической, ничего подобного в то время не существовало, и мало кто верил, что идея осуществима. В Британии полно сумасшедших, собирающих деньги на строительство телепорта или машины времени, поэтому к идее Raspberry Pi Foundation в обществе относились со скепсисом.

Работающий прототип мог бы сильно развеять скепсис и помочь в привлечении средств, но в первые годы ничего не получалось. Прототипы 2009-2010 годов были сырыми, глючными, большими и дорогими. Это не очень мотивировало, поэтому работа шла вяло до 2011 года.

Закон Мура сработал. Появилась надежда.


Со временем процессоры становятся мощнее и дешевле. Эта простая закономерность, озвученная Гордоном Муром в 1965 году не потеряла актуальность и в 2011 году. Компания Broadcom разработала микроконтроллер BCM2835, который идеально подходил на тот момент для Raspberry Pi Foundation.

Во-первых, энергоэффективный ARM-процессор с тактовой частотой 700 MHz (сопоставимо с Intel Pentium III) позволял запускать Linux-подобную операционную систему, что сильно снижало расходы на проект, т.к. не нужно было создавать операционную систему и программное обеспечение с нуля. Во-вторых, микроконтроллер стоил несколько долларов, что было очень важной точкой отсчёта для создания компьютера стоимостью $25-35 для конечного потребителя. Но существовало одно препятствие: права на BCM2835 принадлежали компании Broadcom, которая разрабатывала его для телевизионных приставок. Эбену Аптону удалось договориться с менеджерами компании об эксклюзивных условиях использования BCM2835 для создания компьютеров Raspberry Pi. Вероятно, договориться помогла благородность миссии, которую продвигала Raspberry Pi Foundation.

Публичное обещание расшевелило Raspberry Pi Foundation


Памятуя об успехе BBC Micro в 80-х (1,5 млн. проданных компьютеров), Джек Лэнг хотел выпустить разрабатываемый в Raspberry Pi Foundation компьютер под брендом BBC Nano. Для этого Девид Брэбен отправился на переговоры в компанию BBC, но договориться не удалось.

Рори Селлан Джонс (Rory Cellan-Jones), редактор BBC, записал и выложил на YouTube видео под названием Raspberry Pi - the £15 computer, на котором Дэвид рассказал об идее и в конце объявил, что компьютер поступит в продажу через 12 месяцев.

Видео набрало 600 тысяч просмотров в первые дни. Тема школьного образования, затронутая Девидом тогда обсуждалась повсеместно. Даже Эрик Шмидт (Eric Schmidt), на тот момент CEO Google, раскритиковал систему образования Великобритании.

С одной стороны, внимание 600 тысяч человек для компьютера, которого ещё не существовало, это успех. С другой стороны, это огромное давление, которое в полной мере ощутили на себе Эбен Аптон и Пит Ломас. По словам Пита, помимо микроконтроллера и памяти, стоимостью в несколько долларов, для полноценного компьютера требовались мелкие компоненты, каждый из которых стоил всего несколько центов. Поначалу их не брали в расчёт, а когда посчитали все затраты, то выяснилось, что все компоненты для создания заявленного компьютера обходятся в $110. Питу и Эбену предстояло решить интереснейшую инженерную задачу и превратить $110 хотябы в $35. Они испробовали все возможные хаки и ели-ели добились цели к декабрю 2011 года.

Первая партия Raspberry Pi


У Raspberry Pi Foundation хватало денег на производтво 10 000 компьютеров. Производство заказали в Китае, фабрику нашли через друзей друзей и просто отправили гору электроники стоимостью 250 000£ на квартиру в Шэньчжэне. Никто из основателей Raspberry Pi Foundation не видел этих китайцев раньше и всё было на доверии.

Пока ждали первую партию компьютеров из Китая, в Интернете закипели страсти. Некоторые люди начали обвинять Raspberry Pi Foundation в мошенничестве и требовали предоставить доказательства существования Raspberry Pi.

Пит Ломас изготовил 20 компьютеров Raspberry Pi на заводе Norcott Techlogies в Чешире (Англия) и в канун рождества 10 первых Raspberry Pi появились на eBay. Цена на интернет-аукционе за неделю поднялась до 2000£. Это был первый звоночек надвигающегося спроса.

Второй звоночек прозвенел, когда 60 000 человек скачали виртуальную машину Raspberry Pi за сутки. Но даже тогда некоторые основатели Raspberry Pi Foundation думали, что люди скачивают потому, что бесплатно, а за $35 будет продано не более тысячи компьютеров.

В феврале из Китая пришли первая партия из 2000 готовых к продаже Raspberry Pi 1 Model B.

29 февраля 2012 года — старт продаж Raspberry Pi 1 Model B


Спрос в первые дни превзошёл самые смелые ожидания. Покупатели обвалили сайт Raspberry Pi Foundation, а также сайты дистрибьюторов. 700 заказов в минуту, 350 000 заказов в первые дни. А ведь было произведено всего 10 000 компьютеров.

Продолжение следует...

Показать полностью 1

CusDeb: кастомизация Debian Buster для Orange Pi Zero

Всем привет! Линейка одноплатных компьютеров Orange Pi расширяется в CusDeb и следующим устройством стал Orange Pi Zero. Теперь CusDeb позволяет кастомизировать Debian 10 «Buster» для этой модели одноплатника.

CusDeb: кастомизация Debian Buster для Orange Pi Zero Cusdeb, Orange pi, Armbian, Debian, Kali linux, Raspberry pi

А можете напомнить, что такое Orange Pi Zero?

Конечно. Orange Pi Zero – это китайский одноплатный компьютер, который был анонсирован в ноябре 2016-го, но до сих пор остается популярным среди разработчиков за счет того, что является достаточно мощным и при этом дешевым устройством.

Может показаться, что производитель одноплатников выпустил модель под названием Zero, чтобы составить конкуренцию Raspberry Pi Zero, но устройство оказалось совершенно другим и, как следствие, предназначенным для решения других задач. К примеру, в отличие от Raspberry Pi Zero у Orange Pi Zero нет HDMI, но есть Ethernet.

Стоит искать подвох в его дешевизне?

Определенно. Главным недостатком любых моделей Orange Pi на протяжении долгого времени оставалась хреновая поддержка производителем. К примеру, подобного рода устройства выпускаются на рынок, как правило, в сопровождении «эталонной» Linux-подобной операционной системы, которая поддерживает все заявленные фичи устройства. Затем проходит немного времени и устройство начинает морально устаревать, т.к. производитель забивает на продукт, не обновляет операционную систему и, вероятно, фокусируется на чем-то другом.

Сложившуюся ситуацию с переменным успехом исправляют два проекта – Armbian и CusDeb. Armbian выпускает универсальные образы на базе Debian-подобных дистрибутивов, которые патчатся с целью предоставить пользователям наиболее полную поддержку того или иного устройства. Недостатки и достоинства здесь – две стороны одной медали.

* За универсальность приходится «платить» – один образ поддерживает более одного устройства, за счет чего он становится достаточно неповоротливым, а куча предустановленных компонентов начинает негативно влиять на решаемую задачу.

* Пропатченные ядра, с целью выжать из той или иной железки максимум, могут вести себя менее стабильно, чем штатные ядра дистрибутивов.

CusDeb, в свою очередь, старается упростить установку на одноплатники «ванильных» версий Debian и производных от него дистрибутивов, что положительно сказывается на стабильности и безопасности полученного решения. Более того, CusDeb предлагает создавать т.н. проблемно-ориентированные образы операционных систем, т.е. те, которые содержат только необходимый набор компонентов для решения конкретной задачи. «Ванильный» путь CusDeb'а, очевидно, является его самым главным недостатком – не все компоненты устройства могут поддерживаться.

А что предлагает Debian Buster на Orange Pi Zero?

Debian, как всегда и везде, предлагает стабильность и большую пакетную базу, а также выпуск обновлений на протяжении 5 лет (3 года – стандартная поддержка + 2 года – расширенная). В Debian Buster входит ядро Linux 4.19.

Заметьте, что Buster сейчас находится на стадии заморозки и тестирования. Его выход запланирован на лето.

А есть что кроме Debian'а?

Да. Напомню, что в основе CusDeb'а лежит инструмент под названием Pieman, который является свободным и открытым программным обеспечением. Поддержка новых операционных систем и устройств сначала добавляются в Pieman, а только потом прокидываются в CusDeb, что, в свою очередь, иногда приводит к тому, что CusDeb слегка отстает по возможностям от Pieman'а. К примеру, сейчас у вас есть возможность подготовить образ операционной системы на основе Kali Linux для Orange Pi Zero и получить так называемое «leave behind» устройство – устройство, которое может скрыто и незаметно собирать данные, но если будет обнаружено то 1) вам его будет не жалко потерять из-за копеечной стоимости и 2) никто и никогда не поймет, чем оно там вообще занималось.

Могу ли я чем-то помочь?

Можете. Скажите, какие еще устройства вы бы хотели видеть в CusDeb и, самое главное, расскажите пожалуйста о проектах, в которых вы используете одноплатники.

Показать полностью

Статьи от CusDeb, опубликованные в Linux Format в 2018

В процессе разработки сервиса cusdeb.com и инструмента Pieman наша команда получает кучу опыта, которым время от времени хочет поделиться с сообществом. Пикабу является с этой точки зрения идеальным ресурсом, который позволяет высказаться. Однако, этот ресурс – не единственное место, куда мы отправляем наши статьи. В 2018-м году в 4-х выпусках русскоязычной версии журнала Linux Format было опубликовано 5 статей, которые были написаны в процессе работы над CusDeb и, как следствие, прямо или косвенно связаны с одноплатными компьютерами.

Статьи от CusDeb, опубликованные в Linux Format в 2018 Cusdeb, Nextcloud, Raspberry pi, Devuan, Raspbian, Debian, Linux, Pieman

С момента публикации каждой из этих статей прошло полгода и больше. По договоренности с издательством по истечении этого срока права на материал возвращается его авторам, поэтому было принято решение опубликовать его в нашем блоге и поделиться ссылками в одном из следующих постов здесь. Итак, представляем 5 обещанных статей:

«Nextcloud: не только хранилище». Nextcloud принято противопоставлять Dropbox'у как его свободный аналог, который можно развернуть на собственных вычислительных мощностях. Однако, это однобокий взгляд на платформу, – Nextcloud способен заменить не только Dropbox, но и Google Calendar, Skype или Hangouts, а также многое другое. Лично я очень доволен получившимся материалом, но он не всегда был таким – до него был долгий и мучительный процесс работы по упаковке замечательных идей, которые лежат в основе статьи, в слова. Этот процесс был зафиксирован в нашей самой первой статье на Пикабу – «Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud», а позднее в другой статье, но уже в нашем блоге – «От ownCloud к Nextcloud».

«Raspbian: сборка образа», часть 1 и часть 2. Серия статей, основная цель которой – рассказать как работают такие инструменты, как pi-gen, официальный сборщик образов Raspbian, и конечно же Pieman, который разрабатывается нашей командой и поддерживает уже не только Raspberry Pi, но и Orange Pi.

«Devuan: плод нелюбви к systemd». В рамках этой статьи мы попытались рассказать о причинах раскола сообщества разработчиков Debian, появления ответвления от этого дистрибутива под названием Devuan, а также о многом другом. Разработчики Devuan предлагают пользователям альтернативный вариант развития Debian, как если бы он никогда не встретился с системным менеджером systemd. (Первый раз мы задумались о том, что необходимо рассказать о Devuan, когда добавили поддержку этого дистрибутива в Pieman, а позднее – в CusDeb.)

«Alpine + Docker: поваренная книга разработчика». Эта статья рассказывает о некоторых тонкостях работы с Docker'ом. Примечательно, что в ней, помимо всего прочего, в качестве примера рассматривается Docker-образ с QEMU, контейнер на основе которого, в свою очередь, используется для эмуляции устройств для тестирования собранных на cusdeb.com образов для Raspberry Pi онлайн. Об этой фиче мы подробно писали в нашем предыдущем посте.

Показать полностью 1

CusDeb: Orange Pi PC Plus, обновления по воздуху и тестирование образов ОС в эмуляторе

Всем привет. С нашего последнего поста в команде разработчиков сервиса cusdeb.com произошло много событий, о которых пришло время рассказать.

CusDeb – это инструмент для кастомизации образов операционных систем онлайн, а мы – небольшая, но гордая команда его разработчиков. Этот инструмент начинался с поддержки нескольких моделей однопалатного компьютера Raspberry Pi и двух выпусков операционной системы Debian – Jessie и Stretch. Мы рассказали о CusDeb на Пикабу, получили много отзывов различной степени ценности, взяли на себя обязательство добавить Orange Pi и... пропали. Но ненадолго. Сегодня я рад сообщить о том, что CusDeb поддерживает кастомизацию Debian 10 «Buster» для Orange Pi PC Plus. Линейка Orange Pi в CusDeb'е будет расширяться, поэтому нам необходимо узнать, какие платы вам нужны в первую очередь и в каких проектах вы их используете или планируете использовать.

Примечательно, что некоторые из вас даже спустя несколько месяцев в комментариях под нашими постами напоминали об обещании добавить поддержку Orange Pi в CusDeb. Таким образом, ваша поддержка вкупе с нашей упоротостью помогли добить начатое. Спасибо!

CusDeb: Orange Pi PC Plus, обновления по воздуху и тестирование образов ОС в эмуляторе Orange pi, Интернет вещей, Cusdeb, Raspberry pi, Видео, Длиннопост

Напомню, что сердцем CusDeb'а является Pieman, поэтому любителям чистейшего open source'а не обязательно заводить учетку на cusdeb.com, т.к. они могут кастомизировать образы у себя на машинах под управлением GNU/Linux, macOS или Windows 10.

Несмотря на то, что Pieman является сердцем CusDeb'а и разрабатывался исключительно для этого сервиса, в CusDeb прокинуты еще не все возможности Pieman'а. К одной из таких возможностей относится генерация образов на основе Alpine Linux. Если вам необходима система, которая будет загружаться на вашем Raspberry Pi за 3 секунды, тогда обратите внимание на Alpine. Pieman с недавних пор поддерживает последнюю версию (3.9) этой операционной системы. В планах добавить возможность создания образов на базе Alpine для Orange Pi PC Plus.

Pieman'у был посвящен на Пикабу отдельный пост.

А теперь, когда я рассказал о главном, хочу поделиться другими новостями.

Mender

Это как раз то, что отсрочило добавление поддержки Orange Pi в CusDeb как минимум на пару месяцев. Дело в том, что наш сервис засветился в The MagPi Magazine, официальном журнале Raspberry Pi, после чего с нами связались разработчики Mender'а, системы OTA-обновлений для встраиваемых устройств с открытым исходным кодом, и предложили объединить наши силы с целью добавить в CusDeb возможность генерации образов, которые возможно было бы в будущем обновлять «по воздуху». Можно конечно вручную перезаписывать SD-карту, но это не очень удобно если у вас более одного устройства для обновления. Также можно было бы подключаться к целевому устройству через SSH и обновлять необходимые пакеты, но после установки новых версий пакетов невозможно гарантировать, что удаленное устройство не превратится в кирпич. С Mender'ом же все иначе: образ бьется как минимум на 4 раздела – загрузочный раздел, раздел A (по умолчанию активный), раздел B (по умолчанию пассивный) и раздел для данных. Первые запуски системы до обновления осуществляются с раздела A. Когда прошивка обновляется, ее обновленная версия пишется на раздел B, а затем система перезагружается. Если система загружается с раздела B успешно, то он помечается как активный, а раздел A становится пассивным. В противном случае обновление отзывается, система снова загружается с раздела A и устройства опять оказывается в строю, даже несмотря на то, что обновление оказалось неудачным.

Пока CusDeb поддерживает генерацию Mender-совместимых образов и обновлений только на основе Raspbian, но мы планируем добавить такую возможность для Ubuntu, чтобы предоставить пользователям и разработчикам альтернативу операционной системы для встраиваемых устройств Ubuntu Core, в которой используется проприетарная система OTA-обновлений.

Тестирование 64-битных образов на основе Ubuntu в эмуляторе

Некоторые пользователи CusDeb'а писали нам о том, что им необходим инструмент для тестирования образов. Дело в том, что они хотят использовать сервис, но их устройство может находиться на пути домой из Китая или Великобритании домой, и этот путь может занять 2-3 недели. Мы подумали, что можно сделать и добавили возможность тестирования образов в эмуляторе прямо на сайте. Это работает примерно так:

Данная возможность пока доступна только для образов на основе 64-битной версии Ubuntu для Raspberry Pi 3, но если фича окажется востребованной, мы расширим список поддерживаемых операционных систем и устройств. Кстати, данную возможность реализовали при нашей поддержке двое студентов Ростовского колледжа связи и информатики. Это стало их дипломным проектом.

Заключение

Это первый за долгое время пост о CusDeb на Пикабу. Здесь я попытался вкратце рассказать о трех наиболее значительных вещах, над которыми мы работали последнее время:

* добавление первой модели Orange Pi, которой стала Orange Pi PC Plus и с которой начнется поддержка этого одноплатника в CusDeb;

* интеграция обновлений по воздуху на основе Mender;

* тестирование образов операционных систем в эмуляторе для тех, кто ждет свое устройство издалека.

Впереди еще много вкусных фич. К примеру, совсем скоро появится возможность создавать кастомные сборки Kali Linux, звезды сериала Mr. Robot.

Показать полностью 1 1

Ежедневные сборки минимальных образов для Raspberry Pi

Pieman позволяет собирать минимальные образы операционных систем для Raspberry Pi на основе Raspbian, Ubuntu и Devuan. Мы стремимся к тому, чтобы сделать использование Pieman как можно более простым, поэтому с самых первых дней существования проекта предлагаем запуск Pieman в Docker-контейнере, благодаря чему пользователи избавляются от необходимости установки инструмента и сразу получают доступ ко всему его функционалу. Сейчас мы рады похвастаться тем, что наладили ежедневные сборки операционных систем под все поддерживаемые модели Raspberry Pi. (Полный список поддерживаемых устройств смотрите на странице документации проекта.) И теперь, для того чтобы получить минимальный образ, даже не обязательно использовать Pieman, – достаточно зайти на cusdeb.com/images-built-by-pieman и загрузить один из собранных сегодня образов. Во-вторых, ежедневные сборки помогают сделать Pieman еще лучше, т. к. наряду с тестами, призваны отлавливать регрессивные изменения. Теперь мы планируем открыть гостевой доступ к нашему Jenkins'у, чтобы все желающие видели подробные логи сборки и состояние здоровья Pieman.
Ежедневные сборки минимальных образов для Raspberry Pi Cusdeb, Ubuntu, Raspbian, Linux, Raspberry pi, Devuan, Open Source
Команда разработчиков Pieman.
Показать полностью 1

Devuan 1 «Jessie» (32-bit) на Raspberry Pi

Devuan 1 «Jessie» (32-bit) на Raspberry Pi Raspberry pi, Debian, Devuan

Всем привет! Полгода назад мы впервые написали на Пикабу о конструкторе образов для Raspberry Pi и обрадовались вашим комментариям. Больше всего запомнился вот этот :)


Сегодня мы добавили в конструктор дистрибутив Devuan 1 «Jessie», который является производным от Debian GNU/Linux. В начале 2014 года разработчики Debian решили заменить систему инициализации sysvinit на systemd. По итогам интеграции systemd в Debian дистрибутив оказался сильно завязанным на системном менеджере, который был призван управлять всеми аспектами работы системы. Jessie стал первым выпуском Debian, который не мог функционировать без systemd, а группа разработчиков, несогласных с этой политикой, выпустила свободную от systemd версию Jessie. Проект получил название Devuan. Подробнее об этой истории можно почитать здесь.


Если вы пользовались конструктором и собирали кастомизированные образы на основе Raspbian или Ubuntu для Raspberry Pi, то Devuan вас приятно удивит. Сборка минимального образа Devuan происходит в разы быстрее. Приглашаем протестировать кастомные образы на основе Devuan и ждём ваших комментариев!

Команда разработчиков cusdeb.com

Показать полностью

Deluge и Transmission на Raspberry Pi

Всем привет. Признаться честно, я узнал про связку Raspberry Pi и Transmission относительно недавно, хотя за несколько лет успел увидеть огромное количество способов использования этого одноплатника. После этого у меня появилась идея написать материал, который с одной стороны освещал бы этот use case Raspberry Pi, а с другой – был бы сделан в стиле DIY (Do It Yourself), рассказывая о том, как приготовить образ для своего одноплатника самостоятельно. Более того, я посчитал не лишним рассказать не только о Transmission'е, но и о Deluge. Очевидно, что у каждого из этих проектов есть свои достоинства и недостатки, поэтому одной из целей этой статьи является помочь сделать выбор.


Мотивация


Одноплатники в общем и Raspberry Pi в частности отличаются бесшумной работой, только если вы не оснастили свое устройство охлаждением, которое булькает или гудит.

Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb

Таким образом, одноплатник является идеальным решением для выкачивания гигабайтов мультимедиа: он практически незаметен, бесшумен и не потребляет много энергии. Более того, у каждого в пределах локальной сети есть доступ к торрент-клиенту буквально с любого более-менее современного устройства. Но не поймите меня не правильно. Я слушаю музыку через Google Play Music и смотрю фильмы и сериалы на IVI и Амедиатеке, таким образом, всячески поощряя платный контент. Однако очень часто провайдер услуг просто не в состоянии вам дать то, что нужно в данный конкретный момент времени. К примеру, мы с женой договорились устроить 30-го декабря то, что мы назвали «День СТС». Наше осознанное детство пришлось на начало 2000-х, когда СТС был торт, а Интернет еще не так доступен. Таким образом, мы решили провести субботний день за просмотром сериалов, на которых выросли: моя любимая жена знакомила меня с Отчаянными домохозяйками, а я ее – с мультсериалом Назад в будущее, а вместе мы ностальгировали под Удивительные странствия Геракла (чтобы убить двух зайцев сразу, мы выбрали серию, где первый раз появляется Зена). Кстати, именно Назад в будущее, простите, хрен найдешь на IVI или Амедиатеке в силу его чудовищной непопулярности, что очень, на мой взгляд, несправедливо. Помните какие крутые эксперименты показывались в конце каждой серии? В общем, торрент-трекеры в очередной раз спасли положение.

Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb
Как выглядит мое решение


В данном разделе я хочу показать как выглядит решение, которое лично я уже использую достаточно давно. Стоит сразу отметить, что одного торрент-клиента на одноплатнике будет недостаточно, т.к., в конце концов, должна быть какая-то точка вхождения для устройств, на которых непосредственно будет проигрываться мультимедиа. Как ни странно, в моем случае этой точкой стал обычный FTP-сервер на базе vsftpd. Дело в том, что такие проигрыватели, как MX Player и VLC умеют стримить видео поверх FTP, т.е. приложению не нужно загружать видео целиком, чтобы его проиграть. Таким образом, я подключаюсь с целевого устройства к FTP-серверу, вижу список файлов, выбираю интересующий и проигрываю его так, как будто он хранятся на самом устройстве. Альтернативы FTP-серверу могут быть сколь угодно сложными, изощренными и современными. К примеру, я рассматривал Plex Media Server. Посмотрите в его стороны и вы. Тем не менее, он и другие, на мой взгляд, сильно усложняют очень простую задачу.


Целевыми устройствами для меня являются телевизор на базе Android 6.0 «Marshmallow».

Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb
и планшет на базе Android 7.0 «Nougat».
Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb
На этих устройствах в качестве FTP-клиента (и не только) я использую ES File Explorer File Manager. Что касается самого устройства для торрент-качалки и FTP-сервера, то для этих целей я выбрал Orange Pi Zero с обычным внешним жестким диском.
Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb

Сам одноплатник с модулем расширения и корпусом стоит в три раза дешевле, чем голая плата Raspberry Pi 3. Тем не менее, я ни в коем случае не пытаюсь никого отговорить от использования RPi в качестве торрент-качалки. Если у вас уже давно валяется без дела этот одноплатник, то почти наверняка он будет рад оказать вам услугу и взять на себя функцию торрент-клиента, хотя конечно для этой задачи он будет немного избыточен. Таким образом, если вы в процессе выбора устройства для этой задачи, то выберите что-то более простое и, как следствие, дешевое.


Как построить свое решение


Для того чтобы дальше следовать руководству понадобится одноплатник под управлением какого-нибудь Linux'а. Если для торрент-качалки вы расчехляете давно лежащее без дела устройство, то предлагаю поставить на него Raspbian или Ubuntu. Однако, какой бы не была система, – свежеустановленная или работающая уже много месяцев – в ней должны быть git, Docker и docker-compose. Дело в том, что я предлагаю воспользоваться проектом MMB, который представляет собой набор Dockerfile'ов и связанных с ними ресурсов для сборки образов Docker-контейнеров с различными сервисами, предназначенными для запуска на Raspberry Pi и других одноплатниках. (Кстати, в MMB вы найдете не только Transmission и Deluge, но и свежайшую версию Nextcloud'а.) Теперь выполните следующие команды на своем устройстве.


$ git clone https://github.com/tolstoyevsky/mmb.git


Затем перейдите в mmb/transmission-web, соберите и запустите Transmission.


$ cd mmb/transmission-web

$ docker build -t cusdeb.com:5000/transmission:2_92_armhf .

$ docker-compose up -d


После этого соберите и запустите Deluge. Deluge не будет конфликтовать с Transmission, но оба торрент-клиента будут использовать одну и ту же директорию для загрузок. Когда определитесь с клиентом, лишний можно будет удалить.


$ cd ../deluge-web

$ docker build -t cusdeb.com:5000/deluge:1_3_15_armhf .

$ sudo ./postinst.sh

$ docker-compose up -d


Установка Deluge потребовала выполнение ./postinst.sh. Этот скрипт создает пустой конфигурационный файл и директорию state, в которой будут оседать все torrent-файлы.


В заключении соберите и запустите FTP-сервер.


$ cd ../vsftpd

$ docker build -t cusdeb.com:5000/vsftpd:3_0_3_armhf .

$ docker-compose up -d


Оба торрент-клиента будут загружать файлы в директорию /srv/common/downloads/, которая, в свою очередь, будет корневой директорией для FTP-сервера. Основная идея MMB заключается в подогнанности сервисов к друг другу.


Кстати базовые образы сервисов MMB включают qemu-arm-static, который позволяет запускать сервисы, собранные под архитектуру armhf, на машинах x86. Это сделано в первую очередь для отладки сервисов на машинах разработчиков.


Теперь рассмотрим торрент клиенты Deluge и Transmission по отдельности.


Deluge


По мнению Yandex Wordstat'а Deluge менее популярен, чем Transmission по крайней мере в области торрент-клиентов с веб-интерфейсом для Raspberry Pi. Интерфейс Deluge (как и Transmission) очень далек от интерфейсов современных веб-приложений, поэтому это первое, к чему нужно быть готовым.


Перейдите на http://ip-адрес-устройства:8002, чтобы начать работу с Deluge. Торрент-клиент потребует ввести пароль, которым по умолчанию является «deluge». Требование ввести пароль может показаться лишним с учетом того, что приложение рассчитано на то, чтобы быть доступным из локальной сети, но мало ли какие фантазии вам захочется воплотить, поэтому Deluge должен быть к этому готов. Затем подключитесь к deluged, демону Deluge. В данном конкретном случае единственный вариант, который предлагает приложение является правильным.

Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb

Дело в том, что веб-интерфейс и демон Deluge – отдельные компоненты: первый является одним из многочисленных пользовательских интерфейсов, а другой – тем, что делает всю основную работу. deluged может даже быть запущен на одной машине, а веб-интерфейс – на другой, поэтому в самом начале работы с приложением необходимо уточнить, какой именно deluged необходимо использовать. Очевидно, что Deluge способен удовлетворить самые изысканные потребности пользователей. Забегая вперед, хочу сказать, что Transmission устроен намного проще.


В основном, работа Deluge ничем не отличается от любого (или почти любого) другого торрент-клиента. Если вы имеете дело с публичным торрент-трекером, то клиенту можно передать ссылку на .torrent-файл, но если торрент-трекер требует авторизации, то .torrent-файл придется сначала скачать себе на машину, а только потом передать клиенту.

Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb
Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb

Transmission


Перейдите на http://ip-адрес-устройства:8003, чтобы начать работу с Transmission. Торрент-клиент потребует ввести логин и пароль, которым по умолчанию в обоих случаях являются «cusdeb». Вы всегда можете изменить логин и пароль, а также другие параметры, в файле docker-compose.yml, а затем перезапустить контейнер с клиентом.


По сравнению с Deluge Transmission обладает более аскетичным интерфейсом, но в основе это все тот же торрент-клиент – клиенту можно передать как ссылку на .torrent-файл, так и сам файл, чтобы начать загрузку раздачи. Однако есть одна особенность Transmission'а, которая мне всегда не давала покоя. О ней я хочу рассказать сразу. Это будет полезно в первую очередь тем, кто только присматривается к торрент-клиентам с веб-интерфейсом и Transmission'у в частности. Ветеранам этого направления ПО я здесь не смогу рассказать ничего нового.


В отличии от Deluge, когда вы тем или иным способом передадите клиенту .torrent-файл, Transmission не предложит вам выбрать, что именно из раздачи вам нужно загрузить в данный момент. К примеру, раздача вышеупомянутого мультсериала «Назад в будущее» состоит из 27 видео-файлов – 26 серий и трейлер.

Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb
Если вы нажмете «Upload», то клиент начнет загружать всю раздачу целиком. В большинстве случаев это не то, что нужно, поэтом необходимо для начала снять галочку со «Start when added». После того как приостановленная загрузка появится в списке, необходимо щелкнуть по ней два раза, чтобы справа появилась панель со свойствами раздачи. По умолчанию будет открыта вкладка «Info». Перейдите на вкладку «Files»
Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb

выберете нужные файлы и запустите загрузку.


Больше всего дискомфорта лично у меня вызывает по умолчанию выделенная галочка «Start when added», но это можно исправить. Для этого перейдите в настройки

Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb

и на самой первой вкладке сбросьте одноименную галочку. После этого на панеле «Upload Torrent Files» она будет всегда сброшенной. Надеюсь это сделает первый опыт общения с Transmission'ом еще более гладким, чем он мог бы быть.


FTP-сервер


Как уже было сказано выше, торрент-клиенты буду загружать файлы в директорию /srv/common/downloads/. Настоятельно рекомендую примонтировать туда внешний жесткий диск или флешку, чтобы поберечь SD-карту. Эта же директория будет корневой для FTP-сервера. Таким образом, для того чтобы увидеть и воспроизвести на целевом устройстве все то, что вы загрузили посредством Deluge или Transmission, установите ES File Explorer File Manager и VLC. Я предполагаю, что вы используете в качестве целевого любое устройство на базе Android. Я не исследовал эту тему в области устройств на базе iOS, т.к. в основном статья опирается на мой собственный опыт, а я завален Android-устройствами различных форм-факторов с ног до головы.


Запустите ES File Explorer File Manager и перейдите в раздел «FTP», который находится в категории «Network».

Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb
Создайте новое ftp-соединение. Укажите адрес устройства в локальной сети, замените порт 21 на 8004, используйте «cusdeb» в качестве логина и пароля.
Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb
Теперь, когда вы захотите проиграть тот или иной видео-файл на вашем устройстве, воспользуйтесь VLC.
Deluge и Transmission на Raspberry Pi Transmission, Deluge, Raspberry pi, Orange pi, Длиннопост, Cusdeb

При этом скачивать файл целиком на устройство не потребуется.


Заключение


Несмотря на избыточность Raspberry Pi для каких-то задач, некоторые темы все равно остаются популярными. Так, одной из таких тем является создание торрент-качалки на базе Transmission'а и Raspberry Pi. Однако, если в системе не будет ничего, кроме Transmission'а, то достаточно мощное и относительно дорогое устройство будет большую часть времени простаивать. За треть стоимости (с учетом доставки) Orange Pi Zero может гонять Transmission не хуже. Также стоит в сотый раз напомнить, что у RPi отсутствует поддержка SATA, хотя конечно это не так критично, как для облачного хранилища данных на базе того же Nextcloud'а. Тем не менее, я с удовольствием рассказал про этот конкретный use case Raspberry Pi, т.к. он многим оказался интересен. Этот use case можно было бы даже назвать одним из примеров Интернета вещей, хотя и с натяжкой – устройства взаимодействуют друг с другом не совсем через Интернет и не совсем без участия человека. Кстати, готовые образы с Deluge и Transmission для Raspberry Pi 1, 2, 3 и Zero вы всегда можете получить на нашем сайте. Всем удачного возвращения в строй после выходных!

Показать полностью 14
Отличная работа, все прочитано!