Kendi elleriyle Deb-paketi deposu: Debian'daki paketleri bir ambulans elindeki kaynaklardan ve ikili dosyalardan monte edin. Debian Kurulum Dosyaları Oluşturma - Deb Dosyaları Deb Paketini Topla

→ DROC paketi montaj talimatları

Ağda bir DROB paketi nasıl toplayacağınız hakkında küçük bir makale yoktur, ancak ne yazık ki bunların hepsi ilk defa bir montaj yapmaya karar veren geliştirici için anlaşılmayacak. Yani bir kodunuz var. Yararlı, iyidir, ancak bir sunucuya veya masaüstüne monte ederken bazı beceri ve çaba gerektirir. Dosyaları kopyalama ile ilişkili manuel çalışmaları önlemek için, bir veritabanıyla manipülasyonlar, start-stop komut dosyalarını (şeytanlar için) ayarlama ve yapılandırmayı yapılandırın, deb paketindeki her şeyi toplamaya karar verdiniz.

İdeal olarak, doğru DEB paketi bir GPG tuşu ile imzalanmalıdır. Aksi takdirde, Apt paketi güvenilmez okuyacak ve ilgili bir uyarı verecektir. Ama bu bölümü kaçıracağız. Bir GPG anahtarının nasıl oluşturulacağı ve bir DROW paketi GPG tuşunu nasıl imzalayacağınız hakkında el kitabı.

Adım 1. Paketinizi oluşturmak için gereken yardımcı programları yükleyin.:

Sudo apt-get install autoconf autage libtool autotools-dev dpkg-dev fakeroot

Adım 2. Gelecekteki paket için bir kök dizini oluşturun ve yardımcı programınızın tüm dosyalarını bu dizine kopyalayın, bu da işlem ve kurulum için gerekli olacaktır. Örneğin:

MKDIR -P / MYPACKAGE CP / SOMENT_SOURCE_FILES / Home / Kullanıcı Adı / Deb / My_Package

Yardımcı programınız klasörde olacaksa:

USR / Yerel / Paylaş / My_Project

/ Ana Sayfa / Kullanıcı Adı / Deb / My_Package / USR / Yerel / Paylaş / My_Project

Adım 3. Paketin kökünde bir Debian dizini oluşturun.

Katalog adı büyük harflerden oluşmalıdır. Bu dizin, kurulum sırasında kullanılan meta bilgilerini içerir.

CD / Home / Kullanıcı Adı / Deb / My_Package Mkdir Debian

Sonraki, katalogda Debian.zorunlu bir metin dosyası oluşturun - kontrol. Bu dosya, paket hakkında temel bilgileri içerir. Dosyada, her dize kolon tarafından ayrılmış bir anahtar değer çifti içerir.

Cd ./debian dokunmatik kontrol

Dosya örneği:

Paket: My-Package Sürümü: 1.0.0 sağlar: Paket My-Package Bakan: Vasiliy Batareikin Mimari: Tüm Bölüm: Web Önceliği: İsteğe Bağlı Önceden Bağımlılıyor: GCC, Yap, PERL (\u003e \u003d 5.10), MySQL-Server bağlıdır: GCC, Yap, Perl (\u003e \u003d 5.10), Perlmagick, MySQL-Server, Unzip, RAR Açıklama : İlk Debian paketim

Paket. - Paket ismi. İzin verilen karakterler. Zorunlu parametre.

Sürüm. - Paket sürümü. Zorunlu parametre.

Sağlamak - Uygulamanın adı sistemde kayıtlıdır.

Bakıcı. - Paketin paketinin adı ve postası. Zorunlu parametre.

Mimari. - Paketin tasarlandığı işlemci mimarisi. Zorunlu parametre.

Bölüm. - Uygulama grubunu belirler. Zorunlu parametre.

Öncelikli. - Paket önceliği. Parametre, paketinizin sistemdeki ne kadar önemli olduğunu belirler.

