17-02-2012 10:25:15

Emacs'te yeni satır ile kelime değiştirme

Unutmayalım. Diyelim ki bir satırımız var:
...
LAYER
...
Bunu şu şekilde değiştirmek istiyor olalım:
...
   
LAYER
...
Bunun için gerekli Emacs hareketi:
M-x replace-string RET
LAYER RET
C-q C-j LAYER RET

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

14-02-2012 18:15:22

Mikemmel klavyeyi buldum galiba, çok mesudum!

Projeden alınan, yani baldan da tatlı olsa da, üzerinize afiyet klavyesi son derece dandik olan Asus N53SN-SZ129V için sonunda düzgün bir klavye buldum. Düzgün ve hızlı yazılabilir bir çalışma ortamı edinme çalışmam sonlanmış oldu böylece. Anlatayım:

Önceliklen bütün gün başında durduğum bilgisayarın masa üzerinde bulunması, gıdı çıkaran bir pozisyonda bulunmayı gerektiriyor. Bütün gün bu şekilde durunca sanırım geceleri de bu şekilde duruyorum ve horlamama katkıda bulunuyor diye düşünüyorum. (İşte buna RSI derler! : ) )

Bu sebeple sevgili eşimin işe başlama hediyesi olarak bana aldığı, ederinden pahalı olan, Cooler Master NotePal ErgoStand dizüstü standını, yine neredeyse ederinden pahalı olan Case Logic sırt çantamda taşımaya başladım.

Tabi bu durumda klavye sıkıntısı doğdu. İşte bugün bu sıkıntıyı bir avantaja çeviren hamleyi yaptım ve bir adet Genius Luxemate I200 aldım. Ve huzura erdim.

Artık başım hizzasında düzgün bir monitör ve düzgün bir klavyeye sahibim. Bu yazının sebebi de klavyenin akıl almaz dügünlüğü aslında. Tuşların ayrık olması tuşların yerinin anlaşılmasını kolaylaştırıyor. Ayrıca tuşların geri bildirimi de tam tadında. Ne az ne fazla. Kritik olarak düzgün bir sağ ctrl tuşu var. Sağlam bir zemini var. Ayrıca rahatça çantaya girebilecek boyutlarda. Bu da yetmezmiş gibi sadece 28 TL!!! Acaba gidip üç-beş tane daha mı alsam. Zira kendisini hayatımın klavyesi olarak ilan ediyorum.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

08-02-2012 10:09:45

Vim tar tarayıcı olabiliyormuş

Bir tar dosyasını vim ile açınca içerisindeki dosyaların listesi gözüküyor, ok tuşaları ile bir dosya isminin üstüne gelip enter'a bastığınızda o dosyanın içeriğini gösteriyor.

Tar dosyalarının içeriğini öğrenmek ve içlerindeki yazı dosyalarını okumak için çok faydalı olabilir.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

25-01-2012 12:55:34

CPAN'a erişim

perl cüler bilir, CPAN perl paketlerini sunar. Ön sayfasında yazdığı üzere 103,200 adet perl paketi mevcut imiş. Pek mükemmel yani!

Geçmişten gelen problemlerinden birisi bu depodan yüklemek idi. Sanırım bugün bunu çözdüm. Meğersem birkaç yolu varmış. Benim beğendiğimde CPAN'dan paket indiriliyor, bununla bir deb paketi oluşturuluyor. Sonra bunu dpkg ile yüklüyoruz:
aptitude install dh-make-perl
cpan2deb Paket:İsim
dpkg -i oluşan.deb
ve CPAN'ın dünyası bize açılmış oluyor.

Not: cpan2deb komutunu ilk çalıştırdığınızda CPAN.pm ayarlaması yapılıyor. Burada önceden tanımlı seçenekler iyi çalışıyor gibi gözüküyor. root gereksinimi varmış gibi gözükse de olmadan iş görüyor.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

12-01-2012 12:12:41

Bugün Linux kernel değişkeni ayarladım

