• Home
  • About
seqizz ^C

GRUB with Reiser4 howto

October 19, 2009 7:44 am / Leave a Comment / seqizz

Reiser4, a.k.a wife killer fs [link] + GRUB
Here it is, i won’t warn you about nothing, if you don’t know what the hell are you doing, don’t!

Create >20mB ext2 partition and mount as /boot
I’ll say /boot as sda1 and root directory (/) is sda3

mkdir gdeneme
sudo mount /dev/sda1 gdeneme
sudo cp -aR /boot/* gdeneme/
sudo umount gdeneme
rmdir gdeneme

# Now boot sda1 as /boot really
sudo mount /dev/sda1 /boot

Real shit:
What you need:
grub-0.97 [link]
libaal-1.0.5 [link]
reiser4progs-1.0.5 [link]
grub-0.97-libaal-1.0.5-reiser4progs-1.0.5.patch [link]

Create a seperated /grub directory and untar all of this into grub dir.

Note: if your box is x86_64, don’t forget export that m32 shit:
export CC="gcc -m32"

# exporting temporary LDFLAGS
export LDFLAGS=-L/grub/r4/lib CPPFLAGS=-I/grub/r4/include

We’ll create a directory (like r4) and install into this. First, aal libraries:
cd /grub/libaal-1.0.5
./configure --prefix=/grub/r4
make
make install

Now our old reiser4progs:
cd /grub/reiser4progs-1.0.5
./configure --prefix=/grub/r4
make
make install

into grub dir:
cd /grub/grub-0.97

patch:
patch -p1 < ../grub-0.97-libaal-1.0.5-reiser4progs-1.0.5.patch

and compile (look, this time prefix=usr)
./configure --prefix=/usr
make

Control:
ls /grub/grub-0.97/stage2/*1_5

if you see this files: e2fs_stage1_5 fat_stage1_5 ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 reiser4_stage1_5 reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5

you can OVERWRITE:
make-install

Last one, re-write grub:
grub-install /dev/sda

And edit /boot/grub/menu.lst if neccesary.

Reference: [link]

Posted in: seqizz

[Tr] Yeni mime türü (mime-type) oluşturma

October 19, 2009 7:43 am / Leave a Comment / seqizz

Taze program yazan kişilerin başına dert olabilecek bir olay: Programınızın ürettiği dosyaların kde/gnome/xfce/blabla altında hiçbir ayar yapmadan, tıklayınca programınızla beraber çalışmasını istersiniz. Bilinen dosya türlerinden biri ile çalışmıyorsanız işiniz zor. Bilemiyorum bu işlemi herhangi bir geliştirme ortamı yardımıyla yapılan programlar otomatik olarak hallediyor mu ama, çift tıklayınca “ilişkilendirilmiş uygulama yok” hatasına kesin çözüm yollarından birisi olarak yepyeni, cillop gibi bir mimetype üretmeyi anlatacağım.

Programınızın ürettiği bir dosyanın mime türünü “file dosya_adi” komutu ile görebilirsiniz. Anlatacağım yöntem, olabilecek en kötü ihtimallerden olan, yalnızca “data” çıktısına sahip dosyalar için işe yaradı.

Programınızı çalıştırmak için gerekli komutun “programim” olduğunu varsayıyorum. Ürettiğiniz/açmak istediğiniz dosyanın uzantısı da “weq” olsun (nasıl salladım ama).

Bu arada programın komut satırından dosya açabildiğini bilmemiz gerek, “programim /home/blabla/dosya_adi” komutu ile açabiliyor olması gerek.

Yeni mime türü oluşturmaya başlayalım, öncelikle/usr/share/mime/packages/programim.xml diye bir dosya oluşturuyoruz. İçeriği şu şekilde ayarlıyoruz:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
   <mime-type type="application/programim">
     <comment>Programim</comment>
     <glob pattern="*.weq"/>
   </mime-type>
</mime-info>

sonra, /usr/share/mime-info/programim.mime :

application/programim
	ext: weq

/usr/share/mime-info/programim.keys :

application/programim:
	description=Benim Programim Walla
	default_action_type=application
	short_list_application_ids_for_novice_user_level=programim
	category=Documents/Data

/usr/share/applications/programim.desktop :

[Desktop Entry]
Encoding=UTF-8
Name=Programım
Comment=Bu benim öyle gıcıklık olsun diye yazdığım bi program
Exec=programim %f
Icon=/usr/share/benim_simgem.png
Terminal=false
Type=Application
Categories=GNOME;GTK;Game; #(artık neyse kategoriniz yazarsınız)
StartupNotify=true
MimeType=application/programim;

Son olarak, /usr/share/application-registry/programim.applications :

programim
	command=programim
	name=Programim
	can_open_multiple_files=false
	expects_uris=false
	requires_terminal=false
	mime_types=application/programim

Bitirdikten sonra da root olarak “update-desktop-database” komutu verirseniz, artık “.weq” uzantılı dosyalara çift tıkladığınızda “programim” ile açılacaktır. Bunu da artık atarsınız kurulum prosedürünün bi kenarına, onu da mı anlatayım..

Posted in: seqizz

[Tr] Linux Türkçe Quicksheet

October 19, 2009 7:42 am / Leave a Comment / seqizz

Linux nedir?, Çok kullanılan komutlar nelerdir? gibi sorulara cevap olabilecek,
Başlangıç seviyesi için,
Hızlıca göz atmaya ideal,
Önlü arkalı 2 sayfaya basım için tasarlanmış,
4 sayfalık bir pdf belgesi..
(Dersin birinden final ödevimdi..)
Umarım birilerinin işine yarar..

indir

Posted in: seqizz

[Tr] Sed kullanımı örnekleri

October 19, 2009 7:40 am / 7 Comments / seqizz

Sed (veya GNU sed, gsed) , oldukça yetenekli bir yazı düzenleme editörüdür. Tek komutla sizi büyük bir iş yükünden kurtarabilir, işte bazı kullanım örnekleri:

BOŞLUK KOYMA

# içinde “deneme” geçen satırların üzerinde bir boş satır oluştur
sed ‘/deneme/{x;p;x;}’

# içinde “deneme” geçen satırların altında bir boş satır oluştur
sed ‘/deneme/G’

# içinde “deneme” geçen satırların hem üzerinde hem altında bir boş satır oluştur
sed ‘/deneme/{x;p;x;G;}’

# her 5 satırdan sonra bir boş satır ekler
gsed ’0~5G’ # GNU sed
sed ‘n;n;n;n;G;’ # diğerleri

NUMARALANDIRMA

# her satırın başına satır numarası yazar, arada bir “tab” boşluk koyar
sed = dosya_adı | sed ‘N;s/\n/\t/’

# her satırın başına satır numarası yazar, solda sağa dayalı numaralar
sed = dosya_adı | sed ‘N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /’

# her satırın başına satır numarası yazar ancak eğer satır boşsa numara görünmez
sed ‘/./=’ dosya_adı | sed ‘/./N; s/\n/ /’

# satır sayısını yazdırır
sed -n ‘$=’

YAZI DÖNÜŞÜMÜ

# UNIX altında Windows satır sonlarını (CR/LF) Unix formatına dönüştürür
sed ‘s/.$//’

# Windows/Dos altında Unix satır sonlarını Windows formatına dönüştürür
sed “s/$//”

# her satırın önündeki boş alanı (boşluk, tab) kaldırır
sed ‘s/^[ \t]*//’