Öncesi değişir. - Paketinizin yüklenmesi sırasında ihtiyaç duyulan virgül içindeki paketlerin listesi. Paket Yöneticisi otomatik olarak belirtilen paketler.

Bağlı olmak. - Bu pakette çalışmak için gereken virgül içindeki paketlerin listesi. Paket Yöneticisi otomatik olarak belirtilen paketler.

Açıklama. - Paketin açıklaması. Zorunlu parametre.

Bir paketi kurarken veya silerken belirli eylemleri gerçekleştirmek istiyorsanız, özel komut dosyalarını kullanabilirsiniz. Onları oluşturun ve yürütme haklarını koyun:

CD ./Debian Touch Preinst Postinst PRERM POSTRM CHMOD 775 PREINST POSTINST PRERM POSTRM

preinst - Paketi kurmadan önce gerçekleştirilir.

postinst - Paketi taktıktan sonra kalıcı olarak.

pERMER. - Paketi çıkarmadan hemen önce yapılır.

postrm. - Paketi sildikten hemen sonra yapılır.


Adım 4.. Montaj paketi.

Paketin kök klasörüyle bir seviyeye yükseliriz ve montajı gerçekleştiriyoruz.


Gönderen: Michael Reed
Yayın Tarihi: 4 Ocak 2014
Tercüme: n.Romodanov
Tercüme Tarihi: Haziran 2014

Yazılımı dağıtmak için en yaygın iki Linux paket türünün nasıl oluşturulacağını söyleyeceğiz ve kendi paketlerinizi kendiniz dağıtabilirsiniz.

En popüler iki deb ve RPM paketi sistemi için yazılım paketleri oluşturma sürecinde sizi yürüteceğiz. Bu yöntemleri kendi yazılımınızın paketlerini oluşturmak için kullanabilirsiniz, hatta düşündüğünüz yazılım için paketlere eşlik edeceksiniz.

Debian'dan türetilmiş dağılımlar için bir DROW ((.Deb) dosya oluşturma kılavuzu ile başlayacağız - bunun için veritabanımızın kalitesini kullanıyoruz. Bundan sonra, kırmızı şapkadan türetilmiş dağılımlarda kullanım için rpm paketleri oluşturmak için gerekli yöntemleri tarif ediyoruz. . Ve bunun için fedora kullanacağız. Genellikle bir dağıtımda bir paket oluşturabilir ve ardından bunu ilişkili bir dağıtıma yükleyebilirsiniz (örneğin, Ubuntu\u003e Debian), ancak eğer önemliyse, kendiniz denemek zorunda kalabilirsiniz. .

Programa gelince, kaynak kodundan toplanan bir paketin örneği olarak gidiyoruz, ışık Web tarayıcısı Dillo'yu kullanın. Meclis kaynak metinlerinden yürütüldüğünde, montajın sönmemesi durumunda, her zamanki gibi, internette çözümler arayabilirsiniz. Örneğin, Dillo 3.0.3 durumunda, orijinal kod arşivindeki kaynak kodun yokluğu nedeniyle "libs \u003d -Lx11" eklemek için komuta komut eklemek zorunda kaldık.

Montaj komut satırında gerçekleşir

Kaynaklar

Kurulum (veya sanal makine) Ubuntu ve Fedora

Adım adım Açıklama

Adım 01: Sanal bir makine kullanma

VirtualBox veya VMware gibi sanallaştırma araçlarının kullanımı, diğer sistemler için paketler oluşturmaya en iyi yaklaşımdır. Bir yandan, bu yaklaşım, başkalarının muhtemelen çalışacağı ayarlar için karşılaştırılabilir nispeten temiz bir temel kurulum sürdürmenizi sağlar. Aynı zamanda, çeşitli dağıtımları kullandığınız anlamına gelir, bir hedef sistem koleksiyonu alabilirsiniz. Ek olarak, çoğu sanallaştırma aracı, çeşitli mimarilere taklit eder ve bu nedenle, performans çeker, ancak bu nedenle, 64 bit bir işletim sistemi 32 bit bir platformda başlatılabilir.

