"Debian tabanlı sistemler için paket oluşturma - 1" yazısında temel düzeyde bir paketin nasıl yapılacağını incelemiştik. Fakat ilgili paket herhangi bir iş yapmamakta. Sadece bağımlılığından dolayı "git" ve "python3" paketinin "3.5" sürümünden büyük bir durumunu bağımlılık olarak yüklemekte idi.
Şimdi kurulum öncesinde, kurulum sonrasında, silme öncesinde ve silme sonrasında bir betik çalıştırmak istersek ne yapacağımızı göreceğiz.
Öncelikle yeni ekleyeceğimiz dosyaları görelim. Bu dosyalar aşağıdaki konumlarına eklenmelidir.
ornekpaket-1.4.0-b2/ └── DEBIAN/ └── control └── postinst # dosya taşıma ve kurulum hemen sonrası └── postrm # silme hemen sonrası └── preinst # dosya taşıma ve kurulum hemen öncesi └── prerm # silme hemen öncesi Bu dosyaların içerisinde herhangi bir betik çalıştırabilirsiniz. Fakat genelikle bash betikleri yazıldığı için dosyaların en üst satırlarında #!/bin/bash satırı yazılarak bir sonraki satırdan itibaren istenilen betik yazılmaya başlanır. Bu nedenle özetle aşağıdaki şekilde 4 farklı betik hazırlanabilir.
echo """#!/bin/bash echo "kuracağım" >> /opt/ornek.txt """ > ornekpaket-1.4.0-b2/DEBIAN/preinst echo """#!/bin/bash echo "kurdum" >> /opt/ornek.txt """ > ornekpaket-1.4.0-b2/DEBIAN/postinst echo """#!/bin/bash echo "sileceğim" >> /opt/ornek.txt """ > ornekpaket-1.4.0-b2/DEBIAN/prerm echo """#!/bin/bash echo "sildim" >> /opt/ornek.txt """ > ornekpaket-1.4.0-b2/DEBIAN/postrm Bu temel özellikler sonrasında en önemli ve aslında GNU/Linux dünyasında kurulum anlamına gelen dosyaların taşınması gerekmektedir. Daha doğrusu eğer uygulamanız tek bir dosya ise bunu /usr/bin/'in altına koymak gibi basit bir çözüm yapılabileceği gibi, daha karmaşık yapılar için /usr/share/uygulamaadi/ şeklinde bir klasör altında çeşitli yapılar kurulabilir. Bu konuda başka yazı da yazmayı planlıyorum.
Bu kısımda hangi formatta oluşturmak istediğinize göre çalıştırılabilir dosya /usr/bin/ klasörünüz içerisine atmanız gerekmektedir.
cp binarydosya ornekpaket-1.4.0-b2/usr/bin/uygulama ornekpaket-1.4.0-b2/ └── DEBIAN/ └── usr/bin/uygulama # Uygulama için gerekli herhangi bir dosya veya
mkdir -p /usr/share/uygulamaadi/bin/ mkdir -p /usr/share/uygulamaadi/conf/ cp binarydosya ornekpaket-1.4.0-b2/usr/share/uygulamaadi/bin/uygulama cp uygulama.conf ornekpaket-1.4.0-b2/usr/share/uygulamaadi/conf/uygulama.conf ornekpaket-1.4.0-b2/ └── DEBIAN/ └── usr/share/uygulamaadi/bin/ # Uygulama için gerekli herhangi bir klasör └── uygulama # Uygulama için gerekli dosya └── usr/share/uygulamaadi/conf/ # Uygulama için gerekli herhangi bir klasör └── uygulama.conf # Uygulama için gerekli dosya Bu adımlardan sonra, ilk yazıda gördüğümüz şekilde build etmemiz gerekmektedir:
dpkg -b ornekpaket-1.4.0-b2 ./ornekpaket-1.4.0-b2.deb veya
dpkg-deb --build ornekpaket-1.4.0-b2.deb Ex nihilo nihil fit
Top comments (0)