# her satırın sonundaki boş alanı (boşluk, tab) kaldırır
sed ‘s/[ \t]*$//’

# her satırın sonundaki ve başındaki boş alanı (boşluk, tab) kaldırır
sed ‘s/^[ \t]*//;s/[ \t]*$//’

# her satırın başına 5 boşluk karakteri koyar
sed ‘s/^/ /’

# yazıyı 79-sütun genişliğin ortasına taşır, yöntem 1″²de satır başındaki
# boşluklar önemsizdir, yöntem 2″²de onlar da taşınır.
sed -e :a -e ‘s/^.\{1,77\}$/ & /;ta’ # yöntem 1
sed -e :a -e ‘s/^.\{1,77\}$/ &/;ta’ -e ‘s/\( *\)\1/\1/’ # yöntem 2

# her satırda “foo”ları bulur ve “bar” olarak değiştirir
sed ‘s/foo/bar/’ # satırdaki ilk foo’yu değiştirir
sed ‘s/foo/bar/4″² # satırdaki 4. foo’yu değiştirir
sed ‘s/foo/bar/g’ # satırdaki tüm foo’ları değiştirir

# yalnızca “baz” kelimesini bulduğu satırlarda
# “foo”ları bulur ve “bar” olarak değiştirir
sed ‘/baz/s/foo/bar/g’

# yalnızca “baz” kelimesini bulduğu satırlarda
# “foo”ları “bar” olarak değiştirmez, diğerlerini değiştirir
sed ‘/baz/!s/foo/bar/g’