Adım 02: Sıfırdan başlamak

Ubuntu veya Fedora'da bir şey yanlışsa, kaynak dizini tamamen güvenli bir şekilde silebilir ve tekrar tekrar başlayabilirsiniz. Debian'ın aracının orijinal arşivi değiştirdiğini, bu yüzden yeni bir kopyayla başlamanız gerektiğini lütfen unutmayın.

Bölüm 1: Debian

Adım 03: Montaj ortamını yükleyin

Kaynak kodundan programlar oluşturmamız gereken enstrümantal araçların kurulumuyla başlayacağız. Tür:

$ sudo apt-get instration-esansiyel Autoconf AutoTools-dev yükleme

Şimdi DREB paketleriyle çalışmak için kullanılan araçları ayarlamalıyız. Aşağıdaki komutla yap ...

$ Sudo apt-get install Dh-make debhelper devscripts fakeroot Xutils Lintian Pbuilder

Adım 04: Bir GPG tuşu oluşturun

Geçmişte hala bir GPG ortak anahtarı oluşturmadıysanız, paketleri imzalayabilmeniz için hemen yaratılmalıdır. Öncelikle, GPG -GEN-anahtarının metnini girin. Varsayılan değerleri seçin ve istendiğinde gerçek adınızı ve iletişim bilgilerinizi girin. Tüm verileri dikkatlice yazın, çünkü daha sonra yapılandırma dosyasına doğru bir şekilde uyum sağlamalıyız. Bundan sonra, yeni anahtarın bulunduğundan emin olmak için LS ~ / .gnupg komutunu yazın (bu dosya adı_adı. GPG). Ondan, açık bir anahtar oluşturun:

GPG -A --Output ~ / .gnupg / .gpg - export "[Adınız]"

İthalat:

GPG --IMPORT ~ / .gnupg / .gpg

Adım 05: Paketi indirin

Bu örnekte, Dillo web tarayıcısının en son sürümünü indirip birleştireceğiz. Dillo sitesine (www.dillo.org) gidin ve en son Archive.tar.bz'u indirin. MKDIR ~ / SRCAND komutunu kullanarak, kaynak kodu için bir dizin oluşturun ve arşivi kendinize taşıyın.

Adım 06: Arşivi aç

Tar -xJVF [Arşiv Adı] .tar.bz2 komutunu kullanarak arşivi açın. Lütfen Katalog Adlandırma Anlaşmaları (Namepack Version) uyumluluğunun amaçlarımız için önemli olduğunu ve neyse ki Dillo paketi ile eşleştiğini unutmayın. Kaynak arşivinin kaynak dizininin üstünde bir seviyede bulunması da önemlidir.

Adım 07: Debian'da yapılandırma

DH_Make Script dizinini, çalışmanın çoğuna bakacak olan yeni açılmamış dizine taşıyın - bir yapılandırma dosyası ekleyecek ve bir dizin yapısı oluşturacak ve bir dizin yapısı oluşturacak ve daha önce eklediğimiz geliştiricinin intrumenarmary'nin bir parçası olan.

Dh_make -e -c lisans -F ../

Örneğimize göre, Tugades komut satırı şöyle görünür:

Dh_make -c gpl3 -e [E-posta Korumalı] -F ../dillo-3.0.3.tar.bz2.

Sorgu göründüğünde, bir ikili dosya seçin. Script Assistant Komut dosyası kaynak dizininde Debian adına sahip bir dizin oluşturmalıdır.

Adım 08: Kontrol dosyasını aç

