Pazartesi, Mart 25, 2013

sudo apt-get update sorunu ve çözümü

Konsoldaki hata mesajı çıktılarını dikkatli bir şekilde okumamak büyük bir sıkıntı. Aylardır sürekli hata veren sudo apt-get update komutunda aşağıdaki hatayı alıp duruyordum, google'da aradığımda çıkan tüm yanıtları denedim ama nedense bir türlü sorunu çözememiştim. Bugün aklıma geldi tekrardan ve yeniden deneyip daha dikkatli bir şekilde arattım sorunu. Yanıtı çok basitti o sebeple "ben aylardır bunu çözemedim mi yani" diye bir sessizlik anı yaşamadım değil.

W: Failed to fetch cdrom://[Debian GNU/Linux 6.0.5 _Squeeze_ - Official Multi-architecture amd64/i386 NETINST #1 20120512-20:52]/dists/squeeze/main/binary-i386/Packages  Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs

E: Some index files failed to download. They have been ignored, or old ones used instead.




Görüldüğü gibi orada kocaman CD-ROM yazıyor, bense CD-ROM ne alaka diyerek hep atlıyordum. Sonuç olarak çözüm  şu şekilde oluyormuş

 
cd /etc/apt
sudo cp sources.list sources.list.old
gksu gedit sources.list


Burada içinde CD-ROM geçen satırı / satırları kaldırınca sorun çözülüyor. Benim gibi bakar-kör insanlar için hayat bazen çok zor olabiliyor.

Salı, Mart 19, 2013

GnomeOutreachProgramForWomen Başvuruları Başladı!

Merhabalar,
Gnome'un kadınlar için düzenlediği bu staj programını önceden bir yazımda paylaşmıştım. Bu programın yaz dönemi için başvurular başladı. 1 Mayıs başvurular için son gün. Program ile ilgili ayrıntılı bilgi burada.

Bence başvurma süreci bile insana çok fazla şey katıyor. Geçen sefer başvurduğumda son anda bir belgelendirme projesi için bir süre Gnome projesini başlatanlardan Federico Mena-Quintero ile çalışmıştım. O zaman Gnome'un belgelendirmelerini gözden geçirerek hem yeni şeyler öğrenmiş hem kullanıcı dostu belgelendirme için neler yapılabileceği üzerinde bir süre kafa patlatmıştım. Düşüncelerimden bazılarının hayata geçirilmeye başlanmasının güzel bir his olduğunu söylememe gerek var mı? :) Hatta mentorum benim 'analizlerim' (:P) üzerinde güncelleme yaptıklarını blogunda falan yazmıştı.

Ben haberi verdim kendimi vicdan azabından kurtarıyorum. Herkese başvuru sürecinde başarılar!

Cumartesi, Mart 09, 2013

Ders Günlükleri (1) - Kriptografi

Arada bir derslerde ne yaptığımızla ilgili bir şeyler yazayım diye düşünüyordum biraz önce, eğer böyle bir şeyler yazmaya başlayacaksam ilk Kriptografi dersiyle başlamalıyım diye düşündüm. Bir kere isme bakar mısınız, 'Kriptografi'. Ne kadar artistik değil mi? Resmen seç beni diye parlıyor ders seçimleri zamanında. İtiraf zamanı geldi. Aslında şu yazıyı sırf "Hocam gizli anahtarı nasıl karşıya iletiyoruz peki?" sorusu sebebiyle yazmak istedim. Bu konuya birazdan geleceğim.

Kriptografi dersinde şifreleme yöntemleri ve bu yöntemleri kırmanın mümkün olup olmayacağı ile ilgili şeyler görüyoruz diyebilirim. İlk hafta şifrelemenin nasıl başladığı, Sezar olsun, Arapların bulduğu harf/frekans analizi olsun gibi şeylerle başladık. Sonra sıra 300 yıl kırılamayan Vigenere şifresine geldi. Oradan İkinci Dünya Savaşı olsun Almanlar olsun Enigma dediğimiz müthiş makinalar olsun derse devam ettik. Ayrıca Tek Kullanımlık Şerit diye bilinen (One Time Pad) hiç  kırılamayan bir şifreleme yöntemini öğrendik. Şimdi hepsini burada detaylı anlatabilirim ama hepsinin vikipedi'de çok kapsamlı anlatımları olduğu için burayı boşuna doldurmak istemiyorum.O sebeple hepsinin vikipedi linkleri mevcut.