# “scarlet”, “ruby” veya “puce” değerlerini “red” olarak değiştirir.
sed ‘s/scarlet/red/g;s/ruby/red/g;s/puce/red/g’ # birçok sed’e göre
gsed ‘s/scarlet\|ruby\|puce/red/g’ # sadece GNU sed’e göre

# satırları başaşağı eder, ilk satır sona, son satır başa
sed ’1!G;h;$!d’ # yöntem 1
sed -n ’1!G;h;$p’ # yöntem 2

# her satırı ters çevirir: ahmet > temha
sed ‘/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//’

# eğer bir satır ters taksim ile “\” biterse, altındaki satırı ona ekler
sed -e :a -e ‘/\$/N; s/\\n//; ta’

# eğer bir satır eşittir “=” ile başlıyorsa, onu önceki satırın sonuna ekler
# = işaretini de boşluk ile değiştirir
sed -e :a -e ‘$!N;s/\n=/ /;ta’ -e ‘P;D’

# rakam setlerine virgül ekler: “1234567″³ > “1,234,567″³
gsed ‘:a;s/\B[0-9]\{3\}>/,&/;ta’ # GNU sed
sed -e :a -e ‘s/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta’ # diğer sed’ler

BELLİ BİR BÖLÜMÜ YAZDIRMA

# Bir dosyanın ilk 10 satırını yazdırır
sed 10q

# Bir dosyanın ilk satırını yazdırır
sed q

# Bir dosyanın son 10 satırını yazdırır
sed -e :a -e ‘$q;N;11,$D;ba’

# Bir dosyanın son 2 satırını yazdırır
sed ‘$!N;$!D’

# Bir dosyanın son satırını yazdırır
sed ‘$!d’ # yöntem 1
sed -n ‘$p’ # yöntem 2

# sadece içinde “deneme” bulunan satırları yazdırır
sed -n ‘/deneme/p’ # yöntem 1
sed ‘/deneme/!d’ # yöntem 2

# sadece içinde “deneme” bulunmayan satırları yazdırır
sed -n ‘/deneme/!p’ # yöntem 1
sed ‘/deneme/d’ # yöntem 2

# sadece içinde “deneme” bulunan satırın bir üstündeki
# satırı yazdırır
sed -n ‘/deneme/{g;1!p;};h’

# sadece içinde “deneme” bulunan satırın bir altındaki
# satırı yazdırır
sed -n ‘/regexp/{n;p;}’

# içinde AAA, BBB ve CCC olan satırları yazdırır (sıra gözetmez)
sed ‘/AAA/!d; /BBB/!d; /CCC/!d’

# içinde sırasıyla AAA, BBB ve CCC olan satırları yazdırır
sed ‘/AAA.*BBB.*CCC/!d’

# içinde AAA veya BBB veya CCC bulunan satırları yazdırır
sed -e ‘/AAA/b’ -e ‘/BBB/b’ -e ‘/CCC/b’ -e d # diğer sed’ler
gsed ‘/AAA\|BBB\|CCC/!d’ # GNU sed

# AAA içeren paragrafları yazdırır (paragraf=boş satırlar arası)
sed -e ‘/./{H;$!d;}’ -e ‘x;/AAA/!d;’

# içinde AAA veya BBB veya CCC bulunan paragrafları yazdırır
sed -e ‘/./{H;$!d;}’ -e ‘x;/AAA/b’ -e ‘/BBB/b’ -e ‘/CCC/b’ -e d
gsed ‘/./{H;$!d;};x;/AAA\|BBB\|CCC/b;d’ # GNU sed

# 65 karakter veya daha uzun olan satırları yazdırır
sed -n ‘/^.\{65\}/p’

# 65 karakterden daha kısa olan satırları yazdırır
sed -n ‘/^.\{65\}/!p’ # yöntem 1
sed ‘/^.\{65\}/d’ # yöntem 2

SEÇİLEN BÖLÜMLERİ SİLME

# Iowa ve Montana değerleri arasındakileri siler
sed ‘/Iowa/,/Montana/d’

# birbirinin aynısı olan satırları siler.
# en baştaki satır durur, diğerleri silinir
sed ‘$!N; /^\(.*\)\n\1$/!P; D’

# sadece birbirinin aynısı olan satırları silmez
sed ‘$!N; s/^\(.*\)\n\1$/\1/; t; D’

# yazının ilk 10 satırını siler
sed ’1,10d’

# yazının son satırını siler
sed ‘$d’

# yazının son 2 satırını siler
sed ‘N;$!P;$!D;$d’

# yazının son 10 satırını siler
sed -e :a -e ‘$d;N;2,10ba’ -e ‘P;D’ # yöntem 1
sed -n -e :a -e ’1,10!{P;N;D;};N;ba’ # yöntem 2

