[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ вперед ]


The Debian GNU/Linux FAQ
Глава 3 - Проблемы совместимости


3.1 На каких архитектурах/системах работает Debian GNU/Linux?

Debian GNU/Linux содержит полный исходный код всех включённых в него программ, поэтому он должен работать на всех системах, которые поддерживаются ядром Linux; подробней смотрите Linux FAQ.

Текущий выпуск Debian GNU/Linux, 4.0, содержит полный двоичный код для следующих архитектур:

i386: охватываются PC, построенные на базе процессоров Intel и совместимых с ним, влкючая Intel 386, 486, Pentium, Pentium Pro, Pentium II (и Klamath и Celeron), и Pentium III, и почти все совместимые процессоры от AMD, Cyrix и других.

m68k: охватываются Amiga и ATARI, построенные на процессоре Motorola 680x0, где x>=2; с MMU.

alpha: Alpha системы от Compaq/Digital.

sparc: охватываются SPARC от Sun и большинство систем UltraSPARC.

powerpc: охватываются некоторые IBM/Motorola PowerPC машины, включая CHRP, PowerMac и машины PReP.

arm: машины ARM и StrongARM.

В настоящий момент ведётся разработка двоичных дистрибутивов Debian для архитектур Sparc64 (родной UltraSPARC) и MIPS.

Дальнейшие инструкции по загрузке, разбиению дисков, включении PCMCIA (PC Card) устройств и с подобными проблемами отправляйтесь читать Руководство по Установке, которое лежит на нашем WWW сайте по адресу http://www.debian.org/releases/stable/i386/install.


3.2 Насколько совместим Debian с другими дистрибутивами Linux?

Разработчики Debian общаются с другими создателями дистрибутивов Linux для достижения совместимости управления двоичными файлами между дистрибутивами Linux. Большинство коммерческих продуктов под Linux также хорошо работают под Debian как и в системах где они были собраны.

Debian GNU/Linux придерживается Стандарта Иерархии Файловой Системы Linux. Однако, в правилах стандарта остались места, интерпретация которых может несколько различаться между системой Debian и другим системами Linux.


3.3 Насколько исходный код Debian совместим с другими системами Unix?

Исходный код большинства приложений Linux совместим с другими системами Unix. Он поддерживает почти всё, что есть в системах System V Unix, а также свободных и коммерческих системах, основанных от BSD. Однако, для бизнеса такое утверждение о Unix почти не имеет значения, потому что это нельзя никак доказать. В области разработки программного обеспечения необходима полная совместимость, вместо совместимости для "большинства" случаев. Несколько лет назад возникла потребность в стандартах, и теперь POSIX.1 (IEEE Стандарт 1003.1-1990) является одним из основных стандартов по совместимости исходного кода для Unix-подобных операционных систем.

Linux намеревается придерживаться POSIX.1, но стандарты POSIX стоят настоящих денег, а сертификация POSIX.1 (и FIPS 151-2) довольно дорога; это ещё более усложняет разработчикам Linux работу по полному соответствию POSIX. Стоимость сертификации делает её непривлекательной в том что Debian получит официальное подтверждение о соответствии, даже если он полностью пройдёт аттестационный пакет. (Аттестационный пакет теперь свободно доступен, так что ожидается, что это привлечёт ещё больше людей, которые станут работать над проблемами с POSIX.1.)

Unifix GmbH (Braunschweig, Germany) разработала Linux систему, которая была сертифицирована как удовлетворяющая FIPS 151-2 (superset POSIX.1). Эта технология была доступна в дистрибутиве Unifix, называемом Unifix Linux 2.0 и в Lasermoon Linux-FT.


3.4 Могу я использовать пакеты Debians (".deb" файлы) в моей системе RedHat/Slackware/... Linux? Могу я использовать пакеты RedHat (".rpm" файлы) в моей системе Debian GNU/Linux?

Различные дистрибутивы Linux используют различные форматы пакетов и различные программы управления пакетами.

Вы вероятно сможете:

Существует программа, которая распаковывает пакет Debian на Linux хост, который работает под `чужим' дистрибутивом, и она в общем работает, в том смысле, что файлы будут распакованы. Обратное утверждение, вероятно, тоже верно, т.е. программа распакует RedHat или Slackware пакет на хост, который работает под Debian GNU/Linux вероятна успешная распаковка пакета и распределение большинства файлов по каталогам их назначения. Это, в значительной степени, благодаря существованию (и сильной приверженности) Стандарту Иерархии Файловой Системы Linux.

Вы это сможете, но не захотите сделать:

Большинство программ управления пакетами сохраняют данные в управляющих файлах, когда они используются для распаковки архива. Обычно, эти административные файлы не стандартизованы. Поэтому, распаковка пакета Debian на `чужом' хосте может оказать непредсказуемый (уж точно ничего хорошего) эффект на менеджер пакетов этой системы. Более того, утилиты из других дистрибутивов могут успешно распаковать свои архивы в систему Debian, но это, вероятно, приведёт к неправильной работе системы управления пакетами Debian, когда придёт время обновлять или удалять некоторые пакеты, или даже просто при выводе списка пакетов, установленных в системе.