Çok hayret vericiydi, siz de deneyin (root olarak):
sysctl -A
Listede çıkacak değişkenleri değiştirmek için /etc/sysctl.d/birdosya.conf dosyasına yazmak gerekiyor mesela:
echo kernel.shmmax = 268435456 > /etc/sysctl.d/local.conf
Sonra bunların geçerli olması için sadece ve sadece bir komut:
service procps start
Sonra sysctl -A ile bakıldığında görülecektir ki kernel parmetresi değişmiştir. Amaniii...

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

30-12-2011 17:31:29

Debian'da unstable dan testing e geçmek için bir yöntem

Bütün günü bilgisayarı yeniden başlatıp ayarlar denemek zorunda kaldıktan sonra bugün şunu öğrendim. Debian unstable dayken testing deposuna geçmek için şu yol kullanılabilir gibi. apt-show-versions paketini yükleyip komutu çalıştırdığınızda hangi paketin hangi depodan geldiğini gösteriyor, oraya bir grep çekip unstable olanları bulup, aptitude purge edip, sources.list'i güncelledikten sonra tekrar yüklenince, testing e dönebiliyor mesela paketler.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

29-12-2011 11:25:35

Bir disk bölümleme hikayesi

Arkadaş RAM'in mi var derdin var... İki gündür bir disk bölümleme (disk partitioning) problemi ile uğraşıyorum ki sormayın gitsin. Problemi anlatayım.

Bilgisayarı açtıktan sonra pm-hibernate ile güzelce hibernate ediyorum. Biraz sonra tekrar deniyorum, yine güzelce çalışıyor. Bir süre sonra çalışmaz oluyor, kernel dump a kadar şeyler oluyor. Ben de dedim ki acaba bu RAM'in takas bölümünden (swap) büyük olmasından mı kaynaklanıyor? Böylece kafadan 2 GB olarak tanımladığım takas alanını büyütmeye koyuldum.

Herşey iyi güzeldi bir Ubuntu 10.04 live cd si içindeki gparted ile işe başladım. Yapacağım şey şu idi.
sda1 -> aynen kalsın
sda2 -> biraz büyüsün
sda3 -> silinsin (eski swap)
sda4 -> 6 GB küçülsün, gerisi aynen kalsın
...  -> açılacak alanda yeni takas alanı oluşturulsun
Bu işlem dün bütün gün boyunca 8+ saat kadar sürdü!!! Bunun sebebi ise gparted gerek yok iken (!!!) sda4 ü bir miktar sola taşıması idi.

İşlem bitince sistem açıldı. Bir problem gözükmüyordu (bütün gün Ubuntu live cd si içerisinde mahkum olmanın dışında!). Taa ki fdisk -l diyene kadar. Çıktıda şu mesajlar geliyordu:
Partition 3 does not start on physical sector boundary.
Partition 4 does not start on physical sector boundary.
Biraz araştırdıktan sonra gördüm ki, gparted'ın lüzumsuz olduğunu düşündüğüm taşıma hareketi bütün gün sürmenin yanı sıra başlangıç noktasının sektör sınırına denk gelmemesini de sağlamış!!! Bir süre bakındıktan sonra, şu makalede gördüm ki bunun sebebi gparted'ın arayüzündeki "round to cylinders" seçeneğinin seçili olmasıymış, ki kendisi önceden tanımlı olarak seçili geliyor!!!

Bir süre sakinleşme gayreti gösterdikten sonra, Ubuntu'nun yeni sürümünü (11.10) indirdim. Yine gparted'ı açtım, bu sefer "align to" seçeneğinde bir de "MiB" çıkmış. Bir de bunu deneyelim diyerekten dün gece saat 1.00 de işlemi başlattım.

Sabah kalktığımda saat 7.00 civarında Ubuntu'nun ekranı çalışmaz hale gelmişti. Grafik ekran yerine siyah bir ekran gözüküyordu. Bir yandan CD durmadan çalışıyordu, sabit disk de durmadan çalışıyordu. İyi bari deyip, bir süre takılıp geri geldim. Bir de ne göreyim ekran kendine gelmiş birşeyler gösteriyor. Diyor ki bir buçuk saat daha işim var!!!! Bu sefer de tekrar bir taşıma işlemi olduğu için yine uzun sürmekte.

