Russian encoding

Местный дистрибутив Linux-YeS

Copyleft © Eugene Shakhtarin <eugene@mplik.ru>
v0.3.2

Специфика Linux-YeS

Linux-YeS это местный дистрибутив на основе Debian GNU/Linux. В http://eugene.mplik.ru/doc/landa.html.ru описана концепция местного дистрибутива.

Linux-YeS соблюдает стандарты Debian и совместим с Debian. Debian имеет систему установки и конвертации пакетов дистрибутивов других типов (Red Hat, Slackware и др.). Эта система аналогичным образом работает в Linux-YeS.

Что касается назначения Linux-YeS, то это дистрибутив, сделанный по принципу "для себя". Мне представляется удобным иметь свой собственный дистрибутив, который ориентирован на свои цели, отражает свои вкусы и аккумулирует собственный опыт освоения операционной системы.

Обычная цепочка потребления технологии "дистрибутив -> рабочая система" в данном случае заменяется на "дистрибутив -> местный дистрибутив -> рабочая система".

Linux-YeS устраивает меня, но нет гарантий, что он подойдет кому-либо другому.

Вас, возможно, устроит собственный местный дистрибутив? Сделайте его, заимствуя из Debian, Linux-YeS и других дистрибутивов. Платформа Debian GNU/Linux дает прекрасные средства и методы для реализации подобного подхода.

Copyleft

Все, что есть в дистрибутиве Linux-YeS своего специфичного, идет под лицензией GNU GPL, а что касается заимствованных частей, то они снабжены своими указаниями на этот счет.

Лицензия GNU GPL по сути означает свободное распространение исходных текстов программного обеспечения. Если некто использует фрагменты этих текстов в собственных разработках, то эти разработки должны распространяться также под лицензией GNU GPL, т.е. с предоставлением исходных текстов. Согласно лицензии программы распространяются без каких-либо гарантий.

Назначение лицензии GNU GPL в том, чтобы, охраняя авторские права, дать свободу для использования программного обеспечения и не позволить ограничить ее. В отличие от сужающего круг пользователей Copyright, такая лицензия - это поощряющий к неограниченному копированию Copyleft.

Дистрибутив Linux-YeS нельзя распространять под названием "Linux-YeS" в виде, отличном от того, в котором он представлен на ftp://eugene.mplik.ru/ Это ограничение касается не содержания дистрибутива, а его названия. Оно нужно просто для того, чтобы избежать путаницы. Вы можете полностью или частично заимствовать и распространять дистрибутив Linux-YeS любыми способами.

Вы можете самостоятельно существенно изменить дистрибутив по своему вкусу, но в этом случае ИЗМЕНИТЕ НАЗВАНИЕ на собственное. Вы, фактически, в этом случае создадите собственный местный дистрибутив "Linux-OWN".

Вы, возможно, посчитаете уместным включить в состав Linux-YeS специфический пакет из собственного дистрибутива Linux-OWN - тогда предоставьте мне URL этого пакета, и я включу его в дистрибутив Linux-YeS, если найду это нужным. Вы можете включать в состав собственного дистрибутива Linux-OWN пакеты из дистрибутива Linux-YeS, если найдете это небходимым.

Файловый архив Linux-YeS

Организация файлового архива Linux-YeS преследует цель предоставить доступ к множеству используемых дистрибутивов через один местный дистрибутив - Linux-YeS, в данном случае. Допустим, имеется другой (не Linux-YeS) местный дистрибутив Linux-OWN, из которого мне хотелось бы произвести заимствование ряда пакетов. Тогда соотношение Debian, Linux-YeS и Linux-OWN будет следующим.

На домашнем для Linux-YeS ftp-сервере eugene.mplik.ru размещаются все дистрибутивы (необязательно все в полном объеме). В частности, Debian представлен, в основном, исходными текстами пакетов, а *.deb архивы я сделал из исходных текстов на месте.

        Debian          Linux-YeS       Linux-OWN
        ===========================================
        *.tar.gz        *tar.gz         *.tar.gz
                        *.deb
              <---------
                                -------->
              <---------         symlink
              <---------
               symlink
На местный ftp-сервер (eugene.mplik.ru в данном случае) загружаются все компоненты, которые являются для Linux-YeS заимствованными. И размещаются в дереве с соответствующим корнем. Например, все, что Linux-YeS заимствует из Debian, размещается в ~ftp/pub/linux/distributions/debian/. Все пакеты, заимствованные из Linux-OWN, размещаются в ~ftp/pub/linux/distributions/Linux-OWN/. При этом я предпочитаю заимствовать исходные тексты, что отображено на рисунке, как *.tar.gz под соответствующим заголовком.