Kontrol dosyasını Debian alt dizininde metin düzenleyicisindeki açın. "Ana Sayfa" bölümünü doldurun (Debian program bölümlerini doldurmak için Google'ı kullanın) ve bu dosyanın açıklama alanlarını kullanın.

Adım 09: Bağımlılıkları incelemek

Paket olarak verilen programı başlatmak için hangi bağımlılıkların gerekli olduğunu keşfedebilirsiniz. Kaynak kod dizinine gidin ve terminalde DPKG-DPCHECK -D komutunu yazın ./Configure. Bunu yaparsanız, programın montajı için (ayrıca birlikte verilen) için gereken paketin olmadığını gösteren hatalar verilecektir. Bu paketi, sudo apt-get Build-DEP [Paket Adı] yazarak açabilirsiniz ve bu paketin dağıtımın deposunda desteklenmesi durumunda yardımcı olmalıdır. Desteklenmezse, DPKG-depcheck -d komutunu art arda çalıştırmanız gerekecek ve RSUDO APT-get install komutunu yazarak [Paket Adı] yazarak manuel olarak paketler ekleyin.

Adım 10: Kontrol dosyasına bağımlılıklar ekleyin

Önceki adımdan gelen tüm eylemler tamamlandığında, gerekli tüm paketlerin bir listesine sahip olmalısınız. Bu Bağımlılık Listesini Bağımlılar bölümüne ekleyin: Kontrol dosyası. Listedeki eleman virgül ve boşlukla ayrılmalıdır.

Bu adımı olabildiğince tamamen çalıştırmayı deneyin ve atlamayın. Kaynak: - Bu genellikle projenin ana sayfasıdır. Dosyalar bölümünde: * Telif hakkı bilgilerini projenin yazarlarının adlarına değiştirin. Dosyalarda bir örnek görebilirsiniz: İlgili bilgilerin girilmesi gereken Debian / * bölümünde. İhtiyacınız olan bilgileri bulmak için biraz dedektif olabilirsiniz. Yazarlar ve kopyalama gibi kaynak kod dosyalarıyla dizinde arama yapın.

Adım 1/2: Değişim günlük dosyasını düzenleyin

Günlük Dosyasını Değiştir'i açın ve bir GPG tuşu oluştururken ad ve e-posta adresinin girdiğiniz kişilerle çakıştığından emin olun. Genellikle, komut dosyası asistanı, gerçek adınızı değil, dosyaya bir kullanıcı adı ekleyebilir. Telif hakkı dosyasında olduğu gibi, bu bölümü atlamayın, çünkü bu nedenle bir paket oluşturma işlemi durdurulabilir veya yanlış bir paket oluşturulabilir.

Adım 13: Bir paket oluştur

Her şey doğru şekilde yapılandırılırsa, nihayet bir DROB paketi toplayabiliriz. Kaynak dizine gidin ve ~ / SRC / Directory'ye yerleştirilecek bir paket toplamak için, DPKG-BuildPackage -B komutunu yazın. Örneğin, DPKG -I [Package] komutunu kullanarak bir paket oluşturun. Debian politika uygunluğunu kontrol etmek için, Lintian [Package] komutunu kullanarak, Lintian programını başlatın. Lütfen, bu aracın sıkı olduğu bilindiğine dikkat edin ve işiniz, bazı küçük uyumsuzluk uyarılarının sizin için izin verilip verilmediğine karar vermektir. Son olarak, Sudo DPGK -I [Package] komutunu kullanarak paktı ayarlayın.

Bölüm 2: Fedora'da RPM paketleri oluşturma

Adım 14: Kontrol dosyasını aç

SU yazarak kök kullanıcı moduna gidin. Geliştirme Araçları Kurulum Araçları (Geliştirme Araçları) Yum'daki ve ardından Yum ile başlayın, GCC-C ++ Fedora-Packter'ı kurun. Kullanıcınızı Mock grubuna eklemek için UserMod -A -G Mock komutunu yazın. Bu, montaj prosedürünü kök kullanıcının rolüne gitme gerekmeden yürütmemize izin verir.

Adım 15: Bir montaj ortamı oluşturun

Kök rolünden çıkmak için CTRL + D tuşlarına basın. İhtiyacımız olan bir dizin ağacı (~ / rpmbuild altında) oluşturmak için rpmdev-setuptree girin.

Adım 16: Arşivi indirin ve doğru yere taşıyın.

Dillo paketini Dillo web sitesinden indirin ve arşivi uygun dizine taşıyın - MV komutunu [Arşiv Adı] ~ / RPMBUILD / Kaynaklar yazın.

Adım 17: File.spec oluşturun.

Fedora gibi kırmızı şapkaya dayanan dağıtımlar, Montaj işlemini belirlemek için. CD komutunu kullanarak dosyaların bulunduğu dizine geçin ~ / rpmbuild / spects / AndCreateAblank.SPEC.SPEC ve Boş bir dosya oluşturun. RPMDEV-Newspec Dillo komutunu kullanarak.

Adım 18: Dosyayı düzenleyin.

Gedit Dillo.SPEC komutunu yazın. Sürüm alanlarını doldurun, Özet (Özet) Lisansı (bu durumda - GPLV3 +). URL, projenin ana sayfasını gösterir; Source0, kaynak kodunun adresini gösterir. BuildRequires alanlarındaki yorumları belirtin (montaj için gereksinimler) ve gerektirir. % Açıklama Alanına tam bir açıklama ekleyin.

Adım 19: Kaynak kodu düzeneğini takip edin

Paket genellikle sistemde desteklenirse, Yum-BuiltDEP komutunu [Paket Adı] komutunu çalıştırın. Aksi takdirde, hata mesajları almak için Montaj komutunu tekrarlamanız veya arşivdeki belgeleri kaynak koduyla arama yapmanız gerekir. Spec dizininde, RPMBuild -BA komutunu [Paket Adı] .SPEC yazın. Bu montaj başarısız olursa ve ek olmayan ek olmayan dosyalarla ilgili mesajlar verilecek, bu dosyaların bu listesini% dosya dosyası bölümüne kadar vurgulayacak ve kopyalayacaktır .Spec ve montaj komutunu tekrarlayın. Şimdi paket RPMS dizininde olacak. Yüklemek için RPM -IVH [Package] komutunu yazın. RPM -QA komutunu çevirin | Yüklü olduğundan emin olmak için GREP [PACKET].

Ruby-zooker örneğini belirleyebileceğiniz gibi DROR paketlerini oluşturma sürecini belirlemeye çalışacağım. Hemen benim tarafımdan açıklanan yakut mücevherleri yama yönteminin yanlış olduğunu, bunun için GEM2DEB'yi kullanmak daha iyi olduğunu, ancak Gem2DEB kullanarak kaynaklardan en son sürümün yakut-zookerini toplamak için, çalışmadım, sonra en kolay montaj yöntemi.

Ruby paketlerini, önerildiği gibi, GEM2DEB üzerinden, ardından bir dize ekle

DH_RUBY_IGNORE_TESTS \u003d ALL / EXPORT DH_RUBY_IGNORE_TESTS \u003d ALL

debian / kurallarında.

Çünkü Ruby kodunu toplayacağız, o zaman Ruby'ye ve deb paketlerini monte etmek için bir dizi araç ihtiyacımız olacak.

Sudo apt-get install ruby \u200b\u200bdpkg-dev

Ruby'nin eski bir sürümünüz varsa, o zaman içinde GEM komutu yoktur, ayrıca Rubygems paketini veya Ruby'yi güncellemeniz gerekecektir.

Şimdi mücevher kur. fPM.Bizim için DROB paketini kim toplayacak.

Sudo Gem FPM FPM -S Gem -T Deb Zookeeper Yükle

Geçerli dizinde, bir rubygem-zookeeper_1.4.11_amd64.deb paketimiz var, bu durumda zaten bir şapka içinde olduğu görülüyor, çünkü Bir kaynak paketine ihtiyacımız var, böylece BT DEB'den toplayabilmeniz için, örneğin OBS'de, o zaman devam edeceğiz.

Montaj dizinini oluştur

CP RUBYGEM-ZOOKEEKER_1.4.11_AMD64.DEB ~ / CD MKDIR -P Ruby-Zookeeper / Fakeroot CD Ruby-Zookeeper / Fakeroot

Sadece toplanan paketin içeriğini hatırlamak

DPKG-Deb -R ~ / rubygem-zookeeper_1.4.11_amd64.deb ruby-zookeeper_1.4.11-1

Şimdi bir paket oluşturmak için gereken dosyalar oluşturacağız. Debian dizininde olmalı. Paketsiz paketten kopyalayabileceğimiz dosyaların bir parçası.

Mkdir debian cp rubygem-zookeeper_1.4.11-1 / Debian / Control Debian / Control

Bir sonraki duruma kadar düzenleyin. Bakıcıyı değiştirmeyi unutmayın

Kaynak: Ruby-Zookeeper Bakımcı: BÖLÜM: RUBY DONANIM-DANIŞMALARI: DEBHELPER (\u003e \u003d 7.0.50 ~) Öncelik: Ekstra Anasayfa: https://github.com/slyphon/zookeeper Paketi: Ruby-Zookeeper Mimarisi: AMD64 Danımlılar: $ (Shlibs: Dairender), $ (MISC: Bağımlılığı), Ruby Açıklama: Zookeeper API bağlamaları etrafında düşük seviye çoklu yakutlu sarıcı. Friendlier bir arayüz için, bkz. Http://github.com/slyphon/zk. Şu anda desteklenir: MRI: (1.8.7, 1.9.2, 1.9.3), JRUBY: ~\u003e 1.6.7, Rubinius: 2.0.Testing, Ree 1.8.7. . Bu kütüphane, Zookeeper Ciltlerinin 3.4.5 sürümünü kullanır.

Hala Debian / Kurallara ihtiyacımız var. Oluştur. Override_dh_shlibdeps, Linkeper Kütüphaneleri Bağlantısını kontrol etmemesi gerekmez, çünkü O geçmez.

#! / Usr / bin / make -f # - * - Makefile - * -%: DH [E-posta Korumalı] Override_dh_shlibdeps: Doğru.

Debian / Kurallardaki Tabulalar gereklidir, onları boşluklarda değiştirmek imkansızdır. Yürütülebilir yapalım.

Chmod + x Debian / Kurallar

USR / * var / *

Şimdi Debian / Changelog oluşturalım ve yükleyelim:

Ruby-zookeeper (1.4.11-1) yayınlanmadı; Aciliyet \u003d orta * İlk sürüm - kök Çarşamba, 25 Kas 2015 20:01:55 +0300

Ayrıca Debian / Compat'a ihtiyacımız var.

Echo 7\u003e Debian / Compat

Yerel dizinde yüklenecek dosyaları kopyalayın ve klasörü açılmamış paketle silin, artık faydalı değildir.

Mv ruby-zookeeper_1.4.11-1 / (USR, var). Rm -r ruby-zookeeper_1.4.11-1

Kaynak paketi yanı sıra yeni bir paket topluyoruz.

Dpkg-buildpackage -Rfakeroot -uc -f

Dizinde, gerekli tüm dosyalara sahip olacağız.

Ll .. Toplam 5528 DRWXR-XR-XR 3 Kök Kök 4096 Aralık 20 13:32 ./ DRWX ------ 12 Kök Kök 4096 Aralık 20 13:31 ../ drwxr-xr-x 5 Kök Kök 4096 Aralık 20 13:28 Fakeroot / -RW-R - R-- 1 Kök Kök 1261 Aralık 20 13:32 Ruby-zookeeper_1.4.11-1_amd64.Changes -RW-R - R - 1 Kök Kök 2375044 Aralık 20 13: 32 Ruby -ZOOKEEPER_1.4.11-1_AMD64.DEB -RW-R - R-- 1 Kök Kök 565 Aralık 20 13:32 Ruby-zookeeper_1.4.11-1.DSC -RW-R - R-- 1 Kök Kök 3263381 Aralık 20 13: 32 ruby-zookeeper_1.4.11-1.tar.gz

Alınan deb paketinin içeriğini kontrol edebilirsiniz.

deb dosyası biçiminde bir arşiv arProgramın montajcılarını, program bilgisini, programı yükleme ve silme (komut dosyaları zorunlu değildir - pakete dahil edilmeyebilir - pakete dahil edilmeyebilir).

Deb Dosya Biçimi, Man-Yardım'da (Man Sayfaları) Deb (5) 'de tarif edilmiştir - Terminal Deb komutunu çeviriyorsa, bu yardım görüntülenir. Ayrıca internette bu bilgiyi içeren birkaç sayfa vardır - bunları bulmak için deb arama çubuğunu (5) aramak için yeterlidir. Bu kılavuzda, Debian geliştiricilerin resmi kılavuzunda olduğu gibi, paket formatı sertifikasında (bu kılavuzun http://www.debian.org/doc/manuals/debian-faq adresinde bulunduğunu) olduğu gibi. / ch pkg_basics.en.html) Paket formatının değişebileceği ve bu nedenle, DPKG-DEB yardımcı programının onlarla çalışmak için kullanılması önerilir. DPKG-DR Utility ile çalışmak için yardım, terminaldeki Adam DPKG-DREB komutunu yazarak elde edilebilir.

GUI-DREB programının çalışması, gerekli verileri içeren bir dizin oluşturmak ve bu dizini ve diğer gerekli parametreleri gösteren DPKG-DR programını başlatmalıdır.

DPKG-DEB kurulum paketini oluşturmak için gereken doğru dizinin, her şeyden önce "Debian" dizini içermelidir. Sisteme kopyalanmayan tüm veriler bu dizinde olmalı ve doğrudan paketlerle çalışmak için kullanılan programlar - hurda çukurun kurulumunda ve ardından yapılan paket hakkında bilgi hakkında bilgi. Paketi takarken Debian dizininde yer alan dosya yok, paketin kurulduğu bilgisayar dosyası sistemine girmeyecektir.

"Debian" dizinin dışında, paketin kurulacağı bilgisayar dosyası sistemine kopyalanacak dosyaları içerir. Dosyalar, paketi kurarken yerleştirilecekleri dizinlerde bulunmalıdır. Yani, DPKG-DEB için oluşturulan dizin içinde, dosya sistemi gereksinimlerinin parçalarının bir kopyası oluşturulmalı - sanki bu dizin köklü ("/") gibi. Yani, dizinin adının, paketin "~ / tmp_debs / myProgram" olduğu temelinde oluşturulacaksa ve "/ usr / share / pixmaps) dosya sistemine kurarken gereklidir. "Directory dosyalı" myprogram.png "dosyası -" ~ / tmp_debs / myprogram "dizininde" usr "dizini oluşturmanız gerekir, içinde" Paylaş "dizininin" Paylaş "dizininin" PixMaps ", ve "pixmaps" dizinini "myprogram.png" koyun. Sonuç olarak, dosyanın tam yolu "~ / tmp_debs / myprogram / usr / share / pixmaps / myprogram.png" olacaktır. Bir paket oluştururken, "~ / tmp_debs / myprogram" dizininin bir kısmı kesilecektir ve "myprogram.png" dosyasını yüklerken, istenen adrese "/ usr / share / pixmaps" adresine girer. Böylece, her bir dosya için gerekli dizinler oluşturulmalıdır.

Dizini oluşturduktan sonra, yalnızca DPKG-DEB, gerekli parametreleri geçer. En gerekli DPKG-DEB parametreleri "DPKG-Deb Yardımcı Programı için Komut Satırı Ayarları" nda açıklanmıştır. Kontrol dosyasındaki hataların yokluğunda, kurulum paketi oluşturulacaktır.

Programları yüklemenin birkaç yolu vardır. Neredeyse herkesin ortak bir parçası var - kaynakları açmak için:

Tar xvfj mega_app.tar.bz2.

Tar xvfz mega_app.tar.gz.

Komutunu çalıştırmak ./yapılandır., sonra yapmak. Bu komutlar, kaynak kodu yürütülebilir dosyalardan, kütüphanelerden ve TP'den oluşturmak için kullanılır.
Ayrı ayrı, ilk komutu belirlemeye değer - ./yapılandır.
Eğer yaparsan ./configure - help.Ardından, iletilebilecek parametrelerin bir listesini alacaksınız. ./yapılandır.
Örneğin, böyle bir komut genellikle mümkündür:

./configure --prefix \u003d / opt / mega_app

Veya bir nedenden ötürü kendisini bulamadığı kütüphanenin yolunu belirtin:

./configure --kerberos-lib \u003d / opt / kerberos / lib

Klasik.
Böylece bir sıra yapıyoruz:

./configure yapmak

Ve sistemdeki programın tüm bileşenlerini belirleyen ekip:

Yüklemek

UYARI !!! Bu yöntemi kullanarak gelecekte çok ciddi sorunlar elde etmek kolaydır. İlk olarak, büyük olasılıkla, programı silemeyeceksiniz (kaldırma).

Checkinstall programını kullanıyoruz.
Doğru yol. Toplam kısmı tamamladıktan sonra, başlarsınız:

Programın kendisi size her şeyi soracak ve her yere enter tuşuna basabilirsiniz.
adam Checkinstall Ayrıca çok iyi yol :))