Yalnız bu sefer ki doğru bir taşıma işlemi. Bunun doğruluğunu kontrol etmenin yolu şu idi, sonuçta varılacak konfigürasyonda yeni disk bölümlerinin başlangıç noktaları 306491392 ve 1237057536, ikisi de 512'nin katları... Şükür... Bunu işlem başlamadan kontrol etmek de mümkündü.

Sonuçta şimdilik sonuç iyi oldu. Ama pek çok kıssadan hisse oluştu, dikatinize sunarım:
  • Gerekmedikçe asla disk bölümü taşımayın. İnanılmaz uzun sürüyor.
  • gparted'ın en son sürümünü kullanın.
  • Bölümlerinizi oluşturmaya başlamadan önce BAŞLANGIÇ noktalarının 512'nin katı olduğundan emin olun.
Bu işlemin sonucunda oluşan gparted_details.htm dosyası, belki biraz daha fikir verebilir.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

25-12-2011 13:57:23

Suspend düzeltmesi

Farkettim ki sadece kerneli yenilemek suspend in çalışması için yeterli değil. Aynı zamanda aşağıdaki dosyları da belirtilen yerlere konulması gerekiyor:
/etc/pm/config.d/usb3-suspend-workaround


SUSPEND_MODULES="xhci ehci"
Aşağıdaki dosyanın çalıştırılabilir yapılması gerekiyor:
chmod a+x /etc/pm/sleep.d/20_custom-ehci_hcd
/etc/pm/sleep.d/20_custom-ehci_hcd


#!/bin/sh #inspired by http://art.ubuntuforums.org/showpost.php?p=9744970&postcount=19 #...and http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug # tidied by tqzzaa :)

VERSION=1.1 DEV_LIST=/tmp/usb-dev-list DRIVERS_DIR=/sys/bus/pci/drivers DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd HEX="[[:xdigit:]]" MAX_BIND_ATTEMPTS=2 BIND_WAIT=0.1

unbindDev() { echo -n > $DEV_LIST 2>/dev/null for driver in $DRIVERS; do DDIR=$DRIVERS_DIR/${driver}_hcd for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do echo -n "$dev" > $DDIR/unbind echo "$driver $dev" >> $DEV_LIST done done }

bindDev() { if [ -s $DEV_LIST ]; then while read driver dev; do DDIR=$DRIVERS_DIR/${driver}_hcd while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do echo -n "$dev" > $DDIR/bind if [ ! -L "$DDIR/$dev" ]; then sleep $BIND_WAIT else break fi MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1)) done done < $DEV_LIST fi rm $DEV_LIST 2>/dev/null }

case "$1" in hibernate|suspend) unbindDev;; resume|thaw) bindDev;; esac

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

23-12-2011 17:14:01

Vim ile kodlama değiştirme

Malumunuzdur pek çok kişiler dosyayı başka kodlamada (encoding), içindeki yazıyı başka türlü kodlamada ustadır. Bazen de ne kadar gereksiz de olsa doğru bir şekilde hem dosyanın diske yazılmasında kullanılan kodlama hem de içindeki yazının kodlaması ISO-8859-9 şeklinde yapılır. Bu dosyaları ve içindeki yazıları da UTF-8 alemine geçirmek gereklidir. Senelerden beri süre gelen bu çile, bu can sıkıcı çözümsüzlük benim için dün son buldu. Sizin içinde son bulsun istedim.

Diyelim ki elimizde ISO-8859-9 ile kodlanmış bir dosya var, bunu vim ile UTF-8 kodlamasına çevirmek mümkünmüş:
:write ++enc=utf-8 yenidosya

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

17-12-2011 22:46:58

Müjdeli haber: Sandy Bridge'de ASPM desteği geldi

Daha önceden bahsettiğim Sandy Bridge platformlar üzerinde düzgün olmayan ASPM özelliği 3.2-rc6 ile bugün itibariyle aramızda!!! Bu yazıyı yadığım sırada bilgisayarın fanı durdu, 11W güç harcayarak 4 saate kadar pil ömrü tahmini gördüm. Olley!

Süper bir insansın Matthew Garrett

