2010-07-30

Symbian telefonda müzik kütüphanesinin bozulması sorunu

Nokia N79 telefonumun tüm özelliklerini çok seviyorum. En kısa ifadeyle "yok" yok. Ama bir süredir müzik kütüphanesinde (library) var olmayan bir albüm adına rastlıyordum. Silmeye çalıştığımda da hata verip çıkıyordu. Çözümü nasıl bulacağımı bilemeden yaptığım bir Google aramasında şu sayfayı buldum. ID3 tagları vs. ile çok uğraşınca böyle hataların olabileceğinden bahsetmiş ve çözüm olarak kütüphane veritabanı dosyasının silinmesini önermiş; bir sonraki açılışta müzikçalar nasıl olsa kütüphane veritabanını tekrar yaratacak düşüncesiyle.

Bunu yapmak için uyguladığım adımlar şöyle:
  1. Telefonu USB ile bilgisayara "depolama" kipinde bağladım. Bunun yerine kartı telefondan çıkartıp bir kart okuyucu ile de verilere erişebilirdim.
  2. Ardından bilgisayarımda bellek kartına atanan sürücüya giderek (örneğin benim bilgisayarımda bu F: sürücüsüydü) F:\Private klasörünün altında şu dosyaları aratarak bulduklarımı sildim.

    • [101ffc31]mpxv2_5.db
    • [101ffc31]pcv6_1.db
    • [102830AB]thumbnail_v2.db
    • harvesterdbv9_5.dat

    Ama bende [101ffc31]mpxv2_5.db yerine [101ffc31]mpxv2_2.db gibi ufak bir farklılık vardı ve [102830AB]thumbnail_v2.db yoktu. Zaten thumbnail'lerle bir işim yok.
  3. Bu işlemden sonra USB bağlantısını arkadaşça sonlandırdım ve kabloyu söktükten sonra tekrar müzikçaları başlattım. İlk seferde sordu ama sormazsa da müzik kütüphanesini güncellemeyi seçecektim. Bu işlem bittikten sonra o başıboş albüm isimleri falan kaybolmuştu.
Buna alternatif olarak hafıza kartını formatlamayı (eğer kütüphanedeki referans hafıza kartınaysa tabi) da seçebilirsiniz. Ama bu elbette daha fazla iş demek (içindeki verilerin yedeklenmesi gibi).

Temalar da benzer bir sorunla karşılaşanlar ise http://www.megaleecher.net/Fix_Corrupted_Nokia_Themes sayfasında yazdığı gibi  \private\10207114\import  klasörü altındaki temaları silmeyi deneyebilir

2010-07-15

Google Maps ve Google Earth'e girmenin arka kapısı

Çok sansürlü az internetimiz Google'ın yaptığı ayak oyunu ile iyice arap saçına döndü. TİB niye benim Google Maps'e girmemi yasaklıyor? Ya da Google Analytics'e? Ya da Picasaweb'e?

Şükür ki bu işlerin bir arka kapısı var. Başbakan bile "Ben giriyorum, siz de girin" diyorsa ülkenin referandumlar arasına sıkışmış hukuk sisteminin saygınlığı ayrı bir yazının konusu olabilir.

