19 Kasım 2011 Cumartesi

CCACHE ile derleme yapmak | BSD

İnsan BSD'ye geçince her gün garip bir şey öğreniyor, onlardan biride bu CCACHE denilen olaydır.
Nedir bu diye sorarsanız? ...

ccache Nedir?
ccache, bir derleyici önbelleği sistemidir. Önceki derlemelerin sonuçlarını saklayarak ve aynı derlemelerde bunlardan yararlanarak derleme işlemini hızlandırır. Desteklenen diller arasında C, C++, Objective-C ve Objective-C++ bulunmaktadır.
Devamı için tık'layınız >>>


Kısaca iyi bir şeydir diyebiliriz :D
Gerçi 2. derlemelerde daha çok işe yarayacağınıda hesap edersek, (ilk derlemede ccache devreye girmez) gerekte olmayabilir ama Örn. FF gibi bir uygulamaya sürekli güncelleniyorsa ve güncel kullanmayı da seviyorsanız o zaman CCACHE işe yarayacaktır elbet.
Zira FF gibi bir paketin derlenmesi normalde 1 saat civarında oluyor ve her güncellemede 1 saat beklemek sizi iyice depresif biri yapabilir. :D

Neyse işte tamda bu gibi depresif durumları önlemek için birileri bir şeyler yapalım, yapalım da ne yapalım demişler ve CCACHE ortaya çıkmış.
Sonuçta geliştiriciler/paketçilerde/ bir insan ve onlarıda düşünmek lazım.
Hazır paketi şakırt diye kuran $USER'ler helede bunu beğenmezlerse, geliştiricinin/paketçinin ben bunu niye derliyorum vaktime emeğime yazık, al $USER sen kendin derle dese, o $USER'in yüz ifadesini görmeye neler vermezdim neler :D

