CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
28.06.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы :: Идеология

Совместимость Linux: есть ли проблема?

Открытые системы

Тема этой заметки навеяна статьей Алексея Гриневича, Дениса Марковцева и Владимира Рубанова "Проблемы совместимости Linux-систем". И ее можно рассматривать как нечто среднее между рецензией на последнюю и дискуссией по некоторым ее положениям.

Расщепление Linux на множество дистрибутивов, несомненно, имеет место. Но посмотрим, «так ли страшен черт», для начала ответив на вопрос, что такое Linux. Прежде всего, это, конечно, ядро. И ядро это разрабатывается в рамках единого проекта, постепенно аккумулируя в себе ветки и заплаты множества разработчиков, и никакой тенденции к фрагментации системы на уровне ядра пока не прослеживается. Далее — комплекс системного окружения: средства загрузки и инициализации системы; утилиты поддержки функциональности ядра; средства поддержки взаимодействия пользователя с системой; общесистемные библиотеки; средства поддержки графического интерфейса; средства управления пакетами.

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

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

Средства поддержки графического интерфейса — это система X Window, менеджеры окон и интегрированные рабочие среды вместе с библиотеками, на которых они основаны. Первая сейчас фактически во всех дистрибутивах Linux (и в большинстве Unix-подобных систем вообще) представлена единственной реализацией — Xorg. Конечно, и тут бывают версионные различия, однако они сказываются только на поддержке дополнительных декоративных функций.

Остаются средства управления пакетами, и здесь, конечно, специфичность дистрибутивов проявляется в большей мере, чем в наборе средств инициализации. Собственно, сама специфика дистрибутивов и определяется принципами их комплектации.

C точки зрения «базовых производителей», существует лишь три полностью оригинальные исторически системы: Slackware, Debian и Red Hat. Все остальные либо генетически с ними связаны, либо развивались под влиянием одной из них (правда, нельзя скидывать со счета и влияние систем BSD). С другой стороны, отход «клонов» от прародительского дистрибутива — лишь вопрос времени и интенсивности развития. Кому сейчас придет в голову, что Suse происходит от Slackware, а Mandriva (изначально Mandrake) исторически представляла собой просто Red Hat с KDE в качестве десктопа? Со стороны же третьей, вследствие открытой модели разработки все дистрибутивы находятся в состоянии постоянного взаимовлияния, и определить степень родства потомка с его прародителями часто не представляется возможным, что и имеет непосредственное отношение к проблеме совместимости.

Разделение ОС по применению — да, есть резон в выделении дистрибутивов общего назначения и систем, ориентированных на специальные сферы использования. Но, во-первых, практически любой дистрибутив общего назначения может быть установлен и сконфигурирован для специального использования. Во-вторых, именно таким образом и создаются все специальные системы. В-третьих, дистрибутивы, создаваемые исходно для специальных целей, часто обрастают такими атрибутами, как инсталляторы и средства управления пакетами, превращаясь в системы «общего пользования».

Фактически имеется только два значимых классифицирующих признака различия дистрибутивов: форма распространения и средства управления его компонентами. По первому из них можно выделить две группы: переносимые, или портируемые, и пакетные. Портируемые дистрибутивы обычно называют Source Based System, что представляется не совсем правильным, ибо как раз в виде исходных текстов они обычно не распространяются. Основным их компонентом является система получения из Сети исходных текстов авторских пакетов, их сборки и инкорпорации в файловую систему целевой машины (типичным примером тут может служить Gentoo с ее системой портежей). Во FreeBSD, откуда была заимствована эта концепция, такая система носит название портов, что и целесообразно сохранить как родовое имя всех подобных средств управления компонентами дистрибутива. Соответственно, неотъемлемым компонентом портируемых дистрибутивов выступают компилятор gcc и сопутствующий ему инструментарий для сборки. Пакетные дистрибутивы распространяются в виде прекомпилированных бинарных пакетов, которые могут как совпадать с пакетами авторскими, так и быть более дробными.