Şimdi gelelim Google Maps'a girmenin yollarına. Önce DNS ayarlarınızı değiştirin. Örneğin şu yazımda anlattığım gibi OpenDNS veya Google'ın DNS sunucularını kullanın. Sonra da C:\Windows\system32\drivers\etc klasörünün altında bulunan hosts dosyasına şu satırları ekleyin (linux'ta /etc/hosts dosyasına):

74.125.77.190  mt0.google.com
74.125.77.190  mt1.google.com
74.125.43.100  id.google.com
209.85.135.91  khm.google.com
209.85.135.93  khm0.google.com
209.85.135.136 khm1.google.com
209.85.129.91  picasaweb.google.com
67.215.65.132  lh3.ggpht.com
67.215.65.132  lh4.ggpht.com
67.215.65.132  lh5.ggpht.com
67.215.65.132  lh6.ggpht.com
209.85.229.99  auth.keyhole.com
74.125.157.99  kh.google.com
74.125.157.99  geo.keyhole.com



(listeyi 21 Ağustos'ta güncelledim!)

Elbette Vista ve üzeri işletim sistemi kullananlar UAC'nin açık olması durumunda Yönetici Haklarıyla işlem yapmalı.


Google Earth için de şu satırların eklenmesi gerek:

209.85.229.99 auth.keyhole.com
74.125.157.99 kh.google.com
74.125.157.99 geo.keyhole.com

Hepsini eklemekte şimdilik bir sakınca yok. Ancak gelecekte benzer bir değişiklik olması durumunda bunları silmek veya değiştirmek gerekebilir.

Bunların dışında Google Earth, Windows'da Internet Explorer'ın proxy ayarlarını kullanıyor. Eğer Internet Explorer'ınızda bir proxy ayarı varsa ve bu proxy bu sunuculara erişimi engelliyorsa (bir ISA Server olması durumunda muhtemelen böyle olacaktır) proxy'nin devre dışı bırakılması gerekecektir. Çoğu programda olduğu gibi Google Earth'ün kendi proxy ayarlarını bulamadım.

2010-07-02

Ubuntu Server üzerine Apache web sunucu kurulumu

Ubuntu Server'ın kurulumunu tamamladıktan Apache'yi çalıştırabilmek için önce TCP/IP ayarlarının yapılması gerek. Dinamik IP ile DNS kaydı linux'ta nasıl yapılır, bilmiyorum. Bu sebeple statik bir IP adresi verdim. Ardından alan adlarına göre çalışan bir web sunucu için DNS sunucu ayarlarının yapılması gerek (aynı sunucuda veya başka sunucuda). Daha önceki şu yazımda DNS sunucu yapılandırmasını anlatmıştım. Bunlar bittikten sonra şu komutla Apache'nin kurulumu yaptım:
sudo apt-get install apache2
Apache kurulumunun başarıyla sonuçlandığından emin olmak için makinenin IP adresi ile web tarayıcıdan erişimi denedim, sorun yok. Aşağıdaki Apache'nin varsayılan web sitesi.


Bundan sonraki adım, DNS sunucuda ayarları yapılan example.com alan adına ait web sunucusunu yaratmak. Önce bu sunucun verilerinin tutulacağı yeri belirlememiz gerek. Ben /var/www/example.com'u seçtim (/home/username/www de olabilirdi). Bu klasörü yaratıyorum.
sudo mkdir /var/www/example.com
İçine de çok basit bir index.html dosyası yarattım.

<html>
  <head>
    <title>Title of example.com</title>
  </head>
   <body>
    <h1>Welcome</h1>
     <p>Here is the data of example.com</p>
  </body>
</html>

Apache'de çalışan web sunucuları /etc/apache2/sites-available klasörünün altındaki yapılandırma dosyalarıyla belirleniyor. İlk kurulumda burada sadece default var. Her web sunucu için burada bir yapılandırma dosyası yaratmak gerek. Önerilen yöntemlerden biri default'un bir kopyasını çıkararak üzerinde bizim alan adımız için değişiklikler yapmak. Bu yöntemi uygulayacaksak önce default'un bir kopyasını yaratalım.

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/example.com
Aşağıda kırmızı ile gösterdiğim satırları bu dosyaya ben ekledim. Mavi satırlar vardı, ben onları example.com alan adına göre değiştirdim.

<VirtualHost *:80>
  ServerAdmin webmaster@example.com
  DocumentRoot /var/www/example.com
  ServerName www.example.com
  ServerAlias example.com
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>
  <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory>
 
  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory /usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>
 
  ErrorLog /var/log/apache2/error.log
  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn
  CustomLog /var/log/apache2/access.log combined
 
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride None
  Order deny,allow Deny from all
  Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</virtualHost>

Ya da debian-administration.org sitesinde anlatıldığı gibi dosyayı yeniden oluşturabilirsiniz. Bu sitedeki örnek dosyanın içeriği

<VirtualHost *> # Burada *:80 olması gerekecek!!!
        ServerAdmin webmaster@example.com
        ServerName  www.example.com
        ServerAlias example.com

        # Indexes + Directory Root.
        DirectoryIndex index.html
        DocumentRoot /home/www/www.example.com/

        # CGI Directory
        ScriptAlias /cgi-bin/ /home/www/www.example.com/cgi-bin/
        <Location /cgi-bin>
                Options +ExecCGI
        </Location>


        # Logfiles
        ErrorLog  /home/www/www.example.com/logs/error.log
        CustomLog /home/www/www.example.com/logs/access.log combined
</VirtualHost>

ErrorLog ve CustomLog ile hata dosyalarının yerlerini belirlemek de iyi bir fikir.

Bir makine üzerinde birden fazla web sunucu çalıştırabilmek için şu 3 koşuldan birinin sağlanması gerek:
  1. IP adresleri farklı olmalı
  2. Dinledikleri port farklı olmalı (default 80)
  3. Host header'ları farklı olmalı
Bu şartların arasında en pratik olanı 3.sü. Bu konuyu öğrenirken en çok bu noktada kafam karıştı. Dökümantasyona göre ya virtual.conf dosyasına, ya da diğer yapılandırma dosyalarının birine NameVirtualHost direktifini eklemem gerekiyordu. Ne yaptıysam hatalardan kurtulamadım. Sonunda farkettim ki, ports.conf dosyasında zaten bir tane NameVirtualHost *:80 direktifi varmış. İkinciyi eklemeye gerek yok. Peki *:80 ne demek? Makinenin sahip olduğu bütün IP adreslerinde 80 numaralı portu dinle demek. Web sitemizin yapılandırma dosyasındaki <VirtualHost *:80> direktifine de dikkat! ports.conf dosyasında *:80 olduğu için burada da *:80 kullanmalıyız. debian-administration.org örneğindeki gibi <VirtualHost *> kullandığımda hata mesajıyla karşılaştım. Onun için yukarıda kırmızı ile bunu ayrıca vurguladım.

Bu noktadan sonra default web sitemi kapatıp (namevirtualhost kullandığımızı varsayarsak bu da seçimlik; isterseniz kapatmayabilirsiniz) yeni yarattığım example.com'u etkinleştirmem gerek. Bunu aşağıdaki script'lerle yapıyorum. Ardından da apache'yi reload etmem gerek.

sudo a2dissite /etc/apache2/sites-available/default
sudo a2ensite /etc/apache2/sites-available/example.com
sudo /etc/init.d/apache reload

Bundan sonra sitemizi denemek için web tarayıcımızın adres satırına www.example.com yazmak kaldı. Eğer şu ekranla karşılaşırsanız


DNS ayarlarınızı kontrol etmeniz gerekecek. Çünkü bu sayfa, sizin kurduğunuz Ubuntu Server'dan değil, internetteki bir sunucudan geliyor. Bu tarayıcının çalıştığı bilgisayarın DNS sunucusunu Ubuntu'nun adresi olarak vermeniz gerek. Bunu yapınca yarattığım index.html dosyası karşıma geldi:


2010-07-01

Ubuntu Server kurulumunda Virtual Machine Host seçimi

Ubuntu Server'ın kurulumu sırasında sunucu görevlerinin seçildiği aşağıdaki ekranda


"Virtual Machine Host"un varlığının sebebini bir süredir merak ediyordum. Buradaki seçeneklerin bir çoğunun durumu açık: "DNS Server" bind9'u kurar, "LAMP" apache2+MySql+Php'yi kurar vs. Ama "Virtual Machine Host" ne kurar, bilemiyordum. Google aramalarına göre kimisi bu seçeneği işaretleyerek VMware Server kurulumu yapılmasını önermiş, kimisi bu seçeneğin KVM'yi kurmasından dolayı VMware Server kuracaksanız bunu işaretlemeyin demiş falan, filan... En iyisi "Virtual Machine Host" işaretli ve işaretsiz iki kurulum yapıp arasında bir karşılaştırma yapmak.

Virtualbox'a iki kurulum yaptım; birincisinde bu ekranda hiçbir seçeneği işaretlemedim. Sonra aşağıdaki komutla kurulan paketlerin listesini çıkarttım:

sudo dpkg -l > ubusrv1.txt

İkinci kurulumda ise bu ekranda sadece "Virtual Machine Host"u seçtim. Yine yukarıdaki aynı komutla kurulmuş paketlerin listesini çıkarttım:

sudo dpkg -l > ubusrv2.txt

Ardından bu iki dosyayı WinMerge'ü kullanarak karşılaştırdım. Buna göre "Virtual Machine Host" seçeneği işaretlenerek yapılan kurulumda fazladan şu paketler var:


bridge-utils Utilities for configuring the Linux Ethernet
consolekit framework for defining and tracking users, s
dbus simple interprocess messaging system
dnsmasq-base A small caching DNS proxy and DHCP/TFTP serv
hal Hardware Abstraction Layer
hal-info Hardware Abstraction Layer - fdi files
kvm dummy transitional pacakge from kvm to qemu-
libaio1 Linux kernel AIO access library - shared lib
libasound2 shared library for ALSA applications
libavahi-client3 Avahi client library
libavahi-common-data Avahi common data files
libavahi-common3 Avahi common library
libck-connector0 ConsoleKit libraries
libdevmapper-event1.02.1 The Linux Kernel Device Mapper userspace lib
libdirectfb-1.2-0 direct frame buffer graphics - shared librar
libeggdbus-1-0 D-Bus bindings for GObject
libflac8 Free Lossless Audio Codec - runtime C librar
libhal-storage1 Hardware Abstraction Layer - shared library
libhal1 Hardware Abstraction Layer - shared library
libice6 X11 Inter-Client Exchange library
libogg0 Ogg bitstream library
libpam-ck-connector ConsoleKit PAM module
libpciaccess0 Generic PCI access library for X
libpolkit-gobject-1-0 PolicyKit Authorization API
libpulse0 PulseAudio client libraries
libsdl1.2debian Simple DirectMedia Layer
libsdl1.2debian-alsa Simple DirectMedia Layer (with X11 and ALSA
libsm6 X11 Session Management library
libsndfile1 Library for reading/writing audio files
libsysfs2 interface library to sysfs
libts-0.0-0 touch screen library
libvirt-bin the programs for the libvirt library
libvirt0 library for interfacing with different virtu
libvorbis0a The Vorbis General Audio Compression Codec (
libvorbisenc2 The Vorbis General Audio Compression Codec (
libwrap0 Wietse Venema's TCP wrappers library
libx86-1 x86 real-mode library
libxen3 library interface for Xen, a Virtual Machine
libxi6 X11 Input extension library
libxtst6 X11 Testing -- Resource extension library
lvm2 The Linux Logical Volume Manager
openssh-server secure shell (SSH) server, for secure access
pm-utils utilities and scripts for power management
qemu-common qemu common functionality (bios, documentati
qemu-kvm Full virtualization on i386 and amd64 hardwa
radeontool utility to control ATI Radeon backlight func
seabios legacy BIOS implementation which can be used
smartdimmer Change LCD brightness on Geforce cards
tcpd Wietse Venema's TCP wrapper utilities
tsconf touch screen library common files
ubuntu-virt-server Common packages necessary for hosting virtua
vbetool run real-mode video BIOS code to alter hardw
vgabios VGA BIOS software for the Bochs and Qemu emu
watershed reduce superfluous executions of idempotent
x11-common X Window System (X.Org) infrastructure

Görüleceği gibi bu seçenekle kvm, qemu-kvm ve qemu-common gibi paketler geliyor. qemu da bir sanallaştırma yazılımı ama VMware ile bir ilgisi yok.

Buradan şu sonuç çıkıyor: "Virtual Machine Host" seçeneği ile yapılan kurulum hiçbir şekilde VMware Server bileşeni kurmadığı gibi, VMware Server kurulumu için de pek uygun bir seçenek değil. Amaç Ubuntu üzerinde VMware Server çalıştırmaksa "Virtual Machine Host" seçeneğini hiç işaretlememek daha iyi bir fikir.

2010-06-25

Virtualbox'ta kurulu Ubuntu Server'ın yavaş ötesi ekran kayma hızı

Deneme amaçlı kurulumlarım için Virtualbox kullanıyorum. Ubuntu Server 10.4 LTS'yi denemek için de Virtualbox'a bir kurulum yaptım. Ancak ekranda aşağıdan yukarıya doğru kayan yazılar çok yavaş olarak ilerliyordu. 25 satırdan fazla çıktı üretecek bir ls -l komutunun tamamlanmasını beklemek bile sinir bozucu oluyordu.

Ufak bir Google araması sonucunda gördüm ki Virtualbox, desteklenen bir grafik kartı olmaması durumunda VGA16'ya geçiyormuş. Bu da klavyenin başında oturan kişi için durumu işkenceye dönüştürüyormuş - yalnız değilim! Çözüm için bulduğum yöntem ise vga16fb modülünü blacklist yapmak.

/etc/modprobe.d/blacklist-framebuffer.conf
dosyasını root yetkileriyle açıp sonuna

blacklist vga16fb

ekleyip kaydettim. Bir sonraki açılışta bu durumdan kurtuldum.

2010-06-24

Vista'da Defender Sorunu

Windows Vista Business Edition yüklü işyerimdeki bilgisayarımda Windows Defender belli aralıklarla güncellenemedi hatası veriyor. Hata, sistem tepsisinde aşağıdaki gibi sarı ünlemli bir Defender simgesi ile beliriyor.


Bu simgeyi çift tıkladığımda açılan Defender penceresinde hatanın ayrıntıları şu şekilde gözüküyor.


En altta gözüken Definition version, bugünün tarihinden 14 gün önce. Yani 14 gündür internet bağlantısı sağlam durumda olan bilgisayarım, bir sebeple güncellemeleri indirememiş. Evdeki bilgisayarımda böyle bir sorunla hiç karşılaşmıyorum. İnternet bağlantısı olduğu durumda Windows Update ile güncellemeleri bulup kendisi yükleyebiliyor. Zaten sorunla ilgili anahtar kelime de "Windows Update".

Windows Defender, neredeyse günlük olarak yayınlanan güncellemelerini alabilmek için Windows Update'i kullanıyor. Evdeki bilgisayarımda Windows Update etkin; güncellemeleri kontrol edip yüklüyor. İş yerimdeki bilgisayarım ise yerel bir WSUS sunucu üzerinden güncellemeleri alıyor. Ama görünüşe göre bu bir şekilde sorun yaratmış. Yukarıdaki pencerede "Check for Updates Now" düğmesine basınca da farklı birşey olmadı.


WSUS sunucumun ayarlarını bir kez daha kontrol etmek istedim. WSUS SP1 kullanıyorum. Yönetimsel Araçlar'dan Microsoft Windows Server Update Services snap-in'ini çalıştırarak Options>Procuct and Classifications'ı çalıştırarak Products sekmesine geldim.


Görüldüğü gibi Windows Defender işaretli. Ayrıca hemen yandaki Classifications sekmesinde de Definition Updates seçili.


Ama Options>Automatic Approvals'ı kontrol ettiğimde burada "Default Automatic Update Rule"un "Defition Updates"i kapsamadığını farkettim.

 
Bunu işaretledikten birkaç gün sonra Windows Defender'ı tekrar kontrol ettiğimde "Definition Version"ın daha yeni bir tarihi gösterdiğini farkettim. Yani "Automatic Approvals" kısmında ki "Default Automatic Approval Rule"a "Definition Updates"i eklemek işe yaradı.


Elbette bilgisayarın güncellemeleri WSUS'tan alacak şekilde ayarlanmış olması gerekiyor. Güncellemeleri her 15 günde bir, uyarı verdiğinde, gidip Microsoft'un sayfasından elle indirmek isteyenler için de adres:


Güncellemeleri bu şekilde elle indirirken Microsoft'un sitesinin dışında bir yerden indirmemeye dikkat edin.


32 ve 64 bitlik sistemler için ayrı ayrı bağlantılar olduğuna dikkat edin.

2010-06-05

İnternette yavaşlama

Son günlerde internette belli bir yavaşlama var. Google ana sayfasını açarken tarayıcının altında "clients1.google.com'dan cevap bekleniyor" benzeri bir mesaj çıkıyor ve yüklenme hiç sonlanmıyordu. Ya da başka bir siteye bağlanırken yine tarayıcının altında "google-analytics.com'dan cevap bekleniyor" benzeri bir mesaj çıkıyor ve yükleme sonlanmıyordu.

Bunun sebebini şu sayfada güzelce anlatmış. TİB'nin koyduğu Youtube yasağı ile iletişimin engellendiği IP adresleri, artık Youtube için değil de Google'ın diğer hizmetleri için kullanılmaya başlayınca sorun çok anlamsız bir hal almış. Şimdi bu sorunun çözülmesi için birşeyler yapılması gerekiyor.

NOT: 10 Haziran itibariyle bazı haber sitelerinde sorunun çözüldüğüne dair haberler çıkmaya başladı.