Özetle derleme demek mutfağa yakın olmak demektir. (tar.gz'nin çekim gücü)
Yemeği beğenmeyen $USER'de ağzının tadı yok demektir. (mennuniyetsiz müşteri)

Beğenmiyorsan kendin yapacaksın, sanki para verdin!! :hayır:

Her neyse küçük şeylerden büyük mutluluklar çıkaranlara selam olsun diyerek, CCACHE olayına girişelim.

Önce kuralım.
# cd /usr/ports/devel/ccache ; make install clean
# pkg_add -r ccache

make.conf'umuzu ayarlayalım.
.if ${.CURDIR:M*/ports*}
.if exists(/usr/local/libexec/ccache/world/cc) && !defined(NO_CCACHE)
CC=/usr/local/libexec/ccache/world/cc
CXX=/usr/local/libexec/ccache/world/c++
.endif
NO_CCACHE=yes
.........
.........
.........
.........
.endif


nokta nokta (.......) olan yerlere Cflags ve diğer parametrelerinizi girebilirsiniz.
Tabii bu Cflags değerlerini önceden bilip girmeniz gerek.

Devam ediyoruz ~/.cshrc 'e ekliyoruz
# set ccache varibles
setenv PATH /usr/local/libexec/ccache:$PATH
setenv CCACHE_PATH /usr/bin:/usr/local/bin
setenv CCACHE_DIR /var/tmp/ccache
setenv CCACHE_LOGFILE /var/log/ccache.log

# set ccache temp size to 512MB (default 1GB)
if ( -x /usr/local/bin/ccache ) then
/usr/local/bin/ccache -M 512m > /dev/null
endif

CCACHE_DIR yolunu istediğiniz bir yeride gösterebilirsiniz, hatta depo dizininiz varsa orayada alabilirsiniz.
CCACHE boyutunuda (512m) büyük tutabilirsiniz, 2GB, 4GB, gibi

Ve sisteme RESTART atın.

Kontrolleri ccache -s ile yapabiliriz.

%ccache -s
cache directory /mnt/ada1s2/cache/ccache
cache hit (direct) 860
cache hit (preprocessed) 18
cache miss 872
called for link 1070
called for preprocessing 18
compile failed 14
preprocessor error 40
bad compiler arguments 4
autoconf compile/link 232
no input file 30
files in cache 2606
cache size 27.6 Mbytes
max cache size 4.0 Gbytes


Şimdide farka bakalım, gerçi çok fazla deneme şansım olmadı ama xarchiver ve vlc farkları önce ve sonrasıyla aşağıda.

xarchiver
39.010u 20.932s 0:54.30 110.3% 3902+3740k 10+3566io 12pf+0w
13.154u 16.252s 0:32.80 89.6% 440+2137k 2+1336io 0pf+0w

vlc
890.933u 273.636s 17:30.91 110.8% 5409+4003k 8794+50765io 1613pf+24w
186.194u 208.169s 7:23.58 88.9% 573+2169k 3619+18476io 181pf+0w


İlişkili konu; Ports kullanımı | BSD

Yaralanılan kaynaklar;
http://forums.freebsd.org/showthread.php?t=174
http://anilozbek.blogspot.com/2011/04/ccache.html
http://www.gentoo.org/doc/tr/handbook/handbook-x86.xml?part=2&chap=3
Devamını Oku

PC-BSD ve Blekko

PC-BSD blog'unda duyurulduğuna göre, Pbsd 'nin yeni 9 sürümünde Blekko denilen arama motoru varsayılan arama motoru olacakmış.
http://blekko.com/pcbsd ...
Peki nedir bu Blekko denirse video'yu izleyin derim; zira google ile telef oluyormuşuz biz :D

Devamını Oku

16 Kasım 2011 Çarşamba

Sysinfo ile Sistem Bilgileri | BSD

Sysinfo
BSD sistemler için her türlü sorunda ve karmaşada, ve ayrıca sistem bilgilerine ulaşmakta oldukça güzel bir uygulamadır SysInfo
İşlemcim nedir? ekran kartım kimdir? burası neresi diye artık demezsiniz, :D ...

Kurulu değilse önce kontrol edin
% pkg_info -Ex sysinfo

sonrada kurun.
# cd /usr/ports/sysutils/sysinfo ; make install clean

Kurulumda demicode ve portaudit'i seçerseniz fena olmaz.
Kurulumdan sonra RESTART gerekir.

Vereceğiniz komut bunlardır, komutu root veya normal kullanıcı olarakta verebilirsiniz.
root ile daha kesin sonuç verir.
% sysinfo -a
veya
% sysinfo -a -v 1

Neyse bu güzel uygulamayı Daniel Gerzo isimli bir üniversite öğrencisi bitirme tezi olarak BSD dünyasına kazandırmıştır, kendisine teşekkürler.

Kaynak; http://www.syslogs.org

Devamını Oku

20 Ekim 2011 Perşembe

Opera derleme sürüm kurulumu (Linux/BSD)

Opera'da snapshot denilen haftalık derlemeler, en bilinen adıylada beta sürümleri "denemek" istiyorsanız, aşağıda bunun en kolay yönünü anlatmaya çalıştım. ...

Beta sürümleri tarayıcınız ile buradan takip ederekte indirebilirsiniz ama böyle takip etmek zor derseniz, bunu konsoldan da daha seri bir şekilde halledebilirsiniz.
Zira diğer işlemler zaten konsoldan olacaktır, adeti bozmayalım :D

Bu anlatım Pc-BSD9 64-bit üzerinde gerçekleştirildi ama Linux üzerinde de problem olmayacaktır, hatırladığım kadarıyla da aynıdır.
Bu kurulumla sisteminizde kurulu olan Opera'nıza zarar gelmez, beta sürüm "opera-next" adıyla kurulacağı için, gizli dizinde de bu adı alacaktır.
Kurulum için .tar.xz paketini seçtim, zira xz 'nin boyutu .tar.bz2'ye (bzip2) göre yaklaşık 2MB daha düşüktür.
(xz için lzma gereklidir, kurulu değilse lzma paketini kurmanız gerekebilir.)

Unutulmaması gereken derlemeler alpha/beta sürüm olduğu için bazı hataların olması normaldir, belki opera-next hiç açılmayabilir veya daha farklı sorunlarda verebilir.
Özellikle alpha sürümler daha sorunludur ama beta sürümler nispeten sorunlardan daha fazla arınmıştır.

Sisteminize hakim değilseniz, kurtarmayı bilmiyorsanız burada anlatılanları DENEMEYİNİZ..

Sistem ve CPU'nuza göre ilgili paketi çekelim. (Bu wget yöntemi en son opera-next'i çekecektir.)
Linux (32bit)
% wget -nv -O- http://my.opera.com/desktopteam/blog/ | grep -i "snapshot.opera.com/unix" | head -n1 | wget -erobots=off --force-html -ri- -nd -np -A.i386.linux.tar.xz

