24 Eylül 2011 Cumartesi

Ramdisk kullanımı | BSD

Birde derler ki Linux/BSD sistemerde fazla ram'e gerek yoktur, elbette bu doğrudur ama fazla mal göz çıkarır mı? çıkartmaz elbet.
Şimdi benim şöyle 8GB filan ram'im olsa ne aksiyonlar yapardım kim bilir, :D
toplam 2GB ram olunca, onunda 250'sini nvidia götürüyor, geriye 1.75GB ram kalıyor, yani fazla aksiyon olmuyor :D ...

Olaya gelirsek *BSD sistemlerde ramdisk'i aktif etmek çok basit, burada anlatıldığı gibi /mnt/ramdisk altına kolayca bağlanıyor.
# mkdir /mnt/ramdisk
#/sbin/mdmfs -s 256M md10 /mnt/ramdisk

Açılıştada çalışması içinde fstab'a bağladık mı işlem tamamdır.
# md    /mnt/ramdisk    mfs     rw,-s256M       0       0

Ramdisk ve Opera
Ama biz şimdi değişik bir şey yapacağız ve ramdisk'imizi /tmp dizini yapacağız ve Opera'nın cache dizinini de /tmp'ye bağlayacağız ki Opera da cache'sini ramsdisk'ten okusun.
Tabii bu noktada daha değişik aksiyonlarda yapılabilir, /var/tmp veya /var/log gibi dizinlerde ramdisk yapılabilir,
Ama fazla ram'iniz yoksa benim gibi yutkunmak durumundasınız. :D
/tmp dizinimiz varolduğu için oluşturmaya gerek yok, sadece fstab'a bağlayalım.
md       /tmp       mfs      rw,noatime,-s256M       0       0

/etc/rc.conf'a bu değeri girelim ki açılışta /tmp geçici dosyaları silinsin.
# clear_tmp_enable="YES"

Şimdide sıra geldi Opera'ya, tabii bu olay FF, Chrome içinde uygulanabilir ama onu hiç denemedim.
opera:config#UserPrefs|Cache Directory4

Burada ki "Cache Directory4" yolunu /tmp dizini ile değiştirip kaydedin.
/tmp/

Bu işlemleri yaptıysanız sisteme RESTART atın ve artık performans denemelerinizi yapın.
$ df -h
/dev/md10 248M 4.0K 228M 0% /mnt/ramdisk

İlk yaptıınız işlemler normal hızda olacaktır, fakat ondan sonra yaptığınız aynı işlemler ramdisk'ten okunacağı içindir ki performans kaybınız olmayacaktır.
Öyle aman aman bir hızda beklemeyin işlemler daha seri oluyor o kadar, yoksa bu işler için ekstradan özel donanımlar filanda varmış ki sanırsam onlar daha iyi çözümdür.
Burada yapılan kendi sistemimizde ki yapılanmaya küçük dokunuşlardır :cincin:
*Burada anlatılanları geri almayı bilmiyorsanız, denemeye kalkmayınız.
-------------------------------------------------------------------------

Diğer tarayıcılar Firefox ve Chrome'yi de ekleyelim ramdisk olayı tamam olsun.
Firefox'ta
about:config yazıp config menuye gelindiğinde süzgeç yazan yere browser.cache.disk yazdığınızda
browser.cache.disk.parent_directory
Bu satır görünmüyorsa boş bir yere sağ tık > Yeni > Katar deyip ekleyin, cache yolunada /tmp/ff/ diyebilirsiniz. bkz. resim


Chrome'de
Olay daha basit Chrome'nin menülerde ki kısayoluna bu satır eklenince tamamdır.
--disk-cache-dir="/tmp/ram/"

Burada da Ubuntu/Fedora için olayın bir anlatımı var.
Devamını Oku

20 Eylül 2011 Salı

FAMP Kurulumu - (FreeBSD, Pc-BSD)

F.A.M.P = FreeBSD, Apache, MySQL, PHP ve PhpMyAdmin'in kısaltmasıdır.
Öncelikle anlatım masaüstü bilgisayarlar içindir, server sürümleri için değildir.
Kurulum PC-BSD 8.2 de gerçekleşmiştir.
Aslında buna kurulumdan ziyade "derleme" demek daha doğru olur, zatende öyle.
Burada anlatılanlar pkg ile de kurulabilir ama derleyerek kurmanız FAMP performansı açısından daha iyi olacaktır. ...

1. MySQL kurulumu ;
Normalde Pc-bsd kurulduğunda mysql kuruludur ama kontrol edin.
$ pkg_info -Ex mysql-client mysql-server

