Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Linux Türevi İşletim Sistemlerinde Paket Hazırlama.

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Giriş
Paket Sistemi Nedir ve Faydaları
Linux Sistemlerde Bilinen Paket Yönetim Sistemleri
Linux Sistemlerde Bilinen Paket ...
Giriş
Bu makalede tüm kullanıcıların anlayabileceği şekilde bir debian paketinin nasıl
hazırlanacağına değineceğim. Debian...
Linux Sistemlerde Bilinen Paket Yönetim
Sistemleri
● APT, ( Advenced Package Tool ) :​ APT ‘nin amacı ise debian tabanlı l...
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 19 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

A los espectadores también les gustó (17)

Anuncio

Similares a Linux Türevi İşletim Sistemlerinde Paket Hazırlama. (20)

Anuncio

Linux Türevi İşletim Sistemlerinde Paket Hazırlama.

  1. 1. Giriş Paket Sistemi Nedir ve Faydaları Linux Sistemlerde Bilinen Paket Yönetim Sistemleri Linux Sistemlerde Bilinen Paket Türleri Geliştirme için Kullanılacak Araçlar Debian Tabanlı Sistemler için Paket Oluşturma Debian (.deb) Paketi Nedir ? Bağımlılık Nedir ? Debian (.deb) Paketi Oluşturmak için Ön Gereksinimler Paket Seçimi Kaynak Koddan Kurulum Debian (.deb) Paketi Oluşturma Debian (.deb) Paketini Test Etmek Varolan Bir Debian (.deb) Paketini Güncelleme Manuel Debian (.deb) Paketi Oluşturma Control dosyası Preinst dosyası Postinst dosyası Postrm & Prerm dosyaları Test Aşaması Dizin Yapısını Görüntülemek Yazar Hakkında
  2. 2. Giriş Bu makalede tüm kullanıcıların anlayabileceği şekilde bir debian paketinin nasıl hazırlanacağına değineceğim. Debian tabanlı sistemlerde hali hazırdaki base paket deposunda çok geniş bir paket seti olmasına rağmen, bazen olmayan bir uygulamayı yükleme ihtiyacı hasıl olabiliyor. Böyle bir durumda uygulamayı kaynak koddan kurabileceğiniz gibi, uygulamayı .deb paketi haline getirmek sureti ile de paket yöneticisi üzerinden doğrudan kurabilirsiniz. Ayrıca, bazen de paket deposunda yer alan bir paketin kurulum değerleri bizler için yeterli olmayabilir dolayısı ile kendi paketimizi hazırlamak isteriz. Örneğin, squid3 debian paket depolarında var ve kuruluma hazır fakat bu kurulum ile squid için ihtiyaç duyabileceğimiz sslbump​ özelliği gelmiyor, bir seçeneğiniz kaynak koddan kurmak iken diğer bir seçenek ise bunu paket olarak hazırlamak. Paket Sistemi Nedir ve Faydaları Linux kullanıcıları ve sistem yöneticileri gereksinim duydukları programları, driver vb. sistem araçları ile bağımlılıklarını kurmak için paket deposundan faydalanırlar. Kullanıcıların bir uygulamayı kolay kurup yönetmesi için, ( güncelleme, kaldırma, versiyon tabiki vb.) oluşturulan hazır kurulumlar paket olarak ifade edilmektedir. Örneğin, linux tabanlı işletim sisteminize ( ubuntu, debian vb. ) chrome uygulamasını kurmak istediğinizde, google’ın chrome için indirme adresini bulmak, sisteme indirmek ve ön gereksinimleri tamamlandıktan sonra kurmak için vakit kaybetmenize gerek olmadan, hali hazırda paket depolarında yer alan hazır kurulum paketinden faydalanarak kurmak ciddi zaman kazandırır ve olası hataların önüne geçer. ​“apt-get install chromium”​ ile kurmak saniyeler sürer.
  3. 3. Linux Sistemlerde Bilinen Paket Yönetim Sistemleri ● APT, ( Advenced Package Tool ) :​ APT ‘nin amacı ise debian tabanlı linux dağıtımlarını kullanan kullanıcıların hayatını kolaylaştırmak ve sistem paket yönetiminin daha iyi anlaşılır bir şekilde yapılmasını sağlamaktır. ● YUM, ( Yellowdog Updater Modified ) :​ Red Hat türevi işletim sistemlerinde paket yönetimi için kullanılmaktadır. Yum paket yönetimi özellikleri arasında ​paket kurmak​, paket kaldırmak​, ​paket bilgisini görüntülemek​, ​güncelleme​, ​paket yükseltmek gibi özellikler yer almaktadır. ● APTITUDE :​ Bu paket yöneticisi ise eskilerde özellikle bağımlılık çözerek kaldırma işlemlerinde daha işlevsel aynı zamanda iyi bir paket yöneticisiydi. Bu paket yöneticisi ( apt, yum vb.) diğer paket yöneticiler arasında çok fazla farklar bulunmamaktadır. Bazı ufak tefek kullanım değişikliği haricinde hepsi aynı işlevi görmektedirler. ● PKG : ​FreeBSD 10 işletim sistemi ile yeni gelen paket yönetimidir. Bu paket yönetim aracının özellikleri arasında, ​paket kurmak​, ​kaldırmak​, ​güncellemek​, ​paketi kilitlemek ​gibi özellikler yer almaktadır.
  4. 4. Linux Sistemlerde Bilinen Paket Türleri Aşağıda linux türevi sistemlerde sık kullanılan paket türleri yer almaktadır. ● .rpm :​ Bu paket türü Red Hat tarafından linux için geliştirilmiş aynı zamanda birçok güçlü özellikleri nedeniyle birçok linux dağıtımına uyarlanmıştır. ● .deb :​ Bu paket türü ise debian tabanlı linux işletim sistemleri için oluşturulmuş bir paket türüdür. Geliştirme için Kullanılacak Araçlar Aşağıda bir ​.deb ​paketi hazırlamak için gerekli olan araçların ne işe yaradıkları anlatılmıştır. ● dpkg-dev : ​Debian kaynak paketlerini açmak (unpack), derlemek (build), karşıya yükleme (upload), için gerekli araçları içerir. ● file :​ Bu araç bir dosyanın türünü belirlemek için kullanılır. ( file dosya_ismi ) ● gcc :​ GNU projesi tarafından üretilen ve çeşitli programlama dillerini destekleyen bir derleyici sistemidir. Bu paket ayrıca C önişlemcisi ve nesne dosyalarını çevirmek ve ilintilemek için kullanılan araçları içeren ​binutils​ gibi çeşitli paketlere’de nüfuz eder. ● g++ : ​GNU C++ derleyicisi, eğer program C++ ile yazılmışsa gereklidir. ● libc6-dev :​ GCC ‘nin nesne dosyaları oluştururken ilintilemesi gereken C kütüphaneleri ve başlık dosyaları. ● make :​ Genellikle bir programın derlenmesi, kurulması, sistemden kaldırılması, derlenmiş olan dosyaları silmesi gibi işlemlerde kullanılır. ● patch :​ Bu araç farklılıklar listesi içeren bir dosyayı alır ( ​diff​ uygulaması tarafından oluşturulmuş ) ve onu orjinal dosyaya uygular, sonucunda da yamalı sürüm üretilir. ● perl :​ Genellikle linux türevi sistemlerde en çok kullanılan betik dillerinden biridir.
  5. 5. ● devscripts ​: Bu paket, paket bakımcılarına yardımcı olabilecek bazı betikler içermektedir. ● fakeroot :​ Bu araç yapım derleme aşamasının bazı yerlerinde root gibi davranmanıza izin vermektedir. ● gnupg :​ Paketleri sayısal olarak imzalamayı sağlayan bir araçtır. ● pbuilder : ​Bu paket chroot ortamını oluşturmak ve bakımını yapmak için gerekli paketleri içerir. ● Lintian :​ Debian paketi yaptıktan sonra genel hataları bilmenizi sağlayan ve bulduğu hataları açıklayan debian paket denetimcisidir. ● Linda :​ Buda bir başka debian paket denetimcisidir. ● dh-make ve debhelper :​ ​dh-make​ örnek paketinizin iskeletini oluşturmak için gereklidir ve paketi oluştururken ‘de ​debhelper​ araçlarından bazılarını kullanacaktır.
  6. 6. Debian Tabanlı Sistemler için Paket Oluşturma Debian (.deb) Paketi Nedir ? Debian paketleri, ilgili komutları ya da özellikleri uygulamak için gerekli tüm dosyaları içeren paketlerdir. Debian paketleri ikiye ayrılır; ● Binary packages :​ Bu paket içerisinde çalıştırılabilir dosyalar, konfigürasyon dosyaları, man/info sayfaları ve diğer dokümanlar bulunur. İkili paketler genellikle .deb uzantısı ile ayırt edilir ve dpkg komutu ile kurulum yapılır. ● Source packages :​ Kaynak paketleri, bu paketin yapısını belirten .dsc dosyası, orjinal kaynak kodunu arşiv içerisinde bulunduran .orig.tar.gz dosyası ve dosyadaki debian-spesifik değişiklikleri içeren .diff.gz dosyasından oluşan paketlerdir. Bağımlılık Nedir ? Bağımlılık o paketin çalışabilmesi/derlenebilmesi için gereken paketlerdir. İki çeşit bağımlılık vardır; ● Build Dependency : ​Paketin derlenebilmesi için gereken paketler. ● Runtime Dependency :​ Paketin çalışabilmesi için gereken paketler.
  7. 7. Debian (.deb) Paketi Oluşturmak için Ön Gereksinimler Bir debian paketi hazırlamak için bazı ek paketlerin sisteme kurulması gerekmektedir. Paketlerin sisteme düzgün bir şekilde yüklendiğinden emin olunuz. Öncelikle sistem depolarını güncelleyip ardından güncellemeleri aldıktan sonra ikinci komutu kullanarak gerekli araçlar sisteme kurulabilir. NOT : ​Paketlerin düzgün bir şekilde sisteme kurulduklarından emin olunuz. Bu komutu kullanarak kontrol edebilirsiniz (​ dpkg -s paket_ismi​ ). root# ​apt-get update ; apt-get upgrade -y root# ​aptitude install build-essential binutils fakeroot lintian debhelper dh-make devscripts patch libc6-dev file checkinstall makefile
  8. 8. Paket Seçimi Bir ​.deb​ paketi hazırlamadan önce aşağıdaki kontrolleri yapmanızı öneriyorum. Bu adımları eksiksiz tamamladığınızdan emin olun. ● Hazırlanacak paketin debian depolarında olup olmadığını kontrol edebilirsiniz. Paket depolarında aramak için ( ​apt-cache search paket_ismi ​) komutunu kullanabilir. Eğer paket paket var ise direkt ( ​apt-get install paket_ismi )​ ile sisteme kurabilirsiniz. ● Hazırlanacak programın ne tür bir lisansa sahip olduğunu kontrol edebilirsiniz. Özel bir lisansa sahip ise programın sahibinden bizzat izin almanız gerekir. Fakat programın lisansı GNU GPL veya GPL lisansı ise program üzerinde istediğinizi yapabilirsiniz ancak kaynak kodu kapatmamak şartıyla. Daha fazla bilgi için ​bakınız​. ● Hazırlanacak programın .deb uzantılı paketin debian depolarına girmesini sağlayabilirsiniz. Bunun için​ ​debiandevel@lists.debian.org​ mail listesi üzerinden görüşebilirsiniz. ● Programın sistem için bir güvenlik zafiyeti oluşturmadığından emin olunuz. Eğer güvenlik zafiyeti var ise programı .deb paketine dönüştürdükten sonra, linux tabanlı işletim sistemlerine direkt kurulursa o sistem için bir güvenlik zafiyeti oluşturacaktır.
  9. 9. Kaynak Koddan Kurulum Bu makalede örnek olarak kullanılan araç ​bzip2​ aracıdır. Bu örneğimde ​bzip2 ​aracını kaynak koddan sisteme kurup daha sonra bunu ​.deb ​paketi haline getirmek yer alıyor. Bu makaleyi yazarken tüm çalışmaları aşağıdaki işletim sistemi üzerinde gerçekleştirdim. Farklı linux dağıtımlarında, komutlar ve bağımlılıklar değişiklik gösterebilir. Kullanılan işletim sistemi özellikleri; Distribütör ID :​ Debian Açıklama :​ Debian GNU/Linux 8.1 (jessie) Sürüm :​ 8.1 Kod adı :​ jessie Başlayalım İlk önce herhangi bir dizin içerisinde kurulum adında bir dizin oluşturulur ve içerisine girilir hemen ardından örnek olarak kullanılacak araç indirilir. Bu örnekte ​/home​ dizini içerisinde kurulum​ adında bir dizin oluşturulmuştur ve içerisine girilmiştir, ardından araç indirilmiştir. root#​ cd /home/ ; mkdir kurulum ; cd kurulum root# ​wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz Sisteme kurulacak olan aracı ​tar​ komutu ile kurulum adlı dizin içerisine açalım ve açılan dizine girelim. root# ​tar xvf bzip2-1.0.6.tar.gz root#​ cd bzip2-1.0.6
  10. 10. Genellikle tüm programların kaynak kodu ile birlikte ​INSTALL​ ve ​README​ dosyaları gelmektedir. Bir programın ne işe yaradığını, nasıl çalıştığını, nasıl kurulacağını, bağımlılıkları gibi bilgileri bilmiyorsanız bu dosyaları okumanızda fayda var. NOT :​ Aşağıdaki adımları uygularken ​bzip2-1.0.6/ ​dizini içerisinde olmalısınız. root# ​ make root#​ make install Debian (.deb) Paketi Oluşturma Sisteme kurduğumuz bzip2 aracını .deb paketine dönüştürmek için aşağıdaki komutu kullanabiliriz. ​Aşağıdaki menüde değişiklik yapmak istediğimiz bilgiye ait numarayı girerek ilgili alanı düzenleyebiliriz. Bir şey değiştirmek istemiyorsak doğrudan ​enter​ tuşuna basarak devam edebiliriz. NOT : ​Burada ​dh_make​ komutunu kullanmadım, çünkü çok eskide kaldı onun yerine debmake​, ​checkinstall​ araçları daha rahat, kullanışlı olduğu için bu aracı kullanacağım. root#​ checkinstall -D make install ***************************************** **** Debian package creation selected *** ***************************************** This package will be built according to these values: 0 - Maintainer: [ ucribrahim@gmail.com ] 1 - Summary: [ Benim örnek .deb paketim. ] 2 - Name: [ bzip2 ] 3 - Version: [ 1.0.6 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ amd64 ] 8 - Source location: [ bzip2-1.0.6 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ bzip2 ]
  11. 11. Enter a number to change any of them or press ENTER to continue: Installing with make install... ========================= ​Installation results​ =========================== if ( test ! -d /usr/local/bin ) ; then mkdir -p /usr/local/bin ; fi if ( test ! -d /usr/local/lib ) ; then mkdir -p /usr/local/lib ; fi if ( test ! -d /usr/local/man ) ; then mkdir -p /usr/local/man ; fi chmod a+r /usr/local/man/man1/bzmore.1 chmod a+r /usr/local/man/man1/bzdiff.1 echo ".so man1/bzgrep.1" > /usr/local/man/man1/bzegrep.1 ======================== ​Installation successful ​========================== Copying documentation directory... ./ ./LICENSE ./README.XML.STUFF ./README.COMPILATION.PROBLEMS ./README ./CHANGES Copying files to the temporary directory...OK Compressing man pages...OK Building file list...OK Deleting temp dir...OK ********************************************************************** Done. The new package has been installed and saved to /home//kurulum/bzip2-1.0.6/bzip2_1.0.6-1_amd64.deb You can remove it from your system anytime using: ​dpkg -r bzip2 *********************************************************************** Yukarıdaki çıktıda gördüğünüz üzere bzip2 paketimiz hazırlanmış demektir. Hazırladığımız .deb paketine ​/home/kurulum/bzip2-1.0.6/bzip2_1.0.6-1_amd64.deb ​yolundan ulaşabiliriz. Silmek istersek ​dpkg -r bzip2​ komutunu kullanabiliriz.
  12. 12. Debian (.deb) Paketini Test Etmek Hazırladığımız .deb paketini diğer bir debian tabanlı işletim sistemine ​scp​ aracını vb. araçlarına kullanarak gönderebilirsiniz ve aşağıdaki komutu kullanarak sisteme hazırladığımız paketi kurabilir, test edebiliriz. Bunun sonunda zamandan tasavvuf etmiş olacağız ve her seferinden kaynak koddan kurma derdimiz olmayacak. root# ​dpkg -i bzip2_1.0.6-1_amd64.deb Varolan Bir Debian (.deb) Paketini Güncelleme Hazırladığımız .deb paketinin güncellemesini almak istersek aşağıdaki komutu kullanabiliriz. root#​ apt-get install apt-file -y root# ​apt-file update bzip2_1.0.6-1_amd64.deb
  13. 13. Manuel Debian (.deb) Paketi Oluşturma Bu bölümde ise herhangi bir aracın kaynak kodunu kullanmadan, kendi dosyalarımızı oluşturup bash ile bu dosyaların içerisine gerekli olan komutları yazıp, bize ait bir .deb paketi hazırlayacağız. Konuya başlamadan önce kullanacağımız dosyaların ne işe yaradıklarına bakalım; DEBIAN/control :​ Bu dosya yazmış olduğumuz uygulamanın ismini, versiyonunu, boyutu, açıklama, bağımlılıklarının yazıldığı dosyadır. Bu dosyanın içeriği aşağıdaki gibidir. Package :​ Uygulamanın adı. Version : ​Uygulamanının versiyon numarası. Source :​ Uygulamanın adı yazılabilir. Section :​ Uygulamanın hangi kategoriye girdiği. Priority :​ Uygulamanın sistem için gerekliliği. Maintainer :​ Geliştiricini mail adresi veya ismi. Architecture :​ Hangi mimariler için olduğu. Depends :​ Hangi paketlere bağımlılık duyduğu. Burada paket isimlerini virgül (,) ile ayırıyoruz. Description :​ Uygulamanın ne ile alakalı olduğunu veren ufak bir yazı yazılabilir. DEBIAN/preinst : ​Bu dosya uygulama kurulurken çalışan ilk dosyadır. Bu dosyanın içine genellikle güncelleme yapılırken yedek alma komutları yazılır. Bu komutları bash ile vb. bir başka dil ile yazabilirsiniz. DEBIAN/postinst : ​Bu dosya ise preinst dosyasından sonra çalışan bir dosyadır. Bu dosyanın içerisine uygulamayı kurduktan sonra yapılacak işlemler için komutlar yazılır. DEBIAN/postrm or DEBIAN/prerm: ​Bu iki dosyadan herhangi birisi ise uygulamanın sistemden kaldırmak için yazacağınız komutların olduğu dosyalardır. DEBIAN/copyright :​ Debian için bu dosya bir paket hakkında lisans bilgisini içermektedir. Debian Özgür Yazılım Rehberi ​sitesinden lisans dağıtımı kısmını inceleyebilirsiniz.
  14. 14. DEBIAN/rules : ​Debian paketiniz için bir ​Makefile​ dosyasıdır. Bir debian paketi dpkg komutu ile kurulurken bu dosyadaki bilgilere göre kurulur. DEBIAN/changelog : ​Bu dosya, programın gelişimini anlatan bir seyir defteridir. Programın kaynağından bağımsız bir şeyler yaptıysanız veya bazı hataları giderdi iseniz bu dosyanın içerisine yazabilirsiniz. DEBIAN/readme & DEBIAN/install : ​Bu iki dosya kullanıcıları bilgilendirmek için kullanılmaktadır. Genellikle bu dosyanın içerisine programın nasıl kurulacağını veya ne işe yaradığını yazabilirsiniz. Başlayalım İlk önce​ /home​ dizini içerisinde ​deneme​ adında bir dizin oluşturulur. root# ​mkdir /home/ibrahim/deneme ardından ​dosya.tar.gz​ adlı bir dosya oluşturun içerisinde bir tane ​test.txt​ dosya olsun. Daha sonra aşağıdaki komut kullanılarak ​deneme​ adlı dizin içerisinde ​tmp​ adında bir dizin oluşturulur ve oluşturulan ​dosya.tar.gz​ dosyasını oluşturduğumuz bu ​tmp​ dizini içerisine atılır. NOT :​ tar.gz dosyası gerekli olan yere atıldıktan sonra açılmamalıdır. Dosyanın içeriğini görmek isterseniz​ tar tf dosya.tar.gz​ komutu kullanılabilir. root# ​mkdir /home/ibrahim/deneme/tmp root# ​cp /home/dosya.tar.gz /home/ibrahim/deneme/tmp/ Daha sonra aşağıdaki komut kullanılarak ​/home/ibrahim/deneme/​ adlı dizin içerisine DEBIAN​ (​DEBIAN adı ile oluşturulmalıdır!)​ adında bir klasör oluşturulur. Hemen ardından oluşturduğumuz ​DEBIAN​ dizini içerisine girip, gerekli olan dosyalar oluşturulur. root# ​mkdir /home/ibrahim/deneme/DEBIAN root# ​cd /home/ibrahim/deneme/DEBIAN root# ​touch control postinst prerm root# ​ls -l
  15. 15. Control dosyası Bu dosya uygulamanın ismini, versiyonunu, boyutu, bağımlılıkları gibi bilgilerin yazıldığı dosyadır. Bu dosyanın içeriği aşağıdaki gibidir. Aşağıdaki gibi yazdıktan sonra​ CTRL+O kombinasyonuna basıp ardından ​enter​ tuşuna basarak kaydedilir ardından çıkmak için ise CTRL+X ​kombinasyonuna basabilirsiniz. NOT : ​Bu alanda kendinize göre yeni alanlar ekleyebilir veya üzerlerinde değişiklik yapabilirsiniz. root# ​nano control Package: deneme Version: 1.1.1 Architecture: all Essential: no Section: web Priority: optional Depends: php5 (>=2.3), php5-mysql Maintainer: İbrahim UÇAR Description: Bu benim örnek .deb paketim. Preinst dosyası Bu dosya ise, uygulama kurulurken çalışan ilk dosyadır. Genellikle bu dosyanın içerisine güncelleme yapılırken veya yedek alma gibi komutlar yazılır. Bu dosya benim örneğimde olmadığı için bu dosyayı kullanmayacağım. Bir uygulamanın güncellemesinin kontrol edilmesi istiyorsanız bu dosyayı mutlaka oluşturup gerekli olan komut yazmanız gerekir.
  16. 16. Postinst dosyası Bu dosya ( preinst ) dosyasından sonra çalışan dosyadır. Bu dosyanın içerisine uygulama kurulduktan sonra yapılacak işlemler yazılır. Aşağıda bash ile yazılmış örnek komutlar bulunmaktadır. Kısaca açıklamak gerekirse, paket sisteme kurulduktan sonra​ /tmp​ dizini içerisine deneme adında bir dizin oluşturulacak, ardından bir üst dizinde yer alan dosya.tar.gz ​adlı dosyayı oluşturulan ​/tmp/deneme​ adlı dizin içerisine açacaktır. root# ​nano postinst #!/bin/sh DOSYA=dosya.tar.gz DIZIN=deneme mkdir -p "/tmp/$DIZIN" tar xf "/tmp/$DOSYA" -C "/tmp/$DIZIN/" Postrm & Prerm dosyaları Bu iki dosya isimleri birbirinden farklı fakat aynı işlevi görmektedirler. Bu iki dosyadan herhangi birisinin içerisine uygulamayı sistemden kaldırmak için komutlar yazacağız. Aşağıdaki bash komutlarını prerm adlı dosyanın içerisine yazıyoruz. Bir kullanıcı ​( dpkg -r, apt-get remove ) ​komutları kullanıp bir programı sistemden kaldırınca çalışacak olan dosya aşağıdaki gibidir. NOT :​ Benim örneğimde ​/tmp/deneme​ adlı dizini silmek yer almaktadır. Ve ona göre bash komutu yazılmıştır. root# ​nano prerm #!/bin/sh if [ "$1" = "remove" ]; then rm -rf /tmp/deneme fi
  17. 17. Şimdi ise .deb paketi nasıl oluşturulur bunu inceleyeceğiz. Aşağıdaki komutlardan herhangi birisini kullanarak .deb paketi oluşturma işlemini tamamlamış olacağız ve elimizde kendimize ait bir debian paketi olacaktır. ● Birinci komutta varolan dizin ismi ile .deb paketinin oluşturulmasını sağladık. ● İkinci komutta ise farklı bir isim belirterek verilen isim ile oluşturulmasını sağladık. root# ​dpkg-deb --build /home/ibrahim/deneme/ dpkg-deb: building package `deneme' in `deneme.deb'. root# ​ls deneme ​deneme.deb root# ​dpkg-deb --build /home/ibrahim/deneme/ deneme.1.2.3.deb dpkg-deb: building package `deneme' in `deneme.1.2.3.deb'. root# ​ls deneme ​deneme.1.2.3.deb Oluşturmuş olduğumuz .deb paketini sisteme kurmak istersek aşağıdaki komutu kullanabiliriz. root# ​dpkg -i deneme.deb veya root# ​dpkg -i deneme.1.2.3.deb Eğer sisteme kurduğumuz paketi silmek istersek aşağıdaki komutu kullanabiliriz. root# ​dpkg -r deneme.deb veya root# ​dpkg -r deneme.1.2.3.deb
  18. 18. Test Aşaması Bu aşamada ise elle yapmış olduğumuz .deb paketinin çalışıp/çalışmadığının kontrolünü yapacağız. Aşağıdaki adımları takip edebilirsiniz. Aşağıdaki komutu kullandıktan sonra ​/tmp/​ dizini içerisine ​deneme​ adlı bir dizin oluşturulacak ardından ​dosya.tar.gz ​dosyası ​/tmp/deneme​ adlı dizin içerisine açılacaktır. Eğer bu adımlar eksik ise herhangi bir yerde bir hata yapmış olabilirsiniz. Aşağıda görüldüğü üzere herhangi bir problem yok başarılı bir şekilde gerekli olan dosya gerekli olan yere açılmıştır. root# ​dpkg -i deneme.1.2.3.deb ( Reading database ... 130889 files and directories currently installed.) Preparing to unpack deneme.1.2.3.deb ... Unpacking deneme (1.4.2) ... Setting up deneme (1.4.2) … root# ​ls -alh /tmp/deneme/ibrahimucar/ -rwxrwxr-x 1 ibrahim ibrahim 67 Nov 6 04:37 test.txt Eğer kurmuş olduğumuz bu .deb paketini sistemden kaldırmak istersek aşağıdaki komutu kullanabiliriz. Daha sonra​ /tmp/deneme/ibrahimucar​ dizini içerisine bakabiliriz ve öyle bir dosyanın var olmadığını görebiliriz. root# ​dpkg -r deneme.1.2.3 ( Reading database ... 130889 files and directories currently installed.) Preparing to unpack deneme.1.2.3.deb ... Unpacking deneme (1.4.2) ... Setting up deneme (1.4.2) … root# ​ls -alh /tmp/deneme/ibrahimucar/ ls: cannot access /tmp/deneme/ibrahimucar/: No such file or directory
  19. 19. Dizin Yapısını Görüntülemek Son olarak tüm işlemler bittikten sonra oluşturduğumuz dizinin yapısını görmek istersek aşağıdaki komutu kullanabiliriz. root# ​tree deneme ├── DEBIAN │ ├── conffiles │ ├── control │ ├── postinst │ └── prerm └── tmp └── dosya.tar.gz 2 directories, 5 files Yazar Hakkında Yazar: İbrahim UÇAR İlk Yayımlanma Tarih: 16.01.2017 İletişim Bilgileri; ● ucribrahim@gmail.com ● twitter.com/ucribrahim ● lifeoverlinux.com

×