Резкой грани между портируемыми и пакетными дистрибутивами нет. Первые в любом случае содержат прекомпилированную базовую систему, без которой было бы невозможно функционирование системы портов. Кроме того, никто не запрещает и распространять их в виде бинарных пакетов, сгенерированных системой портов (именно таков основной способ распространения FreeBSD). Пакетные же дистрибутивы часто содержат либо самостоятельные «портообразные» системы (Archlinux, CRUX), либо их средства пакетного менеджмента позволяют выполнить тотальную пересборку дистрибутива из исходников (Debian и его клоны). Тем не менее пакетные дистрибутивы могут распространяться без компилятора и сопутствующего инструментария, однако в них неотъемлемым компонентом оказывается какая-либо система управления пакетами. Какая именно — во многом зависит от формата пакетов: tar-архивы, компрессированные с помощью gzip или bzip2; rpm-пакеты и deb-пакеты. В соответствии с этим пакетные дистрибутивы могут быть разделены на три группы, каждая из которых обладает собственным набором низкоуровневых утилит для их установки, поэтому использование пакетов одного формата в дистрибутиве, рассчитанном на другой, обычно вызывает проблемы. Тем не менее здесь нет непреодолимой границы, поскольку существуют средства конвертации пакетов одного формата в другой, и кроме того, многие высокоуровневые системы управления пакетами, изначально предназначенные для пакетов deb-формата, успешно адаптируются и к другим форматам.

Конечно, необязательно, что произвольный пакет, конвертированный в пакет deb-формата, будет успешно установлен в любом deb-ориентированном дистрибутиве — кроме возможного нарушения зависимостей, этому могут помешать и различия в иерархии файловой системы, однако необходимость в такой практике возникает очень редко. На самом деле пополнение дистрибутива пакетами, разрешение их зависимостей, адаптация к функционированию в среде данной системы, обновление версий — это задача сборщиков дистрибутивов, с которой они вполне успешно справляются.

Давно прошли те времена, когда программы писались с ориентацией на какой-то конкретный дистрибутив. Сегодня они практически всегда создаются в расчете на использование в абстрактном Linux, а то и в Unix-подобной системе вообще. В любом случае, адаптация приложений под конкретный дистрибутив и под систему — это забота его сборщиков. Конечно, ожидать от сборщиков свободно распространяемых дистрибутивов (как и от разработчиков любого свободного программного обеспечения) гарантий совместимости было бы опрометчиво, хотя на практике такой гарантией выступает репутация. А вот распространители корпоративных редакций коммерческих дистрибутивов Red Hat, Novell, Mandriva такие гарантии предоставляют.

Тем не менее проблема совместимости дистрибутивов и прикладных программ существует, но касается она не открытого и свободного программного обеспечения, а проприетарного, не доступного в исходных текстах и потому не могущего быть адаптированным под конкретную систему путем их модификации. Сами же производители таких программ тестируют свои продукты на совместимость лишь с некоторыми дистрибутивами и не гарантируют их работоспособности в любых других системах. Так, для работы с СУБД Oracle до недавнего времени были сертифицированы только Red Hat и Suse (ныне к ним прибавился и «собственный» дистрибутив Oracle). Основные продукты IBM, такие, как DB2, ориентированы на Red Hat. Однако и здесь все не так страшно. Во-первых, отсутствие гарантии производителя вовсе не эквивалентно гарантированной неработоспособности ее продукции в других дистрибутивах. Во-вторых, например, целью создания таких клонов Red Hat, как Scientific Linux, как раз и является достижение полной функциональности родительской системы, в том числе и с точки зрения совместимости со сторонними приложениями. И в-третьих, запуск проприетарных программ в системах, для этого вроде бы не предназначенных, часто достижим с помощью специальных приемов.




Комментарии

Страницы комментариев: 1 :: 2 :: следующая