i3/i5/i7 işlemcili Linux kullanıcılarına duyurulur.

Debian üzerinde kendi Kernelinizi derlemek için şuraya bakabilirsiniz. Oldukça basit bir işlem. Yalnız çok çekirdekli sistemlerde derleme yaparken parallelikten faydalanmak için şunu demeyi unutmayın:
export CONCURRENCY_LEVEL=16
Sayısal değer olarak çekirdek sayınızın iki katını girebilirsiniz. Benim canavar i7 işlemci için 8 çekirdek gözüktüğünden 16 yazdım.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

15-12-2011 01:28:14

Ağı ney kullanıyor?

Ve olmuştu, serverfault.com'da tesadüfen bir yazı okurken karşılaştım, ağ trafiğini inceleyip ağ kullanımına göre bağlantıları listeleyen program: iftop imiş! Ne zamandır isteyip ulaşamamıştım.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

14-12-2011 12:08:03

Debian'da tarayıcılar için Java plugini

Tarayıcılar içinden Java desteği genelde dert olmuştur. O paket senin bu paket benim dolaşmak, linkler yapmak bir sürü uğraşmak gerekirdi. Geçen gün bu işler pek bir güzellikle yapan bir paket keşfettim:
aptitude install icedtea6-plugin
ve tarayıcılarda Java vardı... : )

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

12-12-2011 21:44:30

Sürekli kapanıp açılan sabit diski düzeltme komutu

Doğru dürüst çalışmayan Sandy Bridge desteği sebebiyle olduğunu zannettiğim, sabit diskin sürekli kapanıp açılması ve bu esnada hem performans hem de uzun vadede olası arızalara yol açabilecek hatasını düzeltmeye yarayan komut:
hdparm -B 255 /dev/sda
hdparm'ın bir çok daha şeker seçeneği var man sayfasından bakılabilir. -B seçeneğine 255 parametresini verdiğimide ilgili disk için "Advanced Power Management feature" özelliğini kapatmış oluyoruz. Böylece disk sürekli açılıp kapanmaktan vazgeçiyor.

Bu değerin açılışta ayarlanması için /etc/hdparm dosyasındaki yorumlu şekilde bulunan apm satırı kullanılabilir.

Düzgün ASPM desteği için hergün kernel.org'un sayfasına uğramaya devam ediyoruz.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

11-12-2011 23:35:50

Tarihi bir not: İlk gerçek memory leak hatası düzeltmesi

Geçen gün gerçek bir hafıza kaçağını (memory leak) yakaladım! Düşündüm, bundandır dedim, düzelttim ve oldu! Bir ilkti.

Matlab üzerinden çalıştırılan C/C++ kodlarındaki elle ayrılmış (malloc) hafıza parçalarını yine elle boşa çıkarmak (free) gerekiyormuş. Normalde program kapanınca zaten boşa çıkmasını beklerdim. Ama belli ki Matlab programı pek de kapatmıyor... Neyseki çözümünü kolayca bulabildim.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

06-12-2011 20:53:11

Şaşkınlık, hayret, dehşet!

Bildiğiniz gibi bir süredir Asus N53SN-SZ129V ile boğuşuyorum. Bugün suspend'i çalıştırdım ve çook şaşırdım! Garip olan çözümü bulmak değil, çözümün kendisiydi.

Yıllardır severek kullandığımız s2ram komutunu, bu bilgisayarda siyah bir ekran çıkarmaktan ibaret hale geldiğini görmek içimi hüzün kaplamaya yetmişti. Kardeşi s2disk çalışıyordu ama o da bizi geri dönüşü olmayan bir yola çıkarıyordu. Geri döndüğümüzde Optimus destekli ekran kartı çalışmaz oluyordu... Durum o kadar hüzünlüydü ki yıllardan beri öğrenmemeye gayret ettiğim açılıştaki disk kontrolünü düzenleme komutunu bile öğrenmeme sebep oldu:
tune2fs -c 0 -i 30d /dev/sda4
-c parametresi kaç mount sonra, -i parametresi de kaç zaman sonra açılışta kontrolü zorlayacağını belirtiyormuş...