Derste simetrik (Gizli Anahtarlı Şifreleme) ve asimetrik Açık Anahtarlı Şifreleme) şifrelemelerin neler olduğunu öğrendik ve şu ana kadar sürekli simetrik şifreleme yöntemlerini işliyorduk. Simetrik şifreleme bir kutuyu kilitlediğin anahtarla aynı kutuyu açabilmen anlamına geliyor. Asimetrik şifreleme ise bir kutuyu bir anahtarla kilitleyebileceğin ama o kilitlediğin anahtarla o kutuyu açamadığın anlamına geliyor. Kutunun açılabilmesi için başka bir anahtar gerek. Simetrik şifreleme aslında oldukça başarılı bir yöntem fakat en büyük sorunu "kutuyu kilitleyen anahtarın aynı zamanda kutuyu açması" ve buna bağlı olarak anahtarı karşıya güvenli olarak iletmenin zor olması. Tabi biz ilk haftalarda sürekli anahtarı nasıl karşıya ileteceğiz diye düşünürken sınıfın kafasına bu kazınmış oldu.

Eğer bir dersi bir an için dinlemiyorsanız ve sonradan aklınıza bir soru geldiyse olabilecek en büyük sorun başkasının sorduğu soruyu tekrar sorma ihtimalidir bana göre. Geçtiğimiz günlerde bir asimetrik şifreleme yöntemi olan RSA'yı işlerken gizli anahtarı karşıya iletmemize gerek yok denmesine rağmen derste 3 defa "Peki hocam gizli anahtarı karşıya nasıl ileteceğiz?" diye sorulunca biraz garip oluyor elbette. Özellikle dersin içinde 2 defa sorulup dersin sonunda "sorusu olan var mı?" kısmına gelinince tekrar sorulması çok süper oldu :)

Bunu diyorum da bende böyle şeyler yapmıyor muyum sanki, gayet tabi yapıyorum. Ben bir şeyi hızlıca sonuca ulaştırmayı severim o sebeple arada bazı değişkenleri hesaba katmayı sık sık unuturum. Bu bana hızlı cevap avantajı kazandırsada dikkatsizlik ettiğim durumlarda cevabımın yanlış olması gibi bir dezavantaj oluşturuyor. Geçtiğimiz derste açık anahtarlı şifreleme yöntemlerinden olan Diffie-Hellman yöntemini gördük. Oldukça parlak bir fikir ve simetrik şifrelemedeki anahtar iletme sorunu için müthiş bir çözüm. Tabi bu yöntem ikiden fazla kişide kullanıldığında anahtar hesaplama işinin adımı artması gerekiyor. Fakat derste oturduk Emre'yle 1 defa hesaplansa yeterli olur mu yoksa herkes için hesaplanmalı mı diye düşünmeye. Ben 1 defa hesaplanırsa ikili ikili kullanılabilir olduğunu söyledim. (Emre bana öyle olmasının mantıksız olduğunu anlatmaya çalışıyordu ama ben bir süre direttim kendi fikrimde.) Ama benim bu düşüncemin toplu bir grup için kullanılabilirliği pek iyi olmuyordu. Sonunda benim yanlış düşündüğümü Necdet hoca ikiden fazla kişinin nasıl kullandığını anlatırken açıklamış oldu.

Bugün ne kadar çok blog yazasım geldi böyle. :P

LPI 101 Sınavı

Geçtiğimiz yazıda LPI sınavı ile ilgili bir yazı yazacağımdan bahsetmiştim ama bir türlü yazamamıştım. Dün sınav sonucumu öğrendiğime göre bi yazıda çifte mutluluk şeklinde ekonomik bir yazı çıkarabilir ortaya gibime geldi.

Ayrıntılı bilgiyi lpi.org adresinden (Türkçe olarak lpi-turkey.com adresinden) bulabileceğiniz gibi kısaca Linux Proffesional Institute tarafından verilen Linux Sistem Yönetimi sertifikalarından ilki için olan iki sınavın ilkine girdik geçtiğimiz günlerde. (Çok iyi anlattım çok güzel anlattım, tamam mı.) Bu sertifikaların dünya çapında geçerliliği olduğu gibi, sınavlarda sorulacak soruların uzman kişiler tarafından hazırlanmış soru havuzundan seçilmiş olması ve Linux sistem yönetimi ile ilgili bilinmesi gereken konularda en temel konular için bir kaynak oluşturması açısından çok iyi olduğunu düşünüyorum.

Sınava girmeden önce sınava girecek olan arkadaşlarla okulda konuları birbirimize anlatma yoluyla tekrar çalışmayı uygun bulduk. Gerçi ben bu çalışmaların son ikisini yakalayabildim ancak ama benim için çok yararlı oldu. Sınav sonuçları dün açıklandı ve geçtiğimi öğrendim. Geçtiğimi öğrendiğim ilk bir saat boyunca o kadar mutluydum ki kendim bile bu duruma şaşırdım diyebilirim. Ayrıca sonuçlarda ayrıntılı bilgi olması hangi konularda daha zayıf olduğumu daha iyi görmemi sağladı. Sonuç olarak paket yönetimi konusuna çalışmam gerekiyor. :P

