Ремастеринг программного обеспечения — это разработка программного обеспечения , которая воссоздает системное программное обеспечение и приложения , внося изменения с намерением скопировать его и запустить в другом месте для использования «не по назначению». Термин происходит от ремастеринга в производстве медиа , где он также отличается от простого копирования .
Если кодовая база не продолжает параллельную текущую разработку программного обеспечения , то это форк , а не ремастеринговая версия. Если кодовая база повторяет поведение оригинала, но не вытекает из оригинальной кодовой базы, то это клон .
Распространенными примерами ремастеринга программного обеспечения являются дистрибутивы Linux и Unix-подобных систем , а также видеоигры. Ремастерированные дистрибутивы операционных систем Linux, BSD и OpenSolaris распространены, поскольку они не защищены от копирования , а также из-за возможности таких операционных систем создавать приложение для создания своего снимка и установки его на загрузочный носитель, такой как флэш-накопитель или виртуальная машина в гипервизоре . С 2001 года появилось более 1000 компьютерных операционных систем для загрузки из Интернета. [1] Глобальное сообщество поставщиков Linux продвигает практику ремастеринга путем переключения разработчиков, перехвата или слияния проектов и обмена через Интернет. [2] Большинство дистрибутивов начинаются как ремастерированная версия другого дистрибутива, о чем свидетельствуют объявления, сделанные на DistroWatch . [3] Примечательно, что ремастеринг SLS Linux разветвил Slackware , ремастеринг Red Hat Linux помог разветвить Yellow Dog Linux , Mandriva и TurboLinux , а ремастеринг дистрибутива Debian положил начало Ubuntu , который сам по себе ремастерингован командой Linux Mint . [2] Они могут включать критическое системное программное обеспечение, но степень настроек, сделанных при ремастеринге, может быть столь же тривиальной, как изменение настроек дистрибутива по умолчанию и последующее предоставление знакомому на установочном носителе. Когда ремастеринговая версия становится общедоступной, она становится дистрибутивом . [4]
Microsoft Windows также была модифицирована и переработана. Существуют различные утилиты, которые объединяют обновления Windows и драйверы устройств с оригинальным установочным носителем Windows CD/DVD, процесс, известный как slipstreaming .
При ремастеринге дистрибутива программное обеспечение для ремастеринга может быть применено «изнутри» работающей операционной системы для клонирования себя в установочный пакет. Ремастеринг не обязательно требует программного обеспечения для ремастеринга, которое только облегчает процесс. Например, приложение ремастерируется просто путем приобретения, изменения и перекомпиляции его исходного кода. Многие видеоигры были модифицированы путем обновления их дополнительным контентом, уровнями или функциями. В частности, Counter-Strike был ремастерингом из Half-Life и продолжал продаваться как коммерческий продукт.
Ремастеринг программного обеспечения создает приложение путем перестройки его кодовой базы из объектов программного обеспечения в существующем главном репозитории. Если процесс «мастеринга» собирает дистрибутив для выпуска версии, процесс ремастеринга делает то же самое, но с вычитанием, изменением или добавлением к главному репозиторию. Аналогично измененный makefile организует компьютерную версию приложения.
Когда объем ненужного кода "урезается" до некоторого желаемого минимума, он удаляет нежелательные функции, которые нужны изначальному издателю и сопровождающему. Когда добавляются новые функции, он развивает программное обеспечение. Ремастеринговая версия может считать, что функция оригинала является ошибкой, и предоставляет измененную копию функции, которая работает лучше.
При публикации ремастер программного обеспечения сохраняет целостность названного продукта, из которого он был получен, путем присоединения к общему репозиторию программного обеспечения с любыми изменениями и с намерением сохранить доброе имя, требующее одобрения. Если одобрение не происходит, имя и репозиторий имеют возможность стать их собственным мастером. Создатель опубликованного ремастера программного обеспечения, если он не выполняет дальнейшей работы по развитию программного обеспечения, должен, по крайней мере, организовать каналы поддержки обслуживания, такие как обновление пользовательской документации, предоставление форума, линии интернет-ретрансляции чата или вики, давая намерение поддерживать версию в течение всего срока ее полезности.
Ремастеринг сосредоточен на репутации продукта, поэтому процесс распространения требует официальной, санкционированной версии. Это отличается от отношения к большому количеству свободного программного обеспечения во многих случаях, когда название продукта "дешевое", потому что оно распространено и стабильно, где не предлагается никаких гарантий или обязательств, и где изначально предоставляется разрешение на распространение любой измененной версии под любым именем.
Оригинальный репозиторий — это мастер, из которого оригинальные производители уже могут предлагать креативные вкусы и спины. Производство ремастеров поддерживает любое дополнительное программное обеспечение извне, поддерживает новую смесь программного обеспечения из оригинального репозитория или сохраняет модификации оригинальных мастеров за пределами главного репозитория. Ремастеринг программного обеспечения допускается сопровождающими главного репозитория, в то время как бесплатные модификации программного обеспечения поощряются теми же социальными соглашениями.
Mklivecd запускается на машине Linux, чтобы создать загрузочный, переносной носитель, образ этой системы Linux. Он работает для любого дистрибутива Linux , но, возможно, его нужно сначала установить.
Ремастер [5] — это персонализированная версия PCLinuxOS, созданная в соответствии с потребностями отдельного человека. Она создается с использованием скрипта mklivecd, применяемого к ее установке, которая может быть любой из официальных версий PCLinuxOS. Официальный ремастер может включать только программное обеспечение и компоненты из официального репозитория (контроль версий) .
Ремастер сообщества может содержать программное обеспечение и компоненты извне, но если это так, то он не должен содержать никаких ссылок на PCLinuxOS, кроме как «производный от PCLinuxOS» или «основанный на PCLinuxOS», если он предназначен для распространения . За эти годы было несколько таких сторонних дистрибутивов, хотя они могут упоминать эту связь только в том случае, если следуют строгим рекомендациям относительно качества, удобства обслуживания и каналов распространения, все это подлежит одобрению со стороны официальных членов форума.
PCLinuxOS Gnome Edition — пример ремастеринга, выполненного сообществом .
Unity Linux задуман как базовая платформа, которая действует как «шаблон» дистрибутивов, обеспечивающий взаимодействие между пакетами, и на основе которого рекомендуется переделывать любые «совершенно новые» дистрибутивы ОС Linux.
Linux Mint имеет свой собственный инструмент ремастеринга, называемый mintConstructor, для создания дистрибутивов на основе Linux Mint, а также для создания файлов ISO. Также менеджер пакетов использует .mintфайлы. [6]
Linux Mint основан на дистрибутиве Ubuntu Linux, но Ubuntu основан на дистрибутиве Debian. Поскольку Linux Mint также предлагает Debian Edition, они представляют собой пример решения проблем кодовой базы , которые возникают при ремастеринге ветви двух дистрибутивов.
Gentoo Linux использует Catalyst . [7] Пользователь устанавливает и настраивает его, и после запуска получает один большой файл в архивном формате в /var/tmp/catalyst/builds. Параметры конфигурации — архитектура целевой машины, отметка версии разработки, отметка дифференциации (например, та же версия, но «укрепленная» для дополнительной безопасности). Пользователь должен предоставить Catalyst собственный снимок своего дерева портежей и указать ему целевую ветку «профиля» дерева портежей. ( Дерево портежей — это иерархия каталогов, ориентированных по именам и категориям пакетов, которую некоторые менеджеры пакетов используют для обычного повседневного обслуживания программного обеспечения.)
Fedora Linux использует Revisor , чтобы дать пользователю возможность создать собственную индивидуальную установку или live-носитель.
Arch Linux использует Archiso для ремастеринга установки Arch для машины с редким оборудованием или без подключения к Интернету, или в случаях, когда измененное развертывание будет происходить несколько раз. Ремастерированные ISO-образы являются загрузочными, поэтому их также можно использовать для восстановления системы, демонстрации настройки Arch, в качестве задачи для тестирования нового программного обеспечения, установленного на ней, развертывания пользовательской установки на многих машинах и т. д. Вики Arch Linux также приводит процедуру ручного выполнения [8] того, что Archiso делает автоматически. (Она включает копирование частей установочного ISO-образа и использование команд Linux mount, mkdir, chroot, mksquashfs, и менеджера пакетов Arch pacman.)
MX Linux использует MX-snapshot , инструмент с графическим интерфейсом, для ремастеринга живой установки в один файл .ISO. Этот быстро и удобно "клонированный" образ загружается с диска или USB-флешки, сохраняя все настройки. Таким образом, установка может быть легко перенесена или распространена на новый жесткий диск или USB-флешку, не требуя практически никаких административных усилий, поскольку усовершенствованный метод копирования файловой системы (разработанный antiX-linux) с использованием bind-mounts выполняет "тяжелую работу". Снимок также служит по сути полной и удобной резервной копией установки.
Примеры в этом разделе демонстрируют некоторые исторические и эксплуатационные аспекты ремастеринга программного обеспечения, как это происходило в Microsoft Windows.
98lite — это инструмент для ремастеринга Windows 95 , Windows 98 и Windows Me без Internet Explorer , написанный Шейном Бруксом. [9] Он был написан в ответ на заявление Microsoft в антимонопольном разбирательстве о том, что IE интегрирован в Windows и не может быть удален без нарушения других функций.
98lite был создан в 1998 году после первоначального выпуска Windows 98 , по необходимости, так как в то время у Брукса был более медленный ноутбук , на котором отлично работала операционная система Windows 95 , но Windows 98 была просто слишком медленной. Бруксу нравилась стабильность, которую предлагала Windows 98, а также некоторые новые функции, но ему не нужен был браузер Internet Explorer . Оригинальный 98lite был простым установщиком на основе DOS, который запускался до установки Windows 98, этот установщик вносил изменения в новую установку Windows, предотвращая установку Internet Explorer и Active Desktop.
Установка первой версии 98lite требовала от пользователя извлечения определенных файлов с диска Windows 95, поскольку 98lite использует оболочку Windows 95. Вторая программа под названием Shell Swap заменила оболочку Explorer на Windows 95 Explorer, который не содержит веб-функций Explorer Me и 98 и поэтому значительно быстрее и легче, это было разработано для существующих установок Windows 98, тогда как исходная 98lite была разработана для новой установки Windows. Третья программа преобразовала «обязательные» компоненты в добавляемые и удаляемые опции. [ необходима цитата ]
С версией 2.0 98lite три программы были объединены и объединены в одну программу. Удалитель IE был объединен с конвертером компонентов, что сделало IE деинсталлируемым и переустанавливаемым с помощью апплета панели управления «Установка и удаление программ», как и с другими компонентами; пользователь также мог выбрать оболочку Windows 95 и оставить установленным Internet Explorer. Теперь у пользователя было три варианта установки. Вариант «sleek» позволял пользователю установить 98lite с оболочкой Windows 95, как в оригинальном выпуске, или пользователь мог выбрать «chubby», который использовал оболочку Windows 98 с некоторыми отключенными функциями Active Desktop. Последним вариантом был «overweight», который устанавливал 98lite с оболочкой Windows 98 и ничего не отключал, но Internet Explorer все еще удалял. Версия 3.0 добавила поддержку Windows 98 Second Edition, обновленной версии Windows 98 с Internet Explorer 5.0, что сделало 98lite 1.0 через 2.0 устаревшими. Текущая линейка 4.x содержит множество улучшений, включая исправления ошибок и поддержку Windows Me .
Установка любой версии DirectX под Windows 98lited требует по крайней мере временного наличия PC Health. В противном случае DirectX отказывается устанавливаться, завершая попытку установки сообщением об ошибке "DirectX не скопировал требуемый файл". [ необходима цитата ]
Revenge of Mozilla — еще одно бесплатное приложение, которое удаляет Internet Explorer и многие другие необязательные компоненты из Windows 98 и восстанавливает explorer.exe из Windows 95. [10] Существует две версии этого приложения: одна для оригинального выпуска Windows 98, а другая для Win98 SE; версии для Windows Me нет. Оно больше не поддерживается и не обновляется.
Также существует компания, отделившаяся от Lite-PC, которая производит инсталляции Windows 98 и Me, которые достаточно малы, чтобы легко помещаться на встроенных микрочипах, размером до 8 МБ, [11] используя 98EOS. [12] Существует также много бесплатных альтернатив этому, например Mindows [13] и Nano98, [14] которые могут обеспечить либо меньшие размеры файлов, либо более широкую функциональность.
Создатель 98lite также создал аналогичный инструмент для Windows 2000 и Windows XP , называемый 2000-XPLite , который удаляет компоненты Windows, которые не предназначены для удаления. Сюда входят Out-Of-Box Experience , Internet Explorer , Outlook Express , Windows Media Player и другие. 2000-XPLite также позволяет вносить изменения в операционную систему для повышения ее производительности.
2000-XPLite не использует текстовый интерфейс, как 98lite. Как и 98lite, 2000-XPLite устанавливает Windows со всеми компонентами, а затем удаляет ненужные компоненты после установки.
nLite предназначен для удаления нежелательных системных компонентов Windows 2000 , Windows XP (32 и 64 бит) и Windows Server 2003 , а также для создания урезанных индивидуальных установочных компакт-дисков. nLite был создан Дино Нухагичем и бесплатен для личного использования с возможностью покупки. В сентябре 2014 года была выпущена бета-версия для Windows 7 и более поздних версий. [15]
После того, как пользователь выбирает желаемые параметры «функциональности», nLite пытается предупредить пользователя об удалении зависимых компонентов во время создания пользовательского установщика. Он также позволяет пользователям добавлять драйверы устройств, интегрировать пакеты обновления и другие обновления Windows, а также удалять драйверы для устаревшего или ненужного оборудования и удалять ненужные параметры языка и клавиатуры и ненужные приложения.
Он позволяет настраивать процесс установки, включая ввод ключа продукта, пароль администратора, региональные настройки и создание имен учетных записей пользователей и других параметров, обычно устанавливаемых в Панели управления после установки, а также многочисленные «твики». Также возможны различные степени «автоматической установки». В конце процесса создания установщика nLite может записать установку прямо на CD или создать образ . iso для последующего использования. Он также имеет возможность сохранять и загружать предыдущие варианты сеанса (в формате . txt) для ускорения проверки или дальнейшего изменения пользовательской установки, если это потребуется. [16]
Поскольку пользовательский установщик не содержит нежелательных компонентов, это может привести к уменьшению размера установочного пакета и ускорению установки, что является значительным преимуществом для ИТ-персонала, все еще использующего ручной подход «развертывания» (без преимуществ Microsoft Sysprep ). Такие компакт-диски с минимальным программным обеспечением также позволяют устанавливать систему Windows на жесткие диски размером менее 512 МБ.
HFSLIP — это инструмент командной строки с открытым исходным кодом Hotfix и Service Pack slipstreaming, разработанный для обновления источников установки Windows 2000, Windows XP и Windows Server 2003. [17] [18] [19] В дополнение к hotfix и service packs, HFSLIP slipstreaming другие обновления Microsoft, такие как Internet Explorer , DirectX 9.0c, Windows Media Player и Windows Media Codecs. Он также интегрирует обновления драйверов сторонних устройств , включая DriverPacks .
HFSLIP добавляет (заменяет) оригинальные файлы новыми версиями, найденными в обновлениях из Центра загрузки Microsoft. HFSLIP помещает исправления, которые были нестандартными или требовали специальной процедуры установки, в папку SVCPACK для автоматической установки ближе к концу установки Windows.
По состоянию на май 2010 года HFSLIP больше не разрабатывается, а основной веб-сайт был закрыт. [20]
Autostreamer — это бесплатный инструмент для потоковой передачи данных для Windows XP, [21] который может интегрировать пакет обновления в образ установочного компакт-диска Windows XP.
Основной интерфейс Autostreamer — это мастер , который проводит пользователя через процесс slipstreaming. Согласно PC World , он «упрощает некогда пугающую рутину slipstreaming вашего CD Windows XP — создание CD XP SP2 из вашего SP1 или даже винтажного оригинального CD XP». [22]
Проект DriverPacks — проект с открытым исходным кодом , начатый Вимом Лирсом и Джеффом Херре. Лирс выпустил первый пакет в 2005 году. [23]
Коллекции драйверов устройств называются DriverPacks . Они существуют для чипсетов ЦП, ЦП, графики/видео, Ethernet, запоминающих устройств/съемных устройств/USB, аудио/звука и беспроводного (Wi-Fi/WLAN) оборудования. DriverPacks BASE — это инструмент, который объединяет все DriverPacks в один «единый» установочный CD Windows, который работает на любом оборудовании и не требует дополнительных драйверов устройств после установки.
Он совместим со всеми версиями Windows на базе 32-битного ядра NT 5.1 (Windows 2000, Windows XP, Windows Server 2003, Windows Vista и Windows 7 ).
vLite — это версия nLite для Windows Vista (32 и 64 бит), которая может создать урезанный настраиваемый установочный компакт-диск (или загрузочный USB-накопитель). [24]
Некоторые люди сообщали об успешном использовании vLite с Windows 7 ; [25] [ сомнительно – обсудить ] vLite не полностью совместим с Windows 7 и не был предназначен для поддержки Windows 7. [26] В сентябре 2014 года был выпущен ntLite для поддержки Windows 7 и более поздних версий.
ntLite — это программный инструмент от создателя nLite для поддержки Windows 7 , Windows 8 , Windows 8.1 и Windows 10. [ 24]
ntLite также предотвращает установку компонентов и может удалить их из уже установленной системы при использовании платной версии.
Win Toolkit [27] может создать урезанный индивидуальный установочный компакт-диск (или загрузочный USB-накопитель) для Windows 7 и более поздних версий.
хотя vLite работает с бета-версией Windows 7 и сборками-кандидатами RC, очевиден интерес к обновленной программе, адаптированной для Windows 7.