özgür dünya

Özgür bir dünya için karalamalar

debian etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
debian 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:
Package: bash
Essential: yes
Status: install ok installed
Priority: required
Section: shells
Installed-Size: 1588
Maintainer: Ubuntu Developers 
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
Tü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.
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 Dosya
Dolayı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/control
Bu 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.

Debianda tek pencere GIMP kullanmak

Debian'ın kararsız ve deneysel sürümleri de dahil 2.7 sürümüyle birlikte gelen tek pencereli GIMP özelliği malesef yoktu. Bunun için başka bir depodan indirmemiz gerekmekte. Bunun için gedit /etc/apt/sources.list komutuyla depo ekleme dosyasını açarız. Ve aşağıdaki depoları kullandığımız sürüme göre ekleriz.


Squeeze için:
deb http://notesalexp.org/debian/squeeze/ squeeze main

Wheezy için:
deb http://notesalexp.org/debian/wheezy/ wheezy main

Sid için:
deb http://notesalexp.org/debian/sid/ sid main

Daha sonra burdaki satırlar ile apt anahtarı ve gimp2.7'yi kurarak tek pencere modlu gimp keyfini yaşayabilirsiniz.

wget -O - http://notesalexp.org/debian/alexp_key.asc | sudo apt-key add -

apt-get install gimp2.7


ek not1: ilk kurulumda libgimp paketi bende sorun çıkarttı. eski libgimp2.0'ı silip yeniden denerseniz sorun kalmaz.

ek not2: sistem her açılışında çok pencere modlu açılıyor(son açışımda bu sorun olmadı). menübardan windows > single-window mod'u açmanız gerekiyor.

ek not3: ayrıca şuan yüklendiğinde 2.7.5 geliştirme sürümü yüklenmekte.

Debian Türleri

Öncelikle debian'a tamamen yabancı olanlar için bir şeyler karalamak istedim. Debian ana hattıyla kararlı, deneme ve kararsız diye 3 tür üzerinden yayın yapmakta.  

Kararlı sürümler genel anlamıyla 2-3 yılda bir çıkan, ve adından da anlaşıldığı üzre kararlı duran sürümlerdir.  

Deneme sürümler ise kararlı sürüm üzerine yapılan deneme paketlerin olduğu ama nispeten masaüstü kullanıcıları için yeterli ve güzel bir debian türüdür. Genellikle haftada 1 filan güncellenmektedir.

Kararsız sürümler ise her güncellenen paketin dağıtıldığı sistemlerdir. Tamamen macera ve geliştirme için kullanılabileceği söylenebilir.

Debian'a geçiş

Sınavlarım henüz bitmemesine rağmen ubuntu'daki özgürlüğü kısıtlayıcı bazı nedenlerden dolayı emektar laptopumda debian kullanmaya başlamayı düşünüyorum. zaman olarak da sanırım bu haftasonu ve daha sonrasında 10 gb'lık deneme alanımda bunu uygulamak istiyorum. duruma göre ubuntu yerine de kullanacağım. Şimdilik temel anlamda yalnız bunları söylemek istedim. Bir sonraki yazımda da hangi debian yansımalarının ne anlama geldiğini internetteki yorumlardan derlenmiş biçimde paylaşacağım.