створення deb

Дуже часто потрібні програми, які вдається знайти на просторах Інтернету, не мають готових DEB або RPM пакетів. У репозиторіях дистрибутивів так само не завжди знаходиться актуальна версія програми. Тому установка програми з вихідного коду буває єдиним виходом.

Так як тут розглядаються пакетні дистрибутиви Linux, то збирати з вихідних ми будемо в DEB і RPM пакети. Такі пакети в подальшому легко встановлюються і видаляються в ОС.

Нижче наведено список команд, які допомагають створювати DEB і RPM пакети з початкових кодів. Ще нижче кожна команда буде більш детально розписана.

Створення DEB-пакетів з вихідного коду:

$ Sudo apt-get install checkinstall

# Sudo rpm -i checkinstall

# Встановлюємо пакет checkinstall

# Переходимо в директорію з вихідним кодом програми

# Конфігуріруем вихідні під свою ОС

# Створення і установка пакета з вихідного коду

Детальний опис кожного кроку

Установка програми checkinstall

Установка пакета checkinstall не повинна викликати особливих складнощів. В операційних системах, які використовують DEB пакети, установка проводиться командою:

# Sudo apt-get install checkinstall

В операційній системі, що використовує RPM пакети, установка пакета checkinstall виконується командою:

# Sudo rpm -i checkinstall

Якщо такий пакет у Вашій ОС не виявлено, то Вам слід відвідати головну сторінку проекту і завантажити необхідну версію для Вашого дистрибутива:

Перехід в директорію з вихідним кодом програми

Перехід в директорію з вихідним кодом програми досить простий і також не повинен викликати жодних труднощів.

Хотілося б нагадати про дуже зручний інструмент командного рядка Linux - клавіші TAB. Кнопка TAB дозволяє автоматично дописувати назву довгих директорій і файлів. Потрібно ввести лише перші символи назви директорії / файлу і натиснути клавішу TAB. яка автоматично допише повна назва.

Майже всі вихідні поширюються в архівах формату tar.gz. Для розпакування архіву набираємо команду:

# Tar xvzf імя_архіва.tar.gz

Прочитати додаткову інформацію по роботі з будь-якими архівами можна тут.

Конфігуріруем вихідні під свою ОС

Простіше кажучи, це процес «настройки» вихідного коду під конкретну ОС. В результаті цього процесу створюється файл з описом конфігурації. Конфігурація початкових кодів зазвичай здійснюється простою командою:

Ця команда не вносить ніяких змін в ОС і тим самим не зможе ніяк зашкодити її.

або прочитати у файлі readme або install

Цей етап найбільш трудомісткий, так як необхідно встановити всі додаткові пакети, від яких залежить вихідний код модульна програми. Якщо в ході виконання цієї команди на екрані з'явилося повідомлення про помилку і процес конфігурації зупинився, то це означає що якийсь залежний пакет відсутній в системі.

Наприклад, при конфігуруванні Pidgin виникла помилка:

checking for GTK. yes
checking for PANGO. yes
checking for X11. yes
checking for GTKSPELL. no
no
configure: error:
GtkSpell development headers not found.
Use --disable-gtkspell if you do not need it.

У наведеному лістингу видно, що GTK, PANGA, X11 відповідають вимогам компилируемого вихідного коду (yes), а перевірка GTKSPELL вивела значення no. Швидше за все в цьому прикладі потрібно встановити libgtkspell-dev.

З цього прикладу видно, що це справа не така вже й складна. Якщо в процесі автоматичної інсталяції не виникло помилок, то процес вважається завершеним успішно.

Компілювання вихідного коду - процес «автоматичний» за умови успішного виконання попереднього пункту.

Якщо все ж виникають помилки, то швидше за все це проблема в вихідному коді. Потрібно помістити частину рядків виводу, в яких міститься помилка, в будь-який пошуковик і подивитися результат пошуку. Можливо з цією помилкою вже стикалося інтернет-спільнота.

Створення DEB-пакета з вихідного коду

Програма checkinstall створює і встановлює пакет для Вашої ОС. Тип пакета (DEB або RPM) checkinstall визначає сам. Для жорсткого вказівки типу створюваного пакета використовуємо команду checkinstall з ключами:

# Sudo checkinstall -R

# Створює і встановлює RPM пакет

Схожі статті