Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
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. 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. 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. 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. ● 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Ş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. 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. 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