Linux-YeS имеет стандартную структуру дерева Debian и вообще соблюдает стандарты Debian. Отличие не в форме, а в наполнении. Это позволяет непосредственнно использовать Linux-YeS для генерации рабочей системы. Нет необходимости сначала генерировать Debian, а затем "сверху" ставить Linux-YeS. Debian доступен через Linux-YeS благодаря ссылочной организации файлового архива.

Если Linux-YeS заимствует пакет из Debian или из другого местного дистрибутива - Linux-OWN, например, то пакет располагается в дереве Debian или Linux-OWN соответственно, и из Linux-YeS проводится соответствующая символическая ссылка.

Файлами, а не ссылками, представлены только те пакеты, которые построены локально, а не скопированы из другого дистрибутива. Иначе, такой пакет был бы представлен ссылкой на соответствующий файл в дереве-копии источника.

Пакеты в бинарном виде *.deb я оттранслировал (в основном) локально. Поэтому они помещены в дерево Linux-YeS - это не точные копии *.deb, что в оригинальном дистрибутиве Debian. Есть и такие *.deb, которые получены из оригинального дистрибутива по ftp. Такой *.deb расположен в дереве Debian, а из Linux-YeS на него сформирована символическая ссылка.

Дерево Linux-YeS/local/source/ содержит пакеты, которые приведены к формату debian в местных условиях (т.е. я сам их перекомпоновал из оригинального вида в пакет формата debian). А также пакеты, которые первоначально скомпонованы на месте.

Ограничения доступа к ftp-архиву

Для ftp-клиентов классов доступа REMOTE, NO_IP_REVERSAL, FOREIGN разрешена выгрузка двоичных и исходных пакетов только из поддерева Linux-YeS/local/, в котором сосредоточены пакеты собственно Linux-YeS. Для выгрузки пакетов Debian пользователи этих классов могут обратиться к ftp-серверу оригинального дистрибутива Debian или его копиям, расположенным на на следующих ftp-серверах: * ftp://eugene.mplik.ru/pub/debian/README.mirrors

Для пользователей класса UralRelcom заблокирована выгрузка из дерева Linux-YeS пакетов *.deb, которые получены на месте трансляцией заимствованных пакетов. Это сделано для ограничения тиражирования неоригинальных версий *.deb архивов. Проблему всегда можно решить, обратившись к ftp-серверу оригинала или выгрузив пакет в исходном виде *.tar.gz и сгененерировав его на месте.

Пользователи классов CAMPUS и LOCAL не имеют ограничений доступа.

Класс доступа сообщается в момент регистрации ftp-клиента на сервере ftp://eugene.mplik.ru/.

Организация Linux-YeS

Linux-YeS имеет пакеты двух типов: конфигурационный и обыкновеный.

Конфигурационный пакет предназначен для того, чтобы обеспечить минимизацию отклонений Linux-YeS от Debian при необходимости заменить настройки стндартного пакета Debian без изменения самого пакета.

Минимизация отклонений обеспечивается следующим образом. Допустим, имеется стандартный пакет Debian xbase_3.2-1.1.deb объемом 2 MB. В Linux-YeS изменены конфигурационные файлы пакета xbase. Но сам пакет xbase_3.2-1.1.deb остается неизменным. Дополнительно изготавливается небольшой локальный пакет xbase-lys_1.0.0.deb, который объявляется зависимым от xbase, и который производит требуемую реконфигурацию xbase. При создании рабочей системы средства управления пакетами обеспечат правильный порядок генерации - сначала установится xbase_3.2-1.1.deb, затем - xbase-lys_1.0.0.deb.

Смысл действий, который производит конфигурационный пакет (КП) - это настройка стандартного пакета (СП). КП как бы подменяет системного администратора, который прописал бы требуемые конфигурационные файлы после генерации СП.

Для выполнения настроек конфигурационным пакетом package-lys вызывается команда package-lys-config, которая, собственно, и производит требуемые действия. Это происходит в фазе postinst установки пакета. Команда размещается в /usr/sbin и затем может быть неоднократно вызвана на стадии выполнения рабочей системы для выполнения заново конфигурации стандартного пакета "package".

Команда конфигурации package-lys-config в каталоге /etc/lys.bak/ формирует backup копии конфигурационных файлов, в файле /var/log/lys.bak делает запись о модификации и отсылает почту суперпользователю о произведенных изменениях.

Обыкновенный пакет представляет собой пакет, оформленный обычным образом по стандартам Debian и имеющий самостоятельное, а не вспомогательное назначение. При необходимости обыкновенный пакет может содержать конфигурационную команду package-lys-config, которая в данном случае конфигурирует сам этот пакет, а не какой-либо другой.

Если первоначальная версия пакета скомпонована для Linux-YeS, то номер версии upstream-version пакета содержит слово lys.

Если первоначальная версия пакета заимствована, то номер версии debian-revision пакета содержит слово lys.