Vytvoření balíčku .deb - návod

správa programů

Pokud jste vytvořili nějaký prográmek v linuxu a chcete ho šířit, je třeba nastavit nebo vymyslet způsob instalace. Samozřejmě by bylo možné v domovském adresáři vytvořit adresář aplikace->moje_aplikace1 a tam zkopírovat binární spustitelný soubor. Ale co když na PC pracuje více uživatelů a chceme aby aplikaci používali všichni uživatelé? Pak by si museli všichni danou aplikaci zkopírovat. No a co když vydáme aktualizaci? Opět by všichni museli zopakovat bezchybně daný postup.
A co dělat, když vytvořím více takových aplikací, které budu poté aktualizovat, slučovat, mazat?
Za nějakou dobu by nastal zmatek, nepřesnosti, překlepy, nefunkčnosti...

A co když budu dané aplikace dodávat stovkám různých uživatelů? Takový výše popsaný způsob by už byl hotová katastrofa. Naštěstí je zde doporučená a téměř vždy používaná možnost používání správce balíčků (aptitude, apt, synaptic...), který udržuje pořádek v používaných aplikacích a umožňuje pohodlně instalovat, upravovat (update), aktualizovat, mazat všechny aplikace. Se správcem balíčků prostě udržíte v aplikacích pořádek. Linuxy používají dva hlavní balíčkovací systémy:

  1. balíčkovací systém DEB - používá DEBIAN a na něm založené distribuce (UBUNTU, MINT...)
  2. balíčkovací systém RPM (uRPMi) - používá REDHAT a na něm založené distribuce ()

Zde budu popisovat první možnost, tedy vytvoření balíčku deb pro distribuce linuxu debian a odvozených, konkrétně linux MINT.

Vytvoření balíčku .deb z binárního (spustitelného) souboru

Než začneme vytvářet balíček, je třeba se přihlásit jako root a přejít do adresáře root, cd /root
Nejlepší je si v konzoli pustit aplikaci tmux (konzolový multiplexer) a pak zadat ctrl+b + c. Vytvoří se další session, zadáme su <ENTER>, přihlásíme se jako root. Nyní máme dvě sessions, přepínáme se mezi nima ctrl+b +n.

Nyní je třeba si připravit adresářovou strukturu:

adresářová strukturaPro názornost jsem zvolil jako můj program typo_II. Vytvoříme adresář tmp buď mkdir tmp nebo pomocí midnajt komandéra mc a <F7>. V tomto adresáři vytvoříme podadresáře DEBIAN a usr. V adresáři usr->share, v adresáři share->aplications, pixmaps, typo_II.

Pro vysvětlení: control, md5sums a typo.desktop jsou textové soubory, do kterých bude později nutné něco napsat, typo.png je ikona vašeho programu, typo je spustitelný soubor, typo_II je jméno adresáře, ve kterém chcete mít instalován program. Vlastníkem všech souborů a adresářů by měl být superuživatel root, jinak by sestavený balíček byl bezpečnostní riziko! To zkontrolujeme příkazem tree -ug nebo ls -la, viz výše obrázek. Na vytvoření použijeme tyto příkazy:

mkdir tmp
cd tmp
mkdir DEBIAN
mkdir usr
mkdir usr/share
mkdir usr/share/applications
mkdir usr/share/NazevVasehoProgramu
mkdir usr/share/pixmaps


Nakopírování souborů

Vytvořili jsme kostru, nyní bude potřeba ji naplnit daty.

  1. Složku typo_II pojmenujte jak chcete a nakopírujte do ní binárku vašeho programu (typo) i se všemi potřebnými daty. Pochopitelně můžete vytvářet podsložky, jak je vám libo.
  2. Do složky pixmaps nakopírujte ikonu vašeho programu (typo.png), která bude použita ve spouštěcím menu
  3. Do složky applications nakopírujte spouštěč vašeho programu. Tento spouštěč bude použit v hlavní nabídce Ubuntu případně jiné distribuce. Jde o textový soubor s příponou .desktop (typo.desktop) a následující syntaxí (obsah souboru typo.desktop):

[Desktop Entry]
Name=TYPO II
Comment=Kontrolní kódy
Exec=/usr/share/typo_II/typo
Terminal=false
Type=Application
Icon=typo.png
Encoding=UTF-8
Categories=Utility


Volba Terminal značí, zda má být použit textový mód. Kategorie jsou na výběr následující:

