Zpět na seznam článků     Číst komentáře (12)     Verze pro tisk

Debian package a local repozitár

Autor: nitrexx   
9.9.2012

Tento článok je o tom ako vytvoriť vlastný debian balíček aj s repozitárom.



Najprv si vytvoríme základný program ktorý bude v balíčku:
Program v C, který vkládáme do depozitáře
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char** argv)
  4. {
  5.   printf("Hi Man!\n");
  6.   return 0;
  7. }
Zdrojový kód uložíme do priečinku pozdrav, ktorý si vytvoríme, pomocou gcc skompilujeme:
Kompilace programu pomocí gcc

root@bt:~# mkdir pozdrav
root@bt:~# cd ~/pozdrav
root@bt:~/pozdrav# gcc -o hi hi.c
root@bt:~/pozdrav# ./hi
Hi Man!
Teraz vytvoríme priečinok DEBIAN, v ňom vytvoríme súbor control:
Vytvoření souboru control
root@bt:~/pozdrav#
root@bt:~/pozdrav# mkdir DEBIAN
root@bt:~/pozdrav# nano DEBIAN/control
Súbor control bude mít tento obsah:
Obsah souboru control
  1. Package: pozdrav
  2. Version: 0.1
  3. Section: none
  4. Priority: optional
  5. Architecture: all
  6. Essential: no
  7. Installed-size: 1024
  8. Maintainer: meno <meno@mail.com>
  9. Description: Vypise pozdrav
Vytvoríme priečinok usr/bin a do neho nakopírujeme obsah priečinku pozdrav:
Vytvoření adresáře usr/bin
root@bt:~/pozdrav# mkdir -p usr/bin
Vytvoríme balíček:
Vytvoření balíčku
root@bt:~/pozdrav# cd ..
root@bt:~# dpkg-deb --build pozdrav
dpkg-deb: building package `pozdrav' in `pozdrav.deb'.
root@bt:~#
A balíček máme vytvorený.

Vlastný repozitár na local serveri

Do var/www/ vytvoríme priečinok debian a do debian vytvoríme priečinky binary a source:
Vytvoření dalších adresářů
root@bt:/var/www#mkdir debian
root@bt:/var/www#cd ~/debian
root@bt:/var/www/debian#mkdir binary
root@bt:/var/www/debian#mkdir source
Skopírujeme pozdrav.deb do var/www/binary/. Použijeme script na vytvorenie Package.gz:
gen_pack.sh
  1. #!/bin/bash
  2. cd /var/www/debian
  3. echo "Vytvaram binary a source balicky.."
  4. dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
  5. dpkg-scansources source /dev/null | gzip -9c > source/Sources.gz
  6. echo "Kompletne!"
Spuštění gen_pack.sh
root@bt:/var/www/debian# ./gen_pack.sh
Musíme zapísat do source.list z kade sa majú načítať balíčky u mna to je 192.168.2.17:
Vytvoření obsahu souboru source.list
root@bt:~#echo "deb http://192.168.2.17/debian/ binary/" >> /etc/apt/sources.list
root@bt:~#echo "deb-src http://192.168.2.17/debian/ source/" >> /etc/apt/sources.list
Musíme updatnúť, a už iba nainštalujeme a spustíme:
Update
root@bt:~# apt-get update
Ign http://192.168.2.17 binary/ Release.gpg
Ign http://192.168.2.17/debian/ binary/ Translation-en_US
Ign http://192.168.2.17 source/ Release.gpg
Ign http://192.168.2.17 binary/ Release
Ign http://192.168.2.17 source/ Release
Ign http://192.168.2.17 binary/ Packages
Ign http://192.168.2.17 source/ Sources
Ign http://192.168.2.17 binary/ Packages
Ign http://192.168.2.17 source/ Sources
Get:1 http://192.168.2.17 binary/ Packages [423B]
Get:2 http://192.168.2.17 source/ Sources [20B]
root@bt:~# apt-get install pozdrav
root@bt:~# hi

Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 1.69/13

1  2  3  4  5    
(známkování jako ve škole)