LAPTOP YA DA OEM BİLGİSAYARLAR İÇİN EN İYİ LİNUX DAĞITIMI VE JET HIZIYLA AÇILAN SİSTEMLER

bilgisayar,linux,pozitif linux,ubuntu | Etiketler:, — 5 Ekim 2007

dell ubuntu masaustu resmi Laptop ya da OEM bilgisayarlar için en iyi Linux dağıtımı ve jet hızıyla açılan sistemler yazısı bilgisayar  kategorisindeÖğleden sonra filan bilgisayarcı bir arkadaşa uğradım. Mağazası var, işleri sürekli büyütüyor. Şimdi amacı, “markalı” bilgisayar satmak. Kendi markasını yaratmaya çalışıyor.

Doğal olarak ilk muhabbet işlemciler üzerine döndü; AMD, 3 çekirdekli Phenom işlemcilerle nereye oturacak, yani Quad Core Intel Core’a kafa tutabilir mi, yoksa ancak Intel Core Duo ile mi kapışır, ya da yeni nesil 8 çekirdekli Intel işlemciler nasıl bir performans gösterecek…

Sonra ekran kartlarına girdik; uzun zamandır ilgilenmediğim bir konu olduğu için pek fikir yürütemedim. 8800 GT çıkıyormuş, hatta belli başlı firmalar bağlantıları yapmışlar, falan filan.

Elbette konu kaçınılmaz olarak Linux’a, Pardus‘a, Pozitif Linux’a ve elbette 32 bit-64 bit dağıtımların kıyaslanmasına geldi.

Arkadaşım iyi bir OEM dağıtım aradığını söyledi; “bulursan bana da haber ver” dedim. Azıcık şaşırdı; çünkü bu konu hakkında derin bir bilgisi yok. Özellikle driver desteğinden ve Linux dağıtımlarının açılış sürelerinin uzunluğundan yakındı. Fazla vaktim olsaydı, bir hayli anlatacaktım ama neredeyse üç gündür uyumadığımdan ve dışarıda çay içemediğimden eve dönmek zorunda kaldım.

OEM dağıtımdan kastı şuydu aslında: bir laptop ya da hazır/markalı/toplama bilgisayara kurduğunda, tüm donanımı algılayıp driver’ları yükleyecek, sorunsuz çalışacak ve sistem de hızlı açılacak.

Bu pek de olası birşey değil. Aslında olası; birileri 30-40.000 dolar verirse(!) bu işi yaklaşık 1 senede rahat rahat halledebilirim. Bu noktada biraz tipik problemlere bakmak gerek.

Dünyada OEM dağıtım hazırlayan vendor’lar var; bunlardan en bilineni şüphesiz Canonical, yani Ubuntu. Dell ile ballı bir anlaşma yaptılar. Şimdilik, ucuz Dell dizüstü ve masaüstü makinalar artık Ubuntu Linux ile geliyorlar. Hatta Micheal Dell’in kendisi de Ubuntu kullandığını söylemiş. Bilemem; tek bildiğim Micheal Dell’in de, Mark Shuttleworth’un da pazarlama dahileri oldukları.

SUSE (Novell) de, sanırım IBM (artık Lenovo) için dağıtım hazırlıyor. Herkesin derdi aynı; kurulum hızlı ve sorunsuz olsun, sistem hızlı açılsın…

Türkiye’de Armador Bilişim bunu Crea ve Datron markaları ile yapıyor. Ama şu sıralar çıkan Datron’lar Freedos yüklü geliyorlar. Eskiden Datron Turkix ile geliyordu, zaman zaman yerden yere vurulan ve adı hiç anılmayanubuntu dell resmi Laptop ya da OEM bilgisayarlar için en iyi Linux dağıtımı ve jet hızıyla açılan sistemler yazısı bilgisayar  kategorisinde Emre Sokollu’nun projesi. Pardus’tan seneler önce, Turkuaz’dan seneler sonra çıkmasına rağmen, ilk dağıtım Pardus’muş gibi bir hava var.

Gelecek Linux ise nedense bu alana girmedi, neden girmediğini de merak ederim. Doğrusunu isterseniz, nasıl ayakta kalabildiklerine de şaşıyorum. Herhalde bunda yapılan eski anlaşmaların önemli payı vardır.

Teorik olarak, sabit bir bilgisayarı (yani donanım aynı kalacak) Linux ile Windows’tan çok daha hızlı açmak, hatta masaüstünü bile daha hızlı çalıştırmak mümkün. Üstelik, bunu Attansic gibi ethernet sürücüsü yüklenirken ıslık çalan kernel modülleri ile başardım. Ama en ufak birşeyi değiştirirseniz, sistem boot etmeyecek, kernel panic verecek.

Linux yüklü bir bilgisayarı hızlı açmak için yapılması gereken bir dizi iş var. Sağdaki soldaki iddiaların aksine, InitNG, Upstart (artık Ubuntu ile standart geliyor) gibi init sistemleri mucize filan yaratmıyor. Bazı akıldışı rakamlar veriliyor ama, bu sayılar başlangıçta birçok servisin başlatılmamasından kaynaklanıyor. Eh, yazıcıyı taktığınızda çalışmıyorsa, bluetooth servisini elle başlatıyorsanız, bunun hiçbir kıymeti yok. Çünkü saydığım şeyleri Windows ve Mac OS X zaten yapabiliyor otomatik olarak. Kısacası, bunlar gerçek hayatta işe yaramayan basit hilelerden ibaret.

Hızlı açılan sistem için, basit olarak şunlar gerekli:

-Gereksiz tüm fazlalıkları atılmış ve doğru şekilde derlenmiş minik bir kernel. Eğer sabit bir sistemi 1-1.2 MB üzerinde bir kernelle açmaya çalışıyorsanız, bunu bir OEM Linux dağıtıcısı olarak yapıyorsanız, siz bu işi bilmiyorsunuz.

-Bunu embedded sistemlerde yapıyorum, OEM sistemlerde de yapmak mantıklı geliyor: kernel çıktılarını ekrana basmamak. 1 saniyeye yakın faydasını gördüm (sisteme bağlı olarak)

-Bazı log servislerini kapatmak. Bu hem daha hızlı bir masaüstü, hem daha iyi açılış süresi demek.

-Hızlı bir dosya sistemi. Tercihim Ext2 olur. Şu an bütün disklerim, sistemin bulunduğu partition hariç, XFS.(Son baktığımda XFS’i kernele gömülü olarak derleyemiyorsunuz, bu yüzden sistemi XFS bir partitiondan açmak olası değildi) Bazılarında bir ReiserFS fanatikliği olsa da, inanılmaz derecede yavaş.

-Burası en önemli kısmı: son derece iyi optimize edilmiş bir initramfs. Eğer OEM bir Linux dağıtımı yaptıysanız ve initramfs 4 MB’dan büyükse, initramfs’in ne olduğu hakkında bile bilginiz yok! 2.5-3.5 MB arası ise daha yolunuz var. Çoğu sistemi 2 MB civarı initramfs ile açmak mümkün. Bu aşamada çok zaman kaybı oluyor, çünkü CPIO arşivi olan initramfs’i açmak en iyi işlemciyi bile süründürüyor (boru değil, neredeyse 3-3.5 kat sıkıştırma var ve bahsettiğim dosyaların çoğu kolay sıkışan metin bazlı dosyalar değiller)

-Aşırı optimize edilmiş init scriptleri. Burası da mayın tarlası; ama aynı zamanda optimize edilmiş bir Linux sisteminde bile en az 5-6 saniye kazanabilirsiniz.

-”Hardcore” diyebileceğim compiler switch’ler ile, minimum yeterlilikte derlenmiş bir busybox ya da muadili. Şansınız varsa, 1 saniye kazanabilirsiniz.

-Elbette X ve startkde scirpti de, son aşamada sistem açılışının hızını etkiliyor.

Daha abartılı yöntemler de var; bunlardan biri LinuxBIOS. Linux kernelini BIOS’a yazıyorsunuz. Yalnız boyut sınırlaması dışında, desteklenen anakartların sayısı da çok ama çok az. Sadece embedded X86 geliştiricileri için önerebileceğim, sofistike, zor ve sorunlu bir uygulama.