Vytvoření kontrolního součtu

Ve složce DEBIAN vytvořte soubor md5sums (touch md5sums), který obsahuje kontrolní součet umožňující ověřit integritu vašeho programu. Kontrolní součet zajistí, že balíkovací systém pozná případné poškození balíku a nepovolí instalaci. Nejlépe tak učiníte následujícím příkazem, který spustíte ve vašem adresáři typo_II:

md5sum typo
0bbf0f0d8ccef37d27483c7f99153c7d  typo

Přes schránku zkopírujeme kontrolní součet a uložíme do souboru md5sums.

Instalační informace

Ve složce DEBIAN vytvořte soubor control (touch control). Tento soubor obsahuje informace o balíku jako jméno autora, popis, závislosti na ostatních balících, atd. Formát tohoto souboru je následující:

Package: typo2
Version: 2.01
Section: base
Priority: optional
Recommends:
Depends:
Architecture: amd64
Installed-Size: 900
Maintainer: Ferda Mravenec ferda@mraveniste.cz
Description: Control code
Serves for error-free copying of program code, words or anything else using control codes
.
URL: https://zmsoft.cz/

Instalační velikost (Installed-Size: ) dostaneme příkazem du v adresáři tmp/usr :

~/tmp/usr# du
8       ./share/pixmaps
8       ./share/applications
876     ./share/typo_II
896     ./share
900     .

Věci jako vaše jméno, popis, atd. uvidí uživatel v manažeru balíků. Název balíku by měl obsahovat pouze malá písmena (bez diakritiky, samozřejmě). Seznam sekcí je možné sehnat na stránkách Debianu, nicméně u neoficiálních balíků nevyplněná sekce nevadí.

Pokud máte vše připraveno, nezbývá než provést finální sestavení balíku a jeho zabalení do souboru s příponou deb. V terminálu přejděte do složky nadřazené složce tmp (cd /root) a spusťte následující příkaz:

dpkg-deb -b tmp typo_2.01_amd64.deb
vytvářím balík „typo2“ v „typo_2.01_amd64.deb“.

Pokud je vše správně, dojde k sestavení balíčku .deb, jinak se vypíše chyba a k sestavení balíčku nedojde:

dpkg-deb -b tmp typo_2.01_amd64.deb
dpkg-deb: chyba: nelze otevřít soubor „tmp/DEBIAN/control“ s informacemi o balíku pro čtení: Adresář nebo soubor neexistuje

Pokud již umíte sestavovat deb balíčky, můžete zkusit grafický nástroj Debreate - Debian Package Builder.


Komentáře

SSL pro weby od 11/2015 zdarma


MS WINDOWS 10 - sběr informací o uživateli


DEBIAN 11 - OS zdarma debian vyšel 14.8.2021

debian 9

debian - stáhnout nejnocější DEBIAN pro PC
debian edu - debian pro školy a školní prostředí


Zranitelnost „ROM-0“ routerů


Předali data tajným službám
Americké bezpečnostní agentuře (NSA) předali data Microsoft, Yahoo, Google, Facebook...


Itálie preferuje open source
Italský parlament schválil zákon, který nařizuje státním institucím pořizovat otevřený software před komerčním. To znamená LINUX místo MS-WINDOWS, LIBRE OFFICE místo MS OFFICE atd.

29.08. 2021 17:54:07
  • Redakční systém MRS
  • 10 nečastějších zranitelností WEBU
  • Esperantoesperanto - univerzální mezinárodní jazyk
  • Kryptografie okolo nás - kniha popisuje využití kryptografie v běžném životě
  • SMS zdarma - posílání SMS zdarma
  • proč LINUX
  • základy LINUXU
  • Software na úřadech - jeho otevřené alternativy
  • Řekněte sbohem Microsoftu
  • Rychlost připojení - změřte si svoji rychlost
  • SEO servis
  • Jak psát web
  • Zákony - občanský, autorský, obchodní zákoník atd.
  • Infosoud - nalezení stání a průběhu jednání
  • ARES - registr ekonomických subjektů
  • Katastr nemovitostí
  • Broďan - brodské nezávislé zpravodajství

vydělávejte
na burze kryptoměn

28.08. 2021 10:31:09
Návštěvy
Celkem: 213548
Týden: 508
Dnes: 4
  přihlásit poslední změna: 08.05. 2021 09:14:02