Bu ara aklıma takıldı konsolda farklı araçlarla eğlenceli görseller yapılabiliyordu. Aslında ssh için parola girdiğimde randomart ile ekranda gördüğüm görselde aklıma geldi. Bunun için öncelikle
#apt-get install cowsay xcowsay
diyoruz. cowsay karakterlerden oluşan görsel için xcowsay ise resimli olan görüntü için. cowsay kullanarak yapılabilecek belli başlı görseller şu şekilde:
$cowsay hello
$cowsay -f gnu bir gnu :\)
dediğimizde ise ekranda gnu resmi görüyoruz. Burada ben ":)" ifadesini bu şekilde kullandığımda ')' karakteri için beklenmeyen ifade gibi bir değer döndürdü. Bu yüzden '\' karakteri ile yazdım.
$cowsay -f /usr/share/cowsay/cows/turtle.cow çok yavaşım :\)
şeklinde de görüntü elde edebiliriz. "/usr/share/cowsay/cows/" dizini altında görüntüleyebileceğimiz şekillerin listesini görebiliriz.
$xcowsay --think mesaj
şeklinde daha fiyakalı bir görüntü elde edebiliriz.
Buradaki --think parametresi konuşmadaki baloncuklar için.
Eğer önümüzden bir tren geçsin istiyorsak da "sudo apt-get install sl" diyoruz :). sl komutunun parametreleri oldukça az, aslında cowsay'in de alabileceği çok fazla parametsi yok.
Bunlar gibi benzer işler yapan bir kaç farklı araçla daha konsolda eğlenceli görseller elde edebiliriz.
31 Mart 2013 Pazar
Couchbase Nagios Plugin
Yakından Eğitim projelerinden Couchbase Nagios Plugin'e başvuru yaptım. Başvuru sürecinde yapmamız gerekenler burada belirtilmişti. Ben de cv'mi ve gereken soruları yanıtlayıp başvuru mailimi gönderdim. Bir zaman sonra başvuru sonuçları açıklandı. Kabul edildiğimi öğrendim.
Projeye başvuru nedenim aslında Necdet hoca önermişti Nagios Plugin'e başvurmamı. Eğer severek yapmayacağın bir iş olacaksa başvurma dedi. Twitterdaki tweetleri gözümde canlandırabiliyorum demişti :) Kaan'la çalışmak benle çalışmaktan daha eğlencelidir diye de belirtmişti (aslında Necdet hocayla çalışmak da çok eğlenceli bence). Ben birkaç akşam proje nasılmış, bu süreçte neler öğrenmem gerekecek diye bir kaç belge baktım. Çünkü NoSql'in sadece adını duymuştum daha önce kullanmadım. Sonrasında aklıma yatınca başvurmaya karar verdim. Aslında genelde bir işe başlarken seçme nedenlerim içinde bilmediğim şeyler olsun ve sıkılarak yapmayayım oluyor. Başvuru sorularını yanıtlarken de belirtmiştim bilmediğim işler ufkumu açıyor, bu şekilde ne üzerinde çalışmak isteyeceğim hakkında görüş alanımı genişletmeye çalışıyorum diye.
Projelerde çabuk sıkılma gibi bir eksi yanımda vardı eskiden ama artık daha geç sıkılıyorum bir iş uzarsa. Zaten yazılımda da yaptım bitti şeklinde değilde hep geliştirme ve bakım isteyen işler oluyor. Nagios Plugin'de de bu şekilde. Başvuru yapmadan önce okuduğum yazıda da proje bittikten sonra projenin gelişimine devam edilmesi gerektiği belirtilmişti. Başvuru yaptıktan sonra kimin seçileceği henüz belli değilken danışmanıma mail attım nelere bakmam faydalı olur konusunda. Kabul edilmek için danışmanlar genelde başvuru sürecinde başvuranlardan projeyle ilgili bir şeyler yapmasını istiyorlar. Danışmanım Nagios'u kur, çalıştır bak demişti. Bunun için belge önerdi bunları okuyabilirsin diye, ben de ek bir kaç yerden daha okumuştum, sonra kurup çalıştırdım. Kurulumla ilgili blog yazmamı istemişti. Bir kaç gün sonrasında zaten başvuru sonuçları açıklandı. Kabul edilmesem bile Nagios'un nasıl kurulup çalıştırıldığı hakkında bilgi edinmiş olacaktım.
Önümüzdeki 2 aylık süreçte projeyi geliştiriyor olacağım. Ayrıca her hafta freenode #yakından eğitim kanalında projelerin durumu hakkında konuşuyoruz. Ben de proje üzerinde bir şeyler yaptıkça, danışmanımın yönlendirmesi ile bu konuda yazmaya devam edeceğim.
Projeye başvuru nedenim aslında Necdet hoca önermişti Nagios Plugin'e başvurmamı. Eğer severek yapmayacağın bir iş olacaksa başvurma dedi. Twitterdaki tweetleri gözümde canlandırabiliyorum demişti :) Kaan'la çalışmak benle çalışmaktan daha eğlencelidir diye de belirtmişti (aslında Necdet hocayla çalışmak da çok eğlenceli bence). Ben birkaç akşam proje nasılmış, bu süreçte neler öğrenmem gerekecek diye bir kaç belge baktım. Çünkü NoSql'in sadece adını duymuştum daha önce kullanmadım. Sonrasında aklıma yatınca başvurmaya karar verdim. Aslında genelde bir işe başlarken seçme nedenlerim içinde bilmediğim şeyler olsun ve sıkılarak yapmayayım oluyor. Başvuru sorularını yanıtlarken de belirtmiştim bilmediğim işler ufkumu açıyor, bu şekilde ne üzerinde çalışmak isteyeceğim hakkında görüş alanımı genişletmeye çalışıyorum diye.
Projelerde çabuk sıkılma gibi bir eksi yanımda vardı eskiden ama artık daha geç sıkılıyorum bir iş uzarsa. Zaten yazılımda da yaptım bitti şeklinde değilde hep geliştirme ve bakım isteyen işler oluyor. Nagios Plugin'de de bu şekilde. Başvuru yapmadan önce okuduğum yazıda da proje bittikten sonra projenin gelişimine devam edilmesi gerektiği belirtilmişti. Başvuru yaptıktan sonra kimin seçileceği henüz belli değilken danışmanıma mail attım nelere bakmam faydalı olur konusunda. Kabul edilmek için danışmanlar genelde başvuru sürecinde başvuranlardan projeyle ilgili bir şeyler yapmasını istiyorlar. Danışmanım Nagios'u kur, çalıştır bak demişti. Bunun için belge önerdi bunları okuyabilirsin diye, ben de ek bir kaç yerden daha okumuştum, sonra kurup çalıştırdım. Kurulumla ilgili blog yazmamı istemişti. Bir kaç gün sonrasında zaten başvuru sonuçları açıklandı. Kabul edilmesem bile Nagios'un nasıl kurulup çalıştırıldığı hakkında bilgi edinmiş olacaktım.
Önümüzdeki 2 aylık süreçte projeyi geliştiriyor olacağım. Ayrıca her hafta freenode #yakından eğitim kanalında projelerin durumu hakkında konuşuyoruz. Ben de proje üzerinde bir şeyler yaptıkça, danışmanımın yönlendirmesi ile bu konuda yazmaya devam edeceğim.
30 Mart 2013 Cumartesi
Sistemi Single User Modda Açma
Bu dönemin başlarında minik bilgisayarıma Fedora kurmuştum. Miniği çok az kullanıyorum. Bir zaman sonra bilgisayarı tekrar açınca buna chrome kursam da firefox kullanmasam dedim. Baktım ki kendime sudo yetkileri vermemişim ve root parolamı da hatırlamıyorum.
Bu yüzden bilgisayarı single user modunda açma gereği duydum. Bunu geçen yaz nette bir şeyler okurken single user modda başlatınca root yetkileri direkt veriliyormuş şeklinde okumuştum. Aslında single user mod, init 1 seviyesi oluyor. Bu seviyede herhangi bir ağ bağlantısı ve grafik ekran olmadan sistemi kullanıyorsunuz.
Sistemi single user mod seviyesinde açmak için grub ekranından Fedora seçiliyken 'e' tuşuna bastım. Zaten açılış ekranında alt kısımda da 'e', 'c' gibi seçenekler belirtilmiş. Sonra çekirdeğin bulunduğu satırın en sonuna (vmlinuz ile başlayan satır) '1' yazdım. ctrl+x ile çıkış yapıp, sistem başladğında root yetkilerime kavuşmuştum :)
Daha sonra ekrana gelen root yetkileri verilmiş konsolda 'passwd' komutuyla root parolamı değiştirmiş oldum.
Etiketler:
fedora,
gezegen,
grub,
single user mode
23 Mart 2013 Cumartesi
Nagios Kurulumu ve Kullanımı
Nagios kullanarak bir makinenin üzerindeki bellek, işlemci gibi yerel kaynakları ya da vermiş olduğu smtp, mysql gibi servisleri izleyebiliriz. Ayrıca bu servislerin durumlarıyla ilgili kullanıcıya mail, sms gibi yollarla uyarıyı verebiliriz. Nagios ağ üzerinden servis ya da kaynak dinleme işlemini çeşitli eklentileri (plugin) kullanarak yapar. Nrpe'de bu sistem kaynaklarını dinlemek için kullanılan bir eklentidir. Nrpe kaynakları izlenecek olan makineye kurulur.
Kurulum
Kurulum için nagiosu ana makineye nrpe'yi ise kaynakları izlenecek olan makineye kurmamız gerekir. Nagios kurulumunu aşağıdaki gibi her iki makinede yapalım.
Ayrıca nagiosta çalıştırabileceğimiz komutların listesi /usr/lib/nagios/plugin dizini altındadır. Oradaki komutların alabilecekleri parametreleri aşağıdaki gibi --help parametresiyle görüntüleyebilirsiniz.
Kurulum
Kurulum için nagiosu ana makineye nrpe'yi ise kaynakları izlenecek olan makineye kurmamız gerekir. Nagios kurulumunu aşağıdaki gibi her iki makinede yapalım.
# apt-get install nagios3 nagios-nrpe-server nagios-nrpe-pluginKurulumdan sonra web arayüzünden izleme yapabilmek için aşağıdaki gibi kullanıcı oluşturmalıyız
sudo htpasswd -c /etc/nagios3/htpasswd.users nagiosadminŞimdi nrpe ile başka bir makinanın yerel kaynak durumlarını izleyelim. Bunun için /etc/nagios3 dizini altında ubuntu_remote.cfg adında bir dosya oluşturalım. Bunun içine yapmamız gereken tanımlamalar şu şekilde:
# host tanimlamasi define host{ use generic-host # tum host tanimlamalarinda olmasi zorunlu host_name Ubuntu2 alias Ubuntu2Alias address ip_adres # dinleyecegimiz makine ip } # nrpeyi tanimliyoruz define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ } # izlemek istedigimiz kaynak define service{ use generic-service # tum servis tanimlamalarinda olmasi zorunlu host_name Ubuntu2 service_description Current Users check_command check_nrpe!check_users }/etc/nagios3/conf.d/ dizini altındaki hostgroups_nagios2.cfg dosyasında aşağıdaki gibi tanımladığımız host ismini referans vermeliyiz.
define hostgroup { hostgroup_name ubuntu-servers alias Ubuntu GNU/Linux Servers members localhost, Ubuntu2 }/etc/nagios.cfg dosyasında da tanımladığımız ubuntu_remote.cfg dosyasının yolunu "cfg_file=/etc/nagios3/ubuntu_remote.cfg" şeklinde belirtmeliyiz. Aynı zamanda kaynaklarını dinleyeceğimiz makinede /etc/nagios/ dizini altındaki nrpe.cfg dosyasında sunucu makinenin ip adresini "allowed_host=nagios_server_ip" olarak belirtmeliyiz. Daha sonra nagios ve nagios-nrpe-server süreçlerini yeniden başlatalım.
/etc/init.d/nagios3 restart /etc/init.d/nagios-npre-server restartTarayıcıda localhost/nagios3 adresiyle yerelimizde karşıdaki makinenin durumlarını kontrol edebiliriz.
Ayrıca nagiosta çalıştırabileceğimiz komutların listesi /usr/lib/nagios/plugin dizini altındadır. Oradaki komutların alabilecekleri parametreleri aşağıdaki gibi --help parametresiyle görüntüleyebilirsiniz.
/usr/lib/nagios/plugin/check_disk --help
14 Mart 2013 Perşembe
Açık Anahtarlı Şifreleme & GPG
Bu dönem okuldaki seçmeli dersler arasından Kriptoloji seçtim. Derste çeşitli şifreleme algoritmaları gördük. Sezar, Vigenere, Kerberos gibi.
Şifreleme işlemlerinde temel kaygı şifreleme yapan anahtar ve deşifreleme yapan anahtar aynı olduğu zamanlarda birisi anahtarı ele geçirirse, şifreli metni deşifreleyebileceğidir. Yani bu durumda en başta anahtarın güvenliğinin sağlanması gerekir. Açık anahtarlı şifreleme algoritmalarında ise bu probleme çözüm olarak bir anahtar ya sadece şifreleyebilsin, ya da sadece deşifreleyebilsin olmuştur. Biz de geçen hafta derste açık anahtarlı şifreleme algoritmalarından biri olan RSA'yı işledik. Bu işlemde kişi kendi belirlediği iki asal sayıyı belirli işlemlerden geçirip bir açık anahtar bir de gizli anahtar üretmektir. Açık anahtarı kendisine şifreli metin gönderilebilmesi için herkese verir. Sonra kendisine gelen şifreli metinleri kendi gizli anahtarı ile açar.
Bu şekilde açık ve gizli anahtarlar oluşturmak için çeşitli araçlar vardır. E-posta istemcileri, Seahorse gibi. Ben burada terminalden gpg ile gizli ve açık anahtarın nasıl üretibileceğinden bahsettim. gpg zaten dağıtımlarda genelde kurulu geliyor. Bu arada GPG (GNU Privacy Guard), GPL ile lisanslanmış bir şifreleme yazılımı.
Terminalden aşağıdaki gibi parametresiyle gpg komutunu verelim:
$ gpg --gen-key
gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation,Inc. This is free
software: you are free to change and redistribute it. There is NO WARRANTY, to the
extent permitted by law.
Şifreleme işlemlerinde temel kaygı şifreleme yapan anahtar ve deşifreleme yapan anahtar aynı olduğu zamanlarda birisi anahtarı ele geçirirse, şifreli metni deşifreleyebileceğidir. Yani bu durumda en başta anahtarın güvenliğinin sağlanması gerekir. Açık anahtarlı şifreleme algoritmalarında ise bu probleme çözüm olarak bir anahtar ya sadece şifreleyebilsin, ya da sadece deşifreleyebilsin olmuştur. Biz de geçen hafta derste açık anahtarlı şifreleme algoritmalarından biri olan RSA'yı işledik. Bu işlemde kişi kendi belirlediği iki asal sayıyı belirli işlemlerden geçirip bir açık anahtar bir de gizli anahtar üretmektir. Açık anahtarı kendisine şifreli metin gönderilebilmesi için herkese verir. Sonra kendisine gelen şifreli metinleri kendi gizli anahtarı ile açar.
Bu şekilde açık ve gizli anahtarlar oluşturmak için çeşitli araçlar vardır. E-posta istemcileri, Seahorse gibi. Ben burada terminalden gpg ile gizli ve açık anahtarın nasıl üretibileceğinden bahsettim. gpg zaten dağıtımlarda genelde kurulu geliyor. Bu arada GPG (GNU Privacy Guard), GPL ile lisanslanmış bir şifreleme yazılımı.
Terminalden aşağıdaki gibi parametresiyle gpg komutunu verelim:
$ gpg --gen-key
gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation,Inc. This is free
software: you are free to change and redistribute it. There is NO WARRANTY, to the
extent permitted by law.
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
Your selection? 1
Burada RSA'yı seçip diğer sorularıda geçtikten sonra karşımıza anahtarların üretilmesi için şöyle bir yazı çıkacak:
We need to generate a lot of random bytes. It is a good idea to perform some other action
(type on the keyboard, move the mouse, utilize the disks) during the prime generation;
this gives the random number generator a better chance to gain enough entropy.
Ben bu işlem için "ls -R /" diyorum :) Sonra bir yerde kesiyorum tabi listelemeyi. Anahtarlar üretildikten sonra anahtarların parmak izi bilgisini ekranda görebiliriz.
Aslında gpg daha bir çok kullanışlı parametreye sahip. Çok da sevdim kendisini. Ama ben burada bu kadar bahsedebildim. Afiyet olsun :)
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
Your selection? 1
Burada RSA'yı seçip diğer sorularıda geçtikten sonra karşımıza anahtarların üretilmesi için şöyle bir yazı çıkacak:
We need to generate a lot of random bytes. It is a good idea to perform some other action
(type on the keyboard, move the mouse, utilize the disks) during the prime generation;
this gives the random number generator a better chance to gain enough entropy.
Ben bu işlem için "ls -R /" diyorum :) Sonra bir yerde kesiyorum tabi listelemeyi. Anahtarlar üretildikten sonra anahtarların parmak izi bilgisini ekranda görebiliriz.
Key fingerprint = D9F2 4673 D60E 47EE EB46 1BB3 1EDE B418 711C B3B7
uid Ebru Akagunduz (Açıklama)
sub 2048R/07684591 2013-03-14
Daha sonra bir dosyadaki metni aşağıdaki gibi açık anahtarımızla "--encrypt" diyerek şifreleyebiliriz.
$ gpg --encrypt -r ebru.akagunduz@gmail.com duzmetin.txtAçarken de "--decrypt" parametresini kullansak yeterli olur.
$ gpg -ao public.key --export 711CB3B7Açık anahtarı elde etmek için
$ gpg -ao private.key --export-secret-keys 711CB3B7Gizli anahtarı elde etmek için kullanılır. Burada -a parametresi düz metin formatında almak için, -o parametresi de dosyaya yazıdrmak için kullanılır.
Aslında gpg daha bir çok kullanışlı parametreye sahip. Çok da sevdim kendisini. Ama ben burada bu kadar bahsedebildim. Afiyet olsun :)
2 Mart 2013 Cumartesi
LPI 101 Sınavı Hakkında
1. dönem okulda açılan seçmeli ders olan Linux ile Sistem Yönetimi dersini aldım. Necdet hoca derste LPI 101 içeriklerini anlatmıştı. LPI (Linux Proffesional Institute), Linux bilgilerimizi ölçmek için tüm dünyada geçerli olan standartları içermektedir. LPI hakkında ayrıntılı bilgiyi LPI Türkiye sayfasından edinebilirsiniz.
Bu yıl ara tatilde Necdet hoca LPI 101 sınavının yapılacağını bize bildirdi. Aslında dersi alırken zaten dönem başında bize bunu söylemişti. Ara tatilde hep birlikte sınav tarihi belirledik. Sonra iki hafta öncesinde de sınav yaklaştığı için konuları bir de birlikte takip edersek daha iyi olur dedi. Bunun için tüm 101 konularını baştan taradık. Haftada iki gün 4-5 saat kadar birbirimize LPI 101 konularını anlattık. Aslında çalışmamız şu şekilde oldu, çalışma günlerimizde ortak bir konu belirleyip, o konuya hepimiz çalışıyorduk. Her konu için bir kişiyi o konuyu hepimize anlatması için atıyorduk. Bu şekilde sınava girmeyecek olan arkadaşlar da dinleme imkanı buldular.
Bugün de 101 sınavına girdik. Sınavı Türkiye LPI sorumlusu olan İsmail Yenigül yaptı. Sınava girmeden önce arkadaşlarımla biraz gergindik. Çünkü eğer yapılsa inanılmaz zor bir sınav yapılabilir, gerçi bu her sınav için böyledir. Sınav genel olarak çok zor değildi. Kimi sorular biraz dikkat istiyordu. Sınavdan önce aklıma gelmeyen bir kaç soruda vardı aslında.
Sınavdan sonra İsmail Yenigül ve Barış Şimşek ile sohbet etme fırsatı bulduk. Onların bize kendi üniversite deneyimlerinden, sektörden, bir işi iyi bilmenin öneminden bahsettikleri çok yararlı gördüğüm bir konuşma ile günü bitirdik :)
Bu yıl ara tatilde Necdet hoca LPI 101 sınavının yapılacağını bize bildirdi. Aslında dersi alırken zaten dönem başında bize bunu söylemişti. Ara tatilde hep birlikte sınav tarihi belirledik. Sonra iki hafta öncesinde de sınav yaklaştığı için konuları bir de birlikte takip edersek daha iyi olur dedi. Bunun için tüm 101 konularını baştan taradık. Haftada iki gün 4-5 saat kadar birbirimize LPI 101 konularını anlattık. Aslında çalışmamız şu şekilde oldu, çalışma günlerimizde ortak bir konu belirleyip, o konuya hepimiz çalışıyorduk. Her konu için bir kişiyi o konuyu hepimize anlatması için atıyorduk. Bu şekilde sınava girmeyecek olan arkadaşlar da dinleme imkanı buldular.
Bugün de 101 sınavına girdik. Sınavı Türkiye LPI sorumlusu olan İsmail Yenigül yaptı. Sınava girmeden önce arkadaşlarımla biraz gergindik. Çünkü eğer yapılsa inanılmaz zor bir sınav yapılabilir, gerçi bu her sınav için böyledir. Sınav genel olarak çok zor değildi. Kimi sorular biraz dikkat istiyordu. Sınavdan önce aklıma gelmeyen bir kaç soruda vardı aslında.
Sınavdan sonra İsmail Yenigül ve Barış Şimşek ile sohbet etme fırsatı bulduk. Onların bize kendi üniversite deneyimlerinden, sektörden, bir işi iyi bilmenin öneminden bahsettikleri çok yararlı gördüğüm bir konuşma ile günü bitirdik :)
Kaydol:
Kayıtlar (Atom)