Gelgelelim, üzerinde Ubuntu çalışan Dell dizüstü ve masaüstü makineleri çok merak ediyor ve incelemek istiyorum; çünkü yapılan optimizasyon düzeyini merak ettim. Henüz gerçek anlamda belli bir donanım platformu için optimize edilmiş bir dağıtım da görmedim.

Bu konuya daha sonra devam edeceğim ve özellikle 32-64 bit konusuna biraz değinmek amacındayım. Merak ettiklerinizi yorum olarak yazarsanız, ikinci yazıda bu konulara ağırlık veririm ve daha yararlı olur.

YOUTUBE GİBİ FLASH FORMATLI VİDEOLARDAN SESİ MP3 OLARAK AYIRMAK (GENEL LİNUX DAĞITIMLARI; UBUNTU, MANDRİVA, FEDORA, PARDUS,VS..)

bilgisayar,linux,ubuntu | Etiketler: — 1 Ekim 2007

Kısaca şu: diyelim Youtube ya da Metacafe gibi bir sitede hoşunuza giden bir video clip buldunuz; ancak sesi mp3 olarak ayrıştırıp iPod filan gibi bir MP3 player ya da cep telefonunda dinlemek istiyorsunuz.

Burada her derde deva ffmpeg devreye giriyor.

Öncelikle ffmpeg’in kurulu olduğundan ve mp3 desteğiyle compile edildiğinden emin olmalısınız. Genelde ffmpeg yüklendiğinde zaten mp3 desteğiyle derlenmiştir; mp3 codeclerinin olması yeterli. Bedava Mandriva sürümlerinde sanırım seveas depolarını eklemek gerekiyor, emin değilim.

Önce sistemde ffmpeg’in kurulu olup olmadığını kontrol edin. Bunun için komut satırından ffmpeg -version yazmanız yeterli. FFMEPG ve libavcodec kurulu ise şuna benzer bir çıktı alacaksınız:

FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: –enable-gpl –enable-pp –enable-swscaler –enable-pthreads –enable-libvorbis –enable-libtheora –enable-libogg –enable-libgsm –enable-dc1394 –disable-debug –enable-shared –prefix=/usr
libavutil version: 1d.49.3.0
libavcodec version: 1d.51.38.0
libavformat version: 1d.51.10.0
built on Jun  3 2007 20:59:25, gcc: 4.1.3 20070528 (prerelease) (Ubuntu 4.1.2-9ubuntu2)
ffmpeg      SVN-rUNKNOWN
libavutil   3212032
libavcodec  3352064
libavformat 3344896

Tamam; şimdi seyredilen videoların ayıklanması konusunda şu yazımdan faydalanabilirsiniz. Burada anlatılan tekniği kullanarak Flash formatlı video dosyasını bulun.

Şimdi, dosya adını vererek, ffmpeg’i çalıştıralım:

ffmpeg -i D4418E4Ed01 -vn melissa_boyner_seviserek_olelim.mp3

-i, girdi dosyamızın adını vermemizi sağlayacak; bu dosya bende  D4418E4Ed01.

-vn ile, video çıktısı istemediğimizi ffmpeg’e söylüyoruz! Burası önemli, zira tüm numara burada olup bitiyor.

Hemen sonra çıktı dosyamızın adını yazıyoruz. Farklı bir dizine atmak isterseniz, bir path ekleyin; /home/batasoy/melissa/melissa_boyner_seviserek_olelim.mp3 gibi.

TWIX İÇİN BASİT YARDIM