Debian için kaynak kaynakları olan bir paket oluşturun.
Bu ayrı ve zorlu bir yoldur - Deb-Paketler (veya başka herhangi bir) oluşturmanın birçok yönü ile başa çıkmanız gerekir. Burada bu yol tamamen tarif edilmeyecektir, yalnızca zaten eğitimli materyallerin bir paketinin nasıl birleştirileceğine dair bir örnek.
Yani bir örnek. Packges.ubuntu.com adresine gidiyoruz, istediğiniz paketi (örneğin farklıyız) buluruz ve iki dosya indirin (http: //archive.ubuntu.com/ubuntu/pool/main/d/difutils/difutils_2.8.1. O ...) ve yama, kaynakları düzeltecek ve içindeki sihirli dosya kurallarına sahip bir Debian klasörü oluşturacak (http: //archive.ubuntu.com/ubuntu/pool/main/d/difutils/difutils_2. 8.1-1 ...).
Onları ~ / Test klasörüne kopyalayın ve kaynakları açmaya başlamak için:

TAR XVFZ diffutils_2.8.1.orig.tar.gz.

Ve sonra yamayı bırakın:

CD Diffutils-2.8.1 / gzip -cd ../diffutils_2.8.111ubuntu4.diff.gz | Yama -p1

Şimdi yapmalısın debian / Kurallar. Yürütülebilir:

Chmod + x Debian / Kurallar

Ve paketi topla:

Fakeroot Debian / İkili Kurallar

Fakeroot'un normal kullanıcı tarafından bir paket oluşturmak için gereklidir (genellikle gereken birçok işlem bir paket yapmanıza izin vermez).

Ls ../ diff_2.8.1-11ubuntu4_i386.deb diffutils-2.8.1 diffutils_2.8.111ubuntu4.diff.gz diffutils_2.8.1.orig.tar.gz

Gördüğünüz gibi, paket hazır.

Veya Debian:

wGET Adı package.dsc, package_name.diff.gz adı, paket adı.orig.tar.gz dpkg-source -x_pack_name.dsc cd. • _packet / dpkg-buildpackagerfakeroot

Sonuç
Hala yöntemler var - baştan sona bir paket yap. Dağıtımından paketler oluşturmak ve bu süreci ve buna göre çalışmak için bir el kitabı almamız gerekiyor. Paketleri çok, iyi ve gerekli hale getirin. İyi bir montaj yaptıysanız - dağıtımı geliştiricilere atın, ilgili kişiyi destekleyin. Sizin tarafınızdan desteklenen bir paketin bile dünyanın her yerinde kullanışlı yüzlerce insanın gelebileceğini unutmayın.

Küçük bir mola vereceğiz ve site optimizasyonu hakkındaki videoya bakacağız: