16
Kas

Son girdimden sonra uzun zamandır günlüğüme bir şey yazmamışım. Önemli gelişmeler hakkında kısa kısa bilgi vereyim:
* Artık eskisi kadar Pardus’a gereken ilgiyi gösteremiyorum, bazen benim geliştiricilik hayatımdaki yalnızlığımı farkeden arkadaşlar özel bir eposta atıp “Size yardımcı olmak istiyoruz, biz de katkıcı olmak istiyoruz.” şeklinde isteklerde bulunuyorlar. Birçoğuna cevap veremedim bile; ama darılmasınlar. Ne ben geliştiriciliği bıraktım, ne de sizin geliştirici olmanızda hiçbir şekilde engel yok. Önce Pardus wiki’sindeki geliştirici belgelerini okumakla başlayın[1], sonra da birilerinin size bir şeyler yaptırmasını beklemeksizin biran evvel faaliyete geçin. Hata yapmaktan da çekinmeyin. Önemli olan, geliştiriciler sizden hatanızı düzeltmenizi istediğinizde, o hatayı bir daha yapmamak için elinizden geleni yapmak.

* İstanbul’da güzel bir yerde çalışmaya başladım. Hayatımın çoğunu artık İstanbul’da geçiriyorum. Eskişehir’de artk çok bir işim kalmadı. işimin Python ve web işleriyle ilgili olması biraz benim şansıma denk geldi. Yıllardır içimde biriktirdiğim Python ile bir web uygulaması yapma enerjisini artık güzel sonuçlar doğurması umuduyla tüketiyorum.

* Puding’le[2] de iş yoğunluğundan dolayı ilgilenemiyorum; ama ileride sürpriz yapma olasılığım var. Bunun yanında Twity[3] ile ilgili ilerleyen zamanlarda güzel gelişmeler duyacağınızı umuyorum.

* Kimseye kırgın, dargın veya üzgün değilim. Her şey olması gerektiği gibi ve her şey yerli yerinde.

* C++ öğrenmeye devam =)

[1]: http://tr.pardus-wiki.org/Pardus:İçindekiler#Geli.C5.9Ftirici_.2F_teknik
[2]: http://github.com/gkmngrgn/puding
[3]: http://github.com/tunix/twity

13
Eki

Geçtiğimiz haftalarda kendime 4GB’lik bir parmak bellek aldım. Bu belleğe çalışan bir linux kurmak gibi bir niyetim vardı. Pardus 2009′un çalışan cd’si çıkmış olsaydı kuracaktım bellek başına ve gittiğim yerlerde kullanacaktım. Fakat henüz çıkmadı pardus 2009 çalışan cdler. pardusman ile kendim yapayım dedim. Ama o imajın hazırlanması öyle uzadı ki benim o kadar vaktim yoktu! Ayrıca boyutun yaklaşık 1 cd olmasını isterken o biraz fazlaca büyüdü!

Pardusu usb’me kurmaktan vazgeçtim. Evimdeki bilgisayarda pardus vardı ve bu bana yeterdi. Usb’ye xubuntu kurdum. Çalıştı çok güzel bir şekilde. Kurdum derken sabit diske kurar gibi ciddi ciddi kurdum :D xubuntu için belleğimin 2.5 gb’lik kısmını ayırmıştım. xubuntu’ya güncelleme yaptım ve bazı yazılımlar kurdum derken bir baktım 200 küsür mb’lik veri indirmişim! Neyse işlemlerimi yaptım derken sistemi yeniden başlatayım dedim. Sistemi yeniden başlattıktan sonra nedense xubuntu açılmaz oldu. Yine zamanım olmadığı için xubuntu üzerine çok uğraşamadım.

Neticede xubuntu’dan da vazgeçtim. Bu arada başka dağıtımları inceliyorum sürekli. Slax kullanayım dedim fakat içindeki xfce sürümü 4.4.3 idi. Şuan ki xfce sürümü 4.6.1. Yani slax birazcık eski xfce kullanıyor. Birisinden sakın arch kurma sistem bomboş geliyor gibi bir söz duymuştum. Usb’ye yakışır bir sistem :D Araştırdım cidden sistem kurulumuyla gelen bir masaüstüsü yok ama daha sonradan kurabiliyorsunuz istediğinizi. Paket sistemi de pacman. Pacman paketçi adam der gibi :D Neyse indirdim bir iso yazdım cd’ye. Tabi masaüstü falan olmayınca sistem kurulum cd’si de küçük oluyor. Neyse usb’me kuracağım arch’ı. Fakat xubuntu kuruluyken edindiğim bir tecrübe ile fat32 olarak biçimleyeceğim ve windowslu sistemlerde görebileceğim kısım disk başında olmalı yoksa windows’tan fat32′li bölüme ulaşamazsınız.

Buradaki belgeyi baştan sona birkaç kez okuyup(2 ya da 3) notlarımı aldıktan sonra Ya Allah deyip başladım archlinux kurulumuna. Belgede gördüğüm kadarıyla(sizinde göreceğiniz gibi :D ) kurulum konsol tabanlı olduğundan biraz ürkütücü görünüyor. Neyse belgede yazanları aynen uyguladım. Sistemi tekrar başlatmam gerekti 1 kere sonra tekrar devam ettim kuruluma. Kurulumda önemli bir nokta var onu hemen belirteyim de siz de zorluk çekmeyin. Burada keymap’ı eklemenizi istiyor. Tamam onda sorun yok ama eğer usb diskinize kurulum yapıyorsanız oraya birde usb eklerseniz sistemi sadece kurmakla kalmayıp birde açılışına şahit olursunuz. Kurulumda yanlış hatırlamıyorsam eklediğim tek şey usb yazmaktı kurulum belgesine ilave olarak. Yok birde grub ayarında hd(1,1)’deki ilk 1′i 0 yapmıştım. Onun sebebi de usb kurulum sırasında 1. disk olarak görülüyor(0.’sı sabit diskim) Fakat grub usb’den açılırken usb 0. disk olarak görülecek ve 0. diskin 1. bölümüne(arch burada) bakılacak(hd(0,1)).

Sistem açılınca hemen güncelleme yaptım. yaklaşık 150 mb mi neydi tam hatırlamıyorum güncelleme indirdi pacman. xorg’u xfce’i ve gdm’yi kurdum ilk olarak. Konsolla fazla içli dışlı olunca insanın içini karartabiliyor! Gdm’den xfce’i açınca siyah ve beyaz dışındaki renkleri’de görerek gözlerime bayram ettirdim. İşime yarayacak yazılımları pacman aracılığıyla kurdum. Güzel şey şu pacman. Sonuç olarak xfce’li hafif mi hafif bir usb’m oldu :D

Daha sonra bu usb’yi başka bilgisayarlarda deneyelim dedim. İlk denediğim 2 bilgisayarın usb’den çalıştırma desteği yokmuş. Sonraki denediğim bilgisayarda grub beni karşıladı. Uygun yerden arch’ı başlatıyordu ki bir problemle karşılaştık! Bu bilgisayardaki sabit diskler ile benim bilgisayarımdakiler benzer sayıda olmadığından mıdır nedir kök dizini bağlayamadığı için sistem açılamadı! Biraz önce de bu problemi çözmek adına fstab ile çeşitli oynamalar yapıyordum ve mutlu sona ulaştım.

Fstab dosyasında bağlanacak aygıtlar /dev/sdxy şeklinde gösterilmişti. İnternette araştırma yaparken UUID diye bir şeyler gördüm. Bu bana bir yerden tanıdık geldi. Grubdan tanıdık geldi. Grub’a ayar çekerken “/dev/disk/by-uuid/…….” diye bir yer görmüştüm. İşte bunu fstab’da /dev/sdxy yerine UUID=….. şeklinde yazınca işlemin tamamlanmış olması gerekiyordu. Ben ayrıca fat32′li bir bölüm de oluşturduğum için bu bölümünde bu yöntemle bağlanmasını istiyordum. Fakat gel gör ki nedense fat32′li bölüm UUID ile bağlanmadı! Bu arada bölümlerin uuid’lerini öğrenmek için “ls -l /dev/disk/by-uuid/” komutunu tırnaksız olarak konsola vermelisiniz. Neyse benim fat32′li bölüm nedense bu yöntemle bağlanamadı. Madem UUID yemiyor bende LABEL yaparım dedim ve fat32′li bölüme mtools ile bir LABEL atadım. fstab’a bunuda ekledim ki açılışta bağlansın beni uğraştırmasın :D Ve şuanda gayet güzel çalışan archlinux’lu usb’m ile blog girdisi oluşturuyorum :D

Pacman pacman diyorum da bu pacman iyi hoş da indirdiği verileri biriktiriyor. Aslında benim istediğim de tam olarak bu. Fakat ben zaten 2 gb yer ayırmışım arch’a birde paket kurulum dosyaları burayı işgal ederse bu 2 gb çabucak dolar! Hemen pacman’in ayar dosyasıyla oynayarak deposunu fat32′li bölüme aldım. Fat32′li bölümden de uygun zamanlarda sabitdiskime alarak usb’mde yer açıyorum. İyi oluyor yahu :D

Bu yazıyı yazmamdaki amaç archlinux’u usb belleklerine kuracak kimselerin nelere dikkat etmeleri gerektiğini yaşayıp tecrübe edip paylaşmak istemem.

Geçtiğimiz haftalarda kendime 4GB'lik bir parmak bellek aldım. Bu belleğe çalışan bir linux kurmak gibi bir niyetim vardı. Pardus 2009'un çalışan cd'si çıkmış olsaydı kuracaktım bellek başına ve gittiğim yerlerde kullanacaktım. Fakat henüz çıkmadı pardus 2009 çalışan cdler. pardusman ile kendim yapayım dedim. Ama o imajın hazırlanması öyle uzadı ki benim o kadar vaktim yoktu! Ayrıca boyutun yaklaşık 1 cd olmasını isterken o biraz fazlaca büyüdü!

Pardusu usb'me kurmaktan vazgeçtim. Evimdeki bilgisayarda pardus vardı ve bu bana yeterdi. Usb'ye xubuntu kurdum. Çalıştı çok güzel bir şekilde. Kurdum derken sabit diske kurar gibi ciddi ciddi kurdum :D xubuntu için belleğimin 2.5 gb'lik kısmını ayırmıştım. xubuntu'ya güncelleme yaptım ve bazı yazılımlar kurdum derken bir baktım 200 küsür mb'lik veri indirmişim! Neyse işlemlerimi yaptım derken sistemi yeniden başlatayım dedim. Sistemi yeniden başlattıktan sonra nedense xubuntu açılmaz oldu. Yine zamanım olmadığı için xubuntu üzerine çok uğraşamadım.

Neticede xubuntu'dan da vazgeçtim. Bu arada başka dağıtımları inceliyorum sürekli. Slax kullanayım dedim fakat içindeki xfce sürümü 4.4.3 idi. Şuan ki xfce sürümü 4.6.1. Yani slax birazcık eski xfce kullanıyor. Birisinden sakın arch kurma sistem bomboş geliyor gibi bir söz duymuştum. Usb'ye yakışır bir sistem :D Araştırdım cidden sistem kurulumuyla gelen bir masaüstüsü yok ama daha sonradan kurabiliyorsunuz istediğinizi. Paket sistemi de pacman. Pacman paketçi adam der gibi :D Neyse indirdim bir iso yazdım cd'ye. Tabi masaüstü falan olmayınca sistem kurulum cd'si de küçük oluyor. Neyse usb'me kuracağım arch'ı. Fakat xubuntu kuruluyken edindiğim bir tecrübe ile fat32 olarak biçimleyeceğim ve windowslu sistemlerde görebileceğim kısım disk başında olmalı yoksa windows'tan fat32'li bölüme ulaşamazsınız.

Buradaki belgeyi baştan sona birkaç kez okuyup(2 ya da 3) notlarımı aldıktan sonra Ya Allah deyip başladım archlinux kurulumuna. Belgede gördüğüm kadarıyla(sizinde göreceğiniz gibi :D) kurulum konsol tabanlı olduğundan biraz ürkütücü görünüyor. Neyse belgede yazanları aynen uyguladım. Sistemi tekrar başlatmam gerekti 1 kere sonra tekrar devam ettim kuruluma. Kurulumda önemli bir nokta var onu hemen belirteyim de siz de zorluk çekmeyin. Burada keymap'ı eklemenizi istiyor. Tamam onda sorun yok ama eğer usb diskinize kurulum yapıyorsanız oraya birde usb eklerseniz sistemi sadece kurmakla kalmayıp birde açılışına şahit olursunuz. Kurulumda yanlış hatırlamıyorsam eklediğim tek şey usb yazmaktı kurulum belgesine ilave olarak. Yok birde grub ayarında hd(1,1)'deki ilk 1'i 0 yapmıştım. Onun sebebi de usb kurulum sırasında 1. disk olarak görülüyor(0.'sı sabit diskim) Fakat grub usb'den açılırken usb 0. disk olarak görülecek ve 0. diskin 1. bölümüne(arch burada) bakılacak(hd(0,1)).

Sistem açılınca hemen güncelleme yaptım. yaklaşık 150 mb mi neydi tam hatırlamıyorum güncelleme indirdi pacman. xorg'u xfce'i ve gdm'yi kurdum ilk olarak. Konsolla fazla içli dışlı olunca insanın içini karartabiliyor! Gdm'den xfce'i açınca siyah ve beyaz dışındaki renkleri'de görerek gözlerime bayram ettirdim. İşime yarayacak yazılımları pacman aracılığıyla kurdum. Güzel şey şu pacman. Sonuç olarak xfce'li hafif mi hafif bir usb'm oldu :D

Daha sonra bu usb'yi başka bilgisayarlarda deneyelim dedim. İlk denediğim 2 bilgisayarın usb'den çalıştırma desteği yokmuş. Sonraki denediğim bilgisayarda grub beni karşıladı. Uygun yerden arch'ı başlatıyordu ki bir problemle karşılaştık! Bu bilgisayardaki sabit diskler ile benim bilgisayarımdakiler benzer sayıda olmadığından mıdır nedir kök dizini bağlayamadığı için sistem açılamadı! Biraz önce de bu problemi çözmek adına fstab ile çeşitli oynamalar yapıyordum ve mutlu sona ulaştım.

Fstab dosyasında bağlanacak aygıtlar /dev/sdxy şeklinde gösterilmişti. İnternette araştırma yaparken UUID diye bir şeyler gördüm. Bu bana bir yerden tanıdık geldi. Grubdan tanıdık geldi. Grub'a ayar çekerken "/dev/disk/by-uuid/......." diye bir yer görmüştüm. İşte bunu fstab'da /dev/sdxy yerine UUID=..... şeklinde yazınca işlemin tamamlanmış olması gerekiyordu. Ben ayrıca fat32'li bir bölüm de oluşturduğum için bu bölümünde bu yöntemle bağlanmasını istiyordum. Fakat gel gör ki nedense fat32'li bölüm UUID ile bağlanmadı! Bu arada bölümlerin uuid'lerini öğrenmek için "ls -l /dev/disk/by-uuid/" komutunu tırnaksız olarak konsola vermelisiniz. Neyse benim fat32'li bölüm nedense bu yöntemle bağlanamadı. Madem UUID yemiyor bende LABEL yaparım dedim ve fat32'li bölüme mtools ile bir LABEL atadım. fstab'a bunuda ekledim ki açılışta bağlansın beni uğraştırmasın :D Ve şuanda gayet güzel çalışan archlinux'lu usb'm ile blog girdisi oluşturuyorum :D

Pacman pacman diyorum da bu pacman iyi hoş da indirdiği verileri biriktiriyor. Aslında benim istediğim de tam olarak bu. Fakat ben zaten 2 gb yer ayırmışım arch'a birde paket kurulum dosyaları burayı işgal ederse bu 2 gb çabucak dolar! Hemen pacman'in ayar dosyasıyla oynayarak deposunu fat32'li bölüme aldım. Fat32'li bölümden de uygun zamanlarda sabitdiskime alarak usb'mde yer açıyorum. İyi oluyor yahu :D

Bu yazıyı yazmamdaki amaç archlinux'u usb belleklerine kuracak kimselerin nelere dikkat etmeleri gerektiğini yaşayıp tecrübe edip paylaşmak istemem.
2
May

Eğer Git hiç kullanmadıysanız, mutlaka önce araştırmanız, denemeniz, fikir sahibi olmanız gerekiyor. Aksi halde aşağıdaki yazdıklarımın size bir şey kazandıracağı konusunda endişeliyim =).

Git, Linus’un, Linux kernelinin geliştirilmesinde kullanmak amacıyla yazdığı bir hızlı sürüm kontrol sistemidir veya sürüm yöneticisidir. Piyasada birçok sürüm yöneticisi bulunmaktadır. Örneğin Pardus geliştiricileri paket yapımında Subversion kullanırlar, Archlinux’ta SVN CVS karışık kullanılmaktadır[1]. Her sürüm kontrol sisteminin birbirlerine göre üstünlükleri ve dezavantajları sözkonusudur. Eğer “Neden Git kullanmalıyım?” diye kendinize soruyorsanız, buna benim vereceğim pek tatmin edici bir cevabım yok; ama şöyle bir bağlantı var, gayet hoş:
http://whygitisbetterthanx.com/

Yalnız bu bağlantıda son madde olarak “Easy to Learn” yazmışlar, o konuda biraz tereddüt ettim, hele ki bayadır SVN kullanıyorsanız, kafanızın haylice karışması mümkün. Çevrimdışı depoda çalışma olayını ilk başta fena halde garipsemiştim. Ama Git’i hızlıca öğrenmek için mutlaka bir GitHub[2] hesabı açın, kurcalayın, alıştırmalar yapın. Şimdi gelelim Gitosis’e..

Gitosis, Git sunucusu kurmanın en güzel yoludur. Bir depo oluşturuyorsunuz, bu depoda görev alacak kullanıcıları (ssh genel anahtarlarını) ekliyorsunuz ve böylece git clone ile depoyu indirip çalışma arkadaşlarınızla ortaklaşa bir yazılım geliştirme fırsatı elde etmiş oluyorsunuz. Ama..

Ama gitosis, sadece izinleri verilmiş kullanıcılar tarafından deponun klonlanmasını sağlayabiliyor. Başka türlü sizden sunucudaki gitosis kullanıcısının şifresini soruyor. Belki gitosis ile oluşturulan depoda sunucu tarafında git daemon export ok komutunu çalıştırmak bunun için işe yarayabilir, henüz deneme fırsatım olmadı. Şimdi gelelim gitosis’in nasıl kurulacağına..

Öncelikle gitosis bağımlılıkları olarak dağıtımınızın paket yöneticisinden git, python ve setuptools’u kurmalısınız. Ayrıca sunucuyla bağlantıyı sağlayabilmek ve gitosis erişim hakkına sahip olabilmek için de SSH kurmanız ve openssh servisini çalıştırmanız gerekir. Bunları kurduktan sonra, gitosis deposundan gitosis’i git’le indiriniz (Nasıl cümle ama?):

$ git clone git://eagain.net/gitosis.git

gitosis dizinine girin. O dizinde root olarak şu komutu verin:

# python setup.py install

Kurulum bu kadar. Ama gitosis için kullanıcı adı ve grup eklemeniz gerekiyor. Bu kısım Pardus kullanıcılarının canını biraz sıkabilir; çünkü her baselayout güncellemesinde bu adımı tekrar tekrar yapacaklar[3]. Sebebi, kullanıcı ve grup bilgilerini tutan dosya baselayout’tan çıkıyor ve siz güncelleme yaptıkça o dosyanın üzerine, yeni baselayout paketinden çıkan dosya yazılacak. Kullanıcı ve grup oluşturma işlemi için root olarak şöyle yapıyorsunuz (Eğer dağıtımınızda /srv dizini bulunmuyorsa /var/spool/gitosis olarak deneyin.):

