paket etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
paket etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Debian tabanlı sistemler için paket oluşturma - 1
Debian tabanlı sistemler, yazılımların kurulabilmesi için "dpkg" (Debian PacKaGe) isimli yazılım kullanmaktadır. Günümüz kullanımlarında ise daha çok APT (Advanced Package Tool) isimli DPKG'yi yöneten "Paket Yönetim Sistemi" daha fazla duyulmaktadır. Özetle APT (aptitude, dselect, Ubuntu Software Center vb.) DPKG'nin en çok kullanılan önyüzlerinden birisidir. Kendi içerisinde paketlerin kurulması için kullandığı depo mantığı da bulunmaktadır. DPKG ise depo kavramından bağımsız Debian Paket Yapısı ile ilgilenmektedir.
Özet bilgi sonrasında bu yazıda APT ile ilgili bir konuya girilmeyeceğini belirtmek isterim. Bir debian sistemde Debian standartlarına ve paketlerine göre kurulan yazılımları "dpkg -l" komutu ile öğrenebilmektesiniz. Burada gördüğünüz paketlerden herhangi birisi için "-s" komutu kullanarak ilgili paketin detay bilgilerini öğrenebilirsiniz. Örneğin "dpkg -s bash" gibi. Bu çıktı, kontrol dosyası olarak yeni bir paket oluştururken girdiğiniz bilgileri vermektedir. Örnek bir çıktı aşağıdaki gibidir:
Bu makalede temel bileşenleri anlatmak istediğim için şimdilik yarıda kesiyorum. Makalenin devamında detaylı içerikler eklenecektir. Daha ileri makalelerde ise APT aracı ve depo yönetim süreçlerinden bahsedeceğim.
Özet bilgi sonrasında bu yazıda APT ile ilgili bir konuya girilmeyeceğini belirtmek isterim. Bir debian sistemde Debian standartlarına ve paketlerine göre kurulan yazılımları "dpkg -l" komutu ile öğrenebilmektesiniz. Burada gördüğünüz paketlerden herhangi birisi için "-s" komutu kullanarak ilgili paketin detay bilgilerini öğrenebilirsiniz. Örneğin "dpkg -s bash" gibi. Bu çıktı, kontrol dosyası olarak yeni bir paket oluştururken girdiğiniz bilgileri vermektedir. Örnek bir çıktı aşağıdaki gibidir:
Package: bash Essential: yes Status: install ok installed Priority: required Section: shells Installed-Size: 1588 Maintainer: Ubuntu DevelopersTüm maddeler için ayrı ayrı değerlendirme yazılabilir ama şuan için minimal gereksinimlerle başka bir pakette neler olabileceğini göstermek istiyorum. Daha doğrusu bir paket geliştirecekseniz aşağıdaki gibi bir "control" dosyası oluşturmanız gerekiyor.Architecture: amd64 Multi-Arch: foreign Version: 4.4.18-2ubuntu1.2 Replaces: bash-completion (<< 20060301-0), bash-doc (<= 2.05-1) Depends: base-files (>= 2.1.12), debianutils (>= 2.15) Pre-Depends: libc6 (>= 2.15), libtinfo5 (>= 6) Recommends: bash-completion (>= 20060301-0) Suggests: bash-doc Conflicts: bash-completion (<< 20060301-0) Conffiles: /etc/bash.bashrc 3aa8b92d1dd6ddf4daaedc019662f1dc /etc/skel/.bash_logout 22bfb8c1dd94b5f3813a2b25da67463f /etc/skel/.bashrc 1f98b8f3f3c8f8927eca945d59dcc1c6 /etc/skel/.profile f4e81ade7d6f9fb342541152d08e7a97 Description: GNU Bourne Again SHell Bash is an sh-compatible command language interpreter that executes commands read from the standard input or from a file. Bash also incorporates useful features from the Korn and C shells (ksh and csh). Bash is ultimately intended to be a conformant implementation of the IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2). . The Programmable Completion Code, by Ian Macdonald, is now found in the bash-completion package. Homepage: http://tiswww.case.edu/php/chet/bash/bashtop.html Original-Maintainer: Matthias Klose
Package: ornekpaket Version: 1.4.0-b2 Maintainer: Ali Orhun <ali@orhun.org> Description: Deneme paketi açıklaması Homepage: https://github.com/aliorhun/deneme Architecture: amd64 Depends: git, python3 (>=3.5)Bu kontrol dosyası cebimizde dururken bir debian paketi için nelerin minimum olarak gerektiğini de belirtelim isterseniz. İlgili paket için aşağıdaki gibi bir yapı gerekmektedir.
ornekpaket-1.4.0-b2/ # Ana Dizin └── DEBIAN/ # Standart Gerekli Dizin └── control # Standart Gerekli DosyaDolayısıyla anladığımız kadarıyla paketimiz için bir klasör oluşturmamız ve ilgili klasör içinde DEBİAN isimli bir klasör oluşturup içerisine yukarıdaki gibi bir "control" isimli dosya oluşturmanız gerekmektedir.
mkdir -p ornekpaket-1.4.0-b2/DEBIAN echo """Package: ornekpaket Version: 1.4.0-b2 Maintainer: Ali Orhun <ali@orhun.org> Description: Deneme paketi açıklaması Homepage: https://github.com/aliorhun/deneme Architecture: amd64 Depends: git, python3 (>=3.5)""" > ornekpaket-1.4.0-b2/DEBIAN/controlBu adıma geldiyseniz sadece git ve python3 paketinin yüklenmesini zorunlu tutan bir ornekpaket uygulamasını deb paketi haline getirmek için bir eksiğiniz kalmadı. Bunun için aşağıdaki komut ile paketi oluşturabilirsiniz:
dpkg -b ornekpaket-1.4.0-b2 ./ornekpaket-1.4.0-b2.deb
veya
dpkg-deb --build ornekpaket-1.4.0-b2/pre> Bu komut çıktı olarak ornekpaket-1.4.0-b2.deb isimli dosyayı çıkartır ve kurulmaya hazır bir halde çalıştırılmayı beklemektedir. Paketin içerisindeki bilgileri görmek için ise "-I" parametresini kullanabilirsiniz.
dpkg -I ornekpaket-1.4.0-b2.deb
Yanlışlıkla "-i" parametresini kullanırsanız paketi kuracağınızı unutmamalısınız. Makalenin başında belirttiğimiz "-s" parametresi ise kurulu paketlerin tam adının yazıldığı durumu içermekte idi. "-I" paramertesi ise ".deb" paketi içindeki bilgilendirmeyi yaptığını unutmayın.
Bu makalede temel bileşenleri anlatmak istediğim için şimdilik yarıda kesiyorum. Makalenin devamında detaylı içerikler eklenecektir. Daha ileri makalelerde ise APT aracı ve depo yönetim süreçlerinden bahsedeceğim.
Kaydol:
Kayıtlar
(
Atom
)