twix resmi TWIX için basit yardım yazısı bilgisayar  kategorisindeTwix, tüm tembellik ve isteksizliğime rağmen yol almaya devam ediyor. Az önce, saatlerce konsantre olmaya çalıştıktan sonra zar zor 40-50 satır yazabildim. Network fonksiyonları bitmiş ve yeterli gibi duruyorlar; wizard kısmı hariç. Bugünkü konu, görüntü ile ilgiliydi. Ekran kartı bilgilerini (üretici,chipset,ram,VGA BIOS, geçerli çözünürlükler,mevcut çözünürlük, gamma,vs) gibi bilgileri toplayan bir fonksiyon yazdım. Geriye güç yönetimi ayarları kaldı temel olarak. Bundan sonra, xorg.conf’u yazıp değiştiren bir fonksiyon yazacağım. Bu basit; zira temel olarak network fonksiyonlarından kopya çekeceğim yazdırma-değiştirme işlemi için. Bir de, xorg.conf’a eklenebilen bazı ek ayarları yazan bir fonksiyon yazmam gerek;örneğin Pardus’da olan ve hiç tasvip etmediğim VTSwitch ayarını eklemek gibi.  Bayramdan önce bu modülü çalışır halde yayınlayıp, diğer modüllerin nasıl görünmesi gerektiği konusunda referans olarak kullanmak niyetindeyim. (Açıkçası, güzel bir sayfa tasarımı yapmak en büyük sıkıntım)

Bu arada, küçük bir yardıma ihtiyacım var: Linux kullanan arkadaşlar bana lspci çıktılarını (lspci -vvv ile) gönderirlerse çok işime yarayacak; çünkü GPU RAM ve VIDEO BIOS ayarlarını doğru okuduğumdan emin olabilmek istiyorum. 4 ayrı sistemde doğru okuduğumu görmüş olsamda, kusursuz çalıştığına henüz kani değilim.

Çıktıları yorum olarak gönderebilirsiniz.

GEANY – UÇUK DEĞİL, AMA ADAM GİBİ PHP IDE

bilgisayar,ubuntu | Etiketler:, — 17 Eylül 2007

geany main resmi Geany – uçuk değil, ama adam gibi PHP IDE yazısı bilgisayar  kategorisindeMillet -nedense- Eclipse’i öve öve bitiremiyor. Bence çok uyduruk bir IDE. Neymiş, eklentilerle habire genişliyormuş. İyi de, herşeyi yapmaya çalışıp, hiçbirşeyi düzgün yapamayan bir aracı ne yapayım? Eğer Java kodu yazmak istyorsanız, NetBeans harika bir IDE, hatta RAD!

PHP IDE’lerin hepsini -Linux sürümleri olmayanları Windows altında denedim. Hatta, beleş ve PHP desteği de var diye, Aptana’yı kurdum. Aptana, çekirdek ve RAM’e doymadı ama, örneğin “f” yazdığımda, f ile başlayan kod tamamlama penceresinin açılması bir sigara içimi kadar vakit alıyor! 10 satır yazana kadar, başka bir dil öğrenmeniz olası.

Geany’den memnun kaldım.

Geany, epey uyduruk gibi görünen bir arayüze sahip; lakin kullandıkça, arayüzün akıllı tasarlandığını görüyorsunuz. Kodları çok iyi tarıyor ve örneğin fonksiyonları, değişkenleri ve diğer ıvır zıvırı, güzelce guruplayıp ekranın solunda gösteriyor. Kod tamamlama, bazen tuhaf şeyler yapsa da, sanırım PHP’deki her türlü ıvır zıvırı tanıyor ve Aptana’nın aksine ışık hızıyla çalışıyor.

Gelelim en sevdiğim taraflarından birine; kodu çalıştırmak için browser açmak zorunda değilsiniz. İtiraf edeyim, bunu tesadüfen keşfettim! Visual Studio’da F tuşları ile program çalıştırma-derleme-durdurma-step yapmaya alıştığım için, gayrı ihtiyari F5′e bastım ve kod küçük bir pencerede çalışıverdi! Süper.

Kısacası, PHP için Visual Basic’inki gibi olağanüstü bir RAD ortamı aramaktan vazgeçin. ZEND’i denemedim ama zamanında 1500 dolar olan Komodo filan da Eclipse’e benziyordu. Geany, 1-2 saatlik bir alışma süresinden sonra her işinizi görür. HTML kodu da yazayım derseniz, Linux altında işiniz çok ama çok zor (imkansız demiyorum, kasan yapar ama açıkçası Dreamweaver varken diğer bütün editörler yalan)