# mkdir /srv/gitosis
# groupadd -r gitosis &> /dev/null
# useradd -r -m -k /dev/null -g gitosis -d /srv/gitosis -s /bin/sh gitosis &> /dev/null
# chown gitosis:gitosis /srv/gitosis

Kullanıcı ve grubu oluşturduk, gerekli izinleri ve sahiplikleri ayarladık. Bundan sonraki adımımız gitosis’le depo kurulumuyla ilgili olacak. Burada bazı şeyleri açıklığa kavuşturmam gerek. Gitosis’in kurulu olduğu sunucu, bu sunucudaki zorunlu gitosis kullanıcı hesabı, gitosis kullanıcı hesabı dışında herhangi bir gitosis depo yöneticisi olan herhangi bir kullanıcı hesabı ve gitosis depolarına erişimi olan kullanıcılar; işte bunların hepsini birbirlerinden bağımsız olarak ele almanız gerekli. Yani tutup da ben gitosis kullanıcısı açmışım, hem gitosis kullanıcısıyla depo yöneticisi, hem kullanıcı, hem de depoları sunucudan yönetirim diye bir mantık sakın yürütmeyin. Hem güvenli olmayacaktır, hem de muhtemelen bundan sonra yazacaklarımda başarısız olacaksınız. Bu sebeple, gitosis kullanıcısını kullanmayın, hatta parolası bile olmasın, o kullanıcının.

Depo oluşturmaya başlamadan önce, bir depo yöneticisi belirleyin. Benim tavsiyem, sıklıkla kullandığınız bilgisayardaki kullanıcı hesabınız depo yöneticisi olsun. Sunucuda ayrı bir kullanıcı hesabı açmanıza gerek yok; ama zaten sunucuda da size özel bir kullanıcı hesabı varsa, onu da yönetici yapabilirsiniz. Nasıl olsa birden fazla makine veya kullanıcı hesabına da depo yöneticiliği yetkisini sonradan verebiliyorsunuz. Depo yöneticisi olarak seçtiğiniz kullanıcının ssh genel anahtarını sunucuya, “kullanıcı adı @ yerel adres . pub” adıyla gönderin. Örneğin benim bilgisayarımın adı archer, kullanıcı adım gkmngrgn, dolayısıyla ssh genel anahtar adını da gkmngrgn@archer.pub olarak kaydediyorum. Ssh genel anahtar dosyasını herhangi bir metin düzenleyicisiyle açıp satırın sonuna bakarak da nasıl kaydetmeniz gerektiğini öğrenebilirsiniz.

Eğer ssh genel anahtarı oluşturmadıysanız, depo yöneticisi olacak kullanıcı hesabıyla:

$ ssh-keygen -t dsa

komutuyla oluşturabilirsiniz. Soruları geçiş (enter) tuşuna basarak esgeçebilirsiniz. Bu komuttan sonra ~/.ssh/ içinde, id_dsa.pub adıyla bir genel anahtar oluşacaktır. Bu anahtarın ismini biraz önce anlattığım biçimde değiştirin ve sunucuya gönderin. Sonra da aşağıdaki komutla gitosis depolarını oluşturun:

$ sudo -H -u gitosis gitosis-init < /depo/yoneticisi/olacak/kullanicinin/genel/ssh/anahtari.pub
$ sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

Evet, gitosis kullanıcısının ev dizininde gitosis ve repositories adında iki alt dizin oluştu ve post-update için gerekli izinleri verdik. Şimdi depo yöneticisi olan kullanıcı hesabınızla gitosis-admin deposunu klonlayın:

$ git clone gitosis@:gitosis-admin.git

Bu işlemin ardından, komutu verdiğiniz dizinde gitosis-admin isminde bir dizin göreceksiniz. Onun içinde de bir adet gitosis.conf, bir adet de keydir dizini göreceksiniz. Yetkiler ve depolarla ilgili yapılandırmanın yapıldığı gitosis.conf dosyasının bir örneğini gösterelim:

[gitosis]

[group developers]
members = gkmngrgn@gacer ggorgen@ggorgen-pardus
writable = example

[group admins]
members = ggorgen@ggorgen-pardus gkmngrgn@gacer

[group gitosis-admin]
writable = gitosis-admin
members = @admins