Linux (64-bit)
% wget -nv -O- http://my.opera.com/desktopteam/blog/ | grep -i "snapshot.opera.com/unix" | head -n1 | wget -erobots=off --force-html -ri- -nd -np -A.x86_64.linux.tar.xz

BSD (32bit)
% wget -nv -O- http://my.opera.com/desktopteam/blog/ | grep -i "snapshot.opera.com/unix" | head -n1 | wget -erobots=off --force-html -ri- -nd -np -A.i386.freebsd.tar.xz

BSD (64-bit)
% wget -nv -O- http://my.opera.com/desktopteam/blog/ | grep -i "snapshot.opera.com/unix" | head -n1 | wget -erobots=off --force-html -ri- -nd -np -A.amd64.freebsd.tar.xz

Normal kullanıcı ile komutu verelim, arşiv açılsın.
% tar xvf opera-next-*

root haklarıyla komutu verelim, kurulum başlasın.
# opera-next-*/install

Bundan sonrası resimlerden devam...



Kaldırmak içinde "uninstall-opera-next" betiğini çalıştırın.
# /usr/local/bin/uninstall-opera-next



Son kalan gizli dizinde ki opera-next dizinini de silebilirsiniz.
% rm -rf ~/.opera-next
Devamını Oku

17 Ekim 2011 Pazartesi

SmillaEnlarger kurulumu | BSD

Normalde SmillaEnlarger depo/portta yok, o yüzden harici olarak derleyeceğiz.
SmillaEnlarger de kayıpsız resim büyütmek için işe yarayan güzel bir Qt programıdır. ...

Önce source dosyasını çekelim..
% cd /tmp 
% wget http://sourceforge.net/projects/imageenlarger/files/imageenlarger/SmillaEnlarger%20Release%200.9.0/SmillaEnlarger_0.9.0_source.zip/download
% unzip download
% su
# mv /tmp/SmillaEnlarger_0.9.0_source/ /usr/ports/distfiles
# cd /usr/ports/distfiles/SmillaEnlarger_0.9.0_source/SmillaEnlargerSrc/


Sonra derleme başlasın..(kısa sürer meraklanmayın :D )
# qmake-qt4 ImageEnlarger.pro
# make
# make install


Artık /usr/ports/distfiles/SmillaEnlarger_0.9.0_source/ dizinini depo olarak kullanacağınız güvenli bir yere taşıyabilirsiniz.
Zira programımız bu dosya içinden ../SmillaEnlargerSrc/SmillaEnlarger'e tıklayınca çalışacaktır.
İsterseniz menülerden elle bu dosyaya çalıştırma linki atayabilirsiniz.

Devamını Oku

16 Ekim 2011 Pazar

BSD kaynak linkleri


*BSD için çeşitli konularda yerli/yabancı rehber/doküman/yazı site/blog linklerinden bazıları. ...
* Unix Toolbox (Özel)
* FreeBSD - SSS
* FreeBSD - Handbook
* PC-BSD - Handbook
* PC-BSD - Wiki
* eniXmaFreeBSD.pdf 11MB - Türkçe (eniXma dergisinde çıkan tüm *BSD yazıları)

Nedir?
* UNIX®
* BSD Nedir? - Greg Lehey
* FreeBSD Nedir?
* BSD ve Linux Arasındaki Farklar
* FreeBSD künyesi
* BSD işletim sistemlerinin karşılaştırılması
* BSD ve Linux Arasındaki Farklara İlişkin Bir Görüş

Kurulum;
* PCBSD 9.2 Kurulumu Türkçe
* PCBSD 9.1 Kurulumu  Türkçe
* PCBSD 9.0 Isotope Edition BETA1 Türkçe

* FreeBSD 9.1 – bootonly.iso ile Network Üzerinden Kurulum Türkçe
* FreeBSD 9.0 kurulumu  Türkçe
* ZFS Dosya Sistemi üzerine FreeBSD Kurulumu Türkçe
* FreeBSD 8.1 kde4 kurulumu Türkçe
* FreeBSD Kurulumuna Hazırlık (8.x ve 9.x için) Türkçe

* OpenBSD 5.3'de masaüstü ortamını kurmak Türkçe
* OpenBSD Kurulumuna Hazırlık Türkçe
* OpenBSD Kurulum(1) Türkçe