Mayıs ayı gibi LPI 102 sınavına gireceğiz kısmetse ve bu sınavda da başarılı olursak ilk sertifikamızı almaya hak kazanacağız. İkinci sınav ilkine göre çok daha zor ve kapsamlı olacak. Şimdiden çok çalışmak gerekiyor.

Pazartesi, Mart 04, 2013

Linux Çekirdeği Derledim!

This post also available in English.

Heyecanlı başlığıma bakıp aldanmayın sakın öyle çok aşırı harika bir iş yapmadım işin doğrusu. Uzun süreden beri sıfırdan Linux kurmak gibi bir düşüncem vardı. Sıfırdan Linux kurmak için ingilizce Linux From Scratch diye bir site var. Orayı kendime referans alıp ablamın eski bilgisayarını bu eğitim emellerim uğruna kullanacaktım. Uzun bir süre ertelemek durumunda kaldım bu işi. Çünkü bu uzun sürecek bir iş (en azından benim için) ve o sebeple boş zamanımın çok olduğu bir anı bekliyordum. Her ne kadar dünyanın en meşgul insanı olmasamda bir türlü bu işe başlamak için gereken boşluğu bulamadım. Ama en son olduğumuz Linux 101 sertifika sınavından sonra daha fazla beklemenin anlamsız olduğunu düşünmeye başladım. (Sertifika sınavı ile ilgili bir yazı yazacağım ayrıca.)

Dün akşam bu işe başlamadan önce ilk olarak bir kernel (çekirdek) derleyip nasıl olduğuna bakayım dedim. İnternette bununla ilgili kaynak bulmak zor olmadı. (Gerçi Türkçe NASIL kaynağı baya eskiydi ama ubuntu forumunda güzel anlatımlar vardı.) Önüme kendi bilgisayarımdan 2-3 tane İngilizce ve Türkçe kaynak açıp diğer bilgisayarda kernel derleme işlemine başladım. Bununla ilgili dediğim gibi kaynak bulmak zor değil ama yaptığım adımları not aldım. Onlardan kısaca bahsedebilirim.

Öncelikle konsolda root oldum. Kernel.org adresinden en son kernel sürümünün (3.8.1) linkini kopyalayarak konsoldan

wget link 

komutuyla kerneli /usr/src altına indirdim.

tar xvjf kernel.tar.bz2 

komutunu kullanarak dosyayı açtım. Açma işlemi 1-2 dakika sürdü diye hatırlıyorum. Sonra kernel için seçenekleri belirlemek için varolan 3 yoldan konsoldan yönetilebilen menüyü seçtim. Bunun için

make menuconfig 

komutunu kullandım. Tabi bu komutu kullanabilmek için ncurses kütüphanesinin bilgisayarınızda kurulu olması gerekiyor uyarısını alıp

apt-get install libncurses5-dev 

paketini kurdum. Sonra menuconfig aracılığıyla kernelde yapabileceğim düzenlemelere baktım. O kadar çok seçenek var ki açıkçası anladıklarım %5-6 kadardı. Baya bir dolaştım menü içinde işlemci özelleştirmeleriyle oynadım biraz. Çok anlamadığım için fazla değişiklik yapamadım ne yazık ki. Sonra kerneli derlemek için

make-kpkg clean 

make-kpkg kernel-image kernel_headers --initrd 

komutlarını kullandım. Bunların kullanılabilmesi için kernel-package ın kurulu olması gerekiyor. Derleme işlemi en az 20 dakika sürer diye okumuştum ama bende o kadar uzun sürdü ki bir şeyleri yanlış yaptım herhalde diye şüphelenmedim değil. En son bilgisayarı kendi haline bırakıp uyumayı düşünüyordum, uyumadan önce kitap okurken kafamı kaldırdığımda ne görsem beğenirsiniz. Derleme bitmiş, konsol öylece beni bekliyor işime devam edeyim diye.

dpkg -i header image 

şeklinde kerneli kurduktan sonra bilgisayarı yeniden başlatıp yeni kernel ile kullanmaya başladım. İşlemlerde yanlışlık olmadığını görmek için

cat /proc/version
uname -r 

komutlarıyla kernel versiyonumun 3.8.1 olduğunu doğruladım. Wireless kartımın bilgisayar tarafından tanınmadığını fark ettiğimdeyse saat çok geç olmuştu. ifconfig ve ifconfig -a ile kontrol ettim ama malesef kablosuz görünmüyordu. O sebeple az önce

sudo apt-get purge linux-image-3.8.1* 

komutuyla yeni kerneli kaldırdım ve bilgisayarı yeniden başlatarak eski kernelime dönüş yaptım.