Компіляція джерела в пакет DEB


34

У мене завжди виникали проблеми з установкою та видаленням компільованого програмного забезпечення, тому я вирішив, що хотів би створити програмне забезпечення з джерела в пакет .deb для більш простої установки / видалення.

Я хотів би знати про простий і короткий спосіб вбудувати джерело в пакет .deb, як кінцевого користувача .

Я намагався:

  • ubucompilator , який не працював для мене
  • Це як орієнтуватися, але я вважав це занадто довго

1
Ubucompilator - це цікавий проект, і я аплодую їх сьогоднішнім зусиллям. Однак, як ви виявили, він надає лише графічний інтерфейс GUI для чотирьох або п’яти команд низького рівня. І, НІ, ви не можете використовувати його, щоб легко створити належний пакет '.deb'.
david6

Відповіді:


47

checkinstall робить те, чого ви хочете досягти: він буде контролювати, які файли встановлюються, і поміщати їх у пакет .deb, який потім можна встановити та видалити

Встановіть його за допомогою

apt-get install checkinstall

тоді ви робите звичайну установку з вихідної процедури, замінюючи 'sudo make install' на 'sudo checkinstall':

  ./configure
  make
  sudo checkinstall

Довідка: https://help.ubuntu.com/community/CheckInstall


9

У нас є справді хороший посібник з упаковки, який містить розділ на тему нових пакунків .


1
Я рекомендую це посилання, оскільки воно містить всю інформацію, яка комусь знадобиться. Крім того, якщо є якісь конкретні питання, я можу допомогти з ними, але не для пояснення всієї процедури створення пакета debian з джерела.
Томас Уорд

@ppumkin: оновлено.
переплетення

6

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

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

Введення команд для завантаження та складання нової версії двадцять разів займає багато часу. Альтернативою є завантаження сценарію для виконання завдання, а потім виконання сценарію. Але часто простіше оновити програми, використовуючи .debфайл, створений за допомогою checkinstall.


0

Завдання упаковки якогось випадкового фрагмента програмного коду в .deb є досить складним, якщо програмне забезпечення вже не було в такому вигляді, особливо в порівнянні з просто зробити, зробити встановлення. Якщо ви хочете, щоб справи були простішими, я думаю, ви рухаєтесь у неправильному напрямку.

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

Можливо, вам варто більше зосередитись на тому, щоб дізнатись, як "працює" компіляція та встановлення програмного забезпечення з джерела. На вашу користь - той факт, що все, що ви встановили самостійно, має закінчуватися в / usr / local


дякую за сугезію, але я вже знаю про компіляцію програмного забезпечення, і я мовчу, що їх кількість зібрана в моїй системі. Єдине, що мені важко - це оновлення або видалення їх. Тож я хоч файл дебю був би зручнішим
Ашу

Причина, що дебютний пакет може плавно оновити чи видалити сам, - це те, що хтось продумано написав сценарії для цього пакета. Крім того, їм довелося додати ще безліч інших описових метаданих, які dpkg може використовувати для визначення файлів. Ви будете вирізати вашу роботу.
thomasrutter

1
Насправді, просто йдіть з відповіддю Флойда. Це виглядає як краще рішення загалом, якщо воно справді робить те, що каже, що робить!
thomasrutter

Так. Рішення Флойда чудово. Особливо зараз, його надзвичайно зрілий. Тепер мені не потрібно будувати з джерела на тонах серверів. :)
Jack_Hu
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.