Linux

Kabuk (Bash) Programlama

Eskiden Windows kullanırken, dosyaların isimlerini toplu olarak değiştirmek için ya da fotoğrafların boyutlarını toplu olarak düzenlemek için saatlerce programlar arayıp/kurup/sildiğimi hatırlıyorum.

Bir kaçtane program bulup, indirip, kurduktan sonra istediğim şeyi tam anlamıyla gerçekleştiremediklerini de görmek deli ediyordu…

Ne demiş atalarımız;
Aradığını bulamıyorsan, kendi yaratacaksın kardeşim :)

Bugün için çok hoş planlarım vardı, ama gerçekleşemedi
Evdeyken de canım sıkılınca, fotoğrafları küçültmek için kullandığım bash script ile, dosyaların isimlerini toplu olarak değiştiren bash scripti birleştirmeye, kendime kullanımıma göre özellikler eklemeye karar verdim…

Gerçi koda şöyle bakınca çok farklı pek bir şey yok, basit bir kaç satır koddan oluşuyor. Fakat daha önce kabuk (bash) programlama ile hiç uğraşmadığım ve belli başlı dizilimler hakkında bir bilgim olmadığı için öncellikle örnek kodları ve yardım dokümanlarını inceledim.

Benim kod ile fotoğrafların boyutlarını küçültmek ve JPEG olarak sıkıştırmak için sistemde ImageMagick kurulu olması gerekiyor.

Debian GNU/Linux kullananlar direk depodan indirebilirler, fotoğraf ve grafiklerle uğraşanlar için ImageMagick şiddetle tavsiye edilir…

apt-get install imagemagick

Bir Debian GNU/Linux ve kabuk (bash) programlama acemisinin yazdığı kodu merak edenler için; kucult.txt

Özgür Yazılım ve Açık Kaynak Günleri

Özgür Yazılım ve Açık Kaynak Günleri

Bilgi Üniversitesi‘nde 24-25 Şubatda “Özgür Yazılım ve Açık Kaynak Günleri” düzenleniyor…

Malesefki Cuma günü okulum olduğu için ancak 17.30daki Creative Commons Paneli‘ne katılabileceğim. Zaten bu konuda fazlasıyla ilgimi çekiyor…

Cumartesi günü ise bütün günü Bilgi Üniversitesi’nde geçirmeyi planlıyorum. Cumartesi için gözüme kestirdiklerim ise Debian, “Özgürlüğün Internetin Gelişimindeki Önemi” ve “Özgür Yazılım, Linux, GNOME, Mono: Yakın Tarih” konulu olan paneller.

Bilgi Üniversitesinin sitesinden alıntı;

Bu noktada tek ihtiyacımız olan; insanların, özellikle gençlerin lisans ücreti ve hantal telif hakkı sınırlamaları olmayan, kullanıcıyı esaret altına sokmayan Özgür yazılımlara yönlendirilmesi. Bu yazılımların özgür işletim sistemleri üzerinde geliştirilmesi ve yaygınlaştırması.

Bilgi Üniversitesi bu amacı gerçekleştirmek için Özgür Yazılım ve Açık Kaynak Günleri´ne ev sahipliği yapıyor.

Neden gereksinimlerime cevap verebilecek özgür, ücretsiz ve en önemlisi güvenilir yazılımlar varken, gidip paramı boşa harcıyayım ki? Aptal mıyım ben? :)

Debian Açılış Hızı

E-Posta listelerinde ve gezegenlerde herkesin sistem açılış hızıyla ilgili problemi/sorusu ile karşılaşıyordum. En sonunda Alper‘de sistemini hızlandırmaya çalıştığından vs. bahsedince ben de merak saldım bu konuya. :)

Öncelikle bootchart‘ı yükledim, ardından initng ile sistem açılışını düzenledim ve neredeyse yarı yarı açılışı hızlandırabildim…

Öncelikle Debian depolarından bootchart ve initng‘i yüklüyoruz.

apt-get install bootchart initng

Kurulum tamamlandıktan sonra bootchart ve initng’i aynı anda çalıştırabilmek için root olarak aşağıdaki komutları uyguluyoruz;

cat /sbin/bootchartd | sed ‘s:/sbin/init:/sbin/initng:g’ > /sbin/bootchartdng
chmod a+x /sbin/bootchartdng

Bir sonraki adımda GRUB‘un ayar dosyasında değişiklik yaparken hem bootchart hem initng’i farklı iki parametre olarak kullanamadığımız için yukarıdaki komutlarla bunları tek bir dosya haline getiriyoruz.
Özetle /sbin/bootchartd ve /sbin/initng dosyalarını birleştirip /sbin/bootchartdng isimli yeni bir dosya oluşturduk.

Sıra geldi GRUB‘un ayar dosyası /boot/grub/menu.lst içinde değişiklik yapmaya;

Öncelikle dosyanın içindeki diğer açılış satırlarını inceleyin, normalde kullanığınız kernel’in ayarlarının yazılı olduğu kısımdaki bilgilerle aşağıdakini benzer hale getirip kullanabilirsiniz. Benim menu.lst dosyasına eklediğim bölüm;

title linux-initng denemesi
root (hd0,0)
kernel /boot/vmlinuz-2.6.15-1-686 root=/dev/hda1 ro noapic vga=791 init=/sbin/bootchartdng
initrd /boot/initrd.img-2.6.15-1-686
savedefault
boot

Yeni bir açılış sistemi oluşturmak yerine, normalde kullandığınız dosyada, kernel satırının sonuna init=/sbin/bootchartdng parametresini eklemek yeterli olacaktır. Ama ben çalışan bir şeyi bozmamak için yeni bir tane oluşturdum.

Sistemi tekrar başlattıktan sonra açılan GRUB penceresinde yeni oluşturduğum seçeneği seçiyorum, ardından her şey normal bi şekilde yüklenmeye başlıyor.

Bu sırada bootchart devreye girip, gerekli kayıtları oluşturup /var/log/bootchart.tgz isimli bir paket oluşturuyor. Sistem açıldıktan sonra bootchart.org sitesinde en altta bulunan Renderer Web Form aracılığı ile /var/log/bootchart.tgz ‘i siteye upload edip, PNG olaraktan grafikli dökümünü elde ediyorum…

initng olmadan önce yaklaşık sistem açılış hızım bootchart’ın dediğine göre 59 saniye. (Grafikli detay burada)
initng kurduktan sonra, açılış hızım yarı yarıya düştü. Yaklaşık 31 saniyede açılıyormuş. (Grafikli bootchart detayı burada)

InitNG’nin default ayarlarıyla yarı yarıya sistem hızlandı, fakat ufak tefek problemler oluşuyor. Bunları da initng’nin ayar dosyaları değiştirilerek halledilebiliyor. Ben henüz Debian ve bu konularda acemi olduğum için sadece yaptıklarımı anlattım, uzun detaylı ve doyurucu bir makaleyi Alper Kanat yazacak, eğer kendisi de becerebilirse ;)