Я cобрал свой дистрибутив на базе Arch Linux специально для ПК в школе, где я обучаюсь.

School Arch-based Linux Desktop
School Arch-based Linux Desktop

Хеллоу, Хабр! Я ученик 10 класса и сейчас работаю над своим проектом по информатике. В качестве идеи я выбрал то, что очень давно хотел осуществить, а именно собрать свой дистрибутив Linux и раз уж у меня проектная деятельность, то почему бы не совместить приятное с полезным и не решить давно наболевшую проблему со школьными ПК.

Немного предыстории

У нас в школе есть компьютерные блоки с установленной windows 10. ПК сами по себе даже для сегодняшнего дня нормальные, но есть одна проблема... Компьютер на pentium, с 4 Гб оперативной памяти банально не тянул windows 10 с её требованием 8 Гб ОЗУ, для хотя-бы сколь-нибудь комфортной работы. Главное правило, которое я для себя вывел - если хочешь с самого начала урока работать с python, заходи в кабинет с начала перемены и сразу запускай Pycharm. как раз ко звонку он загрузится и начнет реагировать на попытки ввести текст (± 10 минут на загрузку). Меня это страшно раздражает и в начале текущего учебного года я решил, что я устал работать за этим лагающим "нечто" и пора сделать свой вариант системы для школы. Но именно в этот учебный год к школьному сис. админу пришел приказ, установить на все ПК школы дистрибутивы из одобренного списка российского, импортозамещенного ПО, а именно дали три дистрибутива на выбор: либо РЭД ОС, либо Astra Linux или если для совсем привередливых, то ALT Linux. Они все либо хотят денег за установку для организаций (даже учебных), либо имеют системные требования, сравнимые с windows 10. Сис. админ школы естественно будет выбирать из трёх дистрибутивов, но мой дистрибутив может стать альтернативой для установки, из-за того, что это будет считаться внутренней разработкой школы.

Почему выбор пал на Arch

Arch по своему уникальная система, которая пусть и не так легка, как Alpine или Void Linux, но зато имеет вполне понятный инструментарий, не вызывающий головной боли у сис. админа, который пытается понять, что сломалось и как это чинить.

  1. Arch один из последователей инициализатора systemd. Пусть systemd многие и ругают за исполинский по своим размерам код и возникающими из-за этого проблемами, но нельзя не отметить, что для systemd мы легко найдём информацию по исправлению ошибок и администрированию.

  2. Философия KISS. Делай это просто и будет тебе счастье! Arch это оплот данной философии и как не странно, это помогает ей оставаться лёгкой как в обращении, так и в требованиях к системным ресурсом. Так же это упрощает настройку системы и её починку.

  3. Arch для меня до создания проекта был, как система, которая имеет у себя комьюнити людей с футболками "I use Arch, btw" и классный wiki форум, где есть решение проблем для каждой программы и утилиты. sddm не хочет работать? тебе в arch wiki! Теперь я активно задумываюсь над тем, чтобы перейти с kubuntu на arch или сделать первый шаг к "дистрохопперству".

  4. Arch постоянно обновляется. Не надо ждать месяца а то и года для очередной LTS или межрелизной версии, всё здесь и сейчас.

info about system
info about system

Немного о School Arch-based Linux

School Arch-based Linux, далее SAbL, это по сути своей тот же Arch, но:

  • Не имеет драйверов под то, что не нужно для школьных ПК.

  • Более понятный и лёгкий для простого обывателя установщик (пока в разработке)

  • Поддержка Wayland

  • KDE Plasma 6 для минимизации времени адаптации, после windows 10.

  • Возможность работы с отдельной изолированной средой на базе Debian (пока что реализованна через chroot).

  • Предустановленные программы из списка разрешённых для использования на экзаменах и олимпиадах.

  • Возможность установки шпионского софта ПО для контроля за учениками и удалённого доступа к ПК (Veyon и тд).

Прямо из коробки у меня есть KDE с кастомными настройками, пользователь root и student и пакет предустановленных программ. Student не имеет права на изменение чего-либо, кроме того, что у него в папке /home/student. На остальное распространяется право только чтения и выполнения. Student не включен в sudors.

На данный момент система показывает результаты, которые я считаю приемлемыми. около 3 Гб потребления при максимальном наборе программ, которые скорее всего откроет ученик при работе и 30% загрузки CPU(тест проводился на intel i5, так что можно сказать что для pentium загрузка будет близка к 90%).

system stress test
system stress test

Проблемы

На данный момент сохраняется проблема с тем, что хочется дать ученикам школы максимум свободы в системе. Но зная седьмые и восьмые классы, боюсь что после первой недели система превратится в рассадник самописных программ для пранков. Или того хуже в кирпич после того, как мамкин хацкер ученик напишетsudo rm -rf /boot.

Что осталось реализовать

  1. Доделаю системный установщик, сделаю его более похожим на установщик ubuntu server.

  2. Доработаю логику работы с виртуальной системой Debian, по возможности прикручу туда графический интерфейс для более комфортной работы учеников.

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

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

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

Спасибо, что прочитали статью до конца.

P.S. Жду комментарии с критикой и предложениями, как сделать систему более удобной и полезной для школ и учеников.