Allem ve kullem ettikten sonra yeni bir komut imdadıma (nerdeyse) hızır gibi yetişti. pm-suspend komutu karanlık ekranımıza bir güneş gibi doğdu ve ben yeniden doğru düzgün suspend edebilir oldum. Satırlarımı ecnebilerin kralları öldüğünde söylediği ünlü sözle bitirmek istiyorum:

s2ram is dead, long live the pm-suspend

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

05-12-2011 09:27:31

Debian'da bir Optimus hikayesi

Güzel yazılar oldular

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

04-12-2011 03:56:25

i7 Sandy Bridge'deki fazla güç harcama olayı

Bir süredir i7 işlemcili dizüstü bilgisayarımın durmayan fanı canımı sıkıyordu. Hatta kafayı yedirtiyordu. Uzuunca bir süre ekran kartı sürücüleriyle uğraştıktan sonra daha mantıklı bir cevap buldum. [1] [2]

Sandy Bridge mimarisindeki işlemcilerdeki ASPM (Active State Power Management) olayının kapalı kodlardaki gibi çalışmasını sağlamak için çalışmalar ancak bir sonraki Kernel sürümü (an itibariyle next-20111202, anladığım kadarıyla 3.3 olacak, bkz. kernel.org) ile ortaya çıkacak gibi gözüküyor. Tabi sonra da bu Kernel'in Debian'a gelmesini beklemek gerekecek. Yada derliycez artık.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

03-12-2011 10:17:07

Multitouch ayarları

Dizüstü bilgisayarlarda multitouch (Türkçesi?) nimetlerinden faydalanmak için, yeni Xorg sistemlerde /usr/share/X11/xorg.conf.d/10-evdev.conf dosyasındaki MatchIsTouchpad "on" yazan kısma aşağıdakilerin eklenmesi gerekiyormuş:
        Option          "TapButton1"            "1"
        Option          "TapButton2"            "2"     # multitouch
        Option          "TapButton3"            "3"     # multitouch
        Option          "VertTwoFingerScroll"   "1"     # multitouch
        Option          "HorizTwoFingerScroll"  "1"     # multitouch
        Option          "VertEdgeScroll"        "1"
        Option          "CoastingSpeed"         "8"
        Option          "CornerCoasting"        "1"
        Option          "CircularScrolling"     "1"
        Option          "CircScrollTrigger"     "7"
        Option          "EdgeMotionUseAlways"   "1"
        Option          "LBCornerButton"        "8"     # browser "back" btn
        Option          "RBCornerButton"        "9"     # browser "forward" btn
Tabi bu /etc/X11/xorg.conf dosyasına da yazılabilir. Ama bendeki özel kurulumda xorg.conf'a müdahale etmesem daha iyi olduğu için böyle yapmak daha iyi oldu.

Mesela iki parmak tıklama ile orta tuşa basıp "yapıştır" işlemini gerçekleştirmek baya pratik oluyor. Üç parmak tıklama da sağ tuş oluyor.

Kaynak: SynapticsTouchpad

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

30-11-2011 00:59:23

Debian'da Nvidia Optimus

Yeni ekran kartlarında yeni bir enerji tasarrufu methodu türedi, karışık grafik sistemi (hybrid graphics). Bu yöntemde iki önemli aktör var birincisi yeni nesil işlemcilerde CPU içerisinde yer alan ekran yongaları, diğeri de gün geçtikçe gelişen harici ekran kartları/yongaları.

İşin karışık olan tarafı ekran işlemcisine düşen işin yoğunluğuna göre ekran yongasının belirlenmesi. Yani eğer bir oyun oynuyorsanız kuvvetli ekran kartı/yongası grafikleri çiziyor. Yok fazla işlem gücü gerektirmeyen işler olmaktaysa, enerji tasarrufu elde etmek için işlemcinin içerisindeki az enerji tüketimi sağlayan ekran yongası çalışıyor.

Bu işi yapan Nvidia ürününün adı Optimus, ATI ürünün adı Hybrid Graphics.

