# Питання сумісності

## На яких апаратних архітектурах та системах запускається Debian GNU/Linux?

Debian GNU/Linux містить повні джерельні коди для всіх включених в неї програм, тож вона повинна працювати на всіх системах, що підтримуються ядром Linux. Зверніться до Linux FAQ для детальнішого розгляду цього питання.

Поточна версія Debian GNU/Linux, 9, містить повні двійкові збірки для наступних архітектур:

i386: це всі ПК, основані на процесорах 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: системи виробництва Sun, SPARC та більшість систем UltraSPARC.

powerpc: деякі системи PowerPC виробництва IBM/Motorola включно з CHRP, PowerMac і PReP.

arm: системи ARM і StrongARM.

mips: системи SGI MIPS, Indy та Indigo2; mipsel: little-endian MIPS-системи, Digital DECstation..

hppa: комп'ютери PA-RISC виробництва Hewlett-Packard (712, C3000, L2000, A500).

ia64: комп'ютери Intel IA-64 („Itanium“).

s390: Великі системи IBM S/390.

Розглядається питання розробки двійкових збірок Debian для архітектури Sparc64 (UltraSPARC).

З інших питань про завантаження, поділ вашого диску на розділи, підключення пристроїв PCMCIA та подібних, будь ласка, користайтесь інструкціями, викладеними у Підручнику по встановленню, що доступний в тенетах за адресою http://www.debian.org/releases/stable/installmanual.

## Наскільки Debian сумісний з іншими збірками Linux?

Розробники Debian взаємодіють з авторами інших збірок Linux щоб досягти двійкової сумісності між дистрибутивами Linux. Більшість комерційних програм під Linux запускаються в Debian так само добре, як і в системі, для котрої вони були розроблені.

Debian GNU/Linux дотримується стандарту ієрархії файлової системи Linux. Оскільки деякі положення стандарту можна трактувати по-різному, існують відмінності між Debian та іншими Linux-системами.

Debian GNU/Linux підтримує програмне забезпечення, розроблене в рамках стандарту Linux Standard Base (LSB). LSB — це специфікація, що дозволяє одному й тому ж двійковому пакунку використовуватись в різних дистрибутивах. Пакунки для випуску Debian Etch не повинні протирічити вимогам LBS, версії 1.3. На момент написання цього тексту Debian GNU/Linux формально не є LSB-сертифікованою. Однак, деякі збірки, похідні від Debian, є такими. Дискусія та координація зусиль з приводу приведення Debian до відповідності вимогам LSB має місце в списку розсилки debian-lsb.

## Наскільки джерельні коди Debian сумісні з іншими Unix-системами?

У більшості Linux-додатків джерельні коди сумісні з іншими Unix-системами. Вони підтримуються майже усіма доступними системами Unix System V та вільними і комерційними BSD-подібними системами. Проте у світі Unix такі заяви можна робити лише приблизно, оскільки немає способів перевірити їх. У площині розробки програмного забезпечення потрібна повна сумісність, а не „сумісність у більшості випадків“. Тож потреба у стандарті виникла давно і зараз POSIX.1 (IEEE Standard 1003.1-1990) є одним з основних стандартів сумісності джерельних кодів у Unix-подібних операційних системах.

Linux має намір дотримуватись стандарту POSIX.1, але стандарти POSIX вартують неабияких грошей і сертифікація POSIX.1 (та FIPS151-2) є доволі дорогою; це значно ускладнює роботу розробників Linux стосовно повної відповідності стандартам POSIX. Через вартість сертифікації схоже, що Debian не отримає офіційне сертифіковане підтвердження, навіть якщо він повністю пройде випробувальні тести. З недавнього часу перевірочний комплект знаходиться у вільному доступі, тож очікується, що все більше людей будуть писати програми у відповідності до вимог POSIX.1.

Unifix GmbH (Брауншвайг, Німеччина) розробили систему Linux, що була сертифікована FIPS 151-2 (надмножина POSIX.1). Ця технологія була доступна у власній збірці Unifix, що отримала назву Unixfix Linux 2.0 та у Linux-FT виробництва Lasermoon.

