Пакунки Debian є найвідомішими пакетами у всьому Linux. У 9 випадках з 10, коли хтось переносить програму на Linux, він видає як пакет Debian, тобто файл DEB. Підтримка Linux, навіть якщо це лише один тип дистрибутива Linux, добре. Тим не менш, не кожен дистрибутив Linux призначений для запуску цих пакетів. У цій статті ми розглянемо надійний спосіб встановлення пакунка Debian і змусити програму працювати у вашому дистрибутиві Linux.
У цьому посібнику «перетворення» не відбуватиметься. Замість цього просто витягуйте дані та переміщуйте їх. Щоб почати, завантажте пакет Debian. У цьому прикладі ми будемо працювати з пакетом Google Chrome. Хоча цей посібник зосереджено на пакеті Google Chrome Debian, він є доказом концепції. Скористайтеся методом, показаним тут, і застосуйте його для встановлення пакунка Debian.
Вилучення даних
Більшість користувачів Linux не усвідомлюють, що пакети DEB — це просто вигадливі архівні файли, які можна розпакувати. Завантажте пакет Debian, який ви хочете інсталювати, і розпакуйте його. У цьому випадку ми маємо пакет Chrome, завантажений та розпакований у нашій системі. Відкрийте вікно терміналу та скористайтеся командою mkdir, щоб створити нову папку. У цій папці будуть зберігатися всі дані пакета, які нам потрібні.
mkdir -p ~/deb-extracted
За допомогою mv помістіть файл Chrome у нову папку.
mv google-chrome-stable_current_amd64.deb ~/deb-extracted
CD у нову папку та скористайтеся інструментом ar, щоб перевірити пакет Chrome.
cd ~/deb-extracted ar tv google-chrome-stable_current_amd64.deb
Ar перевіряє файл Chrome DEB і повідомляє нам, що всередині є три стислі файли. Це файли «debian-binary», «control.tar.gz» та «data.tar.xz». Усі необхідні дані є в архіві data.tar.xz, але «control.tar.gz» також важливий.
Інструмент Ar не лише перевіряє архіви. Він також може їх витягувати. Використовуйте ar xv, щоб витягти три елементи з google-chrome-stable_current_amd64.deb.
ar xv google-chrome-stable_current_amd64.deb
Усі три елементи тепер мають бути всередині ~/deb-extracted. Використовуйте команду rm, щоб видалити «debian-binary». Це не обов’язково, оскільки ми не використовуємо Debian Linux.
Звідси нам потрібно буде витягти дані файлу з data.tar.xz. Він містить усе необхідне для запуску Chrome як програми в Linux. Розпакуйте його в папку за допомогою tar.
tar -xvf data.tar.xz
Розпакування архіву даних виведе 3 папки. Папки «opt», «usr» та «etc».
Використовуючи rm -rf, видаліть папку etc. Елементи в цій папці не потрібні, оскільки це завдання оновлення Debian для перевірки наявності оновлень.
Примітка. Не ставте / перед командою нижче. Ви можете випадково видалити /etc/, а не папку etc, витягнуту в ~/deb-extracted.
rm -rf etc
Потім перемістіть файли всередину usr і виберіть файли туди, де вони належать на ПК. Наприклад, щоб інсталювати Google Chrome у дистрибутиві Linux, відмінному від Debian, ви повинні перемістити файли туди, де вони належать, вручну:
cd opt sudo -s mv google /opt/ ln -snf /opt/google/google-chrome /usr/bin/ cd .. share mv -f * /usr/share/
Наведений вище приклад показує, що саме робити з витягнутими файлами з data.tar.xz. Очевидно, що інші пакунки Debian можуть мати вміст всередині витягнутої папки, який відрізняється від того, який ви бачите в цьому посібнику. Ідея полягає в тому, щоб подивитися на назви папок всередині архіву data.tar.xz і звернути увагу на імена. Папки всередині мають ті самі імена, що й папки у файловій системі вашого ПК Linux, і елементи всередині переходять до цих місць.
Інструкції з пошуку пакету
Іноді декомпіляції пакунка Debian та розпакування архіву data.tar.xz недостатньо, і ви все ще залишаєтеся заплутаними. На щастя, кожен файл пакету Debian містить набір інструкцій. Ці інструкції знаходяться всередині control.tar.gz.
Розпакуйте архів control.tar.gz до папки ~/deb-extracted за допомогою команди tar.
tar -xvzf control.tar.gz
Архів control.tar.gz містить багато скриптів, які вказують пакету Debian, що робити. Той, який нас цікавить, позначений як «postinst». Postinst — це скорочення від «postinstallation», сценарій bash, який запускається і розміщує все, куди потрібно.
У терміналі скористайтеся командою cat, щоб переглянути текстовий файл. Об’єднайте його з «більше», щоб переглянути його рядок за рядком. Перевірте файл “postinst” і зверніть увагу на те, що робить скрипт, особливо куди він розміщує файли. Це допоможе вам зрозуміти, де належать елементи в data.tar.xz і що вони роблять.
cat postinst | more
Залежності
Декомпіляції пакунка Debian та переміщення файлів даних у потрібні місця часто недостатньо. Іноді вам знадобиться встановити правильні файли залежностей, або нічого не працює. На щастя, кожен пакунок Debian має невеликий файл у control.tar.gz, у якому викладено детальний список важливих файлів бібліотеки, які користувач повинен встановити, щоб усе працювало. Щоб переглянути цей файл, використовуйте cat.
cat control | more
Наприклад, для використання Google Chrome керуючий файл запитує ca-certificates, fonts-liberation, libappindicator1, libasound2, libatk-bridge2.0-0 та інші елементи.
Уважно прочитайте цей файл і використовуйте його для встановлення окремих бібліотек на вашому ПК з Linux. Якщо на вашому комп’ютері є правильні програми, вилучена програма повинна працювати як зазвичай.
Якщо ви використовуєте систему Linux на основі Redhat, дотримуйтесь нашого посібника, щоб встановити на неї пакунок Debian.