Tek tek açıklayalım; gitosis-admin grubunda yer alan ayarlar, depo yöneticilerinin belirlenmesi ve depo ismiyle ilgili ayarlar. @admins, bir nevi admins değişkeni olarak düşünülebilir ve admins grubunda belirtilen üyeleri döndürüyor. developers grubunda yer alanlar ise, example isimli bir dizinin oluşturulması ve bu example dizinine kimlerin erişebildikleri ile ilgili ayarlar oluyor. Bir depo oluşturmak için gerekli örnek developers dizinidir. Şimdi, bu grupta depoya adını verdiğimiz example ismiyle yerel bir git deposu oluşturalım:

$ mkdir example
$ cd example
$ git init
$ echo "First file." > README # Bunu yazmasanız da olur, örnek bir dosya sadece.
$ git add README
$ git commit -m "First commit on example repository."
$ git push origin master

Son komutla yerel depomuzu gitosis sunucusuna göndermiş olduk. Bundan sonra eşleştirmeler dosyalarınızı bu example dizininde tutabilir, değişiklikleri sunucuya gönderebilir ve benzer şekilde farklı git depoları da oluşturabilirsiniz.

Peki, buraya kadar tamam. Ne güzel git daemon export ok demeden sunucuya erişebiliyoruz, değişiklikleri yapabiliyoruz vesaire. E ama hem siz başka bir makineden ve hatta aynı makinede başka bir kullanıcıdan depoyu klonlayamıyorsunuz, hem de dolayısıyla ekip arkadaşlarınızla ortaklaşa bir uygulama geliştiremiyorsunuz, bunda bir terslik var değil mi?

Tabi ki bir terslik var. example'dan önce indirmiş olduğunuz gitosis-admin dizinine girin. İçindeki keydir dizinine, depoya erişim izni vermek istediğiniz kullanıcıların, bilgisayarların ssh genel anahtarlarını atın. Ama başta ssh oluştururken isimlere gösterdiğiniz titizliği bu anahtarlara da gösterin. Hede@hodo ise Hede@hodo.pub gibi. Daha sonra gitosis.conf dosyasında, example deposu veya herhangi bir deponun üyelerine (members) Hede@hodo (veya her neyse || kimse) olarak ekleyin. Böylece bir depoda ekip çalışması yapma işlemi için başka ek bir emek sarfetmek gerekmeyecek.

Yalnız ssh erişimi olmayan kullanıcıların da sadece depoyu indirebilmelerine izin vermek için, git daemon export ok komutunu araştırmanız, öğrenmeniz gerekecek. Son olarak, şu bağlantıları da incelemenizi tavsiye ediyorum:

http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way
http://forum.webfaction.com/viewtopic.php?id=2321
http://wiki.archlinux.org/index.php/Gitosis_Kurulumu

P.S. Gitosis denemelerimin hepsini Pardus 2009'da yaptım, Pardus'ta gayet güzel çalışıyor, gitosis ev dizini olarak /var/spool/gitosis ayarlayın..

[1]: Bu cümle hakkında yorumlarda Alper'in ek bilgisi var, yorumları okuyunuz.
[2]: http://github.com/
[3]: Bu cümle hakkında Türker'in eleştirisi var, yorumları okuyunuz.

13
Mar

Uzun bir aradan sonra nihayet Xfce-4.6 kararlı sürümünü Katkı deposuna aktardım. Beni yalnız bırakmayan, destek vereceklerini her fırsatta dile getiren arkadaşlara buradan sonsuz teşekkürlerimi sunuyorum.

Yanılmıyorsam Kasım’dan beri Xfce’nin yeni sürümünü kullanıyor, çeviri ekibiyle beraber çevirileri yapıyor, diğer dağıtımların da Xfce4.6′yi nasıl paketlediklerini ve ne gibi kararlar aldıklarını inceliyordum. Denediğim dağıtımlar; Xubuntu, Linux Mint (Xfce Community), Fedora (Xfce Spin), OpenSuse ve tabi ki halen kullanmış olduğum Arch Linux.