## Чи можу я використовувати пакунки Debian (файли „.deb“) в моїй системі RedHat/Slackware/... Linux? Чи можу я використовувати пакунки RedHat (файли „.rpm“) у моїй Debian GNU/Linux?

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

Ви, ймовірно, зможете:

- Якщо у „чужій“ збірці встановлена та налаштована програма для розпаковування пакунків Debian, то ви зможете розпакувати пакунок в такій системі. Зворотне твердження також вірне, тобто ви зможете розпакувати та правильно розташувати файли з пакунку RedHat чи Slackware на комп'ютері з Debian GNU/Linux за допомогою спеціальної програми. Це відбувається завдяки існуванню та підтримці Стандарту ієрархії файлової системи Linux. Для перетворення між різними форматами пакунків використовують пакунок alien.

Ви, мабуть, не захочете:

- Більшість програм для керування пакунками використовують спеціальні керуючі файли для стискання та пакування архівів. Ці файли не є стандартизованими. А тому результат розпаковування пакунку Debian на чужорідній системі може мати непередбачувані (як правило, руйнівні) наслідки для керівника пакунків даної системи. Аналогічно, інструменти з інших збірок можуть успішно розпакуватись в Debian, але при цьому призведуть до помилок в системі керування пакунками, коли буде потрібно оновити систему чи видалити якийсь інший пакунок або ж навіть просто при виводі списку встановлених пакунків.

Кращий шлях:

- Стандарт файлової системи Linux (а отже і Debian GNU/Linux) вимагає, щоб підтеки в /usr/local/ були віддані на розсуд користувача. Таким чином користувач може розпакувати чужорідні пакунки сюди, а далі налаштовувати і видаляти їх окремо.

## Чи зможе Debian запустити мої старі libc5-програми?

Так. Просто встановіть необхідні `libc5` з секції `oldlibs`, котра містить застарілі пакунки, що були включені для сумісності з старими програмами..

## Чи можна використовувати Debian для компіляції libc5-програм?

Так. Встановіть пакунки `libc5-altdev` та `altgcc` з секції `oldlibs`. В теці `/usr/i486-linuxlibc1/bin` ви знайдете спеціальний `gcc` та `g++`. Додайте її до вашої змінної $РАТН щоб make та інші програми могли їх викликати.

Майте на увазі, що середовище libc5 не повністю підтримується іншими нашими пакунками.

## Як я можу встановити не-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“ (див. debiandocs).

## Чому я не можу скомпілювати програми, що вимагають libtermcap?

Debian радше використовує базу даних `terminfo` та бібліотеку процедур термінальних інтерфейсів `ncurses`, аніж базу даних `termcap` та бібліотеку `libtermcap`. Користувачі, що компілюють програми, яким потрібно щось знати про інтерфейси терміналу, повинні замінити звернення до `libtermcap` зверненням до `libtermcurses`.

Для підтримки двійкових файлів, що вже зв'язані з бібліотекою `termcap` і для яких ви не маєте джерельних кодів, Debian пропонує пакунок, що називається `termcap-compat` з файлами `/etc/termcap` та `libtermcap.so.2`. Встановіть цей пакунок, якщо програма виходить з ладу з повідомленням „Не можу завантажити бібліотеку libtermcap.so.2“ або повідомляє про відсутній файл `/etc/termcap`.

## Чому я не можу встановити AccelX?

AccelX вимагає бібліотеки `termcap` для роботи. Див. termcap вище.

## Чому мої старі XFree 2.1 Motif-додатки призводять до збоїв у роботі?

Вам потрібно встановити пакунок `motifnls`, котрий містить конфігураційні файли XFree-2.1, що дозволяють програмам Motif, скомпільованим для XFree-2.1 запускатись під XFree-3.1.

Без цих файлів деякі Motif-додатки, скомпільовані на інших машинах (як наприклад Netscape), можуть призводити до аварії при спробах копіювання чи вставки у текстове поле та спричиняти ряд інших проблем.