# her 8. satırı siler
gsed ’0~8d’ # GNU sed
sed ‘n;n;n;n;n;n;n;d;’ # diğer sed’ler

# yazıdaki TÜM boş satırları siler
sed ‘/^$/d’ # yöntem 1
sed ‘/./!d’ # yöntem 2

# yazının başındaki boş satırları siler
sed ‘/./,$!d’

# yazının sonundaki boş satırları siler
sed -e :a -e ‘/^\n*$/{$d;N;ba’ -e ‘}’

Posted in: seqizz

[Tr] Split / Cat ile dosya bölme ve birleştirme

October 19, 2009 7:40 am / Leave a Comment / seqizz

split ve cat araçları ile bir dosyayı istediğiniz boyutta ve sayıda parçaya ayırabilir, geri birleştirebilirsiniz. Split, basit bir mantıkla işleyerek dosyayı belirtilen byte’dan itibaren böler. Bu sayede dosyalarınızı istediğiniz ortamlara sığdırabilirsiniz.

Bu mantıkla bölme işlemi yapan uygulamaların parça dosyalarını cat ile birleştirebilirsiniz (örn Windows altındaki HjSplit). Ancak rar gibi uygulamalar bölerken kendi yöntemini kullandığı için, birleştirdiğiniz dosya muhtemelen bozuk olacaktır.

Dosya Bölme

Diyelim ki elimizde 90 mB’lık bir dosya var.

~ $ ls -lh
toplam 90MB
-rw-rw-r--  1 seqizz users  90M Jul 23 18:18 deneme.avi

bölelim :) diyelim ki 10mB’lık parçalara ayıracağız. hemen bir hesap
10 * 1024 = 10240

~ $ split -b 10240k deneme.avi
~ $ ls -lh
toplam 180MB
-rw-rw-r--  1 seqizz users 90M Jul 23 18:18 deneme.avi
-rw-rw-r--  1 seqizz users 10M Jul 23 18:22 xaa
-rw-rw-r--  1 seqizz users 10M Jul 23 18:22 xab
-rw-rw-r--  1 seqizz users 10M Jul 23 18:22 xac
-rw-rw-r--  1 seqizz users 10M Jul 23 18:22 xad
-rw-rw-r--  1 seqizz users 10M Jul 23 18:22 xae
-rw-rw-r--  1 seqizz users 10M Jul 23 18:22 xaf
-rw-rw-r--  1 seqizz users 10M Jul 23 18:22 xag

işte parçalar

Dosya Birleştirme

Şimdi de cat ile xa ile başlayan ne var ne yok birleştirelim. Bildiğiniz gibi, bunun için alfabetik sıranın (a-z, 0-9) korunması gerek.

~ $ cat xa* > birlesmisdosya.avi

artık parçaları silebilirsiniz..

Posted in: seqizz

Post Navigation

« Previous 1 … 6 7 8 9 Next »

Random Quote

… distcc definitely works. Even if you don’t understand quite what you are doing… — pappy_mcfae

Blogroll

  • Burak Sezer
  • eniXma
  • Gentoo Turkey
  • Kandalf
  • Linux Fail [Turkish]
  • Znurt

Archives

 Twitter FriendFeed LinkedIn Flickr

OnTwitter

  • RT @anfaroloji: .@MacitMahmut KUTSALLARIMIZ... Time ago 30 Minutes via Twitter for Android
  • @EbruYilmazatila Sigorta asgariden mi yatıyor tam mı? Time ago 14 Hours via Twitter for Android
  • RT @sametcdemiral: 5.yoruma gel :D t.co/D3zfjsmcb0 Time ago 16 Hours via Twitter for Android
  • @ayshezbil kolay gelsin Time ago 16 Hours via Twitter for Android
  • @elfcan fazla veri göz çıkarmaz. Cinsiyet öğrense spamı ona göre yapacak.. Time ago 23 Hours via Twitter for Android
  • Powered by: Web Design Company

Follow @seqizz on twitter.

+

RSS HNews

  • SQLite gets memory-mapped I/O
  • Skype for Linux 4.2 brings interface improvements
  • Zend Framework 2.2 focuses on consistency
  • Sony releases its Android drivers for AOSP
  • Jira 6 adds mobile interface, revamps web interface
  • Tails 0.18 can install packages on the fly
  • HeidiSQL 8.0 arrives with polished user interface
  • QEMU 1.5: GPU pass-through and ARM support
  • Arduino launches Wi-Fi board and ready-to-roll robotics platform
  • Handbrake turns 0.9.9
License info: WTFPL