* PC-BSD 9 installer preview
* PC-BSD 8 review
* PC-BSD 8 installation guide
* PC-BSD 8.1 review
* PC-BSD 8.2 review
* How to install PC-BSD on an encrypted ZFS file system
* A FreeBSD 9 Desktop How-to
* FreeBSD 9 on Lenovo ThinkPad X60s

Türkçe bazı kaynaklar;
* enderunix.org
* syslogs.org
* goksinakdeniz.net
* bayramkaragoz.org
* onurvargun.blogspot.com
* camalan.net

Yabancı kaynaklar;
* c-extra.com
* rhyous.com
* howtobsd.com
* cyberciti.biz
* daemon-notes.com
* unixmen.com
* nixbsd.wordpress.com
* commandlinefu.com
* ag-up.com
* openoffice.org/porting/freebsd
* bsdguides.org
* msnp.ru/wine
* networking.ringofsaturn.com
* linuxbsdos.com
* wonkity.com
* Dan’s Blog
* startupcto.com
* freebsdonline.com
* cooltrainer.org

Live CD/DVD/USB;
* Live CD/DVD/USB | tüm dağıtımlar
* OpenBSD Live-CD (MarBSD)
* FreeBSD - Avg Live-CD

Laptop;
* laptop.bsdgroup.de(liste)
* tuxmobil.org (liste)
* DragonFlyBSD.org (liste)
* wiki.pcbsd.org
* FreeBSD.org
Devamını Oku

3 Ekim 2011 Pazartesi

Firefox ve Opera kurulumu | BSD

Java desteği için önce OpenJDK ve pluginini kuracağız.
# pkg_add -r openjdk6
# pkg_add -r icedtea-web
...
Firefox kurulumu ;
# cd /usr/ports/www/firefox ; make install clean

** Firefox'un derlemesi 2 saati bulacağı için pkg_add -r firefox ilede kurabilirsiniz, daha kısa sürecektir.
Türkçe'yi seçiniz.
# cd /usr/ports/www/firefox-i18n ; make install clean

Firefox'un Html5 gibi destekleri için loader.conf'a ekliyoruz. (varsa eklemeyin)
# echo 'sem_load="YES"' >> /boot/loader.conf

Opera kurulumu ;
# cd /usr/ports/www/opera-linuxplugins ; make install clean

Flashplugin desteğini verelim.
# cd /usr/ports/www/nspluginwrapper ; make install clean

# cd /usr/ports/www/linux-f10-flashplugin11 ; make install clean

# ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so /usr/local/lib/browser_plugins/

root ile
# nspluginwrapper -v -a -i

Normal kullanıcı ile
$ nspluginwrapper -v -a -i

Notlar ;
mount çıktısında linprocfs ve procfs görünmüyorsa onlarıda eklemek lazım.
** procfs için fstab'a ekleyin.
# procfs /proc procfs rw 0 0

Komutu verin..ve sonrasında mount ile kontrol edin.
# mount -t procfs proc /proc

** linprocfs için fstab'a ekleyin.
# linprocfs /compat/linux/proc linprocfs rw 0 0

Komutu verin...ve sonrasında mount ile kontrol edin.
# kldload linprocfs

Test ;
Java testi
Flashplugin testi

Sorunlar ;
Firefox'un dil dosyası porttan kurulurken böyle bir hata alınırsa,
[mono@pcbsd-515] /usr/ports/www/firefox-i18n# make install clean
===> firefox-i18n-8.0,1 cannot install: unknown Firefox version: firefox-8.0.
*** Error code 1

Stop in /usr/ports/www/firefox-i18n.

Portta ki makefile dosyasında USE_FIREFOX satırı silinir veya diyezle (#) etkisiz hale getirilir.

Kurduktan sonra Türkçe'leştirme için, FF 'de about:config kısmına girilir ve
general.useragent.locale aranır, çift tıklanarak en-US olan yer tr-TR yapılır ve FF 'ye restart atılır.
http://comments.gmane.org/gmane.os.freebsd.devel.gecko/905

Ben bunun yüzünden 7 serisini Türkçe yapamamıştım, neyse şimdi 8.0 Türkçe :D

İlişkili Kaynak: FreeBSD Handbook - Browsers
Devamını Oku