/home/ras0ir

Feed Rss

Elde 2 farklı subnette bulunan IP’ler ve tek ethernet kartı olunca sanallaştırmada ne yapalım ne yapalım dedik ve çözümün oldukça basit olduğunu gördük: dummy0
Dummy interface oluşturmak için kullanılan bir çekirdek modülü de mevcut, ismi dummy.
Adından da anlaşılabileceği gibi dummy bir interface oluşturup (dummy0) IP atayıp, oluşturacağınız bridge’e dahil edebiliyorsunuz. Örnekleyecek olursak:

brctl addbr br0
modprobe dummy
ip link set dummy0 up
brctl addif br0 dummy0

Daha sonra sanal makine eklerken bridge seçip farklı subnetteki ip’leri verebilirsiniz.
P.S: netfilter’a takılmamak için sysctl.conf’a şunları ekleyebilirsiniz:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

Geçenlerde bir iş için php5.2 ve üstü bir sürümü gerekti, hazır 5.1 ve 5.2 mazi oluyorken haydi bakalım php’yi 5.3′e geçirelim dedik ve kolları sıvadım. PHP 5.3 ve apache’nin (isterseniz de nginx’in) güncel sürümleri için 2 farklı depo mevcut.

Birincisi webtatic, php 5.3.6, mysql 5.5.10, nginx 1.0.0 gibi seçenekler sunan bir deposu var.

Diğeri ise iuscommunity; şiddetle tavsiye ederim, oldukça iyi bir topluluğu var ve oldukça aktif bir gelişim süreci içindeler. Ayrıca EPEL ile de iyi anlaşıyor. Python, PHP, MySQL vb. araçların güncel sürümlerini sunuyor; güncel sürüm arayışında iseniz denemenizde fayda var.

Geçenlerde elimize geçen HP Scanjet 5590′ı araştırırken SANE’in bu tarayıcı için desteğinin “complete” durumunda olduğunu öğrendikten sonra üzerinde bulunan Document Feeder’dan (a.k.a koy belgeleri tarasın ne varsa) yararlanıp tarama yapalım dedik. Sağolsun xsane bu konuda oldukça gelişmiş bir uygulama; xsane’i çalıştırıp tarama türünü/kaynağını ADF yapmak yetiyor. Hatta çift taraflı tarama da mümkün ve bunun GNU/Linux üzerinde sorunsuz çalıştığını bilmek de ayrı güzel. Donanım arayışında bulunanlara duyurulur :) .

Daha önce elimde olan Linux command referance cheatsheet’i bir iş için kullanmam gerekti ve Türkçeleştirmem gerekiyordu. Bugün kendisiyle elleştim biraz ve buraya ekledim. Çıktısını alıp duvarınıza asabilirsiniz. İçeriğiyle oynamak istiyorsanız da .odt hali şurada.

Ha eklemeyi unuttum tabi, bir kaç ufak değişiklik yaptım, orjinali ile birebir aynı değil.

Efendiiim, sene olmuş 2011 ama hala Scientific Linux’un “Install” DVD’si hybrid değil, yani gidip de dd ile imajı atıp çalıştıramıyoruz. O şekilde attığımızda hiçbir işe yaramıyor.

Ancak söz konusu Linux olduğunda çözümden bol bir şey yok. syslinux yardımıyla USB’den boot edilebilir bir SL6 elde etmek için şu aşamaları takip etmeniz yeterli:

- Evvela http://ftp.linux.org.tr/scientific/6.0/x86_64/iso/SL-60-x86_64-2011-03-03-Install-DVD.iso adresinden 64 bitlik SL6 isosu elde edilir.
- Daha sonra 4 GB ve üstü (8′lik şart diyeyim hadi) bir USB bellek alın.
- Daha sonra fdisk yaparak bir vfat (a.k.a fat32) bölüm oluşturun. Ve bu bölüme bootable flag atayın.
- mkfs.vfat /dev/sdX1 (x yerine ne geleceğini bilmiyorsanız bu yazıyı burada okumayı bırakabilirsiniz ;) )
- mkdir /mnt/sdX1
- mount /dev/sdX1 /mnt/sdX1
- mkdir /tmp/sl6
- mount -ro loop SL-60-x86_64-2011-03-93-Install-DVD.iso /tmp/sl6
- cp -rv /tmp/sl6/* /mnt/sdX1
- cd /mnt/sdX1
- mv isolinux/* .
- mv isolinux.cfg syslinux.cfg

Bundan sonra yapacağınız tek işlem, syslinux’u oluşturduğunuz bölüme kurmak:

syslinux -s /dev/sdX1

Bundan sonra USB’den boot ettiğinizde Scientific Linux 6′nın boot managerı karşınızda olacak. Eğer menü açılmayıp da boot: yazan bir satırla karşılaşırsanız endişelenmeden “linux” yazıp enterlayın.
vesamenu.c32 hatası alırsanız sisteminizde kurulu syslinux ile gelen vesamenu.c32 dosyasını (Arch Linux altında /usr/lib/syslinux/vesamenu.c32) usb belleğe kopyalayın, sorun giderilmiş olacaktır.

Herhangi bir sorunla karşılaşırsanız yorumlamaktan çekinmeyin.

Şirket içerisinde ön muhasebe amaçlı Tekir kullanıyoruz. İşleri online olarak takip edebilmek için süper bir önmuhasebe yazılımı kendisi. Yazılım hakkında ayrıntılı bilgiye web sitesinden ulaşabilirsiniz.

Gelelim biz Tekir ile ilgili teknik yazımıza. Tekir JBoss üzerinde çalıştığı için ve JBoss öntanımlı log çıktılarını DEBUG seviyesinde yazdığı için log dizinimizde yüzlerce megabayt verinin oluştuğunu gördük. DEBUG seviyesinde uygulamanın tepki süresi yavaşladığı için log seviyesini düşürmek gerekiyor. Bunu yapmak için de:

$JBOSS_HOME/server/default/conf/jboss-log4j.xml dosyasına şu eklemeyi yapabilirsiniz:
[sourcecode language="xml"]
<!– Limit the verbose seam categories –>
<category name="org.jboss.seam">
<priority value="WARN"/>
</category>
[/sourcecode]
Ya da aynı dosyada en alttaki root kısmının içine de şu satırı ekleyebilirsiniz.
[sourcecode language="xml"]<priority value="WARN"/>
[/sourcecode]
Bu şekilde log seviyesini DEBUG’dan WARN’a indirmiş olduk. Değişiklikleri yaptıktan sonra JBoss’u tekrar başlatmayı unutmayın. Bilgi için Hakan Uygun’a teşekkürleri de bir borç biliriz ;) .

Yeri geldiğinde birbirini tutmayan takvimler çeşitli organizasyonlarda oldukça sıkıntı oluşturabiliyor. Ortak bir takvim kullanalım hayde düşüncesinden yola çıkarak CalDAV sunucularını araştırdım geçen haftalarda.
Bunlar içerisinde en standart CalDAV sunucusu (bkz: RFC 4791) olarak Radicale göze çarptı. Kendisi python ile yazılmış şirin mi şirin bir CalDAV sunucusu. Çalışmak için de öyle bir dünya bağımlılığa ihtiyacı olmuyor; kullanılacak makinede/sunucuda python olması yeterli.

Radicale ile herkesin kullanımına açık takvimler oluşturabileceğiniz gibi, HTTP auth yöntemiyle kullanıcı adı ve parola girilerek de kullanılabilen takvimler oluşturabiliyorsunuz. İlerleyen sürümlerde LDAP desteğinin de ekleneceği müjdesini vereyim.

Thunderbird’e lightning eklentisi (ki thunderbird ile voltranı oluşturdukları konusunda şüphe yok) kurup takvim ekleyerek, Evolution’da ise takvimler kısmından yeni takvim ekleyerek CalDAV’den yararlanabilirsiniz.

Thunderbird’de takvim eklerken kullanılacak format:

http://sunucu:5232/takvimismi

Evolution’da ise:
caldav://sunucu/takvimismi

Ortak bir takvim kullanarak kurum içi anlaşmazlıkların belirsizliklerin önüne geçebilmek, işleri kolayca takip edebilmek oldukça rahat, denemenize değer açıkçası.

Pardus Kurumsal 2′de deneyecekler için paket de yaptım: https://svn.linux.org.tr/pardus/playground/samed.beyribey/server/misc/radicale/ adresinden gerekenleri alabilirsiniz.
Arch Linux için zaten paketi var: http://aur.archlinux.org/packages.php?ID=46522

Arch Linux ve farklı bir iki dağıtımda denememe rağmen “connection failed” hatası aldığım VINN’ı networkmanager yardımıyla internete çıkarmak için izlenmesi gereken yol gayet basitmiş. Log okuyup seri porta sorgulama yaptırmanın pek bir manası olmadığını gördüm açıkçası ve utandım :) ).

Yapmanız gereken şey çok basit, VINN modem’i takıp, Mobile Broadband kısmından yeni profil ekleyip Turkcell’i seçtikten sonra APN olarak “internet” yerine “mgb” yazmanız yetiyormuş.

Çalıştırdığım sistem: Arch Linux – 2.6.39-ARCH çekirdeği (vanilla diyebiliriz) ve NetworkManager (0.8.9997)

Laptop kullanıyorsunuz ve işletim sisteminiz sisteminizin açılış esnasında bir ağa bağlanmıyor diyelim. İşiniz gereği de gezip tozuyorsunuz ve gittiğiniz her yerde oradaki kablolu/kablosuz ağa bağlanıyorsunuz. Haliyle bir çok profiliniz var vs vs. ağ yöneticisi diye bir kavramın olması da bunun sonucu zaten ;)

Sayfalarca NetworkManager’a övgüler sayacak veya kendisine sövecek değilim, biliyorum seveni de var sevmeyeni de. Bu yazının konusu biraz tembel kullanıcılar için. Güvenlik ve çeşitli kaygılar nedeniyle SSH’ın -D ve -L parametrelerini (bu parametrelerin ne yaptığını bilmiyorsanız da bir zahmet man ssh yazarak öğrenebilirsiniz) gün içerisinde oldukça fazla kullanıyorum. Bunun networkmanager ile olan alakasına gelince, yazımızın konusu “dispatcher”lar devreye giriyor.

NetworkManager bir ağa bağlanıldığı zaman, çeşitli komutların çalıştırılmasını sağlamak amacıyla dispatcher adı verilen yardımcı betiklerin kullanılmasına imkan veriyor. Bir ağa bağlandığınızda bağlantı kurulduktan sonra çalıştırmak istediğiniz betikleri /etc/NetworkManager/dispatcher.d dizini altına atmanız ve çalıştırılabilir yapmanız yeterli. NetworkManager kılavuzu der ki, dosya sahibi root olmalı ve dosya izinleri rwx—— (a.k.a 700) olmalı.

Örnek bir dispatcher betiği şu şekilde:

#!/bin/bash

case "$2" in
       up)
               su ras0ir -c  "ssh -fND 7000 ras0ir@evil"
               su ras0ir -c  "ssh -fNL 3000:jabber.org:5222 ras0ir@angel"
               su ras0ir -c  "ssh -fNL 3001:talk.google.com:5222 ras0ir@angel"
               ;;
       down)
               su ras0ir -c "pkill ssh"
               ;;
esac

$2, bağlantı durumunu ifade ederken, $1 interface (wlan0, eth0, vs.) ifade eder. İhtiyacınıza göre yazacağınız betikte interface ($1) ve status ($2) değişkenlerinden yararlanabilirsiniz.

Örnekte verdiğim betikte bir yere bağlandığımda ssh komutları çalışmakta iken, bağlantıyı kestiğimde ise ssh süreçlerini sona erdiriyorum. up ve down haricinde kullanabileceğiniz diğer operatörler ise şunlar:


vpn-up
vpn-down
hostname
dhcp4-change
dhcp6-change

Bunların açıklamalarına NetworkManager kılavuzundan bakabilirsiniz. man NetworkManager demeniz yeterli.

Efendim sene olmuş 2011, sağda solda listelerde GRUB legacy (0.9x) kullanıp da of aman bu benim sistem niye boot etmiyor diyenler vs. oluyor. Neyse ki GRUB2 geldi, hoşgeldi sefalar getirdi. Hatta forkları sayesinde (bkz. BURG) boot menüsüne renk geldi. Lakin GRUB2 gibi ağır sistemler (burada ağırdan kastım çok fazla modülü vs. olması) yerine syslinux kullanmak K.I.S.S felsefesine takılanlar için alternatif bir seçim olabilir.

Arch Linux 2010.x ve sonrası bir sürümü kurmak istediğinizde, boot ettiğinizde karşınıza çıkan bootmanager’ın adı syslinux. Kendisinin kullanım alanı oldukça fazla ama sistemde boot manager olarak kullanım istatistiklerine baktığımızda pek bilindiği söylenemez. syslinux, ext3, ext4, btrfs ve hattan nilfs olarak biçimlendirilmiş bölümlerden bile boot edebilen oldukça faydalı bir araç seti. Araç seti diyorum çünkü içinden pxeboot, isolinux vb. bir çok araç çıkıyor; İsviçre çakısı gibi maşallah :) . Geçen sene Özgür Yazılım Günleri etkinliğinde ağdan Arch kurulumu gerçekleştirmek için kullandığımız araç da syslinux’un bir parçası olan PXElinux idi, FYI. Gelelim syslinux’u nasıl kullanacağımıza:

Paket yöneticinizden syslinux paketini kurun. En dandik dağıtımda bile syslinux mutlaka yer alır :) , endişeniz olmasın. Ben Arch Linux’a göre anlatacağım:

pacman -S syslinux

Daha sonra eğer syslinux otomatik her işi yapsın, kendini de MBR‘ye atsın istiyorsanız:

/usr/sbin/syslinux-install_update -iam diyerek syslinux’u kullanıma hazır hale getirebilirsiniz. Bu komuttan sonra yapacağınız tek iş, /boot/syslinux/syslinux.cfg dosyasını düzenlemek olacaktır.

Örnek olarak kendi syslinux.cfg dosyamı da paylaşayım:

UI vesamenu.c32
DEFAULT arch
PROMPT 0
MENU TITLE Boot Menu
MENU BACKGROUND splash.png
TIMEOUT 50

MENU WIDTH 78
MENU MARGIN 4
MENU ROWS 5
MENU VSHIFT 10
MENU TIMEOUTROW 13
MENU TABMSGROW 11
MENU CMDLINEROW 11
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29

# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu

MENU COLOR border       30;44   #40ffffff #a0000000 std
MENU COLOR title        1;36;44 #9033ccff #a0000000 std
MENU COLOR sel          7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel        37;44   #50ffffff #a0000000 std
MENU COLOR help         37;40   #c0ffffff #a0000000 std
MENU COLOR timeout_msg  37;40   #80ffffff #00000000 std
MENU COLOR timeout      1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07        37;40   #90ffffff #a0000000 std
MENU COLOR tabmsg       31;40   #30ffffff #00000000 std

LABEL arch
        MENU LABEL Arch Linux
        LINUX /vmlinuz26
        APPEND root=/dev/sda3 resume=/dev/sda2 ro quiet splash
        INITRD /kernel26.img

LABEL archfallback
        MENU LABEL Arch Linux Fallback
        LINUX /vmlinuz26
        APPEND root=/dev/sda3 ro quiet
        INITRD /kernel26-fallback.img

LABEL reboot
        MENU LABEL Reboot
        COM32 reboot.c32

LABEL poweroff
        MENU LABEL Power Off
        COMBOOT poweroff.com

Renkleri ayarlanabilen, png gösterebilen, reboot atabilen ve sistemi kapatabilen bir boot manager ayarlamak için syslinux.cfg’nin yanısıra vesamenu.c32, reboot.c32, poweroff.com ve chain.c32 dosyalarını da /boot/syslinux/ dizini altına atın:

cp /usr/lib/syslinux/{vesamenu.c32,reboot.c32,poweroff.com,chain.c32} /boot/syslinux/

chain.c32, isminden de tahmin edebileceğiniz gibi chainload işlemini gerçekleştirip, Windows veya diskteki alternatif bir boot manager’ı çalıştırmanızı sağlar. splash.png dosyasına da buradan ulaşabilirsiniz.

Tercihinize göre renkleri ve splash.png’yi değiştirebilirsiniz. Seçim size kalmış :) . Yeri gelmişken örnekte windows olmadığı için Windows’u nasıl eklerim sorusuna da cevap verelim:


LABEL windows
MENU LABEL Windows
COM32 chain.c32
APPEND hd0 0

Windows’un /dev/sda1 bölümünde kurulu olduğu bir sistem için yukarıdaki örneği kullanabilirsiniz. Tıpkı GRUB legacy gibi, syslinux da saymaya sıfırdan başlar, ona göre Windows kurulu olan bölümünüzü düzenleyebilir, değiştirebilirsiniz. Burada dikkat etmeniz gereken tek şey, chain.c32′nin mutlaka ama mutlaka /boot/syslinux/ dizininde olması gerektiğidir.

Arch kurduktan sonra yaptığım ilk işin bootmanager’i değiştirmek olduğuna değinmezsem ölürüm, hıh ;-) .