ãŸããããã€ãã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããããšããå§ããå¿ èŠããããŸãã ãã®ãã¥ãŒããªã¢ã«ã¯ãã¹ãŠUbuntu 14.04ã«åºã¥ããŠäœæãããŠããŸãããã»ãšãã©ã®DebianããŒã¹ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«é©ããŠããŸãã 次ã®ã³ãã³ããå®è¡ããŠéå§ããŸãã
sudo apt-get install build-essential dh-make
次ã«ããã¹ãŠã®ã³ã³ããŒãã³ããé 眮ããããã±ãŒãžãäœæããå¿ èŠããããŸãã ãã®å Žåãããã±ãŒãžã¯ãmylittledebããšåŒã°ããŸãã 次ã®ã³ãã³ãã䜿çšããŠãããã±ãŒãžãã€ã³ã¹ããŒã«ããŸãã
mkdir mylittledeb touch mylittledeb/Makefile touch mylittledeb/hello.c
hello.cã®ã³ã³ãã³ãã«ã¯ãå€å žçãªãHelloãWorldããå«ãŸããŠããå¿ èŠããããŸãã
#include <stdio.h> int main() { printf(âHello, World\nâ); return 0; }
ã¡ã€ã¯ãã¡ã€ã«ã«ã¯æ¬¡ã®å 容ãå«ãŸããŠããå¿ èŠããããŸãã Makeãã¡ã€ã«ã«æ £ããŠããªã人ã®ããã®æ å ±-ã³ãã³ããå®è¡ãããšãã«ã¹ããŒã¹ã§ã¯ãªãã_ãã䜿çšããå¿ èŠãããããšã©ãŒãçºçãããªã¹ã¯ããããŸãã ãŸãããã€ããªãã¡ã€ã«ãåé€ããåŸãã¿ãŒã²ããèŠçŽ ã®ã¯ãªãŒãã³ã°ã
||true
ã«èšå®ãããããšã«æ³šæããŠãã ããã å°æ¥ãäœæåã«make
clean
å®è¡ããããšã«ãããæå®ãããäžäžèŽããã³ãã®ä»ã®DebianèŠçŽ ã䜿çšããŸãã
all: gcc hello.c -o hello clean: rm hello || true
ãã®æç¹ã§ããŠãŒã¶ãŒããHelloãWorldããå°å·ã§ããDebianããã±ãŒãžãäœæãããŸããã ããã¯æããããããéšåã§ã¯ãããŸããããããã«å€ãã®ããšããããŸãã ãã®æç¹ã§ã
make
ãå®è¡
make
ãšãã€ããªhelloåŒã³åºããçæããããHelloãWorldãã®ãã€ããªåºåãå®è¡ããã
make
ã確èªããŸãã ãããèµ·ãããªãã£ãå Žåãããã¯äœããããŸããããªãã£ãããšãæå³ããå ã«é²ãããã«ä¿®æ£ããå¿ èŠããããŸãã
æåŸã«ãå®éã«ããã±ãŒãžã®äœæãéå§ã§ããŸãïŒ Debianããã±ãŒãžãåæåããã«ã¯ã以åã«ã€ã³ã¹ããŒã«ãã䟿å©ãª
dh_make
ããã°ã©ã ã䜿çšããŸãã 以äžã«ç€ºãã®ãšåãèšå®ã§æ¬¡ã®ã³ãã³ããå®è¡ãããšããšã©ãŒãçºçããã¯ãã§ãããããã¯èšç»çãªãšã©ãŒã§ãã ãã®å Žåãdh_makeãšã¯äœããç解ããããé«åºŠãªããã±ãŒãžã䜿çšããéã«åŸã§çºçããå¯èœæ§ã®ããä»ã®åé¡ã解決ããæ¹æ³ãç解ããããšãéèŠã§ãã
dh_make -p mylittledeb_0.0.1 Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch? [s/i/m/l/k/n] s Maintainer name : root Email-Address : root@unknown Date : Sun, 10 Apr 2016 14:38:32 -0400 Package Name : mylittledeb Version : 0.0.1 License : blank Type of Package : Single Hit <enter> to confirm: Could not find mylittledeb_0.0.1.orig.tar.xz Either specify an alternate file to use with -f, or add --createorig to create one.
ãšã©ãŒã¡ãã»ãŒãžãåãåããŸããã ããã§ããã®ãšã©ãŒã«é¢é£ããããã€ãã®ããšãæ€èšããŠãã ããã ãŸããorig.tar.xzãã¡ã€ã«ãšã¯äœã§ããã 次ã«ããªã-pãã©ã°ã䜿çšãããã®ã§ããïŒ ç°¡åãªè³ªåããå§ããŸãããã dh_makeã¯ãçŸåšãããã£ã¬ã¯ããªã®ååã調ã¹ãŠããã±ãŒãžåãšããŒãžã§ã³ã確èªããããã-pãã©ã°ã䜿çšãããŸãã å€ãã®å Žåããã®æ¹æ³ã§ãã£ã¬ã¯ããªãåŒã³åºãã®ã¯æãã§ããããã-pãã©ã°ãåããŠå®è¡ãããšãdh_makeã¯ããŒã¿ã<ããã±ãŒãžå> _ <ããŒãžã§ã³>ã®åœ¢åŒã§éä¿¡ããŸãã
ã§ã¯ãã©ã®ãããªãã¡ã€ã«orig.tar.xzãèŠã€ããŸãããã å ¬åŒææžã§ã¯ãããã¯åãªããœãŒã¹ã³ãŒãã®tarballã§ããããã®å Žåã¯ãã£ã¬ã¯ããªã®çŸåšã®ç¶æ ã«ãããªããšè¿°ã¹ãŠããŸãã ãã ãããããããã®orig.tar.xzãã¡ã€ã«ã«ã¯ç¹å¥ãªãã®ããããŸãã ããã§ã¯ãäœææ¹æ³ãèŠãŠã¿ãŸãããã 次ã®ã³ãã³ããå®è¡ãããšãdh-makeã®ãœãŒã¹ã³ãŒããå解ã§ããŸãã mylittledebããã±ãŒãžã§ãããè¡ããšããã¹ãŠã®ãã¡ã€ã«ãã¯ãªã¢ããå¿ èŠããããããtmpã§ãããè¡ãããšãã§ããŸãã
apt-get source dh_make
ãœãŒã¹ã³ãŒããçšæã§ããã®ã§ã次ã«äœãèµ·ãããèŠãŠã¿ãŸãããã dh_makeã¹ã¯ãªãããéããšãå éšã®Perlãã¡ã€ã«ãèŠã€ããããšãã§ããŸãã Vimã§orig.tar.xzãæ€çŽ¢ãããšã次ã®è¡ã«é²ã¿ãŸãã
system('tar', 'cfJ', â../$package_name\_$version.orig.tar.xzâ, â.â);
ããã¯åãªãå€ãtarã¢ãŒã«ã€ããã¡ã€ã«ã§ãã ãã ãããã¹ãŠãããŸããããªãå Žåã«åããŠããããã®éæ³ã®Debianã¹ã¯ãªããã¯ãã¹ãŠäœæãããŠããããšãããçšåºŠç解ããŠããå¿ èŠããããŸãã ã§ã¯ãmylittledebãã©ã«ããŒã«æ»ã£ãŠã次ãå®è¡ããŸãã
dh_make -p mylittledeb_0.0.1 --createorig
ããã§ãmylittledebãã©ã«ããŒã«æ¬¡ã®å 容ã®DEBiANãã©ã«ããŒã衚瀺ãããŸãã
changelog compat control copyright docs init.d.ex manpage.1.ex manpage.sgml.ex manpage.xml.ex menu.ex mylittledeb.cron.d.ex mylittledeb.default.ex mylittledeb.doc-base.EX postinst.ex postrm.ex preinst.ex prerm.ex README.Debian README.source rules source watch.ex
.exããã³.EXãã¡ã€ã«ã¯ãã¡ã€ã«ã®äŸã§ãã ãããã®ã»ãšãã©ã¯å¿ èŠãããŸããã
changelog-ãã®ãã¡ã€ã«ã¯ããã±ãŒãžã®ããŒãžã§ã³ãå¶åŸ¡ããæåŸã®æŽæ°ä»¥éã«å€æŽãããå 容ãç°¡åã«èª¬æããŸãã ã¡ã€ã³ãã¡ã€ã«ã¯æ¬¡ã®ããã«ãªããŸãã
mylittledeb (0.0.1â1) unstable; urgency=low * Initial release (Closes: #nnnn) <nnnn - ITP> â root <root@unknown> Sun, 10 Apr 2016 15:00:11 -0400
ãmylittledebãã«ã¯ã0.0.1ããšããååãå«ãŸããããã¯ããã±ãŒãžã®ããŒãžã§ã³ã§ãããæåŸã®ã1ãã¯Debianã®ããŒãžã§ã³ã§ãã Debianããã±ãŒãžã察象ãšãªããããŸããŸãªãã£ã¹ããªãã¥ãŒã·ã§ã³ã«ç§»æ€ãããäžå®å®ãªãã£ã¹ããªãã¥ãŒã·ã§ã³ã¯ããã®ããã»ã¹ã®å€éšã§è¡ãããŸãã ãã®å Žåãããã¯ãã¹ãŠUbuntu 14.04äžã«æ§ç¯ãããŠãããããåã«trustyã䜿çšããŸãã ãã¹ãŠãå®è¡ãããšã次ã®ããã«ãªããŸãã
mylittledeb (0.0.1â1) trusty; urgency=low * Intial package release â root <root@unknown> Sun, 10 Apr 2016 15:00:11 -0400
ããã±ãŒãžã«çœ²åããå Žåã¯ãæåŸã®è¡ã«GPGããŒã«é¢é£ä»ããããååãå«ããå¿ èŠããããŸãã ãã ããããã±ãŒãžã«çœ²åããããšã¯ã§ããŸãã çŸæç¹ã§ã¯ããã®é ç®ã¯ç¡èŠã§ããŸãã
compatã¯éæ³ã®ãã¡ã€ã«ã§ãããåžžã«æ°åã®9ã䜿çšããå¿ èŠããããŸããããã¯ãèŠã€ããããšãã§ããå¯äžã®æ å ±ã§ãã ãªãæ£ç¢ºã«9ã§ããïŒ ããŠã debhelperããã±ãŒãžã®ãã¹ãŠã®ããŒã«ã§äœ¿çšãããŸããããã«ãããDebianãã¡ã€ã«ã®äºææ§ã確ä¿ãããŸãã
control-å¶åŸ¡ãã¡ã€ã«ã«ã¯ããapt-cache show mylittledebããå®è¡ãããšãã«è¡šç€ºãããããã±ãŒãžã«é¢ããç¬ç«ããæ å ±ãå«ãŸããŠããŸãã ããã¯ãã¹ãŠDebian wikiã§éåžžã«ãã説æãããŠããŸã ã ããã±ãŒãžã¯æ¬¡ã®ããã«ãªããŸãã
Source: mylittledeb Section: devel Priority: optional Maintainer: root <root@unknown> Build-Depends: debhelper (>= 8.0.0) Standards-Version: 3.9.4 #Vcs-Git: git://git.debian.org/collab-maint/mylittledeb.git #Vcs-Browser: http://git.debian.org/?p=collab-maint/mylittledeb.git;a=summary Package: mylittledeb Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: An example debian package that says âHello, Worldâ
ããã±ãŒãžã®ãã¹ãŠã®äŸåé¢ä¿ãå«ãŸããŠãããããäŸåé¢ä¿ã¢ã»ã³ããªãæ£ããæ§ç¯ããå¿ èŠãããããšãç解ããå¿ èŠããããŸãã ããã°ã©ã ãå®è¡ããäŸåé¢ä¿ã®ã¿ãå«ã
Depends
ã«è¿œå ããªãã§ãã ããã ããã§éèŠãªã®ã¯ã{shlibsïŒDepends}ãš{miscïŒDepends}ã¯ãdh_shlibdepsã³ãã³ãã«ãã£ãŠåŒã³åºããã2ã€ã®éæ³ã®è¡ã§ãããšããããšã§ãã ãã®ã³ãã³ãã¯ããã€ããªã®ããŒãºã§ããäŸåé¢ä¿ãå®çŸ©ããã®ã«åœ¹ç«ã¡ãŸãããããã¯ããã«ã¯ããããŸããã
èäœæš©ã¯æãæçœãªãã¡ã€ã«ã§ãããããã±ãŒãžãäžè¬ã«å ¬éããããšã«é¢å¿ãããå Žåã¯ãåã«ãã®ãã¡ã€ã«ãå«ããå¿ èŠããããŸãã
docs-ãã®ãã¡ã€ã«ã«ã¯ããããã«å«ãŸãããã¹ãŠã®ãã¡ã€ã«ã®ååããªã¹ãã§ããŸãã
ã«ãŒã«-ããã±ãŒãžã®äœæã«é¢ãããã¹ãŠã®æ å ±ãå«ãDebianã«ãŒã«ãã¡ã€ã«ã§ãMakefileã®ç¹å¥ãªããŒãžã§ã³ã§ãã ãã®ãã¡ã€ã«ã¯ãDebianãã¡ã€ã«ã®äœæã«äœ¿çšãããè¿œå ã®ç®æšã瀺ããŠããŸãã ããã©ã«ãã§ã¯ãããã¯åºæ¬çãªã³ãã³ããèµ·åããã ãã®éåžžã«ã·ã³ãã«ãªãã¡ã€ã«ã§ãã ãã ããããšãã°ãã¢ã»ã³ããªã®åã«ãã£ã¬ã¯ããªãã¯ãªãŒã³ã¢ããããæ¹æ³ãªã©ãäœããåå®çŸ©ããå¿ èŠãããå Žåã¯ã次ã®ããã«ããå¿ èŠããããŸãã
#!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 override_dh_auto_clean: rm /tmp/random.file %: dh $@
䜿çšå¯èœãªãã¹ãŠã®ãªãŒããŒã©ã€ãã¯ããã®wikièšäºãšãã«ãŒã«ãã¡ã€ã«ã®è©³çŽ°ãªèª¬æã«ãªã¹ããããŠããŸãã ããã©ã«ãã§ã¯ããã¹ãŠã®debhelperããŒã«ã¯ãã®æ¹æ³ã§ãã®ãã¡ã€ã«ã䜿çšããŸããããšãã°ããã£ã¬ã¯ããªãã¯ãªãŒã³ã¢ããããå Žåã¯ãæ°ããããã±ãŒãžãäœæããåã«ãããè¡ãå¿ èŠãããã次ã®ãdh cleanãã³ãã³ããå®è¡ãããŸãã ãã®ã³ãã³ãã¯é çªã«dh_testdirãdh_auto_cleanãdh_cleanãåŒã³åºãããããã¯ããã€ãã®perlã¹ã¯ãªãããé çªã«åŒã³åºããŸãã
çŸæç¹ã§ã¯ãã®ãã¡ã€ã«ãç·šéããå¿ èŠã¯ãããŸããããç¬èªã®Debianããã±ãŒãžãäœæãããšãã«å¿ èŠã«å¿ããŠåŸã§æ©èœãèšå®ã§ããããšã«æ³šæããŠãã ããã
ãœãŒã¹/ãã©ãŒããã-ãã®ãã¡ã€ã«ã¯éåžžã«åçŽãªããã§ãã çŸæç¹ã§ã¯ããã®ãŸãŸã«ããŠããããšãã§ããŸãã ããã¯ã³ã³ãã€ã«åœ¢åŒã§ããã以åã«äœæããã¢ããã¹ããªãŒã tarballã«ããããé©çšããç¹å®ã®æ¹æ³ã§ããããšãç¥ã£ãŠãã ããã
* .install-ãã®ãã¡ã€ã«ã¯èªåçã«äœæãããªããããmylittledeb.installãšãããã¡ã€ã«ãäœæããå¿ èŠããããŸãã ã€ã³ã¹ããŒã«æã«è¿œå ããããã¡ã€ã«ã¯ããã€ããªã®ã€ã³ã¹ããŒã«ã«äœ¿çšãããŸãã ããã±ãŒãžãã€ã³ã¹ããŒã«ãããšãã«ãã·ã¹ãã ã«ãããã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªã䜿çšãããŸãã ãhello worldããã€ããªããããããããããŠãŒã¶ãŒã·ã¹ãã ã«é 眮ããå¿ èŠããããŸãã 次ã®ãã¡ã€ã«ã¯ããhello worldããã€ããªããŠãŒã¶ãŒãã£ã¬ã¯ããª/ usr / binã«é 眮ããŸãã
hello /usr/bin
.exããã³.EXã§çµããæ®ãã®ãã¡ã€ã«ã«ã¯ãããŸããŸãªãã¡ã€ã«ã®æ©èœã®èª¬æãå«ãŸããŠããŸãã ãã¡ãããããããä¿åããæ¹ãè¯ãã§ãããåé€ããŠãã²ã©ãããšã¯èµ·ãããŸããã
ç°¡åãªéšåã§ãã 次ã®ã³ãã³ããå®è¡ããŸãã
dpkg-buildpackage
export DH_VERBOSE=1
ã³ã¡ã³ãã
export DH_VERBOSE=1
ãšãçŸåšå®è¡äžã®ãã¹ãŠã®ã³ãã³ãã確èªã§ããŸãã ããããã¹ãŠã®ã³ãã³ããåå®çŸ©ã§ãããããç¬èªã®ããã±ãŒãžã«åé¡ãããå Žåã¯ããã®åå ãç¹å®ã§ããŸãã
äžèšã®ã³ãã³ãã®åºåã¯æ¬¡ã®ãšããã§ãã
dpkg-buildpackage: source package mylittledeb dpkg-buildpackage: source version 0.0.1-1 dpkg-buildpackage: source distribution trusty dpkg-buildpackage: source changed by root <root@unknown> dpkg-buildpackage: host architecture amd64 dpkg-source --before-build mylittledeb debian/rules clean dh clean dh_testdir dh_auto_clean make -j1 clean make[1]: Entering directory `/root/mylittledeb' rm hello || true rm: cannot remove 'hello': No such file or directory make[1]: Leaving directory `/root/mylittledeb' dh_clean rm -f debian/mylittledeb.substvars rm -f debian/mylittledeb.*.debhelper rm -rf debian/mylittledeb/ rm -f debian/*.debhelper.log rm -f debian/files find . \( \( -type f -a \ \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \ -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \ -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \ -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \ \) -exec rm -f {} + \) -o \ \( -type d -a -name autom4te.cache -prune -exec rm -rf {} + \) \) rm -f *-stamp dpkg-source -b mylittledeb dpkg-source: info: using source format `3.0 (quilt)' dpkg-source: info: building mylittledeb using existing ./mylittledeb_0.0.1.orig.tar.xz dpkg-source: info: building mylittledeb in mylittledeb_0.0.1-1.debian.tar.gz dpkg-source: info: building mylittledeb in mylittledeb_0.0.1-1.dsc debian/rules build dh build dh_testdir dh_auto_configure dh_auto_build make -j1 make[1]: Entering directory `/root/mylittledeb' gcc hello.c -o hello make[1]: Leaving directory `/root/mylittledeb' dh_auto_test debian/rules binary dh binary dh_testroot dh_prep rm -f debian/mylittledeb.substvars rm -f debian/mylittledeb.*.debhelper rm -rf debian/mylittledeb/ dh_auto_install install -d debian/mylittledeb dh_install install -d debian/mylittledeb//usr/bin cp -a ./hello debian/mylittledeb//usr/bin/ dh_installdocs install -g 0 -o 0 -d debian/mylittledeb/usr/share/doc/mylittledeb chown -R 0:0 debian/mylittledeb/usr/share/doc chmod -R go=rX debian/mylittledeb/usr/share/doc chmod -R u\+rw debian/mylittledeb/usr/share/doc install -g 0 -o 0 -m 644 -p debian/README.Debian debian/mylittledeb/usr/share/doc/mylittledeb/README.Debian install -g 0 -o 0 -m 644 -p debian/copyright debian/mylittledeb/usr/share/doc/mylittledeb/copyright dh_installchangelogs install -o 0 -g 0 -p -m644 debian/changelog debian/mylittledeb/usr/share/doc/mylittledeb/changelog.Debian dh_perl dh_link dh_compress cd debian/mylittledeb chmod ax usr/share/doc/mylittledeb/changelog.Debian gzip -9nf usr/share/doc/mylittledeb/changelog.Debian cd '/root/mylittledeb' dh_fixperms find debian/mylittledeb -print0 2>/dev/null | xargs -0r chown --no-dereference 0:0 find debian/mylittledeb ! -type l -print0 2>/dev/null | xargs -0r chmod go=rX,u+rw,as find debian/mylittledeb/usr/share/doc -type f ! -regex 'debian/mylittledeb/usr/share/doc/[^/]*/examples/.*' -print0 2>/dev/null | xargs -0r chmod 644 find debian/mylittledeb/usr/share/doc -type d -print0 2>/dev/null | xargs -0r chmod 755 find debian/mylittledeb/usr/share/man debian/mylittledeb/usr/man/ debian/mylittledeb/usr/X11*/man/ -type f -print0 2>/dev/null | xargs -0r chmod 644 find debian/mylittledeb -perm -5 -type f \( -name '*.so.*' -or -name '*.so' -or -name '*.la' -or -name '*.a' \) -print0 2>/dev/null | xargs -0r chmod 644 find debian/mylittledeb/usr/include -type f -print0 2>/dev/null | xargs -0r chmod 644 find debian/mylittledeb/usr/share/applications -type f -print0 2>/dev/null | xargs -0r chmod 644 find debian/mylittledeb -perm -5 -type f \( -name '*.cmxs' \) -print0 2>/dev/null | xargs -0r chmod 644 find debian/mylittledeb/usr/lib/perl5 debian/mylittledeb/usr/share/perl5 -type f -perm -5 -name '*.pm' -print0 2>/dev/null | xargs -0r chmod aX find debian/mylittledeb/usr/bin -type f -print0 2>/dev/null | xargs -0r chmod a+x find debian/mylittledeb/usr/lib -type f -name '*.ali' -print0 2>/dev/null | xargs -0r chmod uga-w dh_strip strip --remove-section=.comment --remove-section=.note debian/mylittledeb/usr/bin/hello dh_makeshlibs rm -f debian/mylittledeb/DEBIAN/shlibs dh_shlibdeps install -o 0 -g 0 -d debian/mylittledeb/DEBIAN dpkg-shlibdeps -Tdebian/mylittledeb.substvars debian/mylittledeb/usr/bin/hello dh_installdeb dh_gencontrol echo misc:Depends= >> debian/mylittledeb.substvars dpkg-gencontrol -ldebian/changelog -Tdebian/mylittledeb.substvars -Pdebian/mylittledeb chmod 644 debian/mylittledeb/DEBIAN/control chown 0:0 debian/mylittledeb/DEBIAN/control dh_md5sums (cd debian/mylittledeb >/dev/null ; find . -type f ! -regex './DEBIAN/.*' -printf '%P\0' | LC_ALL=C sort -z | xargs -r0 md5sum > DEBIAN/md5sums) >/dev/null chmod 644 debian/mylittledeb/DEBIAN/md5sums chown 0:0 debian/mylittledeb/DEBIAN/md5sums dh_builddeb dpkg-deb --build debian/mylittledeb .. dpkg-deb: building package `mylittledeb' in `../mylittledeb_0.0.1-1_amd64.deb'. signfile mylittledeb_0.0.1-1.dsc gpg: skipped "root <root@unknown>": secret key not available gpg: [stdin]: clearsign failed: secret key not available dpkg-genchanges >../mylittledeb_0.0.1-1_amd64.changes dpkg-genchanges: including full source code in upload dpkg-source --after-build mylittledeb dpkg-buildpackage: full upload (original source is included) dpkg-buildpackage: warning: failed to sign .dsc and .changes file
äžèšã®ããã«ãGPGããŒãäœæãããŠããªããããå€æŽã«çœ²åããããšãã§ããªãã£ãããšã«æ³šæããŠãã ããã ãã®ãããªãšã©ãŒãåãåã£ããšããäºå®ã«ãããããããããã±ãŒãžã¯å®éã«æ£åžžã«äœæãããŸããã
ããã§ãmylittledebãã©ã«ããŒã眮ãããŠããã®ãšåããã£ã¬ã¯ããªãŒã«äžé£ã®æ°ãããã¡ã€ã«ã衚瀺ãããã¯ãã§ãã 次ã®ã³ãã³ãã䜿çšããŠã€ã³ã¹ããŒã«ã§ãããmylittledeb_0.0.1-1_amd64.debããšãããã¡ã€ã«ã«èå³ããããŸãã
sudo dpkg -i mylittledeb_0.0.1â1_amd64.deb
ããã§ãã³ã³ãã¥ãŒã¿ãŒã®ã©ãããã§ããHelloããå®è¡ããŠããHelloãWorldããšããããã¹ããååŸã§ããã¯ãã§ãã