Untitled - Tilkinin Dilinden

Transkript

Untitled - Tilkinin Dilinden
EDİTÖRDEN
29 EKİM'DE ÇİFTE BAYRAM
SUDO'DA BU AY
Geride kalan bir yıl. Geriye dönüp baktığımızda bir arpa boyundan daha fazla yol
aldığımızı görüyoruz, u/mutluyuz. Bugüne nasıl geldik sorusunun cevabı ise hiç kısa değil,
çünkü büyük destekler(iniz) var. Başta, bağlı olduğumuz ve SUDO'nun kurulması ve devam
etmesinde etkin rol oynayan Ubuntu Türkiye yönetimi ve toğluluğu, SUDO'da emeği geçmiş
tüm arkadaşlarımız ve siz değerli okuyucularımız, hep birlikte bugünlere geldik.
Tohumduk, toğrağa düştük.
Kabuğumuzdan çıkmak için çürümeyi göze aldık.
Filiz verdik, fidan olduk.
Tomurcuk olduk ve şimdi açma zamanı...
Ubuntu Türkiye Topluluğu ve SUDO okuyucuları olarak bizi birbirimize bağlayan, ne
görüşlerimiz ne de görünüşlerimiz... En büyük bağımız, ortak olan amacımız "insanlığa
hizmet". Bu amaç doğrultusunda, hep, birlikte olmayı umut ediyoruz.
Birinci yılımızın heyecanını yaşarken mutluluğumuzu bir kat daha artıran "doğum günü
hediyemiz", "Karmic Koala" (Ubuntu 9.10) 29 Ekim'de bizlerle! Hiç şüphesiz, 29 Ekim'in
gelmesini büyük bir merak, istek ve heyecanla bekliyoruz.
Ubuntu, Linux Dünyası'ndaki ve işletim sistemleri arasındaki büyümesini
sürdüredursun, henüz piyasaya sürülmemiş bir dağıtım olan Google Chrome OS, Ubuntu'nun
tahtına göz dikmiş gibi duruyor. Google firması, ürünlerinde sadelik, kullanışlılık, görsellik,
performans ve özgürlüğü bir arada bulundurmaya dikkat ederken rakipleriyle kardeşçe
yaşamayı prensip edinmiş bir izlenim veriyor. Chrome OS'de de aynı izlenimi verecek mi,
bilemiyoruz. Bu sorunun cevabını ilerleyen zamanlarda hep birlikte göreceğiz.
Diğer yandan, Chrome OS'nin Linux tabanlı olması, Google'nin bilişim sektöründe lider
firmalardan birisi olması dikkate alındığında, donanım üreticilerini zorunlu olarak Linux
uyumlu donanım üretmeye, ürettikleri donanımlara Linux sürücüleri hazırlamaya yöneltmesi,
Linux Dünyası'na büyük bir katkı sağlayacak gibi. Bu bir öngörü ve temenni olmakla birlikte
olabilirliği yüksek olarak gördüğümüz bir durum.
Derginiz SUDO'nun ekibi olarak her ay bir yenilikle karşınıza çıkmak bize ayrı bir
heyecan veriyor, mutlu ediyor. Bu ay, bilgisayarsız bir ortamda hazırlanan "kara kalem
çalışması" ile bütünleştirilmiş bir kapak ile karşınızdayız. Birinci yaşımızın ağacına sarılan
Koala, yeni sürümün de habercisi. Sizlere hediyemiz ise, özenle seçtiğimiz bir masaüstü
resmi. Hediyenizi, bayinizden ısrarla isteyiniz.
Hepinize keyifli okumalar, u/mutlu ve özgür yarınlar diliyorum.
Mustafa Alkan.......: Editörden
Ayhan Aktaş..........: Ssh, sftp, rlogin, scp kullanımı
Murat Cebir............: Özgür Yazılım
Ömer Kırmızı.........: Dosbox
Ertan Erbek...........: At Gözlüğü
Levent Altunöz......: Codeigniter 2
Ayhan Aktaş..........: Mac Os Röportajı
Ertan Erbek...........: Dosya Paylaşım Sistemi
Murat Cebir...........: Open Shot Video Düzenleyici
Ertan Erbek...........: Ubuntu Raid Kurulumu
Utku Demir...........: Preload
Yusuf Sansarkan...: Güldürü
Arda Dülgar...........: Arch Kurulum Rehberi
2
SSH, SFTP, RLOGIN, SCP, KULLANIMI
Merhaba değerli Sudo okuyucuları; sizlere ssh, sftp, rlogin ve scp'yi biraz da olsa
anlatmaya çalışacağım.
İlk önce Ssh nedir onu anlatayım.
Ssh uzaktaki bir bilgisayara yada bir sunucuya bağlanmak için kullanılır. SSH açılımı
“Secure Shell”dir yani "Güvenli Kabuk" anlamına gelir. Bilgisayarlar arası güvenli bir şekilde
bağlantı kurup veri alışverişi yapmak içi kullanır. Ssh, Telnet ve rlogin gibi güvensiz ve
şifresiz bir şekilde bağlantının tersine daha güvenlidir ve güçlü bir şifreleme ile güvenli bir
şekilde bağlantı kurmaya yarar.
K u ru l u m;
Kurulum için şu kodu kullanabilirsiniz. "sudo apt­get install openssh­server"
Peki nasıl kullanılır?
Ssh “ 22” portu üzerinden veri alışverişi yapar kullanabilmek için “22” portunuzun açık
olması gereklidir.
Eğer bir bilgisayar ile bağlantı kuracaksanız bu komutu kullanınız. “ssh ­l username ip”, eğer
bir server ile bağlantı kuracaksanız bu komutu kullanınız “ssh server_ismi ­l user_name”
şifre isteyecektir eğer şifre atanmış ise şifreyi girdikten sonra bağlantınızı kurabilirisiniz.
Ssh güvenliği;
Brute saldırılarına karşı önlem olarak port numarınızı değiştirmenizi tavsiye ederim.
Değiştirmek için “pico ­w /etc/ssh/sshd_config” komutunu ile açılan ssh ayar dosyasından
“#Port 22” bölümünü buluyoruz “#” işaretini kaldırıyoruz ve “22” yerine kullanmak istediğiniz
port numarasını yazıyoruz.
Dosyamızı kaydediyoruz ve ssh yeniden başlatıyoruz başlatmak için “/etc/rc.d/init.d/sshd
restart” bu komutu kullanıyoruz.
Kullanıcı şifresi olarak zor şifreler belirlemeniz gerekir aksi taktir de diğer kişiler tarafından
brute programları ile şifre tahminleri yaparak şifreleriniz çözülebilir.
Ssh'in bazı konsol komutlarını da söylemeden geçmeyelim;
“AllowUsers kullanıcı”
Açıklama: Ssh için bir kullanıcıya bağlanma izni vermek için kullanılan komut.
“DenyUsers kullanıcı”
Açıklama: Kullanıcıları bağlantısını izinlerini kapatmak için kullanılan komut.
"ls"
Açıklama: Bulunduğunuz dizindeki bütün dosyaları gösterir.
"ls ­a"
Açıklama: Gizli dosyaları ve dizinleri gösterir.
3
"ls ­l"
Açıklama: Bütün dosyaların tarih ve boyutlarını gösterir.
"cp dosya"
Açıklama: Dosyayı kopyalar.
"mkdir dosya_dı"
Açıklama: Yeni bir dizin oluşturur.
"rmdir silinecek_dosya"
Açıklama: Belirtilen dosyayı silmeye yarar.
"cd /dizin_yolu"
Açıklama: Belirtilen dosya dizinine geçmeyi sağlar.
"pico dosya"
Açıklama: Belirtilen dosyayı gedit ile düzenlemeye yarar.
Çok geniş bir komut anlatımı yapmaya gerek duymadan sftp anlatımına geçebiliriz.
Sftp yani “Secure File Transfer Protocol” anlamına gelir. Güvenli bir şekilde Tcp
üzerinden dosya transferi yapmak için kullanılır.Ftp'nin RSA (Açık anahtarlı şifreleme) ile
güçlendirilmiş halidir. Biraz daha açarsak konuyu 3. bir kişinin gönderilen verilere
ulaşmaması için veriler RSA ile
şifrelenir ve güvenli bir şekilde karşı tarafa ulaşır.
Server'ınıza bağlı bir kullanıcıya veri transferi yapmak için ilk önce bağlantı kurmamız
gerekmektedir. Bağlanmak için şu komutu kullanabilirsiniz.
“sftp kullancı@ip_adres” veya “sftp kullanıcı@domain_adı”
Komutunu kullandıktan sonra bizden kişinin atamış olduğu şifreyi isteyecektir şifreyi
yazdıktan sonra sftp bağlantınızı kurmuş olursunuz.
Sftp'de ftp komutlarını kullanır bazı sftp komutları;
“cd dizin”
Açıklama: Bulunduğunuz dizini " dizin " olarak değiştirir.
“lcd dizin”
Açıklama: Yerel dizininizi " dizin " olarak değiştirir.
“chgrp grp dizin”
Açıklama: "dizin" dosyasının gurubunu “grp” olarak değiştirir.
“chmod mode dizin”
Açıklama: “dizin” dosyasının izinlerin ”ode” olarak değiştirir ( man chmod )
“chown own dizin
Açıklama: “dizin” dosyasının sahibini “own” olarak değiştirir.
“df [dizin]”
Açıklama: “dizin” dosya yada dizinin istatistik bilgilerini gösterir
“help”
4
Açıklama: Yardım dosyasını gösterir.
“get uzak dizin [yerel dizin]”
Açıklama: Dosyaları yerel klasörlerinize indirmek için
“lls [dizin]”
Açıklama: Dizinin içeriğini listeler
“ln olddizin newdizin”
Açıklama: Sembolik link atar.
“lmkdir dizin”
Açıklama: Yerel dizin oluşturur.
“lpwd”
Açıklama: İçinde bulunduğunuz dizini yazdırır.
“ls [dizin]”
Açıklama: Uzak dizini listeler.
“mkdir dizin”
Açıklama: Uzak sunucuda dizin oluşturur.
“put yerel dizin [uzak dizin]”
Açıklama: Dosyayı sunucuya yükler.
“pwd”
Açıklama: Çalışma kalsörünüzü gösterir.
“exit”
Açıklama: sftp kapatır.
“quit”
Açıklama: sftp kapatır.
“rename”
Açıklama: Eski dizin yeni dizin klasör adını değiştirir.
“rmdir dizin”
Açıklama: Klasörü siler.
“rm dizin”
Açıklama: Dosyayı siler.
çıktı ile nasıl kullanıldığını öğrenebilirsiniz.
Eğer microsoft windows kullanıyorsanız scp client kurmak gereklidir.
usage: scp [­1246BCpqrv] [­c şifre] [­F ssh_config] [­i identity_dosya]
[­l limit] [­o ssh_seçenekler] [­P port] [­S program]
[[kullanıcı@]host1:]dosya1 ... [[kullanıcı@]host2:]dosya2
K u l l a n ı mı :
Ssh ile uzak bağlantıyı sağladıktan sonra “scp kullanıcı@host:dosya_adı şeklinde kullanılır.
Hangi dosyayı kopyalamak istiyorsanız dosya_adı bölümüne onu yazmalısınız.
Diğer önemli ek komutlarıda biraz anlatalım:
­c şifre;
Açıklama: Veri kopyalama yapılırken şifre belirlemek için kullanılır.
­F ssh_config;
Açıklama: Kullanıcıya özel yapılandırma dosyasını belirlemek için kullanılır.
­i identity_dosya;
Açıklama: RSA kimlik kanıtlaması için kullanılacak identity dosyası belirtilir.
­l limit;
Açıklama: Dosya transfer için belirtilecek limiti belirlemek için kullanılır.
­P Port;
Açıklama: Uzak bilgisayardaki bağlantı portunu ayar.
Genel bir bilgi olsun kullanımı hakkında birazda olsa bilginizin olması için ufak bir
anlatım yaptım. Okuduğunuz için teşekkür ederim.
Rlogin (Remote login) yani “Uzak Sistem Girişi” anlamına gelir telnet gibi ağ üzerinden
veri alışverişi yapar telnet gibi verileri şifrelemez.
Telnet ile aynı şekilde çalışır bağlanma türü telnet tarzı “bilgisayar_adı ­l kullanıcı_adı”
şeklinde kullanılır.Tarama yaptıktan sonra kullanıcı şifresi sorar ve bağlantı gerçekleşir.Eğer
/etc/hosts.equiv dosyası için bilgisayar tanımlı ise şifre sormadan bağlantı
gerçekleşecektir.Eğer tanımlı değilse şifre isteyecektir.
Scp, uzaktan erişimle güvenli dosya kopyalamadır.
İki bilgisayar arasında güvenli dosya kopyalama için kullanılır. Aktarım için ssh kullanır ve
aynı güvenli bir şekilde şifrelenir.
K u l l a n ı mı ;
Eğer linux türevi işletim sistemi kullanıyorsanız “scp ­­help” komutu ile aşağıdaki tablodaki
Ayhan Aktaş
ÖZGÜR YAZILIM
HI... ASL?
Özgür İrade; herhalde insanoğlunun sahip olduğu en büyük erdemlerden biridir. Hiç kimsenin
ya da hiçbir şeyin, size istemediğiniz bir şeyi dayatamaması, kabul ettirememesidir özgür irade.
İstemediğiniz şeylere “Hayır” diyebilme özgürlüğüdür. Allah'ın insanlara bahşettiği bu özellik ile belki
de onu bile inkar edebilme şansımız vardır. Tabi kullanıp kullanmamak bize kalmış.
İnsanların seçimlerinde hür olması ne güzel değil mi? Yok, kazın ayağı öyle değil işte. Bu
özelliğimizi kullanmamızı içine sindiremeyen bir şeyler var. Mesela büyük sermaye bu özelliğimizi öyle
olur olmaz kullanmamızı istemez. Eskaza, büyük sermayelerin yapmamamızı istediği şeyleri yaparsak
pek bir bozulurlar ve bu şansı kullanmanın ne kadar da “aptalca”, “modası geçmiş” veya “çağ dışı”
olduğunu belirtmek için dezenformasyon çalışmalarına başlarlar. Hani herkesin jean ya da spor
ayakkabı giymesinin şart olması gibi. Hatta karnınız acıktığında illa ki süngerimsi ekmek arasına
tıkıştırılmış lastikten bozma köfteleri yemeniz gibi. A! O ne? Siz hala kebap, döner ya da lahmacun mu
yiyorsunuz yoksa? Ne kadar da köylüsünüz canım. Çok ayıp.
Bu tip yaklaşımlara ister “Amerikan Kültürü” deyin isterseniz “Büyük Sermaye” dayatması,
bireye yapılan en büyük haksızlık başka bir alternatifinin olmadığına inandırmaktır. Oysaki ne jean
üretilmeden önce çıplak dolaşıyorduk ne de hamburger yokken açlıktan ölüyorduk. Peki tüm bu
karmaşanın arasında Linux nereye oturuyor? Gürültüyle kahkahalar atan yığınlar arasında “Açık
Kaynak Kod!”, “Özgür Yazılım!” diye kendilerini paralayan insanlar bir avuç meczup mu yoksa bizim
bilmediğimiz, farkında olmadığımız bir şeyleri bizlere anlatmaya mı çalışıyorlar?
Çoğumuz artık geçimimizi topraktan kazanmıyoruz ya da ağır sanayi fabrikalarında mesai
yapmıyoruz. Uygarlığımızı geliştirip “Hizmet Sektörü” denilen durumu oluşturarak günde en az sekiz
saatimizi ofislerde harcıyoruz. Titrimiz ne olursa olsun, çalıştığımız bina ne kadar yüksek,
kullandığımız ofis ne kadar büyük olursa olsun aslında hepimiz “ofis çalışanı”yız. Ve elbette ofis
çalışanlarının işlerini yapabilmesi için vazgeçilmez araç bilgisayardır. Yeni bir iş gününün ilk
hareketlerinden biri bilgisayarımızın açma düğmesine basmak oluyor ve uzun saatler boyunca
karşımızdaki monitörden başka bir şeye bakmıyoruz. Peki kaçımızın aklında “Bu çalıştırdığım
bilgisayarda yüklü olan işletim sistemi yasal mı” sorusu var? İşletim Sistemlerinin yasal olup
olmamasının bir gereklilik olduğundan bile haberimiz var mı? Pekala, “Bunu patron düşünsün” diyerek
sıyrılabiliriz. Birim müdürünün istediği raporları yetiştirmemiz gerek bugün. Ofis programları
kullanacağız demektir bu. Bir saniye, kullanmak üzere olduğunuz word, exel veya power point
programlarının ücreti ödenmiş mi? Neyden mi bahsediyorum? Güne sahtekarlıkla başlayıp
başlamadığınızdan emin misiniz bunu merak ediyorum. Lafı dolandırmanın anlamı yok. Kullandığınız
işletim sistemi çalıntı, ofis programları çalıntı, görüntü işleme programları çalıntı. Parasını
ödemediğiniz hizmeti kullanıyorsunuz ve her gün güne sahtekarlıkla başlıyorsunuz. Siz maalesef
hırsızsınız!
BSA gibi yazılım korsanlığını engellemek için kurulan bir kurumun bu güne kadar bilgisayarında
Linux yüklü olduğu için herhangi bir kurum ya da kuruluşa ceza kestiğini duymadım görmedim ama
5
Windows kullandığı için kurumlara kesilen astronomik cezaları hepimiz biliyoruz. Nasıl, Ceza
Hukukunda “adam öldürmenin suç olduğunu bilmiyordum ki” diyerek sıyrılamayacağınız gibi yasa
dışı yazılım kullanmanın da suç olduğunu bilmiyordum diyerek kurtulamazsınız.
Linux bu durumda size bir alternatif olarak çıkıyor. Bu bir avuç meczup size tamamı ile yasal,
hiçbir lisans hakkı sorunu olmayan, sorunlarla karşılaştığınızda “servis ücreti” yerine bilgi paylaşımını
sunan, bireysel sıyırma yerine toplulukça gelişmeyi öneren kişiler olarak karşınıza çıkıyor.
“Kazanmak için her yol mübah” diyen günümüz kültür dayatmasına “Hayır, paylaşmak için her yol
mübah” diyerek koca koca sermayeleri ürkütüyor.
Hiçbir din mensuplarına kıskanç olmayı, hırsızlık yapmayı, başkalarının emeğini çalmayı
emretmez. Bilakis, bilginizi ve üretiminizi paylaşmayı salık verir ki toplumca yükselinebilsin. Fakat
kullandığınız bilgisayar sayesinde her gün sahtekarlığın, hırsızlığın dik alasını yapıyorsunuz ve
üstelik bunu da iyi yapıyorsanız çevrenizdekiler tarafından “adam işi biliyor” diyerek
destekleniyorsunuz. İçinde bulunduğunuz durum size hoş görünse de aslında bir yalanın içinde
kıvrandığınızı fark etmeniz için duacıyız. Bugün ülkemizin üniversitelerinin bilgisayar bölümünde
okuyan öğrencilerin kaç tanesi yasal programlar kullanarak mezun oluyor? Akademik personelin kaç
tanesinin bilgisayarında parası ödenmiş program var ki öğrenciye doğruyu gösterebilsin. Yüzbinlerce
öğrencinin bu derslerden öğrenebileceği tek şey var: Nasıl daha usta bir hırsız olabilirsiniz?
Microsoft kendi bünyesinde yayınladığı bir raporda “Artık pazarda tek değiliz, rakiplerimiz var”
diyerek elinden kayıp gitmeye başlayan pazarı nasıl geri toparlarımın cevabını aramaya başladı bile.
Fakat nafile, Linux Windows'un rakibi değil, sonudur. Siz ölümü gördüğünüzde tanımaz mısınız?
Yıllar ve yıllardır muhteşem bir şeymiş gibi pazarlanan tüketim toplumunun, ne pahasına olursa
olsun kazanmanın, işini bitirmenin ya da birey olarak köşeyi dönmenin sonudur Linux. Bir avuç
meczup emeğe saygının, paylaşımın güzelliğinin, kullanımda özgürlüğün ve özgünlüğün temsilcisi
olarak bekliyorlar. Dayatılan ve pohpohlanan bu kültürü tamamı ile yok edecek söylemlerle
buradalar. Her şeyi paraya endeksleyen popüler kültüre karşı insan olmanın erdeminden
bahsediyorlar. Bu söylemler sizlere bir yerlerden tanıdık geliyor değil mi? Korkmayın, o ses sizin
içinizden geliyor çünkü siz hala bir insansınız ve özgür iradeniz var. İstemediğiniz şeylere “hayır”
diyebilmek gibi bir özelliğiniz var. Sömürüldüğünüzü anladığınız an buna karşı durma şansınız var.
Başaramayacağınızı düşünseniz bile kazanacaksınız çünkü insanlık tarihi boyunca hep “insanlık”
kazandı. Para değil...
Sorunlarımız yok değil, inkar etmiyoruz. Belki kameralı görüşme yapmak için çok uğraşıyor
olabilirsiniz ya da ekran kartınız yüzünden sıkıntıya düşüyorsunuz. Fakat, “Banane ya sen de gidip
şundan alsaydın” diyen bir şirket temsilcisi yerine, forumlarda sorunlarınıza gerçek cevaplar
veremeye hazır gerçek insanlar olduğunu ve bu topluluğun bahsi geçen konulardaki sıkıntıları
gidermek için çalıştığını unutmayın. Eninde sonunda sorununuz her ne ise Linux topluluğu bunu
çözer. Yeter ki siz paylaşmaya ve dayanışmaya bir şans verin. Size şımarık çocuklar gibi
davranmanızı öğütleyenleri değil, birlikte başarmanın tadından bahsedenlerin yanında yer alın. Eğer
zaten bir Linux kullanıcısı iseniz hali hazırda Nabukadnezar'ın tayfasındansınız demektir ki hep
birlikte dünyaya haykırabilirsiniz. Burası Linux Ubuntu! Ve bizler insan olmaya geldik...
Murat Cebir
DOSBOX
6
Programa bakmak isteyenler ilk önce keyb tr komutunu uygulayarak Türkçe klavye düzenine göre
ayarlama yapması gerekiyor.
Herkese Merhaba... Bu ayki yazımız eski Dos günlerimizi hatırlatacak olan 90`lı yılların meşhur
işletim sistemlerinden DOS işletim sistemi hakkında olacak. Bazılarınız yine mi terminal diye düşünebilirler.
Aslında bunu bu şekilde değerlendirmemek lazım. Linux'un içinde ne kadar çok alternatif barındığını ve
istenilirse nelerin çalıştırılacağını görmeniz açısından, bence iyi bir tercihtir dosbox. Dosbox`ı kısaca
tanımlarsak Linux altında dos emulatör programı diyebiliriz. Sitesinde de bu şekilde açıklanmış. Dos nedir?
Sorusuna cevap vermek istemiyorum. Herkesin azda olsa ufak fikirleri vardır. Lafı uzatmadan dosbox ile
neler yapacağımızı yazı girişinde anlatalım. Ubuntu'da dosbox kurulumu, dosbox için sabit C sürücüsü
atama, klavye ayarları, ETA6 (yine 90'lı yılların meşhur muhasebe programı, belki hala kullanan
muhasebeciler vardır) ve bunların yanında dos oyunlarını çalıştırmayı deneyeceğiz. Ubuntu da kurulum için
Uygulamalar>Donatılar>Uçbirim yolu ile Terminal programımızı açalım. Kurulum için,
sudo apt­get install dosbox
uyguluyoruz. Program kurulduktan sonra Dosbox menülerde Uygulamalar>Oyunlar>Dosbox Emulator
kısmında yerini alıyor. Terminalden çalıştırmak istersek sadece dosbox yazmak yeterli. Standart
ayarlarında İngilizce klavye ön tanımlı.
Program çalıştığında sanal Z:\ sürücüsü şeklinde ayarlanmış. Biz kendimiz C:\ dizini oluşturacağız.
Oluşturduğumuz bu dizinden programlarımızı ve oyunları çalıştırıyoruz. Bu yüzden C:\ bize gerekli.
C:\ sürücüsünü oluşturmak için /home/kullanıcı/ altına istediğimiz bir dizin oluşturuyoruz.
Ben dos adında bir klasör oluşturdum.
Ayarların bulunduğu dosyamızın adı dosbox.conf bu dosya içeriğimiz oldukça geniş. Dosyamızı
açmak için Terminal den gedit dosbox.conf yazarak dosyamızı açıyoruz. İnternet'teki dokümanlara
baktığınızda bu kodun başında sudo var. Bu dosyayı bulasıya kadar bir çok dokümana baktım. Aklıma sudo
olmadan çalıştırmak geldi. Bu şekilde dosbox dosyasını buldum.
Dosya içeriğimizden bahsedelim biraz. Dosyayı açtığınızda göreceksiniz bir çok seçenek mevcut.
Tam ekran yapmadan tutun da dil dosyasının ayarlanması, joystick, ses ayarlarına kadar çeşitli ayarlar var.
Siz isteğinize göre bu dosyadaki ayarları değiştirebilirsiniz. İlk önce dosyamıza C:\ diski için kullanacağımız
bölüme ekleme yapalım. Bu bölüm dosyamızın en altında bulunuyor. En alt satırda su şekilde bir yazı
göreceksiniz.
[autoexec]
# Lines in this section will be run at startup.
Bu yazımızın altına C:\ için bir yol eklememiz gerekiyor. Dosbox çalışırken burayı okuması için
oluşturduğumuz dizinin yolunu belirtmeliyiz. Buraya ekleyeceğimiz satır
mount c /home/kullanici_adi/sizin_C_için_oluşturduğunuz_dosyanın_adı
Ben yukarıda belirttiğim gibi dos oluşturmuştum. Buraya sadece dos yazdım. İkinci kısım ise Türkçe klavye
kullanımı. Dosbox çalıştırdığımızda keyb tr komutunu girdiğimizde Türkçe klavyemize göre ayarlanmış
oluyor. Tabi ki bu sadece o anlık kullanım için. Dosbox kapatıp açtığınızda yine bu komutu uygulamanız
gerekiyor. Bunu sabitlemek için yine dosbox.conf dosyamızda keyboardlayout=tr yapıyoruz. Devamlı keyb
tr komutunu vermekten kurtuluyoruz. Bu belge için ayarlarımız bu şekilde...
Program ve oyun çalıştırma kısmına geçmeden bir not düşmek istiyorum:
Dosbox sayfasında Download bölümünde dil seçenekleri mevcut ama ne hikmetse çalıştırmak
istediğimizde dosbox bu dil dosyaları ile çalışmıyor. Acaba Türkçe çevirisinde mi bir sorun var diyerek tüm
dilleri denedim. Hiç birinde dosbox çalışmadı.
Bu ufak hatırlatmadan sonra oyun ve ETA6 ya geçelim. C:\ için oluşturduğumuz klasörün içine
oyunları ve programlarımızı kopyalıyoruz. Z:\ dizininden çıkıp C:\ dizinine geçiyoruz. Geçiş için
kullanacağımız komut c: dizine geçtiğimizde kopyaladığımız dosyalar doğru mu diye "dir" komutu ile
kontrol ediyoruz.
7
Dosboxta tanıtım amaçlı oyunumuz wolfenstein3D'yi çalıştıralım.
Cd WOLF3D>WOLF3D.EXE
Dir çıktımızda gördüğünüz gibi ETA6 GERMAN WOLF3D dizinlerimiz bulunmakta. Bu çıktıya göre
dosyalarımız doğru dizinde. Bundan sonra yapmamız gereken tek şey programlarımızın veya oyunlarımızın
çalışır dosyalarını (.exe .bat .com) çalıştırabilirsiniz. ETA Programını çalıştıralım.
Cd ETA6>ETAMENU.EXE
Wolfenstein3D oyunu ile şimdiki oyunlar arasında ne kadar fark olduğunu da bu sayede görmüş olduk.
Dosbox, Dos ortamında çalışacak tüm uygulamaları sorunsuz bir şekilde çalıştırabiliyor. Ses ve diğer
ayarlarınızı rahatlıkla yapabileceğiniz ayar dosyası ile de sorunlarınızı çözebilirsiniz. Dosbox`ın yardım
alabileceğiniz forumu da mevcut. Katılımda bir hayli yüksek. Oluşabilecek sorunlarınız için sayfasını ve
forumlarına bakmayı unutmayın.
Eski günleri hatırlamak isteyen ya da Dos programlarını kullanmak isteyen kişiler için ideal bir uygulama
diyerek yazımızı burada bitiriyoruz. Herkese iyi eğlenceler.
Kaynaklar:
http://www.dosbox.com/
http://www.dosgamesarchive.com
http://vogons.zetafleet.com/
Ömer Kırmızı
ATGÖZLÜĞÜ
ATGÖZLÜKLERIMI TAKTIM
At gözlüğü, kullanım amacı olarak atın gözlerine bağlanması ve atın çevrede olanları
değil, sadece önünü görebilmesi ve bu şekilde ürkmemesi ve hep sahibinin sözünü dinlemesi
üzerine geliştirilmiştir. Bir at için kullanıldığında oldukça yararlı, ( At için yararlı olduğunu
sanmıyorum. Bu yarar, muhtemelen onu yöneten içindir. ) bir insan için kullanıldığında ise
oldukca tehlikeli sonuçlar veren,
hem nesnesel hemde günümüzde
kavramsal bir nesnedir.
At gözlüğü yapım amacı
olarak
üzerinde kullanıldığı canlının
yönetimini kolaylaştırmak üzerine
tasarlanmıştır. Hani günümüzde
derler ya "çıkar şu at gözlüklerini,
çevrene bak biraz" diye. Burada
anlamı, kendi yorumumca, dünyada
olanları izle, sadece kendi
gördüğünle yetinme ya da kendi
doğruların içinde kaybolup gitme,
gibi birşeyler olsa gerek. Peki ne işi
var at gözlüğünün bu dergide?
Aslında at gözlüğü burada
sadece anlam bakımından var:
Linux dünyasında garip bir
durum var. İçten içe yaşanan bir
savaş ki bu pek belli edilmiyor (ya
da arada sırada gelişmelerin içinde
geçiyor) ama sözcükler arasında
"dağıtım savaşları" olduğunu
anlayabiliyorunuz.
Linux sistemleri temel olarak bir çekirdeğe dayanmaktadır. Bu çekirdeğin üzerine inşa edilmiş
kabuk sistemlerine ise dağıtım diyoruz. Dağıtımları birbirlerinden ayıran temel özellik, paket
sistemleri ve depolarında derlenmiş olan programların ilk yükleme esnasında gelen ayar
dosyalarıdır. Bunun dışında her dağıtım hemen hemen birbirinin aynısı. O zaman dağıtımlar
aslında birbirlerinden güvenlik, paket sistemleri dışında pek farklı değil. Bazı özel
dağıtımlarda arada sırada olsa da standartların dışına çıkılarak kullanılan bazı programlar da
değiştirilebiliyor. Mesala, kurulum esnasında DNS sunucu kur dediğinizde BIND yerine başka
8
bir sistem kurulabiliyor. Ama isterseniz kendinize istinaden özelleştirebiliyorsunuz elbette.
(Kurulu olanı kaldır BIND tekrar kur :)). Bunlar tamamen o dağıtımı hazırlıyan ekibin
öngörüleri ve araştırmalarına istinaden belirleniyor.
Geçenlerde internet üzerinden, (yanlış hatırlamıyorsam İTU DE) yapılan bir konferansı
dinliyordum. Yine bu konferans içerisinde Linux camiasının ilerlemesinde büyük katkıları
olduğunu düşündüğüm, abi sıfatını yaşı nedeni ile artık kullanamayacağımız bir amcamız
güzel güzel anlatıyor. Yeri geliyor
Open Office programının kendisi
yerine bir çok işi otomatik
yaptığından yakınıp dem vuruyor,
yeri geliyor bundan birkaç sene
evvel bir sekreter arkadaşımızın
Open Office kolaylaştırmaları
olmadan ufak tefek programlar
yazarak zarfların üzerinde yazılacak
kalıpları hazırlaıp sonra
kullanıcıların bir dosyada tutulan
bilgilerini bunun üzerine adepte
ederek çıktı almasından dem
vuruyor. Buraya kadar elbette
herşey güzel... Düşünsenize bir
sekreter arkadaşımız hiç işi
olmadığı, kendisinin ilgilenmesi ve
öğrenmesi gereken tonla işinin
yanında bir de programcılığı
öğreniyor. Bahsettiği zamana
istinaden, o zaman ki programlarla,
programlar bile yazıyor. Şahsım
adına bunun süper bir şey olduğunu
düşünüyorum ve o arkadaşımızı
tebrik ediyorum. Gel gelelim yine
aynı amcamız, aynı konuşma
esnasında bu konuya istinaden
ülkemizin çeşitli yerlerinde hazır
mobilya dediğimiz sistemlerin
satışını yapan bir firmadan bahsediyor. Bahsi geçen konu hazır mobilyaların alınıp evde bu
konuda bilgisi olmayan bir insan tarafından da birleştirilebileceğini anlatıyor ki, bu konu
program yazan sekreter ile malzemeyi birleştiren şahsı aynı zekilik katagorisine koyuyor ve
bu gerçekten güzel... Düşünsenize her insan her işi biliyor ve profesyonel olduğu alan
dışında yüzlerce işte yine başarılı sonuçlar üretecek deneyimler ve sonuçlar elde ediyor.
Tabi bu konuşmanın bu yazı ve at gözlüğü ile ne alakası var diyebilirsiniz... Garip ben de tam
çıkaramamıştım aslında ama sonra bu amcamız bir espiri patlatıyor. (Seyircinin ilgisini
9
üzerine çekip konuşmanın devamlılığını sağlamak için yapılır.) Bu espiri içerisinde öyle bir
noktaya değiniyor ki hem tüm konuşma yerle bir oluyor, hem de asıl sorun meydana çıkıyor.
Espiri; bu hazır malzeme satan firmanın işi fazla abarttığı ve yakında alış veriş için gelen
insanlara bir kütük ve gerekli oyma malzemesinin verilerek, mobilyayı kendilerinin
üretmesinin isteneceği gibi bir şey... Ama olmadı ki... Bu sekreter arkadaş program yazıyordu.
Tamam belki oturup bir Pyton'u ya da bash setini yazmıyor, bunları kullanarak, hazır
malzeme, bir şeyler üretiyor. Ben malzememi alıp evde kendim birleştiriyordum eee nasıl
olacak bu iş ?
Düşünmeden edemiyorum bu arada. Evlilik hazırlıkları nedeni ile hem biraz masraftan
yırtma, (oldukça pahalı bir iş bu evlilik :)) hemde boş vakitlerimi değerlendirmek adına evimi
kendim boyadım. (İtiraf ediyorum çok güzel olmadı ama iş görür diye düşünüyorum). Ama evi
birirleri yapmış, tuğlalarının üzerine harcını çekmiş, su borularını hazırlamış, ısıtma tesisatını
döşemiş, elektirik ve telefon şebekesini düzenlemişti. Ben de güzellik olasun diye evimi
boyamıştım. Yatak odasında yatmam gerektiğini, oturma odasında oturacağımı, mutfak
kısmında yemek yiyeceğimi öğrenmiştim. Aklımdan bu boya sırasında geçti bazı fikirler... Ya
inşaat sektöründe mühendis ünvanı ile çalışan arkadaşlar; "İşte şu dağdaki lavdan çimento,
şu topraktan kireç edineceksin. Biz de evin projesini çizdik, buyur hayırlısı ile yap, otur."
deselerdi... Burada bir sorun ortaya çıkıyor. Bu sorunun adı herkes herşeyi bilemez sorunu.
O zaman Open Office programının benim yerime bir kaç işi de hali hazırda yapması sorun
olmasa gerek. Hem ben evimi bitirene kadar üst kat komşum da evine başlayamıayacaktı
değil mi ?
çok asker getirmişim" sözleri ile biten bir sahne.
İşte at gözlükleri burada devreye giriyor. Çevremize bakmıyoruz, sadece önümüze ve
kendi doğrularımıza bakıyoruz. Aynı şeyi Linux sistemleri ve dağıtımları için de yapıyoruz.
Sonucunda belki içi dolu ama yaygınlaşamayan bir Linux camiası oluşturuyoruz. Fakat
bilgisayar herkeslere gerekli... İşlerini kolaylaştıran yazılımlar yine gerekli... O zaman
yazılan yazılımlar insanlardan o konunun programcılık tarafında profesyonellik
beklemeyecek kadar kullanıcı dostu ve işlerini aksatmadan yapacak kadarda stabil
olmalıdır. Kimseden "Linux kullanacaksan bu konuyu araştıracaksın", "Linux'u öğrenmeden
kullanamazsın" durumu beklemeyeceğiz ki Ubuntu'nun kanımca temel felsefelerinden birisi
de bu... Kolay, kullanışlı, mesleği bilgisayar sektör olmayan insanların bile kolayca
kullanabileceği Linux temelli bir sistem oluşturmak... Bunu da şu an için iyi bir şekilde
yaptıklarını söyleyebilirim.
En iyi dağıtım amaç olan değil işimiz için araç olandır.
Linux camiasında buna benzer garip bir sorun var. Gerek bu eğitimci ve konuşmacı
amcamın konuşmalarında gerekse çok gereksiz olduğunu düşündüğüm dağıtım
çatışmalarında... Bu arada ben her dağıtımı severim. Birtek Fransız'ların Osiris, Amon gibi
her konuya kendileri gibi fransız kalan ve dünyanın da bu dağıtımlara fransız kaldıkları
haricinde. :)
Neyse konu gereği at gözlüklerinin çıkartılması gerekir. Ubuntu birçok sistemi kullanıcı
yerine kurulum esnasında yapıyor diye "Bu Microsoft Windows'a benziyor abi, altında ne
yatıyor bilemiyorun" naraları atmaya gerek yok diye düşünüyorum. Sonuçta dünyanın en iyi
inşaat mühendisi ya da en iyi sekreteri kendi işini hızlı düzgün yapmaktan sorumludur. Kendi
işlerine istinaden bir sekreter için CRM, Office uygulamalarını iyi bilmesi ve yönetebilmesi, bir
mühendis için CAD yazılımlarını ve işi ile ilgili hesapları bilmesi gerekir. Oturup inşaat
mühendisinin en baştan yazması ya da bu CAD programını kullanacağı sistemi en baştan
tasarlaması gerekmemeli.
Bunu biraz da 300 Spartan filmindeki şu sahneyle özleştirmek isterim: Sparta'nın 300
kişilik birliği ile Yunan ordusu bir tepede karşılaşıyor ve selamlaşıyorlar. Yunanlılar, Sparta
Kralı'na bir sitemle bu kadar mı der. Gözleri ile bakıp bunu utanmadan sözcüklere döküyorlar
ve Sparta Kralı'nın Yunanlılara işlerini sorması ile her birisinin toplama olduğu, asıl
mesleklerinin askerlik olmadığı ortaya çıkıyor ve 300 tane savaş için yetiştirilmiş insanın bu
kalabalık ama savaştan anlamayan topluluğa karşı, Sparta Kıralı nın "gördünmü ben daha
Ertan Erbek
WEB PROGRAMLAMA
CODEİGNİTER 2
Geçen sayıda Codeigniter genel yapısına göz atmış ve
temel işleyişi gösterip örnek kod yapısına değinmiştim.
Codeigniter'in üzerine oturduğu MVC (model, view,
controller) yapısını gösterip bunların nasıl kullanılacağına
değinmiştik.
Codeigniter, (bundan sonra 'Ci' diye bahsedeceğiz.)
Bir çok helper (yardımcı) ve sınıf özelliğiyle birlikte
gelmektedir. Bunların herbirini anlatmak için, bu yazıda da
faydalandığım, kullanım rehberini çevirmem gerekir. Bunun
yerine, yazıda anlatacağım blog uygulaması içinde, yeri
geldikçe, kullanacağımız özellikleri göreceğiz.
Blog uygulaması için ilk önce bize gerekli veritabanı
tablolarını hazır etmemiz gerekiyor. Bu işi komut satırından
mysql ile doğrudan erişime geçerek yapabileceğimiz gibi
phpMyAdmin kullanarak görsel bir arayüz üzerinden yapma
şansımız da var. PhpMyAdmin'le, geçen yazıda mysql
ayarlarında belirttiğimiz, 'blog' isimli veritabanını
oluşturuyoruz. Bu veritabanında ise iki adet tablo
oluşturacağız, birincisi 'posts' diğeri ise 'yorumlar' isminde
olacak. Adlarından da anlaşılacağı gibi ilk tabloda blog
yazılarını, ikincisinde ise yorumları saklayacağız.
"Posts" tablosundaki alanlar ; "id (int), baslik (varchar),
yazar (varchar), body (text), tarih(datetime)" şeklinde
oluşturulabilir. "Yorumlar"
tablosunu ise; "id (int),
post_id (int), yazar
(varchar), body (text),
tarih (datetime)" şeklinde
belirledim. Bu tabloları
oluşturduktan sonra
deneme amaçlı olarak
içlerine veri girmek
gerekebilir. Bunu
phpMyAdmin ile
yapabileceğimiz gibi Ci ile
de yapabileceğimiz bir
araç var: Scaffolding
10
özelliği ile tablolara web üzerinden veri ekleyebiliriz. Bunu
yapmadan önce ise bir iki ayar yapalım: İlki Türkçe dil paketi
yüklemek, ikincisi ise autoload dosyasını düzenlemek.
Türkçe dil paketini
http://codeigniter.com/wiki/File:turkish_171_utf­8.zip/
adresinden indirebilirsiniz. Turkish klasörünü çıkartıp
/system/application/languages klasörü içine aktaralım. Son
olarak ise system/application/config/config.php içinde;
$config['language']
= "turkish";
satırını ekleyelim. (Varsayılan olarak "english" yazılıdır.).
/system/application/config klasörü içinde ise autoload.php
dosasındaki, $autoload['libraries'] = array(); satırını şu hale
getirelim:
$autoload['libraries'] = array('database');
Böylece veritabanı kütüphanesinin tüm uygulamalarda
otomatik yüklenmesini sağlamış olduk.
Şimdi, Scaffolding ile veri yükleyebiliriz. Bunun için yine
/system/application/config klasörü içinde routes.php
dosyasını gedit ile açıp $route['scaffolding_trigger'] = "";
satırını,
$route['scaffolding_trigger'] = "sudo";
ile değiştiriyoruz. Burada yazdığımız "sudo" kelimesi gizli
sözcük oluyor ve Scaffolding uygulamasını çalıştırmaya
yarıyor. Buraya kendi kelimenizi yazabilirsiniz.
Controllers klasöründe blog.php isminde bir dosya
oluşturalım ve bu dosyaya şu kodları ekleyelim:
<?php
class Blog extends Controller{
function Blog()
{
parent::Controller();
$this­>load­>scaffolding('posts');
}
?>
}
Burada, daha önceki yazıda gördüğümüz gibi sınıf adı dosya
adıyla aynı ama ilk harfi büyük.
$this­>load­>scaffolding('posts'); satırı ise 'posts' tablosunu
düzenleyeceğimizi belirtiyor. Buraya düzenleyeceğimiz tablo
ismini yazıyoruz. Unutulmaması gereken nokta Scaffolding
uygulamasının geliştirme aşamasında kullanıldığı ve daha
sonra silinmesi gerektiğidir.
Şimdi http://localhost/ci/index.php/blog/sudo yazınca
tarayıcıda şekildeki gibi posts tablosu için veri düzenleme
11
arabirimi görünüyor. Burada bir kaç veri girişi yapıyorum.
Şimdi scaffolding ile ilgili satırı blog.php dosyasından silelim ve dosyaya şu kodu ekleyelim:
function index()
{
$data['sor'] = $this­>db­>get('posts');
}
Böylece blog.php şu hale gelsin:
<?php
class Blog extends Controller{
function Blog()
{
parent::Controller();
}
function index()
{
}
?>
}
$data['sor'] = $this­>db­>get('posts');
Burada $data dizi değişkeninin 'sor' isimli elemanına autoload ile otomatik olarak yüklenen db
sınıfının get özelliği ile posts tablosundaki verileri çekip yüklüyoruz.
Şimdi bu verileri göstereceğimiz views dosyasını oluşturalım. Blog_view.php ismini verdiğim
dosyaya şunları yazıp views klasörüne kaydediyorum:
blog_view.php
<ol>
<?php foreach ($sor­>result() as $item):?><p>
<?=$item­>baslik?>­­>yazar:<?=$item­>yazar?> (<?=$item­>tarih?>)<br />
<?=$item­>body?><hr></p>
<?php endforeach;?>
</ol>
Burada $sor değişkeninde taşınan değerler result() özelliği ile $item nesnesine aktarılıyor ve
$item­>baslik gibi değerler veritabanındaki bilgileri döndürerek ekrana basıyor.
Bu view dosyasını çağırmak için ise :
$this­>load­>view('blog_view',$data); satırını index() fonksiyonuna ekliyoruz. Öyle ki
blog.php dosyası şu hali alıyor:
<?php
class Blog extends Controller{
function Blog()
{
parent::Controller();
}
function index()
{
}
?>
}
$data['sor'] = $this­>db­>get('posts');
$this­>load­>view('blog_view',$data);
Şimdi tarayıcıda http://localhost/ci/index.php/blog yazınca scaffolding ile yazdığımız
mesajları görmemiz lazım.
Bir de her mesajın altında o mesaja ait bir yorum yazmak için link eklesek fena olmazdı
herhalde. Bunun için, url helperden faydalanalım: Normalde <a href="link.htm">link adı</a>
ile verilen linkleri 'url' helper anchor özelliği ile anchor('link.html','link adı') şeklinde
yazabiliyoruz. Büyük bir kolaylık olmasa da bu helperin işimize yarayacak başka özellikleri
de var. Diğer özelliklerinden bazıları: site_url (), base_url (), index_page (), mailto (), redirect
().
Blog_view.php dosyasında ;
<?=anchor('blog/yorumlar/'.$item­>id,'yorum ekle')?>
satırını ekleyelim. Burada /blog/yorumlar/1 gibi bir linke gidiliyor. Buradaki 1 değeri, örneğin
gidilen mesajın id değeridir.
Url helper'ı etkin hale getirmek için ya autoload dosyasını kullanacğız yada blog.php
dosyasını düzenleyeceğiz. İkinci yolu denersek:
12
blog.php
<?php
class Blog extends Controller{
function Blog()
{
parent::Controller();
$this­>load­>helper('url');
$this­>load­>helper('form');
}
function index()
{
}
?>
Burada ,
}
$data['sor'] = $this­>db­>get('posts');
$this­>load­>view('blog_view',$data);
$this­>load­>helper('url'); ve,
$this­>load­>helper('form');
satırlarıyla url ve daha sonra işimize yarayacak form helper'lerini yüklemiş olduk.
Yorum ekle linkine tıklandığında Ci hata verecektir çünkü henüz yorumlar fonksiyonunu
oluşturmadık. Oluşturalım öyleyse:
function yorumlar()
{
}
$id = $this­>uri­>segment(3);
$this­>db­>where('post_id',$id);
$data['sorgu'] = $this­>db­>get('yorumlar');
$this­>load­>view('yorum_view',$data);
Bu fonksiyonu index () fonksiyonunun altına ekleyelim. Buradaki kodları açıklayalım:
$id değişkenine Ci ile gelen uri sınıfının segment özelliğini atıyoruz. Yorum ekle linkine
tıklayınca tarayıcıda .../blog/yorumlar/1 gibi bir adres görürsünüz. Yani yorumlar fonksiyonu 1
nolu mesaj gönderiliyor. İşte uri­>segment(3) ifadesi bu url deki 3. segmenti yani 1 sayısını
verir. uri­>segment(2) olsaydı 'yorumlar' değerin verecekti.
$this­>db­>where('post_id',$id);
ifadesi ise db sınıfına ait where yöntemi ile 'post_id' değerleri içinde id'e (3 nolu segmentin
değeri) eşit olan değeri dönderiyor.
$data['sorgu'] = $this­>db­>get('yorumlar');
ile yorumlar isimli tablodaki veriler üst satırdaki id değerine göre alınıyor ve data
değişkenine atanıyor.
$this­>load­>view('yorum_view',$data);
ile ise bu değerler yorum_view sayfasına aktarılıyor.
Şimdi yorum_view sayfasını oluşturalım:
yorum_view.php
<?=form_open('blog/yorum_ekle');?>
<?=form_hidden('post_id', $this­>uri­>segment(3));?>
<p><textarea name='body'
rows='10'></textarea></p>
<p><input type="text" name="yazar"
/></p>
<p><input type='submit' value="yolla"
/></p>
</form>
<p><?=anchor("blog","anasayfa");?></p>
Burada <?=form_open('blog/yorum_ekle'); ?>
ifadesi form helperinin (blog.php dosyasında
yükledik) form_open () özelliğini kullanarak
yeni bir form oluşturuyor. Parantez içi ifadesi
ise bu formun göndereceği bilgileri
yorumlayan fonksiyonu işaret ediyor. Html
deki action="blog/yorum_ekle" ile aynı işlevi
var. form_hidden ile hidden yapısında bir
input elemanı ile url'nin 3. bölüme ani id nosu
bilgisi gönderiliyor.
yorum_ekle fon ksiyonunu ise şöyle yapalım:
function yorum_ekle()
{
$_POST['tarih']=date("y/m/d/h/s/l");
$this­>db­>insert('yorumlar',
13
$_POST);
}
redirect('blog/yorumlar/'.$_POST['post_id']);
İlk satırda $_POST dizi değişkenine tarih elemanını ekliyoruz
ve değerini php date fonksiyonu ile belirliyoruz. $_POST aynı
zamanda formdan gelen bilgileri de tutuyor, yani body, yazar,
post_id değerlerini içeriyor.
$this­>db­>insert('yorumlar', $_POST); satırı ile bu değerleri
db nesnesinin insert yöntemi sayesinde yorumlar isimli tabloya
ekliyoruz. Redirect fonksiyonu ise yine url helperinin bir
özelliği... Yorum eklenince yorumlar/idnosu adresine giderek
yorum eklenen mesaja ait yorumlara gidiyor.
Şimdi yorum_view sayfasında yorum ekleme özelliğmiz form
sayesinde var ama henüz eklediğimiz yorumları göremiyoruz.
Bunun için şu satırları da ekleyelim:
<?php if (isset($sorgu)):?>
<?php foreach ($sorgu­>result() as $item):?><p>
<?=$item­>yazar?> (<?=$item­>tarih?>)<br />
<?=$item­>body?>
<?php endforeach;?>
<?php endif; ?>
<?=form_open('blog/yorum_ekle');?>
<?=form_hidden('post_id', $this­>uri­>segment(3));?>
<p><textarea name='body' rows='10'></textarea></p>
<p><input type="text" name="yazar" /></p>
<p><input type='submit' value="yolla" /></p>
</form>
<p><?=anchor("blog","anasayfa");?></p>
blog.php
<?php
class Blog extends Controller{
function Blog()
{
parent::Controller();
$this­>load­>helper('url');
$this­>load­>helper('form');
}
function index()
{
<hr></p>
<?php endforeach;?>
<?php endif; ?>
Burada if karşılaştırması ile gönderilen veri var ise foreach
döngüsü çalıştırılıyor ve sorgu değişkenindeki veriler item
nesnesine aktarılarak, yazar, baslik, tarih ve body değerleri
sırasıyla basılıyor. Burada <php echo $item­>yazar ?> yerine
kısa kullanımı olan <?=$item­>yazar?> kullandığımızı
hatırlatalım. Böylece basit bir blog uygulamasını yapmış olduk.
}
Kaynak: codeigniter.com, user guide.
$data['sor'] = $this­>db­>get('posts');
$this­>load­>view('blog_view',$data);
$id = $this­>uri­>segment(3);
$this­>db­>where('post_id',$id);
$data['sorgu'] = $this­>db­>get('yorumlar');
$this­>load­>view('yorum_view',$data);
}
function yorum_ekle()
{
$_POST['tarih']=date("y/m/d/h/s/l");
$this­>db­>insert('yorumlar', $_POST);
redirect('blog/yorumlar/'.$_POST['post_id']);
<?php if (isset($sorgu)):?>
<hr></p>
<?=anchor('blog/yorumlar/'.$item­>id,'yorum
ekle')?><hr></p>
<?php endforeach;?>
</ol>
function yorumlar()
{
Son olarak yorum_view dosyamız şu hale geldi:
<?php foreach ($sorgu­>result() as $item):?><p>
<?=$item­>yazar?> (<?=$item­>tarih?>)<br />
<?=$item­>body?>
ve blog_view.php
Bloğum
<ol>
<?php foreach ($sor­>result() as $item):?><p>
<?=$item­>baslik?>­­>yazar:<?=$item­>yazar?>
(<?=$item­>tarih?>)<br />
<?=$item­>body?>
}
?>
}
Levent Altunöz
MAC OS RÖPORTAJI
14
S o ru l a r;
FreeBSD'ye göre daha dağınık bir işletim sistemi geliyor.
Ancak daha fazla 3. parti uygulama desteği var. Buna
karşılık, FreeBSD kadar organize ve standart değil; bazı
Linux sürümleri 3. parti uygulamaları /opt'ye, bazıları
/usr/local'a bazılari kafalarına göre başka yerlere
koyuyor. Her distro'nun kendi package management
yazılımı var, bu da kötü bir şey. Benim işime yarayacak
neredeyse her türlü uygulama bulunuyor. Ama genele
hitap etmiyor. Bence yazılım geliştiriciler dışında Linux
kullanmanın bir anlamı yok. Bilhassa Mac kullanıcıları
için, çünkü Mac OS X zaten FreeBSD üzerine inşaa
edildi ­ merak etmeyin, Linux'tan daha güvenlidir.
1. Ücretsiz bir işletim sisteminiz olsa bütün yazılımlarını
ücretsiz kullanabilseniz ve kurulum cd'si kapınıza kadar
bedavaya getirilse sizce nasıl olurdu.
2. Alışmış olduğunuz her şey bir işletim sisteminde
toplanmış. Güvenlik derdiniz yok, oyun derdiniz yok,
canınız sıkıldığında sistem içinde oynama
yapabileceksiniz. İşletim sistemini sanki sıfırdan
kendiniz kurmuş gibi hissetseniz nasıl olurdu?
3. Linux deyince aklınıza ne geliyor? Yenir mi, içilir mi?
4. Herkes geliştiremez. Sadece Linux'a aşina olan
yazılımcılar geliştirebilir. Açın kernel kodunu, bakın
(kurduysanız şayet)... her yerde bir sürü macro'lar var.
Bu macro açılımlarını bilmeniz gerekli. Tabii, her şeyden
önce o kernel nasıl işliyor, onu bilmeniz gerekli. Yok,
kernel değil user­mode birsey yazacaksanız, o zaman
en azından C bilmeniz gerekli.
4. Bunları biliyor muydunuz?
Ubuntu, herkesin özgürce kullanabildiği; özgürce
değiştirilip, geliştirebildiği yazılımlardan oluşur. Bunların
çoğunluğu GNU Genel Kamu Lisansı ile güvence altına
alınmış, özgür / açık kaynak yazılımıdır. Bunların yanı
sıra Ubuntu'nun Canonical Ltd. tarafından sağlanan
ücretsiz CD desteği bulunmaktadır. Türkiye'de Ubuntu
kullanıcılarına destek olarak günde yaklaşık 15 bin
kişinin ziyaret ettiği, büyük ve seviyeli bir destek
platformu olan http://forum.ubuntu­tr.org sitesi
mevcuttur.
Cevaplar;
İsmail Pazabaşı;
1. Kulağa güzel gelse de gerçekler öyle değil. Şimdi,
Mac Pro'da FreeBSD kullanıyorum (bu mesajı da
oradan yazıyorum). Ses sadece internal speaker'dan
geliyor. Her şeyi denedik, lakin bir çözüm bulamadık.
Çünkü ücretsiz işletim sistemlerinde testler de düzgün
yapılmadığı için, işler biraz baştan savma yürüyor. Ses
sürücüsü çalışıyor ama bir şekilde ses vermiyor (ne
şekilde vermediği de mumma). Her donanım her zaman
çalışmıyor. Bir sonraki kernel versiyonunu yada
üreticinin insafına gelip sürücü çıkartmasını da
beklediğimiz oluyor.
2. Güvenlik derdi yok demek, affedersiniz, cahilliktir ve
yalandır. Nerede yok? Firefox'un ­ ki ben kullanmıyorum
Son kullanıcı açısından bakarsak, 3. parti bir uygulama
kurduğunuzda çalışmadığında hatanın ne olduğunu
nereden anlayacak son kullanıcı?
Bülent Kıyışkan;
­ kaç açığı var? OpenSSL açıkları var... Linux'un local root exploit'leri var...
Güvenlik derdi her zaman vardır, kimse kimseyi kandırmasın. Ayrıca "canı
isteyen sistemde oynama" yapamaz. Onun için oldukça tecrübeli olması lazım.
Bakiniz 1. madde; KDE phonon grubu üyelerinden freebsd çekirdek takımına
kadar herkes denedi, lakin kulaklığa ses bir türlü gitmiyor.
Siz hayatınızda Linux çekirdek kodunda tek bir satır değiştirdiniz mi, mesela?
Yada, mesela, 256 IP'ye sahip sunucunuzda çalışan ufak bir uygulamanın hangi
IP:port ikilisini dinleyeceğine dair patch yapıp proje yöneticisine gönderip cevap
almadığınız oldu mu? Yada bir oyun kütüphanesinde değişiklik yapıp Saitek
EvoForce joystick'inizi sorunsuz çalıştırıp patch'i gönderip hiçbir cevap
almadığınız oldu mu?
Ayrıca, eğer ben değişiklik yapacaksam, bu sistemin eksikliğini göstermez mi?
3. Linux kullanmıyorum, sadece FreeBSD kullanıyorum. Linux deyince aklıma
1.İşletim sisteminin ücretsiz olması kulağa hoş geliyor.
Hatta yazılımların da aynı şekilde ücretsiz olması güzel
ama iş profesyonelliğe gelince ücretsiz yazılımlar bir
noktada tıkanıyorlar. Para ile satılan eşdeğer yazılımların
hep bir ya da iki adım gerisinde kalıyorlar. Eğer
kullandığımız işletim sistemi ve yazılımlardan para
kazanıyorsak karşılıklarını ödemek oldukça mantıklı bir
durum.
2. Özellikle Linux için "alışmış olduğumuz her şey"in bir
araya toplanmış olduğunu söylemek zor. Çünkü herkesin
alışkanlıkları farklı farklı ve tek bir işletim sistemi ile bunu
sağlamak mümkün olamayabiliyor. Çok iddialı bir söylem
olmuş bu...
Benim için bilgisayar, geliştirmek istediğim bir araç değil.
Onu başkaları yapsın, ben onların yaptıklarını kullanarak
15
kendi işimi yapayım ya da oyun oynayayım ya da müzik dinleyeyim ya da fotoğraflarımı
düzenleyeyim; keyfime bakayım. Sonuçta ben bir bilgisayar uzmanı değilim, olmayı da
düşünmüyorum. Herkes en iyi bildiği işi yapmalı :­)
3. Linux benim aklıma sivil toplum kuruluşlarını getiriyor. Bilgisayarı iyi bilenler, herkesin
özgürce yararlanabileceği bir sistem oluşturmuşlar. Bu açıdan bakınca güzel...
4. Eğer herkes geliştirebiliyorsa, bu herkesin bilgisayar uzmanı olduğunu gösterir ki çok
büyük bir yanlıştır. Herkesin o karmaşık kodları bilmesi beklenemez. Linux öyle bir
sunulmaya çalışılıyor ki, sanki hiç kimseye ihtiyacınız yok. Sanki çok büyük bir şehirde tek
başınıza yaşıyorsunuz ve bütün işleri siz yapıyorsunuz, her şeye yetişebiliyorsunuz. Bu
şekilde tanıtmak bence yanlış, kaldı ki Linux'ta birçok yazılımı kurmak bile özel bir bilgi
gerektiriyor, her yazılımı çift tıklayıp kuramıyorsunuz. Bu da son kullanıcıya olan hitap
özelliğini epey bir geriye atıyor.
Ercan Eras;
1.Bazen ne kadar ödediğiniz değil karşılığında ne aldığınız daha önemlidir. Ücretsiz
kullanmak değil sorunsuz kullanmak. Sadece yazılımları değil, aynı zamanda çevrebirimleri
ve donanımları da. Hız tek başına bir anlam ifade etmez, sistem kararlılığıyla güven de
vermesi..
Kısacası sahip olduğum bilgisayarı ben kullanmak isterim;
sağda solda uyumlu çevrebirimi, donanım sürücüsü aratıp olmayanı yarattırarak onun beni
kullanmasını değil. Eğer bütün bu beklentilerime karşılık verecek bir işletim sisteminden
üstelik ücretsiz olarak bahsediyorsak bunun cevabı sadece Mükemmel olur... Hayal gibi bir
şey ama kulağa imkansız gibi geliyor.
2. Mac OS ile bugüne kadar güvenlikle ilgili en ufak bir sıkıntım olmadı. Klasik sistem
(MacOS 9 ve öncesi) döneminde 2 bine yakın virüsten bahsedilse bile, herhangi bir antivirüs
yazılımı kullanmadığım halde 91'den bu yana bir tanesine bile denk gelmemiş olmam benim
şansım olsa gerek. MacOS X ve Intel geçişinin ardından oyun sıkıntısı da ortadan kalkmış
durumda. Pek çok popüler oyunun Mac sürümü Windows sürümleriyle eş zamanlı olarak
piyasaya sunuluyor.
Bilgisayarımdan beklentim işlerimde bana yardımcı olması. Bunu neyle ve nasıl yaptığını
bilmek ve bunlara müdahale etmek zorunda kalmak gibi angaryalarla dolmak istemem.
Dediğim gibi yazılım geliştirici değilim..
3. Linux denince tek aklıma gelen bir Penguen; ve kendisi gibi pek aşina olmadığım alternatif
işletim sistemlerinden UNIX'in bir türevi olduğu
4. Bundan bir önceki anketiniz vasıtasıyla haberdar olmuştuk.
Bülent Kuzu;
1.Apple yaparsa çok sevinirim.
2. Mac OS X gibi olsun yeterki.
3. Sanki daha çok kod yazanların ilgilendiği bir konuymuş gibi.
4. Ubuntu'nun logosunu biliyorum.
Mustafa Akdağ;
1.İşime yaramayacak olduktan sonra, ücretsiz kurulum da yapsınlar pek farketmez gibi.
Ancak, ücretsiz olmasının keyfi davranmak gerektirmediğini ve işletim sistemi üretmenin
sorumluluğunun bilincinde olunduğu sürece, işlerimi de üzerinde görebiliyorsam eğer, tabi ki
tercih edilir. Ama Mac Os dururken de edilir mi, henüz rakibi olmadığından dolayı bilemem.
2.Linux ile aynı kökenden gelen MacOs kullandığımdan, zaten aynı yeteneklere (ve
fazlasına) sahibim. Dİğer yandan, bir işletim sistemi oyuncak olmamalı, işini yapmalı bana
göre. Dolayısıyla da, Mac Os bu konuda Linux'ten bir adım önde bana göre halihazırda.
Linux'un de en büyük eksikliği bu noktada. Sınırsız bir özgürlüğün peşinde giderken,
kullanıcı deneyim ve yeteneklerini göz ardı ederek, büyük bir son kullanıcı kitlesini de
gözden çıkartıyor olması.
3.Yaklaşık 5 yıl Linux kullanmış birisi olarak, Windows karşısında kısmen tercih
edebileceğim (ettiğim) bir işletim sistemi. Ancak, ana dağıtımlar (Suse, Debian, Fedora, Red
Hat...vb.) yukarıdaki sorulara verdiğim cevaplardan dolayı tercihim olmuştur her zaman.
Ancak, çoğu zaman bilgisayarda yapacağım işlerden çok, işletim sisteminin kendisi ile
uğraşmak daha çok zamanımı almış, sorun çözmek, çözüm üretmekten uzun sürmüştür her
Linux kullanışımda. Tüm zamanım forumlarda komut aramakla, doğru paketlerin
programlarla uyumlarını aramakla geçmişti. En sonunda, denize düşen yılana sarılır hesabı,
kurtulmak için Linux'a geçtiğim Windows'a geri dönmüştüm. Şimdi Mac Os aldım, kafam
rahat. Hem Unix tabanı ile Linux güvenliğindeyim, hem arayüzü kalitesi ile de Windows'un
önündeyim. Mutluyum.
4.Biliyorum. Ubuntu'nun hem yabancı, hem Türkçe forumlarında uzun zamanlar gezindim
çözüm aradım, hatta bir dönem çözüm de sundum. Halen bir Windows kullanıcısı olsaydım
eğer, Ubuntu veya Suse tercihim olabilirdi. Ancak, Mac Os dururken, Linux bana (ve ilgi
alanlarıma) uzak kalıyor açıkçası.
Yalçın Eren
1.Zaten öyle. Yeni bilgisayar aldım, işletim sistemi DVD'si bir sürü ek yazılımı ile beraber
ücretsiz verildi. Hatta bilgisayara kurulmuştu.
2.10 yıldır (Mac kullanmaya başladığımdan beri) durum bu zaten benim için. Hele Mac OS
X bu söylediklerinizin de üstüne çıktı.
3.Penguen geliyor, bir de çirkin bir işletim sistemi.
4.Kar amacı gütmeyen bir iş için bu kadar zahmete girilmesinden feci kıllanırım, uzak
dururum.
Ayhan Aktaş
DOSYA PAYLAŞIM SİSTEMİ
NFS
NFS (Network File System): Oldukca yüksek hızlarda veri transferi yapmak için
kullanılan, SUN firması tarafından 1984 yılında geliştirilmiş bir dosya paylaşım sistemidir. Çok
uzun zamandır Unix, Linux ve türevi sistemlerde kullanılmasına karşın Microsoft Windows
sürümlerinde direk olarak desteklenmemekteydi. Microsoft son yıllarda sektörde yalnız
olmadığının farkına vararak Windows Server 2008, Windows Vista, Windows 7 ile birlikte
NFs sistemine direk olarak destek vermektedir. Bunun başlıaca nedenleri NFS'nin oldukca
hızlı olmasının yanında, SAMBA gibi sistemler arası dosya paylaşımı sağlayan programların
işlerini iyi yapmalarına karşın, yapılan paylaşımın miktarına istinaden çok yüksek donanım
ihtiyaçları duymasıdır.
16
dosyanın, a cihazından b cihazına aktarımının, aktarım yapan sistemlerde donanıma çok
fazla bir ek yük getirmiyeceğidir. Fakat 10 MB büyüklüğünde 100 dosyanın yine 100 istemci
tarafından download ya da upload yapılması oldukça büyük bir fark yaratacaktır.
İşte NFS sistemin gücü bu kısımda ortaya çıkmaktadır. NFS, SAMBA'nın aksina
küçük dosya fazla bağlantı sistemlerinde bile oldukca yüksek performans ve düşük donanım
ihtiyacı göstermektedir. Bunu ölçeklendirmek oldukca zordur fakat aklınızda bir fikir
oluşturmak için şunu söyleyebilirim: Evinize alacağınız 50$ bir modem ile 300$ bir modem
arasında temel fark, hız farkı değildir. Her ikiside aDsl,aDsl2 yada aDsl2+ destekli ise
download ve upload hızları ISP firmasınca size verilen hız seviyesinde (aDsl2+ için max
24Mbit download) olacaktır. Fakat bu ikisi arasındaki performans farkı, kullanıcı sayısının
artması ya da bir istemciden bir çok bağlantı (örnek p2p programları) açılması ie ortaya
çıkacaktır. Aynı fark, ağ üzerinde yapılan dosya paylaşımlarında da görülmektedir.
NFS sistemi, yüksek dosya paylaşımının yanında, oldukça da güvenli bir sistemdir.
Güvenlik, birkç farklı şekilde sağlanabilmektedir. Bunların en başında elbette core bazında
uygulanacak firewall filtreleri gelir. NFS sistemi 2049 TCP/UDP portları üzerinden
çalışmaktadır ki bunlar istenilirse bir ip aralığı, bir subnet açılabilir; istenilirse kapatılabilir.
NFS sistemi için dosya paylaşım ayarlarmaları yapılırken kullanıcı tanımları DNS isimleri ve
IP adresleri olarak yapılabilir. Bu şekilde belli paylaşımlara belirli kişilerin dahil olması
sağlanabilir. Aynı zamanda Linux ve Unix sistemleri üzerinde sunulan yüksek kullanıcı bazlı
güvenlik sistemi, NFS ile paylaşılan klasörler için geçerlidir.
NFS sistemini bilgisayarınıza kurmak için yapılması gereken işlerin başında kurulu olup
olmadığını kontrol etmek gelir. Bunun için konsolda
e­diablo@Ubuntu­NFS­Serv:~$ cat /proc/filesystems
yazmalısınız. Daha önceden kurulmamış ya da dağıtımınızda strandart olarak gelmiyor ise
bu çıktının sonucunda "nodev nfsd" çıktısı alamayacaksınızdır ki, bu da sisteminizde nfs
kurulu değil demektir.
Sisteminizi bir NFS sunucu sistemine çevirmek için ilk öncelikli olarak Linux Core sistemine
NFS eklemesi yapılmalıdır. Bunun için:
2009 yılı itibari ile her sistem ve platforma tarafından desteklenemkte olan NFS sistemi,
alternatif dosya paylaşım sistemlerine göre hızlı, daha az donanım harcayan, program yerine
çekirdek bazında desteklenmekte ve işletilmektedir. Bu yüksek dosya paylaşımlarında ona
büyük bir güç sağlamaktadır. Günümüzda 1000/100/10 hızlarında network bağlantıları
sunulmaktadır. 1000 Mbit hızında bir bağlantı, anlık olarak 125 MB hızında dosya transfer
hızı sağlamaktadır. Hem SAMBA hem de NFS bu hızlarda yapılacak olan veri transferlerini
kolayca yönetilmektedir. Burada performans etkeni olarak hız değil anlık yapılan bağlantı
sayısı ana etken olarak alınmaktadır. Bunun başlıaca nedeni 1 GB büyüklüğünde bir
Sunucuya,
e­diablo@Ubuntu­NFS­Serv:~$sudo aptitude install nfs­kernel­server nfs­common portmap
İstemciye,
e­diablo@Ubuntu­NFS­Serv:~$sudo aptitude install nfs­common portmap
17
programcıkları yüklenmelidir. Bu sistemden sonrası gerçekten çok kolay. :) NFS sistemi, diğer
paylaşım sistemlerine göre oldukca kolay kurulabilen ve yönetilebilen bir sistemdir. NFS
sisteminin ana dosyası "/etc/exports" dosyasıdır. Export dosyası içinde tanımlamalar
"paylaşım host (options)" şeklinde yapılır. Export dosyasında verilen örnek paylaşımlar şu
şekildedir.
e­diablo@Ubuntu­NFS­Serv:~$ cat /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
#
to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes
hostname1(rw,sync) hostname2(ro,sync)
#
# Example for NFSv4:
# /srv/nfs4
gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/homes gss/krb5i(rw,sync)
Hostname kısmı ip, subnet olarak ya da DNS adı olarak verilebilir. Option kısmının
açıklamaları alttaki gibidir.
ro
: Paylaşım yalnızca okunabilir olarak verilmektedir
rw
: Paylaşım okunup yazılabilir şekilde sunulmaktadır.
sync : İstemci ve sunucu arasında yazma ve okuma işlemlerine ilişkin olarak haberleşmeyi
ön tanımlı yapacaktır.
e­diablo@Ubuntu­NFS­Serv:~$ cat /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
#
to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes
hostname1(rw,sync) hostname2(ro,sync)
#
# Example for NFSv4:
# /srv/nfs4
gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/homes gss/krb5i(rw,sync)
#
/home/e­diablo/nfs 192.168.1.0/255.255.255.0(rw,sync)
Bunlara istinaden hazırlanmış olan export dosyası üst teki gibidir ve
"/home/e­diablo/nfs 192.168.1.0/255.255.255.0(rw,sync)" satırına göre "/home/e­diablo/nfs"
dizini " 192.168.1.0/255.255.255.0 " network'u için okunabilir, yazılabilr ve standart olarak
senkronize edilecek şekilde açılmıştır. Bu verilen paylaşımın aktif olabilmesi için yapılması
gereken bir diğer bir işlem daha vardır.
e­diablo@Ubuntu­NFS­Serv:~$ sudo exportfs ­a
İstemci olacak olan cihazlar için bağlama sistemi şu şekilde olmalıdır.
master:/#mkdir ­p /home/user/nfs
master:/#sudo mount 192.168.1.14:/home/e­diablo/nfs /home/user/nfs
Yapılan bu paylaşımda unutulmaması gereken, bizim export dosyamız içinde yapılan
tanımlama her ne kadar "rw" şeklinde olsa da biz paylaştığımız klasörün sahiplik haklarını
ya da yazma okuma haklarını ayarlamalıyız.
Son olarak NFS sistemleri MOUNT ederken bazı ek seçenekler kullanabiliriz. Bunların
başında okuma ve yazma dosya kapasite boyutlarını ayarlamak geliyor elbette. rsize= ve
wsize= seçenekleri bu işlem içindir ve standard halinde 1024 Kbitlik değerdedirler. İstenilirse
8096 kadar yükseltilebilirler. Ayrıca NFS'nin ağ üzerinden paylaşılmasından dolayı doğan
bazı durumlar da söz konusu... Uzak bir sunucuya NFS aracılığı ile bağlandığınızda
oluşabilecek sorunların başında, karşıda bulunan sunucunun planlı, plansız ya da sizden
habersiz yeniden başlaması kısa vadeli işlem durdurması gibi sorunlar ile karşılaşabilirsiniz.
Bu durum için MOUNT işlemi ile birlikte kullanılacak olan HARD ve SOFT parametreleri
bulunmaktadır. Hard parametresi karşıda bulunan sunucunun kapatılması, cevap vermeyi
kesmesi durumunda yapılan işlemin askıya alınması ve sunucu ile tekrar haberleşme
sağlanınca işleme devam edilmesi içindir. Soft ise haberleşme giderse belli bir zaman
diliminde (ayarlanabilir timeo=süre Bkz. man mount) işlemin sonlandırılmasını sağlar.
NFS ile ilgili bilinmesi gereken başlıca konular bunlar ama NFS bundan daha gelişmiş
bir sistemdir. Mesala, diski olmayan cihazlarınızı NFS sunucular üzerinde de
başlatabilirsiniz ve daha bir çoğu... Bu konular ile ilgili ayrıntılı bilgiler internet üzerinde tonla
bulunmaktadır. artık temel NFS sistemini öğrendiğimize göre, üzerine yeni duvarlar örmek
zor olmasa gerek...
Ertan Erbek
OPEN SHOT VİDEO DÜZENLEYİCİ
VİDEO DÜZENLEME
Kişisel bilgisayarlarda en çok
yapılan şeylerden biride video
düzenlemektir. El kameramızla kayıt
ettiğimiz en güzel anılarımızı ya da
internetten bulduğumuz clipleri
beğenimize göre düzenleyip
dostlarımızla paylaşmak yeni
hobilerimizden. Video editing işlerimizi
yapmamız için yardımcı programlara
ihtiyaç duyuyoruz elbette. Piyasada çok
çeşitli editing programları mevcut. Hatta
http://video­editing­software­
review.toptenreviews.com/ adresinde
görebileceğiniz “En İyi 10 Video Editör”
programlarının fiyatları bütçeleri
zorlayacak nitelikte.
Açık Kaynak Kod/Özgür Yazılım
camiasının bu duruma bir çözümü yok
mu peki? Olmaz mı, elbette var. Bu
yazımızda sizlerle Openshot adlı açık
kaynak kodlu programdan
bahsedeceğiz.
http://www.openshotvideo.com/2008/04/
download.html adresinden
indirebileceğiniz Openshot programı
Ubuntu 8.04, 8.10 ve 9.04 versiyonları
için yazılmış. Programı indirirken dikkat
etmeniz gereken şey “Select CPU”
menüsü altından kaç Bit'lik versiyonun
size uygun olduğunu bilmeniz.
Seçimlerinizi yaptıktan sonra ekranda
beliren 2 adet .deb paketini
indirebilirsiniz. Son uyarı, ilk önce
“Dependencies” adlı, içinde 4 adet deb
paketi bulunan yükleyiciyi daha sonra
openshot deb paketini kurmanız.
Kurulum tamamlandıktan sonra
Uygulamlar>Ses ve Video menüsü
altında openshot'ı görebilirsiniz.
18
19
Oldukça basit bir arayüzü olan openshot video editor, az sayıda menüsü ile de dikkat çekici.
ÜST MENÜ
File menüsü altında dosya ve proje işlemlerinizi yapıp hazırladığınız clipleri “Export Video” ile
kayıt edebilirsiniz. Openshot'ın halen geliştirilmekte olan bir proje olduğunu bilmenizde fayda
var çünkü bazı menü özelliklerini kullanmak istediğinizde “This feature is still in development”
uyarısı alıyorsunuz.
Üstünde işlem yapmak istediğiniz görüntü dosyalarını sürükle>bırak yöntemi ile “Project
Files” sekmesine atabilirsiniz. “Transitions” sekmesinde ise iki clip arası geçişleri nasıl
efektlerle yapacağınıza karar veriyorsunuz.
“Effects” sekmesi bilgisayarınızda halihazırda yüklü bulunan efektleri openshot'ın
kuyllanımına sunmanızı sağlıyor.
ALT MENÜ
+ menüsü track eklemenize, razor tool clipleri istediğiniz noktasından kesmenize resize
menüsü ise cliplerin boyutunu büyütüp küçültmenize yardımcı oluyor. Add Marker cliplerin
istediğiniz bir yerine işaretçi koymanız için bulunuyor. Hem de sadece bir tık ile.
Murat Cebir
UBUNTU RAİD KURULUMU
KİM KORKAR RAİD'DEN
Bilgisayarlar gün geçtikçe olağanüstü derecede hızlanmakta. Bu hızlanış öyle
seviyelere geldi ki artık kendi kendine öğrenebilen bilgisayar sistemleri geliştirilmeye
başlandı. Gelin görün ki bu hızlanış o kadar da önemli değil, bunun başlıca nedenlerinden
birisi bilgisayar sistemlerinin garip bir yapısı olması ve en yavaş parçasının hızında
çalışması. İnsanlar devasa hızlarda merkezi işlemciler, büyük kapasitelerde geçici hafızalar,
çoğu zaman gereğinden fazla (görecelidir) disk kapasiteleri ve bunların hepsinin verilerini
hızlı şekilde taşıyacak ana kartlar almaktalar. Fakat hala
bilgisayarlar en yavaş parçalarının hızında çalışmaktadır.
İşlemciniz anlık bir zaman içinde milyarlarca işlem
yapacak kapasite olmasına karşın bu veriyi okuyacağı ya
da yazacağı disk sistemleri bu kadar hızlı değiller.
Günümüzde bu durumu kapatmak için üç sistem
bulunmakta bunların en başında gelen ve ucuz görünen
sistem RAM kapasitesinin arttırılması olmaktadır.
RAM kapasitesini arttırmak aslında güzel bir çözüm.
Bu şekilde diskler üzerinde kullanılan ve sanal olan RAM
yerine geçen sanal belleklerin kullanımı azalır, aynı
RAMler üzerinden gerektiğinde RAM disk dediğimiz disk
sistemlerini kullanılarak bilgisayarımız açık olduğu sürece
verilerin bu kısma yazılması sağlanmakta ve cihaz
kapatılmadan önce ya da zaman aralıklı olarak bu veriler
ana hafızaya ( HDD ) yazılmaktadır. Bu sistem özel ve
uzun uzadıya incelenmesi gereken bir sistem, fakat
bilgisayarınız üzerinde fazla RAM bulundurmak her zaman
bir kazanç sağlamayacaktır. Bunun başlıca nedeni;
Günümüzde 64 bit sistemler oldukça fazla ve bundan bir
kaç yıl öncesine istinaden daha çok destekleniyor
olmasına karşın hala bir çok programın 64 bitlik
versiyonunu bulmakta zorlanmamız. Lisanslı aldığımız ya
da Open Source olarak yararlandığımız programların değişim, bakım ve kurulum gibi
maliyetlerini göz önüne aldığımızda pek karlı bir durum olmuyor. Tabi bu sisteme geçiş
sorunu, 32 bit olan Core sistemlerin maksimum 3GB RAM kapasitesini desteklemesi, daha
yüksek kapasiteyi desteklememesi yüzünden oluyor. Tıpkı Windows Xp'de olduğu gibi 4GB
RAM üzerinde RAM'iniz varsa işletim sisteminiz zaman zaman cevap vermeyi kesiyor. Tabi ki
64 bit sistemler, 32 bit sistemleri simule edebiliyor ve 32 bit yapısında olan programları
çalıştırılabiliyor, fakat çoğu zaman performans sorunlarına neden oluyor. Lafı uzatmadan
RAM kapasitesi arttırmanın pek karlı olmadığını söyleyebiliriz.
Disk üreticileri uzun zamandır disk hızlarını arttırmak için uğraşıyorlar bugün gelinen
20
noktada 15 bin RPM hızlarında dönen 64 MB ön belleği bulunan diskler bulunmaktadır.
Bunun yanında SCSI sistemleri ve Serial SCSI sistemleri de bulunmakta fakat hala istenilen
hızı verememekteler. Tabi bunlar standart bir ev kullanıcısı için maliyeti yüksek olan
gereksiz yatırımlar. İş SATA sistemi dışına çıktığından fiyat/kapasite oranı oldukça
düşmektedir. Disk üreticilerinin aslında uzun zamandır kullanılan RAM Disk teknolojisini
SSD (Solit State Disk) olarak daha geniş kapasitelerde ısıtarak daha ucuz şekilde
sunduğunu belirtelim (Aslında RAM disk ve SSDler tam olarak aynı sistemler de değiller
ama mantık aynı mantık). SSD disklerin fiyat/kapasite oranı oldukça yüksek ama buna
rağmen hızları oldukça tatmin edici düzeylerde. Fiyat olarak yüksek olmaları bu tercihi
dışarıda bırakıyor.
Sonuç olarak şu an SATA sistemler dışında yapılacak
tüm yatırımlar fiyat/kapasite olarak istediklerimizi
veremiyorlar ve yatırım olarak maliyet getiriyi karşılamıyor.
SATA sistemler SATA veri yolu olarak hızlı olsalar da
disklerin fiziksel yapıları yüzünden hızlı değiller. Fakat bu
bant genişliğini birden fazla diski aynı anda kullanarak
sağlayabiliriz. Bu sistem farkında olsak da olmasak da
cihazlarımızın fiziksel sınırlarından dolayı uzun vadede
gerek işlemcilerimizde, gerek RAM sistemlerinde
kullanılmaktadır. Bunun başlıca nedeni bağlı oldukları veri
yolunun hızlı ama parçaların yavaş olması ve bu veri
yolunun hızını değerlendirmek için genelde aynı anda iki
cihazdan yazma ya da okuma yapılacak şekilde kullanılıyor
olmaları. Disk sistemlerine buna RAID deniyor ve RAID
sistemler bugün birçok diski aynı anda kullanabilecek şekilde
yapılandırılabiliyor. Bu yapılandırmalar içerisinde Hız (RAID
0), Güvenlik (RAID 1), Hız+Güvenlik (RAID 5), Hız+ Yüksek
Güvenlik (RAID 6) ve ortak kapasite kullanımı (JBOD) olarak
kullanılıyor. Daha üst düzeylerde farklı yedekleme ve yazma
sistemleri ile daha değişik RAID sistemleri de kullanılıyor. Bir
ev kullanıcısı için öncelik elbette hızda olacaktır ki bu Ubuntu
kurulumunda kullanacağımız sistem Radi0 olacak. Gelin
görün ki Linux sistemlerde RAID sistemlerle ilgili bir sorun
var ve bu sorunun başlıca nedeni Sistem Önyükleyicileri olan Grup ve Lilo nun RAID desteği
olmaması. Bu yüzden genelde Radi sistemler ya direk özel üretilmiş RAID kartlar ile
yapılmakta ya da işletim sistemi için farklı RAID set için farklı diskler kullanılmaktadır. Peki
RAID yapılarının bunca getirilerine karşın götürüleri yok mudur ? Elbette götürüleri vardır, bu
sistemler Soft ve Hard RAID sistemleri olarak ikiye ayrılmaktadır. Hardware RAID sistemleri
daha önce belirttiğim gibi özel kartlar ile yapılmaktadır ve kendi içlerinde set olarak çok hızlı
çalışabilseler de dış yapılar ile o kadar hızlı çalışamazlar. Bu sistemden SATA bir sisteme
veri aktaracağınız zaman çok ilginç yavaşlıklara maruz kalabilirsiniz ki PCI arabirimini ya da
sunucular için hazırlanmış özel girişleri kullanacak bu yapılar dış depolama birimleri ile
21
ancak bu arabirimin hızı oranında haberleşebileceklerdir. Hardware RAID sistemleri işlemci
ve RAM'e ek yük getirmezler ama buna rağmen yukarıda saydığım kısıtlamalara maruz
kalırlar. Software RAID sistemleri ise standart SATA birimleri ile yazılım bazlı yapılmaktadır ve
diğer disk yapıları ile oldukça hızlı şekilde haberleşebilmelerine karşın başlıca sorunlar
yazılımsal oldukları için tüm RAID ve yazım algoritmaları için RAM ve CPU'ya yüklenecek
olmaları ki, bu o kadar da büyütülecek bir sorun değil.
Ubuntu Linux dağıtımı çalışır cd ile gelen yükleme programında RAID desteğini direk
olarak sunmamaktadır. Gelen yükleme cd'si ile bilgisayarınızı açıp RAID sisteminiz için
gerekli mdadm gibi sistemleri yükleyerek RAID setinizi oluşturabilirsiniz. Fakat burada da bir
sorunumuz oluyor, çalışır cd ile yaptığınız bu sistemi boot ettiğimizde Ubuntu kurulum
esnasında mdadm sistemini ana sisteme transfer etmiyor bu nedenle md0 gibi oluşturmuş
olduğumuz RADI sistemi göremiyoruz. Bunu düzeltebiliriz ama gerçekten teferruatlı bir
durum. O zaman bunun bir de kolay yolu var ki, Ubuntu'nun alternatif yükleme cdleri bunun
için hazırlanmıştır.
Alternatif yükleme sistemleri Debian temelli olan Text tabanlı yükleme arayüzünü
kullanacaktır. Yine server ve masaüstü sistem olarak iki çeşidi vardır. Yüklemede direk olarak
RAID ve JBOD desteği ile birlikte gelmektedir ve yüklemede yaptığınız RAID sistemini direk
olarak destekleyecektir.
http://www.ubuntu.com/getubuntu/downloadmirrors#alternate
Raid sistemler hakkında daha fazla bilgi Wiki sayfalarında bulunmaktadır. Allta verilen
kaynakları takip ederek RAID sistemleri ve yapıları hakkında daha fazla ayıntılı bilgi
alabilirsiniz. ( İngilizcesi oldukça ayrıntılı şekilde anlatılmış durumda İngilizcesine güvenen
bir arkadaş bir ara bir ara çevirisini yaparsa oldukça güzel olacak :) )
http://tr.wikipedia.org/wiki/RAID
http://en.wikipedia.org/wiki/RAID
Görüldüğü gibi RAID sistemler kurulum bakımından çok zorluk çıkartmaz ama
performans olarak (kurulumun ardından testlerde çıkacaktır) oldukça tatmin edici sonuçlar
verebilir. Bizim kullandığımız sistem RAID 0 yapısı ve hız odaklıdır bu yapıda yedekleme ve
güvenlik yoktur disklerden herhangi birisine gelecek fiziksel bir hasar tüm RAID
alanlarındaki verinin kaybolmasına neden olacaktır.
Kurduğunuz bu RAID sistemin hızını test etmek için altta verdiğim linkteki toolları
kullanabilirsiniz.
http://www.iozone.org/
http://www.coker.com.au/bonnie++/
http://www.xbench.com/
Bu linkte Ubuntu sisteminin hali hazırda bulunan tüm alternatif yükleme cdlerine
ulaşabilirsiniz. RAID sistemini Ubuntu'da nasıl kullanacağımızı öğrendiğimize göre artık bir
RAID sistem kurma ve HIZ HIZ HIZ HIZ ! çığlıkları atmak yerine HIZLI HIZLI HIZLI ! sözlerini
sarf etme zamanı geldi sanırım :). Tabi dergi içinde poster poster kurulum resimleri vermek
isterdim. :) Fakat gelin görün ki bu pek dergi anlayışına sığmayacaktı. Bu nedenle daha iyi bir
şey yapıp disk yapılandırma kısmını sizin için hareketli bir gif dosyasına çevirdim. İndirdiğiniz
arşivdeki "Ekler" klasöründe, o gif resmini bulabilirsiniz.
İzlediğinizi farz ettiğim dosyada göreceğiniz gibi 8 GB*2 şeklinde iki fiziksel diskimiz
bulunmaktadır. Bunun ilk 300 MB lık alanını /boot bölümüne ayırdık, bu ayrımın sebebi
yazının başlarında bahsettiğimiz Lilo ve Grup gibi önyükleyici sistemlerin raid sistemini
tanımaması ve önyüklemede RAID olmayan bir dizine ihtiyaç duymasıdır. Radi yapılarında
RAID sistemine dahil edilecek olan sistemin kapasiteleri aynı olmalıdır bu nedenle ilk diskte
ayırdığımız 300 MB alana karşılık ikinci diskte de aynı alanda bir birim ayırdık ve ilerde yedek
amaçlı kullanabilmek için /backup dizinine bağladık. Tabi dosya okuma ve yazma alanlarımızı
raid yaparken bazı zamanlarda RAM yerine kullandığımız SWAP alanını unutmayarak her iki
diskte de 250MB'lık bir alanı SWAP olarak ayarladık. Geri kalan kısmı ise / ana dizine
bağlayarak geri kalan tüm veri alanlarımız için kullandık. Elbette disk boyut ve ihtiyaçlarına
göre bu değerler değişecektir, profesyonel arkadaşlar bir çok dizini değiştirmek isteyecektir.
Burada unutmamak gereken disk kısımlarında RAID olarak kullanılacak alanların kesinlikle
aynı boyutta olması ve ön yükleyici için ayrılan kısmın birinci diskin başında olması.
Ertan Erbek
PRELOAD
SİSTEMİNİZ HIZLANDIRIN
Çoğumuzun bilgisayarını açtığında yaptığı şey hemen hemen bellidir. Pidgin açılır,
arkada müzik koleksiyonu çalmaya başlar ve internet tarayıcısı açılır. Aynı zamanda eğer
programlama ile uğraşıyorsanız IDE'nizin veya bir metin editörünün hemen tepki vermesini
beklersiniz. Eğer siz de sisteminizde çoğunlukla belirli programları kullanıyorsanız, bu
programların istediğiniz an açılıp emrinize amade olmasını istiyorsunuzdur.
22
Preload bir daemon(süreç) olduğu için bir önyüzü yoktur. Sistemi başlattığınızda otomatik
olarak çalışmaya başlar. Preload'u konfigure etmek için kullanılan basit bir ayar dosyası
vardır sadece. Bu dosyaya "/etc/preload.conf" konumunda ulaşabilirsiniz. Belge kendini
genişçe açıklamaktadır ve kullanımı basittir. Bu dosyadaki "cycle" değeri ile Preload'un
çalısan programları gözleme aralığını değiştirebilir, mem* şeklindeki değerler ile de
Preload'un çalışacağı işlemci yüzdesini ayarlayabilirsiniz.
Biraz da Özel Hayat ­ Şifrelenmiş
Klasörler
Unix tabanlı sistemlerde izin yapısından
dolayı istediğiniz klasörlere veya
dosyalara kendi dışınızdaki
kullanıcıların erişimini kısıtlamaya
çalışabilir veya tamamen
engelleyebilirsiniz. Ancak yine de eğer
sizin kullanıcınızı bir kişi daha
kullanıyorsa veya root parolasını başka
biri de biliyorsa (veya sudo aktifse o
kullanıcı için) dosyalarınızı okuyabilir
veya değiştirebilir.
Eğer herkesten kısıtlı bir alanınız olsun
istiyorsanız klasörünüzü istediğiniz bir
algoritma ile şifrelemeniz gerekmektedir.
Bu işlem için istediğiniz bir şifreleme
algoritmasını seçebilirsiniz.
Eğer programların açılmasının zaman almasından şikayetçiyseniz veya sadece hiz
istiyorsanız bu program işinize yarayacaktır. Preload adli bir daemon; sık kullandığınız
programların istatistiğini tutup bu programları ve bağımlı kütüphanelerini belleğe
kopyalayarak, programı çalıştırdığınızda dosyalara daha hızlı erişilmesini sağlar. Bu da
programın hızında gözle görülür bir artışa neden olur. Ozellikle sıklıkla aynı programları
kullananların işine yarayacak Preload, programların açılış süresini gözle görülür bir biçimde
azaltacaktır.
Ubuntu'ya preload kurulumu basittir, sadece 32kb olan bu programı, Synaptic Paket
Yoneticisi'nden preload'u aratıp kurarak veya kısaca terminalden
sudo apt­get install preload komutunu vererek kurabilirsiniz.
Şifrelenmiş bir dosya yaratmak için kullanacağımız program ise e2cryptfs'dir. Bu program
dosyayı şifrelememizi veya şifrelenmiş bir dosyayı sisteme bağlamamızı sağlayacaktır.
"mount" komutu "­t" parametresini kullanarak "ecryptfs" programının şifrelediğimiz klasörü
açık bir şekilde bir konuma bağlamamızı sağlar. Kullanımı [sudo ]"mount ­t ecryptfs kaynak
hedef" şeklindedir. Bu komutla şifrelenmiş bir dizin yaratırız ve bunu sisteme bağlarız. Dizin
sisteme ecryptfs ile bağlandığında dizine ekledigimiz her dosya dizin umount edildikten
sonra şifre bilinmeden okunamayacaktır.
Bir örnekle açıklayalım. "özel" adında bir şifrelenmiş klasör oluşturmak istiyoruz.
"mkdir özel" komutu ile yeni bir klasör oluşturuyoruz.
"chmod 700 özel" komutu ile klasörü sahibinden başka kimse tarafından okunamaz hale
getiriyoruz ki klasör şifrelenmemiş halde iken kimse okuyamasın.
23
"sudo mount ­t ecryptfs özel özel/" komutu ile de klasörümüzü ecryptfs ile sisteme
bağlıyoruz.
Artık ecryptfs'nin bize sorduğu soruları cevaplamamız gerek. Varsayılan cevapları "Enter" ile
onaylayabilir veya kendi cevabımızı girebiliriz.
test@test­ubuntu:~/test$ sudo mount ­t ecryptfs ozel/ ozel/
Passphrase:
#Buraya parolamizi giriyoruz.
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
2) blowfish: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]:
#Kullanacağı şifreleme yöntemini seçmemizi istiyor.
Enter'a basip varsayılan "AES" ile devam ediyoruz.
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]:
devam ediyoruz.
Enable plaintext passthrough (y/n) [n]:
geçiyoruz.
#Anahtar byte sayısını istiyor. Varsayılan "16" ile
#Parola şifrelenmeden gönderilsin mi sorusunu varsayılan ile
Enable filename encryption (y/n) [n]: #Dosya isimlerinin şifrelenmesini istemediğimiz için
varsayılan ile geçiyoruz. Eğer
sifrelenmesini isteseydik "y"yi seçip, sonra gelen sorudaki anahtarı onaylamamız gerekirdi.
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_passthrough
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=5370dafea055bf8d
Mounted eCryptfs
#Bağlama başarılı
ecryptfs ile klasörü bağladıktan sonra klasörde yarattığımız dosyalar umount ettikten sonra
okunamayacaktır.
sudo umount özel komutu ile dizini ecryptfs'den ayırdıktan sonra tekrar bağlayana kadar
okunamaz hale gelir.
Dizini tekrar açmak için aynı işlemleri aynı parola ile tekrarlamamız yeterlidir. Dizini açtıktan
sonra istediğimiz işlemi yapabiliriz.
Dizini umount etmeyi unutmadığımız takdirde klasörümüz bütün gözlerden uzak olacaktır.
İyi çalışmalar.
Konsolda Verimlilik ­ Screen
Eğer sisteminizde konsol programlarını kullanıyorsanız, veya SSH kullanırken konsola
mecbur kaldığınızda konsolda aynı anda iki işlemi yapmak problem olmaya başlar. Bunun
için de tek bir konsoldan birden cok programı çalıştırmanıza ve arasında kolayca geçiş
yapmanıza olanak sağlayan "screen" isimli konsol yoneticisi işinizi kolaylaştıracaktır.
Screen'i aynı bir pencere yöneticisi gibi düşünebilirsiniz, programları açmak, kapatmak,
minimize etmek, geciş yapmak gibi yetenekleri vardır. Aynı zamanda konsol oturumunuzu
kapattığınızda screen oturumunuz kapanmaz, yani SSH ile açtığınız bir programa evde
devam edebilir, sanal terminallerde kullandığınız programı X oturumununda açtığınız
konsola taşıyabilirsiniz.
Ubuntu'ya screen kurulumu kolaylıkla paket yöneticisinden veya konsoldan "sudo apt­get
install screen" komutu ile yapilabilir. Screen konsolda çalisan bir program olduğu için
menülerde görememeniz normaldir. Screen ile ilgili gelişmiş ayarlar yapmak isterseniz
/.screenrc dosyasını düzenleyebilirsiniz.
Screen programının kullanımı basittir. Screen ile çalışırken, çalıştığınız programa değil de
screen programına komut vermek için önce Ctrl+a tuşuna basılır, ardından vereceğiniz
24
komutun kısayoluna basılır. Screen kullanırken en sık kullanacağınız komutlar:
screen
# Yeni bir screen oturumu açar.
screen ­r
# Detach edilmiş oturumları tekrar açar
screen ­ls
# Açik olan oturumları listeler
screen ­R isim # Belirtilen isimli screen oturumunu açar veya o isimle yeni bir oturum
başlatır.
screen komut # Belirtilen komutun çalıştığı bir screen oturumu açar.
screen ­R
# En genç screen oturumunu başlatır, bulamazsa yeni oturum açar
man screen # Çoğu Linux programı gibi, screen'in çok güzel bir açıklamasını ve
kullanımını genişçe verir.
komutunu verip paket listemizi güncelliyoruz.
Baska bir ekrana geçmek için, Ctrl+a ile basacağınız tuşu screen'in dinlemesini
sağlayıp ardından "c" tuşuna basarak yeni bir pencere açıyoruz. Burada derlemeyi
başlatıyoruz.
Bu sırada paket listemiz güncellenmiş olsa gerek. Ctrl+a+p ile önceki pencereye
geçip, "sudo apt­get upgrade" ile güncellememizi başlatıyoruz. Ctrl+a+d ile detach edip,
derleme bitince exit komutu ile çıkıp, konsol penceresine düşüyoruz ve istediğimiz işlemleri
gerçeklestiriyoruz.
SSH oturumumuzu kapatıp biraz sonra eve geliyoruz. Güncellemeleri kontrol etmek
için "screen ­R guncelleme" dedikten sonra exit komutu ile çıkıyoruz. Bu kadar:).
Artık konsolda da kendinizi bir pencere yöneticisi kullanır gibi rahat hissedebilmeniz
lazım, iyi çalışmalar :).
Bunlar da screen ile çalışırken Ctrl+A ile verebileceğimiz komutlar:
Ctrl+a+ c # Yeni bir screen oturumu açar.
Ctrl+a+ n # Açık screen oturumlarının bir sonrakine geçer
Ctrl+a+ p # Açık screen oturumlarının bir öncekine geçer
Ctrl+a+ ? # Verilebilecek komutların bir listesini gösterir
Ctrl+a+ [numara] # Belirtilen nolu ekrana gider
Ctrl+a+Ctrl+l # Screen'in çalıştığı konsolu tekrar çizmesine yarar. Program
arayüzlerinde üst üste binmiş yazılar vb. grafik sorunları gördüğünüzde deneyebilirsiniz.
Kısa bir senaryo ile özetlemek gerekirse;
Evimizden uzaktayız, SSH ile sistemimize bağlandık. Küçük bir işlem yapacağız,
başka bir yerde program derlerken, o sırada bilgisayarınızın güncellenmesini istiyoruz. Aynı
zamanda oturumu kapattığımızda da güncellemenin devam etmesini istiyoruz.
Öncelikle düştüğümüz konsolda "screen ­R güncelleme" komutu verip kendimize
güncelleme isimli bir konsol oturumu açıyoruz. Bu pencerede "sudo apt­get update"
Utku Demir
GÜLDÜRÜ
25
GÜLMEK HEPİMİZİN HAKKI
Dergimizin değerli yazarlarından Murat Abi, birisine Ubuntu hakkında yardım etmiş. Karşıdaki
de Murat Abi'ye "siz hiç bir karşılık beklemez misiniz" diye sormuş.
Murat Abi o tarihi sözünü söylemiş: "Hayır biz bir grup Budist rahibiz"...
Rahip de olsak gülmek hoşumuza gider. E hadi gülelim o zaman...
***
­ Merhaba ben Serkan, nasıl yardımcı olabilirim?
­ Benim telefonda bi problem var bankomatta işlem yapamadım
­ Peki ilk önce telefonunuzun ''menü" tuşuna sonra da ''5'' tuşuna basın...
­ Evet... Tamam...
­ Ekranda ne var şimdi?
­ Show tv... ­ ???
***
­ İyi günler, nasıl yardımcı olabilirim?
­ Para çekemiyorum ben...
­ Şifrenizi yanlış giriyormuşsunuz Ahmet
bey!...
­ Şifre mi? Benim şifrem hep aynıdır,
İstanbul'un kurtuluşu...
­ Lütfen, bana şifreyi söylemeyin efendim.
­ Hah, tamam hatırladım, 1956!!!
­ Efendim o İstanbul'un kurtuluşu değil ama...
­ Yaaaa!... Kaçtı İstanbul'un kurtuluşu?
­ Efendim ben malesef söyleyemem bunu
size.
­ Niye sen de mi bilmiyosun?...
­ Biliyorum, ama güvenlik açısından benim şifreyi bilmemem gerekiyor.
­ Ben sana şifreyi sormuyorum ki!... İstanbul'un kurtuluşunu soruyorum.
­ Evet, ama... ???!!!
***
­ Alo benim yazıcım çalışmıyor!...
­ Windows üzerinde mi çalıştırıyorsunuz?
­ Evet
­ Bilgisayar yazıcıyı görüyor mu?
­ Evet, karşı karşıyalar!...
***
­ Şu an bankanızın ATM'sinden maaşımı çekemiyorum.
­ Üzgünüz efendim geçici bir hatadan ötürü şu an tüm sistemlerimiz offtadır.
­ Ben zaten Of'tayım. Yine de çekemiyorum.
­ !!!
***
Yabancı filmlerde sık sık görürüz. Uçak havadayken pilotlar ölür ve bir kahraman uçağı
kulenin talimatlarıyla indirir. Söz konusu biz olunca değil sadece uçak, otobüsle bile o
sahneyi çekeriz:...
­ Aloo, aloo, abi ben Ferhat. İstanbul­Ankara otobüsünden arıyorum. Kaptan
molada içkiyi fazla kaçırdı herhalde, uyuyor şimdi.
­ Evlat sakin ol, muavin orda mı?
­ Hayır, otobüste değil. Tanrım ona ne olduğu konusunda hiçbir fikrim yok!
­ Tamam evlat, hiç korkma. Sizi kurtaracağız. Şimdi şoförü yavaşça koltuktan
yana çek, sen oturacaksın onun yerine.
­ Ama onu yana çekersem düşer, kendinde değil!
­ Düşsün düşsün! Oraya senin oturman lazım.
­ Tamam, oturdum. şimdi ne yapmalıyım?
­ Direksiyonu tut, ne çok sıkı ne çok gevşek.
­ Tuttum, çok eğlenceli görünüyor.
­ Evlat ciddi ol, 40 yolcunun hayatı senin elinde. Şimdi, önündeki panelde
bir çok gösterge var değil mi? Tam ortadaki büyük olana bak, ne yazıyor orda?
­ Bismillahirrahmanirrahim.
­ Hayır göstergenin üstündeki yazıya değil göstergeye bak. Hız göstergesine
bak, kaçla gittiğinizi görebiliyor musun?
26
­ Sıfır.
­ Nasıl sıfır? Dikkatli bak.
­ Sıfır, gerçekten sıfır. Ölecek miyiz?
­ Otobüs duruyor mu gidiyor mu bunu söyle bana, seni kuş beyinli!
­ Duruyooor
­ Kalk git ordan! Bize de panik yaptırdın. Şoför uyanınca devam edersiniz ....
***
İki Kurşun
Şaşıran yönetmen, ertesi gün yağan yağmuru hayretle izler. Bu sırada ihtiyar kızılderili yine
gelir,
"Fırtına... Yarın!.." der ve aniden uzaklaşır.
Gerçekten de müthiş bir fırtına çıkar ve çölü birbirine katar. Yönetmen emreder, "Çabuk
bana o kızılderiliyi getirin! İstediği parayı verin. O olmazsa biz bu filmi bitiremeyiz!.."
Adamlar, kızılderiliyi bulur ancak yaşlı Apaçi bir türlü razı olmaz. En sonunda teklif edilen bir
milyon doları reddedemez ve adamlarla birlikte kampa gelir. 1 ay boyunca, ihtiyar
kızılderilinin söylediği her şey tutar, yağmur der yağmur, çöl fırtınası der, fırtına, kavurucu
sıcak der, kavurucu sıcak... Yönetmen gayet memnun mesut durumda filmi çekmeye devam
eder. Derken bir gün yaşlı kızılderili susar ve hiçbir şey söylemez. Yönetmen, "Nasıl olsa
geçer..." diye düşünerek bekler. 1 gün, 2 gün, 1 hafta, 1 ay derken yönetmenin sabrı taşar
ve kızılderiliyi bir kenara çekerek öfkeyle sorar, "Bana bak! Sana bu iş için dünyanın
parasını ödedim! Bir an önce marifetlerini göstermeye başlamazsan seni buradan
atacağım!.." Kızılderili omuzlarını silker, "Radyo... Kırıldı!..”
Netscape firmasının başkanı elinde bir silahla asansöre biner. Asansörün içinde üç kisi
vardır: Saddam Hüseyin, Muammer Kaddafi ve Bill Gates. Fakat, adamın elindeki silahta ise
sadece iki kurşun... Netscape başkanı kimleri vurur?
Cevap: Sadece Gates'i vurur!.. Emin olmak için de iki el ateş eder.
İhtiyar kızılderili
Film ekibi, ıssız çölün kızgın güneşi altında çekim yapmaktadır. Zor şartlar altında
çalışırlarken, ihtiyar bir kızılderili sete doğru yaklaşır ve yönetmenin yanına giderek şöyle der,
"Yağmur... Yarın!.."
Yusuf Sansarkan
EKLER
ARCH LİNUX KURULUM REHBERİ
Değerli yazarımız Arda Dülgar'ın hazırlmaış olduğu "Arch Kurulum Rehberi"ni sizlere ek
olarak sunuyoruz. Kurulum Rehber'ini arşiv dosyası içindeki "Ekler" dizininde bulabilirsiniz.
Yazıda, bilgisayarı cdden başlattıktan sonra atılacak tüm adımlar detaylı bir şekilde
anlatılıyor. Bu kurulum rehberi sayesinde Arch'ı rahatlıkla kurabileceğinize inanıyoruz.
27
AYIN FOTOĞRAFI
Bundan sonra, her ay sizlere bir duvar kağıdı resmi hediye etmeye karar verdik.
Ubuntu­tr forumda yapacağımız yarışmalarda, en güzel seçilen duvar kağıtları, kendi
çektiğimiz fotoğraflardan seçeceğimiz duvar kağıtları veya özel bir anlamı olan duvar
kağıtlarından birini her ay size hediye edeceğiz. (Fotoğrafların altından siyah kısım panelin
altında kalacağı için sorun teşkil etmeyecektir)
Hediyeniz indirdiğiniz arşivdeki "Ekler" dizininde...
SUDO, Creative Commons (CC)
by­nc­nd ile lisanslanmıştır.
Not: SUDO, Gimp ve Scribus gibi
özgür tasarım araçları kullanılarak
hazırlanmıştır.
Kullanılan içerikten yazarları
sorumludur. SUDO, GNU/Linux
dağıtımları altında sorunsuz
olarak görüntülenir.

Benzer belgeler

Untitled

Untitled Telnet ile aynı şekilde çalışır bağlanma türü telnet tarzı “bilgisayar_adı ­l kullanıcı_adı” şeklinde kullanılır.Tarama yaptıktan sonra kullanıcı şifresi sorar ve bağlantı gerçekleşir.Eğer /etc/hos...

Detaylı

Vi ve Nano Alarm Clock Heartsma

Vi ve Nano Alarm Clock Heartsma Koala, yeni sürümün de habercisi. Sizlere hediyemiz ise, özenle seçtiğimiz bir masaüstü resmi. Hediyenizi, bayinizden ısrarla isteyiniz. Hepinize keyifli okumalar, u/mutlu ve özgür yarınlar diliyor...

Detaylı

lınux - [email protected]

lınux - hilmi@trakya.edu.tr Fakat nafile, Linux Windows'un rakibi değil, sonudur. Siz ölümü gördüğünüzde tanımaz mısınız? Yıllar ve yıllardır muhteşem bir şeymiş gibi pazarlanan tüketim toplumunun, ne pahasına olursa olsun ka...

Detaylı