sam750, Thu Feb 28 15:52:31 2008:
забыл написать: если бы 1с сделало полноценную версию под Линукс, то сильно бы ударило по МС в России. а если они "родственные души", то оно 1с-у и не надо. :-(
sam750, Thu Feb 28 15:50:36 2008:
2Elrock: вот именно, что человек, без знаний бухучета, может вести его. :-) я тоже по специальности программер, но (с помощью другой программы, а не 1с) смог выучить этот самый бухучет, а не просто научиться вести бухучет в одной программе.
можно и не знать, что да как там делается. только как проверять все цифры, если 1с не позволяет, беря всё на себя?
для примера, вспомнилось: переходила одна фирма с 1с на "ДП" ("ДП" - другая программа - это чтобы без рекламы :-) ). оказалось, что там сф (в стандартной конфе) ошибалась на копейки. и когда стали вводить в новой проге старые сф, эта проблема вылезла. они решили сделать... как в 1с. 8-( (думаю, налоговая потом сильно обрадовалась). пришлось извратиться и сделать как просят. а ведь эти "бухгалтера" были уверены, что у них всё правильно. а как проверишь? можно конечно просто перемножить цифры, и сразу будет видно. но заниматься никто этим не хочет, вот такое оно - новое поколение "бухгалтеров". :-(

и я верю, что 1с выгодно заниматься, т.к. их главный слоган для дилеров - "МЫ ПОМОЖЕМ ВАМ ПРОДАТЬ!" не то, что вы будете продавать лучшую или удобную прогу. ;-) неее, это на второй, или даже на третий план. :-( :-) главное, вы сможете продать. ну а потом доделывать до нормального вида, чтобы можно было работать.
я тоже был дилером, но только "ДП". :-) тоже выгодно заниматься, а если уж я разбираюсь в бухучете, то мог зарабатывать на консультациях по... бухучету, т.е. как правильно сделать то, или иное. :-) но бОльшая часть времени уходила на простую установку обновлений, при изменении законодательства (причём многие бухи сами этим занимались). а уж чтобы править стандартную конфу - упаси Бог. максимум передача инфы разработчикам, те правили быстро, если что не так (но было это редко). хотя всё было открыто - хочешь правь, сколько душе угодно.

зы. у меня несколько друзей-одногруппников пошли немного другим путём - пошли на предприятия. и самое первое дело для них было (это был 2000-2001 год) - написать ЗП в 1с. меня это удивило - для ДП, кроме блока ЗП от разработчика, существовало еще одно решение, одного из дилеров - универсальное, и для комм. предприятий, и для бюджета!!! а в 1с тогда был отдельный блок, который, как я понимаю, вести сложный учет не позволял (не говоря уже о блоке, входящем в 1с-бухгалтерию). :-( мне вот интересно, сейчас-то хоть положение изменилось?

ззы. если кто посчитает, что здесь сплошной ОТ, то посмею заметить - что 1с ведёт себя также как и МС. :-( что я и пытаюсь показать.
nusgul, Thu Feb 28 14:07:38 2008:
2 Elrock, четверг, 28 февраля 2008 г. 13:57:54:
Вопрос в другом. Можно ли найти/создать замену 1С для свободных платформ?
P.S. Wine - это замечательно, но эмулятор есть эмулятор.
Elrock, Thu Feb 28 13:57:54 2008:
И вдогонку. 1С ВЫГОДНО заниматься. Сама фирма штампует коробки, дилеры и вообще знающие зарабатывают на внедрении и обучении. У меня доходы от этого раз в 10 больше чем тем собственно от продаж. Даже если бы 1С стала бесплатной, мои доходы уменьшились бы ненамного.
В принципе все ПО должно стремиться к этой модели.
Elrock, Thu Feb 28 13:52:28 2008:
2sam750, четверг, 28 февраля 2008 г. 13:15:34:

>>самое интересное, что 1с не является программой бухучета (это как бывший бухгалтер говорю)

Если точнее, 1С является программой АВТОМАТИЗАЦИИ бухгалтерского учета. И самое лучшее в ней - все идет от Документа а не от Проводки, как во многих других. Помнится, когда я открыл свою фирму, то умудрялся обладая весьма приблизительными сведениями о БУ, вести весь учет сам, без бухгалтера. Это было еще до принятия УСН. Возможно ли это на других программах. Сомневаюсь.
sam750, Thu Feb 28 13:15:34 2008:
2Elrock: "Написать конкурента 1С может и не так сложно, а вот постоянно поддерживать ее, подстраивая под часто меняющееся законодательство - почти неподъемная задача."

вы не поверите, :-) но кроме 1с, бэста и паруса есть и другие программы. :-) и там тоже успевают под законодательство подстраиваться (и даже быстрее, чем 1с). и даже могут сделать ЗП в базе (а не отдельной программой). и там есть полная отчетность во все фонды. и прочая налоговая отчётность наиполнейшая.
самое интересное, что 1с не является программой бухучета (это как бывший бухгалтер говорю). но что поделать, если нормальных бухгалтеров мало, а появляются "бухгалтера", которые посылают далеко, когда им начинаешь объяснять про дебет/кредит, оборотку,.. - "зачем мне это знать? это сложно".
а 1с продвинулся только благодаря да 1с-торговле.