Taylan hoca sağolsun, yeni kullanmakta olduğum bilgisayarda (ASUS N53SN-SZ129V), üzerinize afiyet, Optimus desteği bulunan Geforce GT 550m mevcut.

Haliyle bu Optimus işini Debian'da nasıl olacak sorusu doğdu. İşte şöyle:
git clone https://github.com/z0rc/debumblebee
aptitude install lsb
cd debumblebee
./install.sh
reboot
Bu işler başarılı olursa, ki oluyor aşağıdaki komutlarla sistemin çalışıp çalışmadığı görülebiliyor:
aptitude install mesa-utils
glxgears -info 
optirun glxgears -info
Bir not ./install.sh ın direk çalışması için unstable (sid) deposunun kullanılıyor olması gerekli. (/etc/apt/sources.list ten unstable seçilmeli) Aksi taktirde elle yükleme adımları listelenmiş onlar takip edilmesi gerekiyor.

Bu noktada bumblebee ve debumblebee yi ortaya çıkaran elemanları bol miktarda tebrik etmek gerekiyor!

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

24-11-2011 12:06:32

Destek devam

Türkçe Stackoverflow girişimi için ikinci aşamaya geçtik! Ne de güzel.

Şimdi taahhüt (commitment) aşamasındayız. Türkçe programcılık paylaşımı yapabileceğimiz bir ortamın oluşabilmesi için hepinizi bekliyoruz.

Link aynı:
Stack Exchange Q&A site proposal: Stack Overflow (in Turkish)

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

20-11-2011 13:49:35

Destek ricası

Her daim Türkçe konuşan bilgisayar kullanıcıları için bir paylaşım alanı, bilgi alışverişi aracı arayıp durmuşumdur ve bulamamışımdır. Şimdi sanki bir tane oluyor gibi.

Geçen hafta yemekte İsmail Arı'nın bahsettiği Stack Overflow (in Turkish) tam bu işi görmek için tasarlanmış.

An itibariyle 1 kişi daha fikri takip ederse, öneri bir sonraki aşamaya geçecek ve bu değerli kaynağın oluşmasına bir adım daha yaklaşacağız. Burayı okuyanlar olduğunu bildiğimden hadi gayret diyorum : ) Öpüyorum : )

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

16-11-2011 09:57:26

Python pip ile paket indirme

N. defa unuttuğum için yazmak gerekliliği baş gösterdi. Python paketi indirme aracı pip ile bir paketi sadece indirmek için bir yol şöyle:
pip install -d indirilecekklasor paketadi
Paket yüklenmiyor, sadece belirtilen klasöre indiriliyor.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

13-11-2011 18:53:18

Python'da datetime'ı epoch'tan beri geçen saniyeye çevirmek

Geçen gün uzunca bir süre aradım, unutmamak için kaydedelim:
from datetime import datetime
a=datetime.now()
import time
time.mktime(a.timetuple())
1320913136.0
Burada dikkat edilmesi gereken bir nokta millisaniye değerleri kayboluyor. Eğer gerekliyse, elle eklenmeli.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

10-11-2011 18:30:05

Debian ile Xen hafifliği!

Sanal sunucular her daim ilgimi çekmişti, kurulumu yapmak bugüne kısmetmiş : ) Bu işi Debian ile yapmak tabiki bir keyifti. İşte Debian Squeeze üzerinde kurulumun dayanılmaz hafifliği:

Gerekenleri yükleyelim:
aptitude install xen-linux-system xen-qemu-dm-4.0
Sanal makinelerin ve asıl sistemin düzgün boot etmesi ve konsolların çalışması için gerekli grub ayarları: /etc/default/grub
GRUB_DISABLE_OS_PROBER=true
# Xen boot parameters for non-recovery Xen boots (in addition to GRUB_CMDLINE_XEN)
#GRUB_CMDLINE_XEN_DEFAULT="something else"
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1"
GRUB_TERMINAL="console serial"
# Xen boot parameters for all Xen boots
GRUB_CMDLINE_XEN="com1=9600,8n1 console=com1,vga"
GRUB_CMDLINE_LINUX="console=tty0 console=hvc0"
/etc/inittab
1:2345:respawn:/sbin/getty 38400 hvc0
2:23:respawn:/sbin/getty 38400 tty1
Sistem açılışında doğru kernel sıralaması için:
mv /etc/grub.d/10_linux /etc/grub.d/21_linux
Sistem kapanırken olası problemleri önlemek için: /etc/default/xendomains
XENDOMAINS_RESTORE=false
XENDOMAINS_SAVE=""
Grub'ı yenileyelim:
update-grub
Sanal sistemler için ağ ayarları: /etc/xen/xend-config.sxp
(network-script 'network-bridge antispoof=yes')
Ana sistemin kararlı çalışması için şu ayarları da yapalım /etc/xen/xend-config.sxp :
(dom0-min-mem 512)
(enable-dom0-ballooning no)
Bunlardan sonra sistemi yeni Xen kerneli ile başlatmamız gerekli, şuanki kerneli kontrol edelim:
uname -a
Sistemi yeniden başlattığımızda Xen kerneli ile açılması gerekli. Xen'in çalışıp çalışmadığını aşağıdaki komutun çıktısı ile kontrol edebiliriz:
xm list
Şimdi yeni bir sanal sistem oluşturalım. Bunun için /etc/xen-tools/xen-tools.conf dosyasında istediğimiz ayarları düzenleyebiliriz:
dir = /opt/xen_guests
# eger lvm olacaksa dir olmamali onun yerine lvm volume tanimlanmali


size = 1Gb swap = 128Mb

gateway = 192.168.2.193 netmask = 255.255.255.255 broadcast = 192.168.2.255

mirror_squeeze = http://cdn.debian.net/debian


Bunlardan sonra xen-tools paketini kullanabiliriz:
xen-create-image --hostname aslansistem --ip 192.168.2.195 --vcpus 2 --pygrub --dist stable
Burada vcpus sanal sunucuya kaç çekirdek/işlemci atayacağımızı belirliyor. pygrub her sanal sunucunun kendi kernelini içinde barındırmasını sağlıyor. Statik ip kurulumu yaptık, istenirse ayarları yapılıp DHCP'de kullanılabilir.

Bu komutun sonucunda /opt/xen klasörünün içerisinde sistemimiz hazırlanmış olmalı. Bu sistemi xm komutu ile başlatabiliriz:
xm create /etc/xen/aslansistem
Bu esnada olan olayları görmenin değişik yolları mevcut:
/var/log/xen-tools/aslansistem.log
/var/log/xen/xend.log
Sanal sistemimiz açıldıktan sonra konsoldan bağlantı yapabiliriz. Şifresi xen-tools'un sanal sistem oluşturma çıktısında ve sistemin log dosyasında mevcut:
xm console aslansistem
Xen'in neler yaptığını görmek için top benzeri bir komut kullanılabilir:
xm top
Ne kadar mükemmel değil mi!?!?!

Birkaç not:

lvm volume küçültmek
xm destroy makineisim
e2fsck -f /dev/sanal-vol/makine-disk
resize2fs /dev/sanal-vol/makine-disk 164G
lvreduce -L 164g /dev/sanal-vol/makine-disk
Kaynaklar: Xen A brief introduction to xen-tools A simple introduction to working with LVM

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux

03-11-2011 08:55:28

Debian tabanlı sistemlerde yüklenecek program ismini aramak

Normalde packages.debian.org adresini kullandığım bu iş için konsolu kullanabilmenin daha iyi olduğunu tekrar tecrübe ettim.

Şöyleki diyelim ki lsof programını yüklemek istiyorum ama hangi pakette olduğunu bilemiyorum, o durumda daha önceden verdiğim apt-file update komutu sayesinde apt-file search lsof komutu ile dosya listeleri içinde lsof geçen satırların bulunduğu paketlerin isimlerini görebiliyorum.

Bu çıktıda klasör isimleri de aranıyor, eğer ikili dosya (binary) ismi arıyorsam, bu komutun sonuna şöyle bir grep eklenebilir apt-file search lsof | grep lsof$ . Böylece satır sonunda lsof yazan paketlerin listesini görebiliriz.

Posted by Can Kavaklıoğlu | Permanent link | File under: Linux