SANA YAPILMASINI İSTEMEDİĞİN HİÇ BİR ŞEYİ BAŞKASINA YAPMA...

Centos 5.3 NetworkManager ve Cisco VPN Client

Mayıs 28, 2009 by admin  
Filed under Bilgisayar Dünyası, Sistem, Tüm Yazılar

Sürekli kullandığım Kubuntu dağıtımına bazı nedenlerden dolayı ara vermek zorunda kaldım ve sistemime Centos 5.3 yükledim. Tabi bu köklü değişiklikle birlikte  problemler de arka arkaya gelmeye başladı. Sadece dağıtımı değil masaüstü ortamını da değiştirdiğim için KDE ile birlikte kullandığım birçok yazılımının yerlerine Gnome da kullanabileceklerimi aramaya başladım. Mesela çok severek kullandığım Amarok yerine Exaile, en büyük destekçim Yakuake yerine ise Tilda’yı kullanmaya başladım.

VPN için kullandığım Vpnc ve  Kvpnc yazılımlarının yerlerine Gnome da ne kullanabileceğimi ararken de bayağı bir zorlandım açıkcası. Birkaç farklı arayüz olmasına rağmen zaten kurulu gelen NetworkManager’ın yeteneklerinden faydalanayım istedim. Bunun için sistemime NetworkManager dışında vpnc yazılımını kurdum. Fakat ikisinin entegrasyonu için NetworkManager-vpnc paketini bir türlü bulamadım. 6.04  versiyonu kurulu olan NetworkManager  paketi ile çakışmalara neden oldu ve kurulmadı.Sonuç olarak kaynak kodunu bularak derlemem gerekti. Bunun için aşağıdaki adımları takip ettim.

1. Öncelikle aşağıdaki adresten paketin rpm kaynak kodunu indirdim.

wget -c http://ftp.crc.dk/fedora-epel/testing/5Server/SRPMS/NetworkManager-vpnc-0.7.0.99-1.el5.4.src.rpm

2. Gerekli olan bağımlı paketleri kurdum.

yum install gtk2-devel dbus-devel NetworkManager-devel NetworkManager-glib-devel GConf2-devel gnome-keyring-devel libglade2-devel intltool

3. Sonraki adımda rmpbuild ile paketi derledim  (Not: Benim makinemde rpmbuild kurulu değildi. Bunun için öncelikle “yum install rpm-build” komutunu çalıştırarak paketi kurdum. )

rpmbuild –rebuild NetworkManager-vpnc-0.7.0.99-1.el5.4.src.rpm

4. Son adım olarak

cd /usr/src/redhat/RPMS/x86_64

rpm -i NetworkManager-vpnc-0.7.0.99-1.4.x86_64.rpm

diyerek kurulumu tamamladım. Artık taskbarda yer alan NetworkManager üzerinden VPN Connections menüsü ile vpn ayarlarmı yapabildim. KDE ortamında Kvpnc ile bu iş gerçekten çok kolaydı.

VMWare Sanal Makineleri Sun xVM’ e Taşıma

vmwaretovirtualbox.pngŞirket politikaları nedeniyle bir kaç aydır makinemde Windows kullanmak zorunda kalıyorum. Her ne kadar evde Linux kullanmaya devam etsem de iki işletim sistemi arasında sürekli gidip gelmek bir noktadan sonra sıkıntı yaratmaya başlıyor. Çözüm olarak Windows üzerinde kurulu WMWare ile Linux sistemimi sanal olarak çalıştırmaya başladım. Tabi NTFS olarak formatladığım harici disk üzerine de içerisinde resim, müzik, film arşivimin ve kişisel maillerim ile kişisel bilgilerimin olduğu home dizinini yerleştirerek kullanmaya başladım. Fakat 2 GB belleğe sahip makinem üzerinde VMWare in gereğinden fazla kaynak tükettiğini gördüm. Düne kadar bu şekilde kullandığım sistemi Fatih’in önerisi ile Sun xVM yazılımına geçirmeye karar verdim. Tabi bu sanal makinenin yeniden oluşturulması demekti ve yaptığım ayarların sıfırlanması anlamına geliyordu. Sonra internetten VMWare sanal makinelerinin nasıl Sun xVM’ e taşınacağı ile ilgili bir kaç küçük dökümandan sonra işe koyuldum.

1. Öncelikle Linux sistemimiz üzerine qemu uygulamasını kuruyoruz. Ubuntu sistemler için bu “sudo apt-get install qemu” ile mümkün. Diğer dağıtımlar için de mutlaka vardır.
2. Kurulumdan sonra “qemu-img convert .vmdk //.bin” komutunu kullanıyoruz. Örnek olarak “qemu-img convert Kubuntu.vmdk /tmp/Kubuntu.bin

3. “VBoxManage convertdd /tmp/Kubuntu.bin Kubuntu.vdi” olarak komutu verdikten sonra Sun xVM ile çalışır duruma geliyor.

Tabi üç kısa adımdan ibaret sandığınız ve yeni işletim sistemi kurmaktan üşendiğiniz için daha kısa olduğunu düşünerek bu yolu seçmiş olanlara küçük bir uyarı. Yaklaşık 6 GB bir Sanal Kubuntu makinesi için yaklaşık 10 saat lik bir süreçten sonra ancak Sun xVM ile kullanabilir hale getirdim. Bunda yan faktörler etken olabilir. Örneğin bu işlemlerin harici HDD kullanılarak boot edilen bir linux dağıtımı ile yapmış olmam vb. Sun xVM için kaynak kullanımı ile ilgili gözlemlerimi daha sonra yazacağım.

Sudo ve Şifre Sorma Süresi

Kasım 26, 2008 by admin  
Filed under Bilgisayar Dünyası, Diğer, Sistem, Tüm Yazılar

sudo.pngDiğer dağıtımlardan farklı olarak Ubuntu/Kubuntu dağıtımı, sisteme root kullanıcısı olarak giriş yapılmasına izin vermek yerine, sistemin kurulması sırasında oluşturulan ilk hesabı admin hakları ile oluşturmaktadır. Böylelikle root hesabı ile çalıştırılması gereken komutların başına sudo kelimesi getirilerek açılan bu kullanıcının kendi şifresini kullanarak root olarak davranması sağlanmaktadır.

Tabi bu komutların çalıştırılması sırasında, kullanıcıya ait şifre istenmektedir. Terminalde çalıştırılan bir komutun ardından sistemde öntanımlı olan değere göre 5 dakikaya kadar çalıştırılacak komutlar için yeniden şifre istenmemektedir. İstenildiği takdirde bu ön tanımlı değer artırılabilir. Bunun için öncelikle

$ sudo visudo



Komutu girilir. Hemen ardından açılan dosya içerisine koyu ve büyük olarak gösterilen satır girilir ve dosya kaydedilir.


# /etc/sudoers
#
# This file MUST be edited with the ‘visudo’ command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL

# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL

Defaults timestamp_timeout=dakika


<dakika> istediğiniz süreyi dakika olarak girebilirsiniz. Eğer 0 olarak girerseniz, işleteceğiniz her komut için şifre soracaktır. Eğer 0 dan küçük bir değer girerseniz de ilk şifreden sonra bir daha şifre sormayacaktır.


Google Ajanda, SMS Yoluyla Hatırlatma Gönderiyor

Kasım 19, 2008 by admin  
Filed under Bilgisayar Dünyası, Diğer, Sistem, Tüm Yazılar

google-calendar.jpgÖnder ile Msn de görüşürken lafı geçti. Daha önce planlama için kullanmaya çalışmış fakat doğrudan masaüstü bilgisayarım daha rahat olduğu için vazgeçmiştim. Şu sıralar google ajanda servisini kullananlara büyük bir kolaylık sağlıyor.

Günümüzde cep telefonu kullanmayan kimse kalmadı gibi. Gideceğiniz etkinlikleri yada katılmanız gereken toplantıları hatırlatmak üzere birçok farklı yol seçiyoruz. Kimimiz kalem ve kişisel ajanda ile yetinirken, kimimiz doğrudan MS Outlook, Kontact, Thunderbird vb. programları yada Hotmail, Yahoo veya Google tarafından verilen ajanda servislerini kullanıyoruz. İşte Google sağladığ servis içerisinde SMS yolu ile hatırlatmayı etkin hale getirdi. Bundan böyle girdiğiniz etkinlikler ile ilgili hatırlatmalar anında SMS ile cep telefonunuzda hem de ücretsiz. İşte izlemeniz gereken yol.:

  1. Öncelikle http://www.google.com/calendar adresine giderek gmail hesabınızla giriş yapıyorsunuz.
  2. Ardından sağ üst köşede yer alan “Settings/Ayarlar” linkini tıklıyorsunuz.
  3. Açılan sayfada orta bölümde sekmeli bölümde yer alan “Notifications” seçmesini tıklıyorsunuz ve almak istediğiniz hatırlatmaları ve yöntemini seçiyorsunuz (e-posta veya sms)
  4. İlgili sayfanın altında telefon ayarlarının yapılabileceği link yer alıyor. Bu linki tıkladıktan sonra ülke seçiyorsunuz ve cep telefonunuzun numarasını giriyorsunuz. Numarının hemen yanında yer alan “Send Verification Code” linkini tıklıyorsunuz.
  5. Bu aşamadan sonra sayfayı kapatmadan, cep telefonunuza sms ile gönderilecek kodu giriyorsunuz ve işleminizi bitiriyorsunuz. Artık etkinliklerinizi dilediğiniz şekilde Google Ajandaya kaydedebilirsiniz.

TinyMCE İle İlgili Bir Sorun

İçerik Yönetim Sistemleri (CMS) yada genel isimleri ile portallar site geliştirme ve tasarım aşamasında sağladığı kolaylıklar ile her geçen gün yerlerini sağlamlaştırıyor. Farklı içerik yönetim sistemleri ile çalışma fırsatı buldum. PHPNuke, Mambo, Joomla, WordPress derken son durağım Drupal oldu. Drupal içerik yönetim sisteminin özellikle modüler yapısı ve farklı amaçlar için kullanılmak üzere geliştirilmiş yüzlerce eklenti sayesinde oldukça esnek bir yapı sunduğunu gözlemledim. Bu modüllerden biri de TinyMCE eklentisi. Eklentinin gerçekleştirdiği görevi, basitçe site içerisindeki sayfaların, yazıların ve diğer içeriğin kullanıcının HTML kodunu bilmesine gerek duymadan, javascript ile hazırlanmış bir editör yardımıyla hazırlamasını sağlamak olarak tanımlasam sanırım yanlış olmaz. Bu editör yardımıyla içeriğin formatı kolaylıkla düzenleyebiliyoruz. Ayrıca gereken durumlarda resim, video vb. medyaların eklenmesi ve bu medyalara bağlantıların verilmesi gibi konularda inanılmaz kolaylıklar sunuyor bize. http://tinymce.moxiecode.com/example.php bağlantısı ile basit bir örneğe ulaşmak mümkün. Yine aynı bağlantıyı izleyerek TinyMCE konusunda daha ayrıntılı bilgiye sahip olmak mümkün. Son bir not olarak TinyMCE’nin sadece Drupal için değil, birçok farklı içerik yönetim sistemi için de destek sağladığını belirtmeden geçemeyeceğim.

Geçenlerde şöyle küçük bir sorun başıma geldi (tabi bu kadar küçük bir sorun saç baş yoldurtmaya da yetebiliyor). Firefox ile yeni bir yazı yazmak istediğimde editörümün bir türlü gösterilmediğini farkettim. Önce TinyMCE ayarları ile ilgili olabileceğini düşünürek ayarlar ile oynadım. Fakat nafile mümkün olmadı. Hemen ardından eklentiyi kaldırım tekrar yükledim. Fakat sonuç nafile. http://drupal.org/node/276995 bağlantısındaki tüm çözüm yöntemlerini denememe rağmen sonuç alamadım. İşin komik tarafı sitenin bir kopyası lokal makinemde de yer almakta ve problemsiz çalışmaktaydı. Veritabanı yedeklerimden yeniden yükleme yaptım ama yine sonuç alamadım. Aklıma birden diğer eklenti ayarları ile bir çakışma olabileceği ihtimali geldi fakat lokalde çalışan kopya bu tezi çürütmeye yetti. Sonra başka bir tarayıcı kullanmayı denedim ve işte çalışıyordu. Ama nasıl olur! Firefoxda çalışmaz iken operada nasıl çalışırdı. Hadi firefox ile ilgili bir problem olduğunu düşünürsek, aynı firefox lokaldeki kopyayı nasıl düzgün çalıştırıyor? Hemen firefox için çerezleri ve cache dosyalarını silerek tekrar denediğimde düzgün bir şekilde çalıştığını gördüm. Böyle bir durumla karşılaşan arkadaşlar tarayıcılarının çerez ayarlarını kontrol etsinler. Benim gibi saç baş yolmasınlar boşuna Laughing

Qmailadmin Ekranında Resimlerin Gözükmemesi

Qmail mail sunucunun yönetiminin web üzerinden gerçekleştirilmesini sağlayan qmailadmin yönetim sırasında birçok kolaylık sağlamakta. Özellikle domainler için açılacak olan mail listelerinin yönetilmesinde birçok avantaja sahip kullanışlı bir arayüz. Geçenlerde gözüme şöyle bir sorun takıldı. Sunucuya “http://x.x.x.x/cgi-bin/qmailadmin” şeklinde bağlandığımda qmailadmin yönetim ekranını sorunsuz bir şekilde görebilmeme rağmen “http://abc.com.tr/cgi-bin/qmailadmin” şeklinde yazdığımda ise resimler yok oluyordu. Resimler yok olduğunda ise birçok işlemi yapmak imkansız hale geliyor.

Qmailadmin kurulumu sırasında “./configure –enable-cgibindir=/path/cgi-bin –enable-htmldir=/path/html/” şeklinde konfigür ediyorsunuz. “make && make install-strip” komutunun ardında “cgi-bin” dizini altında “qmailadmin” çalıştırılabilir dosya “html” dizini altında ise “images/qmailadmin/” dizini ve bu dizin içerisinde de qmailadmin ekranında kullanılan resim dosyaları yer alıyor. Eğer web sunucunuz içerisinde “VirtualHost” kullanıyorsanız ve kullandığınız bu virtual host için tanımladığınız kök dizini web sunucunuzun kök dizininden farklı ise ya “–enable-htmldir=/path/html” parametresindeki veri yolunu virtual hostunuz için kullandığınız dizin ile aynı yapmak durumundasınız.(Bu sefer de ip adresi ile girmeye çalıştığınızda resimler gözükmeyecektir.) Yada kök dizini içerisindeki “images” dizinini virtual host dizinine kopyalamanız gerekiyor.

MySQL Başlatılırken Oluşan Hata

Linux makinenizi kurdunuz, mysql’in kurulu olduğunu da biliyorsunuz fakat mysql bir türlü başlamıyor. Bunun nedeni bazı linux dağıtımlarında mysql kurulu olsa dahi veritabanlarının kurulu olmamasıdır. Örneğin Ubuntu, Debian gibi bazı dağıtımlarda mysql kurulduktan sonra mysql veritabanı otomatik olarak başlarken Slackware gibi diğer dağıtımlarda i mysql veritabanı sunucusunun doğru bir şekilde başlatabilmek için bazı işlemleri yapmanız gereklidir.

  1. İlk adımda mysql ile ilgili veritabanlarını yüklemelisiniz. Bunun için “mysql_install_db” komutunu kullanıyorsunuz. Bu komutun veri yolu dağıtımdan dağıtıma ve mysql ‘in kurulumuna göre farklılık gösterebilmektedir.
  2. İkinci adım olarak yüklenen veritabanı dosyalarının doğru kullanıcı haklarına sahip olup olmadıkları kontrol edilmelidir. Kullanıcı hakları yine dağıtımdan dağıtıma farklılık gösterebilir. Örneğin slackware dağıtımında “/var/lib/mysql/” altına kurulan veritabanlarının hakları “chmod -R mysql:mysql /var/lib/mysql” ile ayarlanırken. Bazı dağıtımlarda veritabanı hakları “nobody:nobody, root:mysql” şeklinde olabilmektedir.
  3. Konfigürasyon dosyanızı (my-small.cnf, my-huge.cnf vb.), kullanacağınız veritabanı büyüklüğüne göre /etc/my.cnf olarak kaydedin ve mysql veritabanını başlatın. Yine kullandığınız dağıtıma göre “/etc/init.d/mysql start” ,”service mysql start”, “/etc/rc.d/rc.mysql start”, “/usr/share/mysql/mysql.server start” komutlarından birini kullanabilirsiniz.
    Eksik ve hatalı olduğunu düşündüğünüz noktaları bildirirseniz düzeltmekten büyük mutluluk duyarım. Yardımcı olması dileği ile :D

Java’da “Can not connect to VM” Hatası

Geçenlerde tezimde uğraşırken başıma çok ilginç bir olay geldi. Ubuntu üzerinde Eclipse ortamı kullanarak tezimi geliştiriyorum. Olay şu :