Xfce sürüm yöneticisi Stephan Arts da dahil birçok Xfce geliştiricisi Xubuntu kullanıyor ve ben hala neden Xubuntu kullandıklarını bilmiyorum. Gerçi bu arkadaşların bir kısmı Xubuntu geliştiricisi olduğu için kullanmak zorunda, diğer kısmı da kendi derledikleri paketlerle karışık halde Xfce kullanıyorlar. Ama Xubuntu’yu ilk kurduğumda ciddi ölçüde bir Gnome bağımlılığı beraberinde geliyor ve bunu pek anlamlı bulmuyorum. En azından Pardus’un örnek alabileceği cinsten bir dağıtım değil, bana göre.

Fedora’nın Xfce Spin’i ile Pardus’taki Xfce’nin durumu birbirlerine çok benziyor. Ama o da Xubuntu kadar olmasa da Gnome boyunduruğundan kurtulamamış. Bunu kötü eleştiri olarak algılamamanızı istiyorum, sadece tercih meselesi. Bence örneğin Gnome’un ağ programcığı yerine öntanımlı olarak Wicd kullanılabilirdi. Ama sanırım Fedora ile Wicd anlaşamıyorlar, pek incelemedim.

OpenSuse’nin komünitesi çok garip. Her ne kadar sonradan Gnome’a destek vermeye başlamış olsalar da, komünitede Gnome’u seven ve Gnome’dan anlayan bir kitleyi bulmak biraz zor. Masaüstü ortamı olarak Xfce’yi seçtiğiniz zaman giriş yöneticisi olarak XDM’yi seçmesi ilginç, ayrıca YaST’in Qt arayüzü yerine, görsel uyum için GTK+’nin öntanımlı olarak seçili gelmesi daha doğru olurdu sanki. Son olarak, nasıl ki Pardus’ta Kde’yi tamamen kaldırmak için birçok Pardus araçlarından feragat etmeniz gerekiyorsa (gerçi OpenOffice bir Pardus aracı değil; ama onu da feragat etmeniz gerekiyor, ilginç dimi..), OpenSuse’de Qt’yi kaldırmanız pek mümkün olmuyor. Bence Pardus’ta Xfce’nin durumu OpenSuse’den çok daha iyi.

Linux Mint’in Xfce sürümü tam anlamıyla takdir edilesi. Uzun zamandır Xfce’li Pardus kullanıyorum; Xubuntu, OpenSuse, Fedora beni tatmin edemezken, Linux Mint tam benim planladığım bir yol izliyor. Az bağımlılık için alternatiflere yönelmek konusunda oldukça başarılılar. Örneğin Gnome ağ programcığı yerine Wicd kullanıyor olmaları, OpenOffice yerine Abiword ve Gnumeric kullanmaları, metin editörü olarak da Geany ile Mousepad’i tercih etmiş olmaları vs. Ayrıca Xfce Mint Settings adında bir uygulama da mevcut ki, tam anlamıyla Pardus’taki Tasma tadında bir ayar yöneticisi.

Tabi bu denediğim dağıtımların hepsinde Xfce-4.4.3 vardı ve Pardus’ta Xfce’nin durumunu incelediğim zaman, DistroWatch’te ön sıralarda yer alan birçok dağıtımdan daha iyi durumda olduğumuzu görüyorum. Ama eksiklikleri yok değil..

Yazının başında da dediğim gibi, artık Xfce’nin 4.6 sürümü Pardus Katkı deposunda yerini aldı (Henüz depolar senkronize olmadan yazıyorum, fazla acele etmeyin =)) ve güncellemek için pisi up yapmak yeterli olacak. Geriye zamanla çıkabilecek ufak tefek hataları kapatmak ve xfce4-notifyd, midori, gigolo, xfce4-power-manager gibi yeni eklenti uygulamaların hemen paketlenip depoya aktarılması kalıyor. Bol Xfce’li günler.

Not: Arch Linux’ta Xfce izlenimini atladın diye merak ediyorsanız, işte cevabım: “Sadece Xfce ve bağımlılıkları kurulu geliyor, başka hiçbir marifeti yok ve asıl güzelliği de buradan geliyor”