и, как я слышал, корни 1с идут от сотрудничества с MS. :-( поэтому ждать полноценной версии под Линукс, имхо, не стоит. хотя может я и ошибаюсь.
аноним, Thu Feb 28 10:39:53 2008:
Какой формат пакетов ПО использовать всем, никогда не договорятся. У каждого оригинального дистрибутива свои соображения на этот счет. Кажется просто нужно создать один общий, простой, вроде как в ArchLinux или Slackware, но с поддержкой конвертации в наиболее распространенные - deb, rpm и пр. С прикладным софтом это вполне осуществимо.
С бинарной совместимостью как таковой между дистрибутивами в принципе нормально. Т.к. основные библиотеки достаточно стабилизированы.
А инсталляторы типа как в Винде - нах не нужны.
Elrock, Thu Feb 28 09:58:31 2008:
2Rex Lockheart

Написать конкурента 1С может и не так сложно, а вот постоянно поддерживать ее, подстраивая под часто меняющееся законодательство - почти неподъемная задача.
Стоимость программы очень небольшая, так что даже написание конкурента просто экономически не оправдано. Недостатков много, всех не перечесть.
Все обсуждалось здесь: http://forum.posix.ru/viewtopic.php?id=843
Elrock, Thu Feb 28 09:19:18 2008:
2 Rex Lockheart, среда, 27 февраля 2008 г. 17:30:33:
Фишка 1С - это постоянное обновление программы. Если у хозрасчетных организаций все уже почти утряслось, то для бюджетных организаций последние года 3 прошло в постоянных изменениях. Очень удобна в работе и обслуживании.
Кроме того у них самые низкие цены при сопоставимом или лучшем качестве. Базовая версия - 2.5 тыс (у меня даже студенты покупали), сетевая на неогр количество пользователей -14400. Программа очень устойчивая - админа держать не надо. Начиная с проф версии ст 7200 - в комплекте вся документация, от администрирования до программирования. Недостатки тоже есть. В основном по причине "болезни роста", т.е. те же самые что у МС.
Я не могу судить, кроме 1С видел только БЭСТ и Парус, но они - примерно как 1С 6.0 - т.е. с 8 летним опозданием.
027, Thu Feb 28 03:15:34 2008:
Rex Lockheart>
Вопрос не в тему, но очень уж хотелось получить ответ - Вы про "Дебет+" слышали? В какой-то мере аналог "1С:Бухгалтерия". (В какой - судить не могу, потому и спрашиваю). Причём сразу и доступный бесплатно, и существует для нескольких ОСей, в том числе и для Линукса, конечно. Способен ли этот продукт конкурировать с 1С?

Нет, не способен. 1С (увы) является де факто общероссийским стандартом, и свалить его потруднее, чем монополию Билли. Конторе "1С" даже пальцем пошевелить не придется. Вас сожрут главбухи. С потрохами. Кроме собственно бухгалтерии, с ее постоянно меняющимися нюансами отчетности, есть еще налоговая отчетность, разнообразные клиент-банки, пенсионный фонд и черт знает что еще. 1С обеспечивает обмен данными со всем этим бюрократическим дерьмом, повторюсь - это стандарт де факто.
Максимум реального применения - маленькие изолированные предприятия с упрощенной отчетностью. Если же ваша контора нуждается в оживленном документообороте с другими участниками рынка и (упаси, Господи!) с родным государством, тут вам и капец со всякими поползновениями в сторону опенсорцной учетности.
Первый, кто вас съест - это ваш ненагладный главбух.

Страницы комментариев: 1 :: 2 :: следующая

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds