Створення власного debian пакету
Огляд
Пакет Debian є найпростішим і найефективнішим способом розповсюдження програмного забезпечення в дистрибутивах на основі Debian. Він піклується про керування залежностями та забезпечує хороший інтерфейс для операцій встановлення/оновлення/видалення.
Офіційний спосіб створення пакету включає багато кроків і процесів. У цій шпаргалці ми розглянемо простіший спосіб створення цих пакетів. Однак офіційний спосіб створення упаковки є ідеальним і рекомендованим для виробничих цілей.
Підготовка файлів
Структура пакета .deb
У дистрибутивах на основі Debian одним із способів встановлення програм є завантаження файлу пакета .deb і використання команди dpkg для його встановлення . Цей «пакет deb» — це архів двійкових і конфігураційних файлів, пов’язаних із програмним додатком. Усі файли всередині архіву зберігаються в певній структурі папок.
Під час інсталяції на цільовій машині двійкові файли та файли конфігурації переходять у подібну структуру папок із кореневої папки .
Ця інструкція про створення та інсталяцію власного debian пакету
Архітектури
Linux
| Architecture | Manufacturer | Status | Comments |
|---|---|---|---|
| all | - | Supported | - |
| Alpha | HPe (formerly HP, Compaq, Digital) | Unofficial | |
| Arm | Hundreds | Dead | NetWinder, NSLU2, … |
| Armel | Hundreds | Supported | QNAP, ?SheevaPlug, Raspberry Pi 1 |
| armhf | Hundreds | Supported | Arm v7 32-bit systems; for kernel support see DebianKernel/ARMMP |
| arm64 | Hundreds | Supported | Arm v8 64-bit systems |
| hppa | HPe (formerly HP) | Unofficial | HP Precision Architecture |
| i386 | Intel, AMD, Cyrix, NSC, Transmeta, VIA | Supported | The original x86 platform. Now requires “686” class CPU. |
| amd64 | AMD, Intel, VIA | Supported | also known as em64t or x86-64. |
| ia64 | Intel, HPe | Dead | Itanium (not Intel Core series) |
| m68k | Freescale (formerly Motorola) | Unofficial | Amiga, !AtariST, very old Macintoshes, some old Sun hardware (sun3) |
| mips | Cavium, Wave Computing (formerly Imagination, MIPS) | Dead | Big-endian 32-bit |
| mipsel | Cavium, Loongson, Wave Computing (formerly Imagination, MIPS) | Dead | Little-endian 32-bit |
| mips64el | Cavium, Loongson, Wave Computing (formerly Imagination, MIPS) | Supported | Little-endian 64-bit |
| PowerPC | IBM, Freescale (formerly Motorola) | Unofficial | Old Macintoshes |
| PowerSPE | IBM, Freescale (formerly Motorola) | Dead | IBM “e500” cores |
| PPC64 | IBM, Freescale (formerly Motorola) | Unofficial | Old Macintoshes, IBM POWER systems |
| ppc64el | IBM | Supported | POWER8, POWER9 systems |
| riscv64 | ?SiFive, etc. | Unofficial | |
| s390 | IBM | Dead | BigIron - IBM mainframe platform |
| s390x | IBM | Supported | Newer BigIron - IBM mainframe platform |
| SH4 | Renesas (formerly Hitachi) | Unofficial | |
| sparc64 | Sun, Fujitsu, etc. | Unofficial | |
| x32 | AMD, Intel, VIA | Unofficial | 32-bit ABI using x86-64 (amd64) ISA. |
non-Linux
| Architecture | Manufacturer | Status | Comments |
|---|---|---|---|
| hurd-i386 | see TheHurd | Unofficial | Not a hardware platform |
| hurd-amd64 | see TheHurd | Unofficial | Not a hardware platform |
| netbsd-i386 | NetBSD kernel | Dead | Not a hardware platform |
| netbsd-alpha | NetBSD kernel | Dead | Not a hardware platform |
| kfreebsd-i386 | FreeBSD kernel | Dead | Not a hardware platform |
| kfreebsd-amd64 | FreeBSD kernel | Dead | Not a hardware platform |
.
└── mypackage_1.0_all # Package main folder
├── DEBIAN
│ ├── control # File with package's main info
│ ├── postinst # Script executing after the install
│ └── preinst # Script executing before the install
├── opt
│ └── mypackage # Folder including our software
│ └── open_link.sh # Script opening browser to ubuntu.com
└── usr
└── share
├── applications
│ └── mypackage.desktop # File with app info in launcher
└── icons
└── mypackage.xpm # Launcher app iconЗбирання
dpkg-deb --build ./mypackage_1.0_allІнсталювання
sudo gdebi -n ./mypackage_1.0_all.deb # test (requires gdebi-core)
sudo dpkg -i ./mypackage_1.0_all.deb # installВидалення
sudo apt autoremove mypackage