TWIX NASIL GİDİYOR?

Bir zamanlar, biryerlerde TWIX diye birşeyden bahsetmiştim. TWIX şu: Linux sisteminizin kontrol paneli ve “ince ayarları” yapan bir araç.

Pozitif Linux’a dair hödük ve salakça bazı tepkiler, bu ülkede işe yarar Bir şey yapmaya çalışmanın zevzekçe bir çaba olduğunu iyiden iyiye kanıtladı bana. Cuma gecesi, TWIX dosyasını tekrar açtım ve yepyeni bir proje haline getirdim. Birsürü tasarım planım da değişti.

TWIX’de artık GAMBAS ve shell scriptlerinden eser yok. GAMBAS ile yazdığım kodu, hard disklerden birinin kuytu bir köşesine atıp yeni baştan başladım. Bu sefer, PHP ile. Bunun bazı avantajları var: Sistem gereksinimleri çok az, web tabanlı uzaktan kontrol mümkün ve artık AJAX sayesinde güzel görünen akıllı arabirimler oluşturmak çok da zor değil.

Zordan başlayıp, ağdan girdim. Bir miktar kod yazdım; açıkçası şu an yazdığım kod, beni bile şaşırtan bir hızda çalışıyor. Şu an itibariyle, sistemin tüm ağ ayarlarını okuyup, belli koşullara göre ayarları sorunsuz yapabiliyorum (network kısmından bahsediyorum tabi). Şimdilik memnunum; çünkü KDE ile gelen denetim masasından ya da SUSE ile gelen YAST, ya da Mandriva tabanlı dağıtımlarla gelen DRAK’tan daha iyi çalışıyor. Öte yandan, çok ciddi bir sorun var…

mandriva control center resmi TWIX nasıl gidiyor? yazısı bilgisayar  kategorisindeSorun şu: Linux ortamında, sayısız özel ayar olası. “Ne gibi?” derseniz çok kısa bir cevap vereyim; örneğin bir ethernet kartına birden fazla IP adresi atayabilirsiniz. (Şimdiye kadar gördüğüm kontrol panelleri bunu yapamıyor) Örnekler çok ama şu an verecek ruh halinde filan değilim; bu sorunu wizard’lar sayesinde aşacağım.Açıkçası başka pratik bir yolu da yok; zira Linux’un ağ kısmı, dipsiz ve karanlık bir kuyu. Üstüne üstlük, konfigürasyon dosyaları tam bir mezbelelik. Aşırı plansız, düzensizler. Bu konuda, KDE geliştiricilerini -kısmen- kutluyorum. KDE’nin yapılandırma dosyaları son derece kötü -hatta hiç- dokümente edilmiş olmasına rağmen, resmen askeri nizama sahip! Dolayısıyla, TWIX’in KDE ayarları modülünü yazmak, benim için tatil gibi Bir şey olacak.

Fazla detaya girmek istemiyorum, çünkü şu aşamada elimde çalışan 7 tane, tamamen sıfırdan yazdığım fonksiyon var. Bunları düzgün bir arabirimde bir araya getiremedim, çünkü tasarım konusunda hayli zayıfım. (Kendi yaptığım deneysel arabirim çok uyuz göründüğü gibi, adam gibi de çalışmıyor; ama PHP tabanlı yönetim kodları işlerini mükemmel ve hızlı yapıyorlar) Üstelik, JavaScript’e herzaman şüpheli baktığım için, AJAX güçlü olduğum bir konu değil. Keşke GFXDesign gibi üstadlar bir el atsa!

Arada birkaç “eşantiyon” PHP fonksiyonu da yazdım, bunlarda CPU bilgisi, PCI kartlar gibi bilgileri topluyorlar. Aslında bunları PhpSysInfo projesinden araklamayı düşünmüştüm; ama yazdıkları kodu anlayana kadar, yenisini yazmak daha kolay ve hızlı oldu.