InetAddress.getLocalHost().getHostAddress(); komutu ile üzerinde çalıştığım bilgisayarın ip adresini alarak ilgili nesneye atamaya çalışıyordum. Tüm denemelerime rağmen bilgisayarım aldığı ip adresi yerine 127.0.1.1 şeklinde ip adresi döndürüyordu. Bende “/etc/hosts” dosyası içerisinde yer alan değerleri değiştirerek kendime göre bir ip adresi atadım. Lakin bu pek mümkün olmadı. “/etc/hosts” dosyası içerisindeki ayarları eski haline getirmeyi unutmuştum. Bundan sonra iş daha dramatik bir hal aldı.
Java ile yazılan bir arayüz bir türlü açılmıyordu. İşin komik tarafı herhangi bir hata da vermiyordu. Daha ilginci ise aynı kodun başka bir makinede güzel bir şekilde çalışıyor olmasıydı. Java kurulumunda bir problem olduğunu düşündüm ama değildi. Çünkü başka bir arayüz gayet güzel çalışıyordu. Hibernate API kullanmıştım. Acaba ondan olabilir mi? diye düşünürken bir baktım. Hibernate kullandığım başka bir uygulama gayet güzel çalışıyor fakat bu arayüz bir türlü çalışmıyor ve hata da vermiyordu. Debug modda tekrar çalıştırdım ama nafile. Yine hata yok. O sinirle debug modda üst üste bir kaç kez çalıştırdım. Ekranımın ortasında “Cannot connect to VM” mesajını görünce “google”‘a sordum soruşturdum. Forumların birinde bir mesajda “/etc/hosts” ibaresini görür görmez jeton düştü. Hemen düzeltmemi yaptım ve eski haline dönüverdi. Şimdi tek üzüntüm daha önce başıma aynı olay geldiği için makinemi formatlayıp tekrar kurmak adına harcadığım boşuna zaman.

Imap Sunucu ve Karakter Setleri

Imap ( Internet Message Access Protocol) açılımından da anlaşılacağı üzere mail sunucu üzerinde yer alan e-postaların okunması ve mesaj gönderilmesinden sorumlu bir protokoldür. Son olarak IMAP4 olarak karşımıza çıkan bu protokol yardımıyla tıpkı POP3 protokolünde olduğu gibi sunucu üzerindeki e-postalar kontrol edilebiliyor, ve mail gönderilebiliyor. Hatta POP3 protokolüne ek olarak sunucu üzerinde bulunan e-postaları makineye indirmeden bu e-postalar arasında ilgili kelimeler ile arama yapılabiliyor.

Birçok IMAP sunucu yazılımı bulunmakta. Bunlar arasındaki popüler yazılımlardan biri de Courier-Imaptir. Courier Imap mail sunucu üzerinde “Maildir” yapısını destekleyen bir yazılımdır. Genelde mail sunucuları mailleri iki farklı yapıda saklarlar. Bunlardan birincisi mailbox yapısıdır ve tüm maillerin tek bir dosya altında tutulması mantığına dayanır. Maildir yapısı ise her bir mailin ayrı bir dosya olarak klasör yapısı altında tutulmasına olanak sağlarlar.

Artık birçok POP3 istemcisi maillerin kontrolü için POP3 protokolünün yanında IMAP protokolüne de desteklemekte (Örn. Kmail). Bunun yanında artık maillerin web üzerinden ulaşılması sırasında kullanılan webmail yazılımlarının (squirreImail,sqwebmail,dbmail vb.) çoğu IMAP protokolünü desteklemekte.
SquirreImail yazılımı mail sunucuya IMAP protokolünü kullanarak bağlanan ve maillerin web arayüzüyle kontrolünü sağlayan bir yazılımdır. Gerek açık kaynak kodlu oluşu ve gerekse plugin yapısıyla bugün en çok kullanılan webmail yazılımıdır. Uzun bir süredir kullanmama rağmen geçenlerde şöyle bir problem karşıma çıktı. Maillerin tasniflenmesi için mesaj filtreleri yazmak istedim. Lakin ikinci yazdığım kural ile birlikte ekranda kocaman harfler ile “Charset not supported” türünde bir hatayla karşı karşıya kaldım. Webmailin dil ayarları Türkçe olarak ayarlanmıştı. Acaba diyerek dil ayarlarımı İngilizce olarak değiştirdim. Tahmin ettiğim gibi problem ortadan kalkıvermişti. Önce sorunun squirreImailden kaynaklandığını düşündüm fakat google üzerinde araştırma yaptığımda problemin webmail yazılımından değil bizzat imap sunucunun eksik parametreyle derlenmesinden kaynaklandığını öğrendim. Courier-imap yazılımının aşağıdaki parametre ile derlenmesiyle problem ortadan kalktı.