Лучший способ:

Стандарт Файловой Системы Linux (а следовательно Debian GNU/Linux) требует, чтобы подкаталоги /usr/local/ были полностью во власти пользователей. Поэтому, пользователи могут распаковывать `чужие' пакеты в этот каталог, а затем индивидуально управлять их настройкой, обновлением и удалением.


3.5 Сможет ли Debian запускать мои очень старые программы "a.out"?

А у вас действительно ещё есть такие программы? :-)

Чтобы запускать программы, которые имеют двоичный формат a.out (т.е., QMAGIC или ZMAGIC),

Если у вас в формате a.out коммерческое приложение, то теперь самое время попросить поставщика прислать вам ELF обновление.


3.6 Сможет ли Debian запускать мои старые libc5 программы?

Да. Просто установите нужные библиотеки libc5 из раздела oldlibs (содержащего старые пакеты, включённые для совместимости со старыми приложениями).


3.7 Можно ли использовать Debian для сборки libc5 программ?

Да. Установите пакеты libc5-altdev и altgccs (из раздела oldlibs). Там вы найдёте соответствующие libc5-собранные gcc и g++ в каталоге /usr/i486-linuxlibc1/bin. Поместите их в свою переменную $PATH, чтобы сначала собрать make и другие программы.

Если вам требуется собирать libc5 X клиента, то установите пакеты xlib6 и xlib6-altdev.

Помните, что среда libc5 в наших других пакетах полностью больше не поддерживается.


3.8 Как мне установить не-Debian программу?

Файлы в каталоге /usr/local/ не контролируются системой управления пакетами Debian. Поэтому, хорошей практикой является размещение исходного кода ваших программ в каталог /usr/local/src/. Например, вы можете распаковать файлы из пакета с именем "foo.tar" в каталог /usr/local/src/foo. После сборки, поместите двоичные файлы в /usr/local/bin/, библиотеки в /usr/local/lib/, а настроечные файлы в /usr/local/etc/.

Если ваша программа и/или файлы требуют размещать их в каком-то другом каталоге, вы всё равно должны держать их в /usr/local/, и создавать соответствующие символические ссылки в требуемом месте на сохранённые файлы из /usr/local/, например, вы должны сделать ссылку так

ln -s /usr/local/bin/foo /usr/bin/foo

В любом случае, если вы получили пакет, авторские права на который, позволяют дальнейшее распространение, вы должны рассмотреть создание пакета Debian под него, и отправить его в систему Debian. Основы, как стать разработчиком пакета, описаны в Руководстве по Политике Debian (смотрите Какая ещё документация существует для системы Debian?, раздел 11.1).


3.9 Почему я получаю ошибки типа "Can't find libX11.so.6" при запуске foo?

Это сообщение об ошибке означает, что программа собрана с поддержкой библиотеки X11 версии libc5. В этом случае вам необходимо установить пакет xlib6 из раздела oldlibs.

Вы можете получить похожие сообщения об ошибках, указывающие на файл libXpm.so.4, в этом случае вам нужно установить версию libc5 библиотеки XPM из пакета xpm4.7, также из раздела oldlibs.


3.10 Почему я не могу собрать программы, которым нужна libtermcap?

Debian использует базу данных terminfo и библиотеку ncursesдля работы с терминалом, а не базу данных termcap и библиотеку termcap. Пользователям, собирающим программы, требуются некоторые знания по взаимодействию с терминалом, чтобы заменить ссылки на libtermcap ссылками на libncurses.

Чтобы поддержать двоичные файлы, которые уже слинкованы с библиотекой termcap и для которых нет исходных текстов, Debian предоставляет пакет termcap-compat. В нём имеется и libtermcap.so.2 и /etc/termcap. Установите этот пакет, если программа отказывается запускаться с сообщением об ошибке "can't load library 'libtermcap.so.2'", или жалуется на отсутствие файла /etc/termcap.


3.11 Почему я не могу установить AccelX?

Для установки AccelX используется библиотека termcap. Смотрите про Почему я не могу собрать программы, которым нужна libtermcap?, раздел 3.10 выше.


3.12 Почему сбоят мои старые приложения XFree 2.1 Motif?

Вам требуется установить пакет motifnls, который содержит настроечные файлы для XFree-2.1, необходимые, для того чтобы приложения Motif, собранные под XFree-2.1, могли работать под XFree-3.1.

Без этих файлов некоторые приложения Motif, собранные на других машинах (такие как Netscape) могут сбоить при попытке копирования или вставки из или в текстовое поле, а также могут проявляться другие проблемы.


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ вперед ]


The Debian GNU/Linux FAQ

версия CVS, 17 June 2006

Авторы, раздел 15.1