Amaçlarımı, gelişmeleri ve kodu ayrı bir sayfada -muhtemelen pozitifpc.com altındaki başka bir subdomainde- hem İngilizce, hem Türkçe olarak anlatacağım zaten. Yurtdışından katılım bekliyorum; zira kod çok temiz, basit anlaşılır oldu. Yapı içinde aynısını söyleyebilirim; ama web sayfalarının tasarımı beni kasacak. Temiz bir template sistemi ve okunabilir AJAX -Javascript- kodları için, ya kendimi bu alanda bir miktar eğitmem, ya da bu becerilere sahip birini bulmam gerekecek.

Neden PHP?

Aslında Python’da daha iyiyim. (Son PHP kodunu yazdığımda, sanırım 2000′de bile değildik!) Ama Python’u sevmiyorum ve bir kontrol paneli için, yanlış bir seçim. Zibilyon tane Python modülünü, ister Debian olsun, ister Red Hat tabanlı olsun, herhangi bir dağıtım altında sorunsuz ve az yer kaplayacak şekilde kurmak haddinden fazla zor. PHP çok daha az yer kapladığı gibi, Zend ile birlikte kullanıldığında, Python’a nal toplatıyor (bunu birgün söyleyebileceğimi hayal bile edemezdim!)

Üstelik PHP bilen daha çok insan var ve düzgün, “enterprise” düzeyde modül ve fonksiyonlara sahip. Pythoncular kızmasın ama bana biraz oyuncak gibi geliyor.

Bir başka alternatif Perl idi, Perl’e çoğu insanın olduğu gibi, benim de kanım ısınmadı. Üstelik, Perl bilgim çok sınırlı. Perl’in bir sıkıntısı, dağıtımlar arasındaki kurulumunun Python’dan daha problemli olması. Örneğin, Mandriva, kendi kontrol paneli başka dağıtımlarda çalışmasın diye, uyduruk Perl paketleri hazırlamış. Mandriva Control Center’in çok kısıtlı bir kısmını, Ubuntu üzerinde, deveye hendek atlatarak (Perl’in logosu da deve,ne tesadüf!) çalıştırmayı başardım. Bu kayda değer bir başarı da değildi; üstelik Mandriva Control Center’ın çalışma hızı, devenin yürüyüş temposu civarında.

YAST da ayrı bir macera. Birileri, YAST2′yi Ubuntu üzerinde çalıştırmak için 2 sene harcamışlar ve aldıkları mesafe ürkütücü derecede az. Kısa bir denemenin ardından, YAST sevdasından da vazgeçtim. Kaldı ki ayar modülleri filan çalışsa bile, RPM ile entegre olan kısımları yeni baştan yazmak gerek; zira RPM ile kullanılabilen fonksiyonları, böyle kapsamlı bir program içinde DPKG ile çalışır hale getirmenin kısa ve kolay bir yolu yok.

PHP ile hazır gelen sayısız modül olsa da, TWIX ile bunların çoğunu kullanmayacağım. Hatta, hazır gelen bazı fonksiyonları bile kullanmayacağım. Mümkün mertebe, standart fonksiyonları kullanmanın bariz avantajları var; kodu herkes anlıyor, kaynak sıkıntısı yok, kurulum paketi küçük oluyor ve genelde daha hızlı çalışıyor. Şimdiye kadar, kaçamadığım bir tek Regular Expressions oldu; bir de KDE için XML kütüphanelerini kullanmayı planlıyorum. Amacım, Mandriva Control Center ya da SUSE’nin YAST2′si aksine, 100 MB gibi bağımlılıklar gerektirmeyen, 3-5 MB tutan, ama herşeyi yapabilen bir kontrol paneli yazmak. Web tabanlı yönetim ve embedded cihazlarda bile kullanılabilecek kadar küçük olması en büyük avantajları (tabi embedded cihazlarla çalışması için 300K’lık browser, lighthttpd ve JavaScript’in çıkarılması gibi modifikasyonlar gerekecek; şu an için iki sürümü paralel götürebilirim gibi görünüyor)

İSTATİSTİKLER

Blogumda toplam 6125 yorum ve 880 blog girdisi bulunuyor.

ARŞİV

12