kurulu değilse altaki komutları verip kurun.
# cd /usr/ports/databases/mysql55-client ; make install clean
# cd /usr/ports/databases/mysql55-server ; make install clean
# echo 'mysql_enable="YES"' >> /etc/rc.conf
# /usr/local/etc/rc.d/mysql-server onestart

MySQL şifresi belirle
# rehash
# mysqladmin -uroot password ‘mysql_şifreni_yaz’

# /usr/local/etc/rc.d/mysql-server onestop
# /usr/local/etc/rc.d/mysql-server onestart

2. Apache Kurulumu ;
# cd /usr/ports/www/apache22 ; make install clean

# echo 'apache22_enable="YES"' >> /etc/rc.conf

/usr/local/etc/apache22/httpd.conf
##ServerName www.example.com:80 ## altına altaki komutu ekle
Servername 127.0.0.1


# /usr/local/etc/rc.d/apache22 start

http://127.0.0.1/ adresinde It works! gördüyseniz Apache işlemi tamamdır.
3. PHP Kurulumu ;
# cd /usr/ports/lang/php5 ; make install clean
# cd /usr/ports/lang/php5-extensions ; make install clean

**Not**
"bzip2", "zip", "mysqli database sport" ve "APACHE Build Apache module" seçmeyi unutmayın.
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

/usr/local/etc/apache22/httpd.conf
## Dosyanın en altında </IfModule> altına ekle
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


Aynı dosyada <IfModule dir_module> altında
## Bul
DirectoryIndex index.html
## Değiştir
DirectoryIndex index.php index.html


/usr/local/etc/apache22/extra/httpd-languages.conf
## En altına ekle
AddDefaultCharset On


# /usr/local/etc/rc.d/apache22 restart

4. phpMyAdmin kurulumu ;
# cd /usr/ports/databases/phpmyadmin ; make install clean

/usr/local/etc/apache22/httpd.conf
## <IfModule alias_module> altına ekle
Alias /phpmyadmin /usr/local/www/phpMyAdmin
<Directory “/usr/local/www/phpMyAdmin”>
Order allow,deny
Allow from all
</Directory>


Devam.
# ln -s /usr/local/www/phpMyAdmin/ /usr/local/www/apache22/data/
# cd /usr/local/www/phpMyAdmin/
# rm config.inc.php
# cp -a config.sample.inc.php config.inc.php
# mkdir config ; chmod o+rw config
# cp -a config.inc.php config/ ; chmod o+w config/config.inc.php
# rm config.inc.php
# cp -a config/config.inc.php . ; chmod o-rw config.inc.php ; rm -rf config
# chmod 775 config.inc.php
# /usr/local/etc/rc.d/apache22 restart ; /usr/local/etc/rc.d/mysql-server restart

Artık phpMyAdmin'in arayüzünü görebilmeniz lazımdır.
http://127.0.0.1/phpMyAdmin/

Sorunlar, Çözümler, İp uçları ;

* phpMyAdmin girince böyle bir hata alırsanız tarayıcı çerezlerini silin.
phpMyAdmin - Error
Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.


* MySql şifre resetleme ;
phpMyAdmin'in arayüzünü görüyor ama şifre problemi yüzünden içeri giremiyorsanız MySql şifresini resetlemek gerek.

# /usr/local/etc/rc.d/mysql-server stop
# mv /var/db/mysql /var/db/mysql_old
# /usr/local/etc/rc.d/mysql-server start
# /usr/local/bin/mysqladmin -u root password 'yeni_şifre_gir'


* MySQL'e tam UTF-8 desteği vermek ;
Eğer MySQL'de karakter problemleri yaşarsanız kurduğunuz mysql55-server'i önce durdurun.

# /usr/local/etc/rc.d/mysql-server onestop

Ardından kaldırın.(sürüm no'su değişik olabilir sizde hangisi varsa onu eklersiniz.)
# cd /usr/ports/databases/mysql55-server ; make deinstall

Ardından da böyle derleyebilirsiniz.
# make BUILD_OPTIMIZED=yes BUILD_STATIC=yes WITH_CHARSET=utf8 WITH_COLLATION=utf8_general_ci install

Devam..
# cp /usr/local/share/mysql/my-huge.cnf /etc/my.cnf

Dosyayı açın >> /etc/my.cnf
[mysqld] bölümünde gelen ilk boş yere aşağıdakileri ekleyin..
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
default-character-set=utf8 //Eğer mysql başlatmada sorun yaşarsanız, sadece bu satırı silin ve my.cnf de [mysql] bölümüne ekleyin.
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake

Devam..
# /usr/local/etc/rc.d/mysql-server onestart

Sorun yaşarsanız MySQL şifrenizi resetlemek gerekebilir.


* Apache Mod_rewrite ;
/usr/local/etc/apache22/httpd.conf
<Directory "/usr/local/www/apache22/data"> bir kaç satır altında
--
Bul
AllowOverride None

Değiştir
AllowOverride All


* Public_html ; (sanal dizin)
Örn: ev dizinine veya başka bir yerde olabilir, public_html diye bir dizin açılır.
% mkdir public_html
# ln -s /home/kul_adı/public_html /usr/local/www/apache22/data/
yazma izni içinde
# chmod -R 777 /home/kul_adı/public_html
Adres satırı böyle olunca public_html içindesiniz
http://127.0.0.1/public_html/


* Mysql Data Dizininin Yerinin Değiştirilmesi ; (sağlama almak)
Kök dizinde yer sıkıntısı çekiyorsanız, veya format gibi durumlarda Mysql DB'sinin uçmasını istemiyorsanız, Mysql DB'sini başka disk bölümünde, örn. depo olarak kullandığınız bir bölümde tutabilirsiniz.
(İşlemi yapmadan önce /var/db/mysql dizinini bir yere kopyalamanız iyi olur, zira move [mv] komutunu kullanacağız.)
# mv /var/db/mysql /nerede/bu/mysql-dizini/
# ln -s /nerede/bu/mysql-dizini/mysql /var/db/mysql
# /usr/local/etc/rc.d/apache22 restart ; /usr/local/etc/rc.d/mysql-server restart


* PhpMyAdmin de İçe aktar boyutunu artırmak ;
/usr/local/etc/php.ini açın ve ilgili satırları düzenleyin.
upload_max_filesize = 40M
post_max_size = 50M
Devam ..
# /usr/local/etc/rc.d/apache22 restart ; /usr/local/etc/rc.d/mysql-server restart

İşlem sonrası PhpMyAdmin içe aktar 40MB olacaktır.

Devamını Oku

15 Eylül 2011 Perşembe

Yazı tiplerinin güzel görünmesi | BSD

Ekran kartınızın ve freetype2'nin kurulu olduğunu varsayıyorum.
Adım 1
İlk önce freetype2'yi kaldıracağız..
# cd /usr/ports/print/freetype2 ; make deinstall clean
...

Bu konutu ilave edip yeniden derliyoruz.
# make WITH_LCD_FILTERING=yes install clean


**Önemli uyarı**
freetype2-2.4.4 pkaetinde an itibariyle VULNERABILITIES diye güvenlik uyarısı verip kurulum engellenirse, alltaki komutla yeniden deneyin;
Ya da uyarıyı dikkate alıp kurulumdan vazgeçin.
http://portaudit.freebsd.org/5d374b01-c3ee-11e0-8aa5-485d60cb5385.html
# make DISABLE_VULNERABILITIES=yes WITH_LCD_FILTERING=yes install clean


Adım 2
Ev dizinizde ~/.fonts.conf dosyası olacak onu başka bir isimle yedekleyip ve içini boşaltıp alltaki komutları ekliyoruz.


<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>


<selectfont>
<acceptfont>
<pattern>
<patelt name="family">
<string>Terminus</string>
</patelt>
</pattern>
</acceptfont>
<rejectfont>
<pattern>
<patelt name="scalable">
<bool>false</bool>
</patelt>
</pattern>
</rejectfont>
</selectfont>

<alias>
<family>serif</family>
<prefer>
<family>DejaVu Serif</family>
</prefer>
</alias>

<alias>
<family>sans-serif</family>
<prefer>
<family>DejaVu Sans</family>
</prefer>
</alias>

<alias>
<family>monospace</family>
<prefer>
<family>DejaVu Sans Mono</family>
<family>Terminus</family>
</prefer>
</alias>

<match target="font">
<edit mode="assign" name="rgba">
<const>none</const>
</edit>
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
<edit mode="assign" name="autohint">
<bool>true</bool>
</edit>
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
<edit mode="assign" name="hintstyle">
<const>hintfull</const>
</edit>
</match>

<match target="font">
<edit mode="assign" name="lcdfilter">
<const>lcdlight</const>
</edit>
</match>

<match target="font">
<test compare="more" name="weight">
<const>medium</const>
</test>
<edit mode="assign" name="autohint">
<bool>false</bool>
</edit>
</match>

<match target="pattern" name="family">
<test name="family" qual="any">
<string>Andale Mono</string>
<string>Arial</string>
<string>Arial Black</string>
<string>Comic Sans MS</string>
<string>Courier New</string>
<string>Georgia</string>
<string>Impact</string>
<string>Trebuchet MS</string>
<string>Tahoma</string>
<string>Times New Roman</string>
<string>Verdana</string>
<string>Webdings</string>
</test>
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
<edit mode="assign" name="autohint">
<bool>false</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
</match>
<dir>~/.fonts</dir>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
</fontconfig>



Adım 3
bitstream-vera, webfonts, terminus-font, dejavu bunlar sisteminizde kurulu değilse porttan kurun.
Kurulu olup olmadığını böyle kontrol edebilirsiniz.
$ pkg_info -Ex bitstream-vera webfonts terminus-font dejavu

  • bitstream-vera-1.10_5
  • dejavu-2.33
  • terminus-font-4.35
  • webfonts-0.30_6


Adım 5
Sıra geldi xorg.conf dosyasına. (/etc/X11/xorg.conf dosyasını yedekleyin)

Section "Files" kısmında font yollarının doğru olup olmadığını kontrol edin.
Bunuda en iyi bu komutla kontrol edebilirsiniz.
# cat /var/log/Xorg.0.log | grep -e EE -e WW


Yani Xorg.0.log'a bakarak xorg.conf'ta fonts yolu hatalarını çözün.

Section "Module" kısmına altaki değeri girin.

  • Load "freetype"



Adım 6
Şimdi sıra menülerden ve tarayıcılardan yazı tip'lerini seçmeye geldi.
Kde kullanıyorsanız kcmshell4 fonts 'tan yumuşatma etkin, yazı tiplerini 96DPI yapabilirsiniz.
Yazı tipide Sans Şerif (Öntanımlılar) seçebilirsiniz.
Örnek ayarlar.

Tarayıcılarda da Bistream Vera tipini seçebilirsiniz.
Opera

Firefox

İşiniz bittiyse normal kullanıcı olarak bu komutuda verin font belleği temizlensin.
$ fc-cache -vf


Final
İşimiz bu kadar sisteme RESTART atabilirsiniz.
Eğer KDE4 kullanıyorsanız çokta gerekli değil ama /var/tmp/kdecache-kul_adınız/ dizinini silip öyle RESTART atın.
Cache dizininin arada sırada silinmesi iyi olur.

Sistem yeniden başladıktan sonra farkın açıkca belli olması gerekir, eğer sorun varsa ve olmadıysa önce fc-cache'yi tekrar döndürün.
Ardından adımları yeniden kontrol edin.

Bu olayı 17.inç (1440x900) ekranı olan Pc-BSD 8.2 kurulu laptop'umda denedim.
Artık bu olaya "Anti Aliasing" mi denir, yoksa "ClearType" mi nedir ne denir bilmiyorum ama güzel bir şey olduğu kesindir. :D

Özetle "ihtiyar delikanlı" (*BSD) az-buz yaman değilmiş vesselâm, sevmeye başladım ben bu ihtiyarı :D

Opera & Firefox
Devamını Oku

13 Eylül 2011 Salı

Ports kullanımı | BSD

Port'larda bulmak/derlemek istediğimiz paketin yolunu whereis komutuyla buluruz.
# whereis vlc
...
Çıktı böyleyse paket port'ta kurulu değildir. (pkg ile kurulmuşsa da görülmeyebilir)
vlc: /usr/ports/multimedia/vlc 


Çıktı bunun gibiyse kuruludur!
vlc: /usr/local/bin/vlc /usr/local/man/man1/vlc.1.gz /usr/ports/multimedia/vlc


Bulduğumuz dizine cd komutuyla gideriz.
# cd /usr/ports/multimedia/vlc

(Hangi dizinde olduğunuzdan emin olmak için pwd komutunu döndürebilirsiniz)

Şimdi derlemeye hazırız, normalde komutumuz budur.
# make install clean

** Port'tan klasik kurulum bu şekildedir.


** Şimdide olası sorunlara veya alternatiflere bakalım. **
An older version of lang/php5-extensions is already installed (php5-extensions)
You may wish to ``make deinstall'' and install this port again
by ``make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of lang/php5-extensions
without deleting it first, set the variable "FORCE_PKG_REGISTER"
in your environment or the "make install" command line.
*** Error code 1

Gibi bir hata alırsanız kurmaya çalıştığınız uygulama ya da bir modülü sistemde kuruludur önce onu kaldırmanız gerekir.

# make deinstall


Kaldırdıktan sonra yeniden kurmak için.
# make reinstall


veya
Eski kuruluma ait dosyaları silmek istemiyorsanız FORCE_PKG_REGISTER komutunu ilave edin.
# make FORCE_PKG_REGISTER=1 install clean

Bkz. FreeBSD Ports Reinstall – FORCE_PKG_REGISTER


&&&&&&&&&&
Başka bir sorunda make install clean dan sonra bazı uygulamalar "config penceresi" çıkartırlar ama yukarıda ki gibi bir hata durumda yeniden derleme yaparken bu pencere 2. kez çıkmaz.
Çözümü komuta config satırını ilave etmektir.
# make config reinstall 
veya
# make config install clean



&&&&&&&&&&
Diğer bir sorunda örn. Java gibi bazı uygulamalar derleme aşamasında ilgili sitede ki programı Lisans kısıtlamaları nedeniyle direk indirİLemez, (sözleşmenin onaylanması gerekir) bunu sizin elle indirip /usr/ports/distfiles/ dizinine atmanız gerekir.
veya sorun internet bağlantı sorunuda olabilir, çok yavaş iner vs. gene aynı şekil ilgili progam/uygulamayı bir şekilde indirip /usr/ports/distfiles/ dizinine atmanız derlemeyi devam ettirecektir.


&&&&&&&&&&
Bazı uygulamalar güvenlik açığı veya paket bütünlüğü gibi sorunlar yüzünden direk kurulamayabilirler, eğer güvenlik açığı varsa sistem derlemeye izin vermeyecektir. (has known vulnerabilities)
Ama genede bana bir şey olmaz kurmamda lazım derseniz komut budur; tabii kesinlikle ÖNERİLMEZ.
# make -DDISABLE_VULNERABILITIES install clean 
veya
# make DISABLE_VULNERABILITIES=yes install clean

Ayrıca güvenlik açıkları ile ilgili BSD sistemlerde Portaudit uygulaması vardır, hangi uygulamalarda açık vardır takip edebilirsiniz.
Bkz. Portaudit ile Kurulu Paketler için Zafiyet Takibi


&&&&&&&&&&
ports sisteminizde kurulu değilse (yeri /usr altındadır) Oluşturmak için
# portsnap fetch ; portsnap extract

Varolan ports'u güncellemek içinde
# portsnap fetch ; portsnap update

Update işlemi için alternatif bir yolda
# cd /usr/ports/ ; make update ; make fetchindex


&&&&&&&&&&
Port olayı bunlarla sınırlı değil elbette lakin bildiklerim aşağı yukarı bunlardır, bir uygulamayı derlerken bazı özelliklerini önceden de verebilirsiniz.., tr, kde, gnome vs. gibi.
Örn. OpenOffice make install clean ile standart ing. olarak derlenmiş olacaktır, ama aşağıda ki gibi bir komutla Türkçe ve KDE4 için derlenmiş olacaktır, ve ayrıca kurulum .tbz paketi de olacaktır.
# cd /usr/ports/editors/openoffice.org-3 
# make WITH_CCACHE=yes -DWITHOUT_CUPS -DWITHOUT_MOZILLA -DWITHOUT_GNOME -DWITH_KDE4 LOCALIZED_LANG=tr install package

Tabii her uygulama OpenOffice gibi değildir, pek çoğuda make install clean ile Türkçe olacaktır, derlemede NLS'yi (Native Language Support) işaretlemeniz yeterli olacaktır.
Amarok gibi uygulamalarda o da yeterli olmuyorya neyse. :D
Ayrıca locales'in Türkçe UTF-8 olarak tanımlı olması gerekecektir.


&&&&&&&&&&
Birde /etc/make.conf dosyasının CPU'nuza göre ayarlanma hadisesi var ki Cflags dedikleri derleme bayraklarınıda make.conf içerisinde ayarlamanız fena olmayacaktır.
Lakin bu olayda ileri derece bir hadise olduğu içindir ki yanlış verilen bir ayar derlemeyi etkileyecektir.
Doğru ayarları bulmak için google'yi deşmeniz gerekecektir, Processor Specific CFLAGS bir fikir verecektir.


&&&&&&&&&&
Son olarak derleme hadisesi sisteminize göre derleneceği içindir ki kurduğunuz uygulamadan daha çok verim almanız anlamına da gelir, eğer yanlış derlersenizde daha kötü verim alacağınız anlamına da gelir tabii. :)
sonuçta hazır paketler başka bir makinede ve bir çok özelliği de açık halde derlenirler ki, bu bütün dağıtımlarda böyledir.

Kolay gelsin.
Devamını Oku