Bayram temizliği

Öncelikle hepimizin Ramazan bayramı ve 30 Ağustos Zafer bayramı kutlu olsun. “Gündüz işin neyse gece düşün odur” derler ya, ben de bir süredir GKB‘nin kalitesini yükseltmek için düşünüp duruyordum. Bakımını yapmak, hata ayıklamak, özellik eklemek çok zor. Ayrıca kullanımını daha da basitleştirmek istiyorum. Ben de fırsattan istifade aldım elime klavyeyi, başladım bayram temizliği yapmaya. İşin iskeleti belirmeye başlayınca keyfim yerine geldi. Özellikle çalışma şeklinde olmak üzere pek çok arkaplan değişikliğine sahip olacak bir sürüm ortaya çıkacak. Tek bir parçadan oluşan kocaman bir betik yerine, küçük bir başlatıcı betik ve onun gerektiğinde indirdiği/oluşturduğu diğer betiklerden oluşan bir sistem olacak gibi görünüyor. Fonksiyonların yaptığı bazı rutin işleri mini betikler ile idare etmeyi düşünüyorum. Sistematiği merak edenler için de mümkün olan her kod parçasına yorum ekliyorum. Kullanılabilir ilk sürüm gün yüzüne çıkana kadar kabuğuma çekiliyorum.

| Yorum yapın

Ufak düzeltmeler, değişiklikler…

Derleme hatalarını tespit etme kısmında garip hatta mantıksız diyebileceğim durumlarla karşılaştım ve günlerdir onların üstesinden gelmeye çalışıyordum. Sonunda bir yolunu buldum, sıkıntı ortadan kalktı gibi görünüyor.

Bununla birlikte GKB‘nin kullanıcıya sunduğu durum bilgisini biraz daha detaylandırmaya çalışıyorum. İşin aslını isterseniz betiğin en zahmetli kısmı işlemler değil, söz konusu görsel öğeler. “O mesajdan önce bir satır boşluk koy, ikinci satırda gelen bilgiyi ilk satırdakinin yanında göster, şu komutun hatalarını gizle, bu komutun çıktısını bir dosyaya kaydet, düzenleyerek ekranda göster” vs vs. Sapsade, renksiz, ekranı mesaj bombardımanına tutan bir betik haline mi getirsem diye içimden geçiyor arasıra :) Gerçi şu anda sahip olduğu özellikleri tam anlamıyla sorunsuz çalışabilecek hale getirdikten sonra (ki buna çok çok az kaldı) tek yapılması gereken daha sağlam bir temele (Burak‘ın dediği gibi daha güçlü bir programlama diline) geçiş yapmak.

Şu andaki görüntüsü ise şu şekilde:

Posted in GKB | Tagged , | Yorum yapın

Paket kurulum aşamaları

Zaman içinde GKB daha detaylı hale geldikçe herhangi bir kısmında herhangi bir değişiklik yapmak gittikçe zorlaşıyor. Alakasız gibi görünen bir yerde ortaya çıkan bir hata, unutulmuş bir tırnak işareti, sonlandırılmamış bir döngü ya da yanlış bir harf yüzünden ciddi sıkıntılar oluşabiliyor. Günlerdir benzer sebeplerden dolayı bilgisayar başında akrobasi yapıyorum.

Şu anda geliştirmeye çalıştığım kısımlar paket kurulumları ve derleme hataları. Açıklamak gerekirse; diyelim ki GKB tarafından “emerge -e system” komutu verildi ve 355 adet paket sırayla kurulacak. Sıra 287. pakete geldiğinde derleme esnasında bir hata oluştu. Eskiden “–resume” parametresi ile işleme devam etmesi sağlanıyordu fakat bazı durumlarda bu komuttan önce bazı işlemler yapılması gerekiyordu. Bu işlemlerden bazıları da “emerge -e system” komutunun hangi paketten devam etmesi gerektiğini unutmasına ve “–resume” parametresi verildiğinde “Devam edilecek bir şey yok” uyarısının alınmasına sebep oluyordu. Tekrar 286 paketin derlenmesini beklemek de pek kolay olmuyordu.

Hala düzeltmelerini yapıyor olsam da genel anlamda işini yapan yeni sistemde ise paket kurulumları aşamalara ayrılıp adım adım yapılıyor. Mesela sıradaki komut “emerge gnome-media” olsun. Öncelikle yapılması gereken herhangi bir değişiklik olup olmadığı kontrol ediliyor. Diyelim ki ffmpeg paketinin bayraklarında bir sıkıntı var, “X -threads -sse” şeklinde ayarlanmışlar fakat “-X threads sse” şeklinde olmaları gerekiyor. /etc/portage/package.use dosyasında ffmpeg paketi ile ilgili herhangi bir girdi mevcut ise o girdi değiştiriliyor, ilgili herhangi bir girdi mevcut değilse yenisi ekleniyor. Daha sonra bu komut ile kurulacak olan paketlerin bir dosyada listesi oluşturuluyor. Bu listedeki her bir paket “emerge -f –nodeps ${paket}” benzeri bir komut ile indiriliyor. İndirilen her bir paketin ismi yine bir dosyada listeleniyor. Bu indirme aşaması arkaplan görevi olarak gerçekleştiriliyor. Bu sırada önplanda bir emerge komutu hazırda bekliyor. Paket listesinden sıradaki paketin adını alıyor ve indirilmiş paketlerin listesinde olup olmadığını kontrol ediyor. Eğer isim listede yoksa kısa bir süre bekleyip tekrar kontrol ediyor. İsim listeye eklenene kadar bekledikten sonra yine “–nodeps” parametresiyle paketi kuruyor. Eğer bu esnada derleme hatası oluşursa aynı komut ile tekrar deneme yapıyor, buna rağmen sorun çözülmezse /var/tmp/portage/*${paket}* adresini ortadan kaldırıyor, tedbiren lafilefixer komutunu çalıştırıyor ve aynı komut ile tekrar deniyor. Bir kaç deneme sonunda yine sorun çözülmezse paket /etc/portage/package.mask dosyasına eklenerek bir önceki sürümünü kullanmayı deniyor. Bu arada arkaplandaki indirme işlemi gerçekleştirilemezse ping ile internet bağlantısı kontrol ediliyor, eğer bağlantı yoksa bir dosya oluşturularak o dosya ortadan kalkana kadar beklemeye geçiliyor. Önplandaki kurulum işlemi ise paketin indirilmesini beklerken söz konusu dosyanın oluşturulup oluşturulmadığını kontrol ediyor. Eğer dosya mevcut ise internet bağlantısını sağlamak için gerekli işlemler devreye sokuluyor ve bağlantı sağlandıktan sonra dosya siliniyor. Dosyanın silindiğini fark eden arkaplan işlemi de kaldığı yerden indirmeye devam ediyor. (Bu dosya yoluyla haberleşme kısmında değişiklikler yapmayı düşünüyorum.) Sonuç olarak hangi pakette sorun oluştuğunu belirlemek kolaylaşıyor ve yalnızca o paketi tekrar derleme yoluna gidiliyor. Sisteme müdahale etmem ve geliştirmeler yapmam çok daha kolay oluyor.

Bir fikir vermeleri için de şu iki ekran görüntüsü iliştireyim:

Bunların yanında yeni ortaya çıkan ve henüz kaynaklarını bulamadığım bir kaç can sıkıcı problemi düzeltmek için satırlar arasında dolaşıyorum. Bu hafta sonu hepsinin icabına bakmak gibi bir hayalim var.

Posted in GKB, Linux | Tagged , , | 5 Yorum

GKB – Sorunsuz kurulumlar

Not: Unstable GCC ile ilgili olduğunu sandığım derleme hatalarının sadece Gnome kurulumlarında ve speex bağımlılıklarındaki karmaşadan dolayı oluştuğunu fark ettim. Üstünde çalışıyorum. Hata düzeltildi.

32bit – stable —>>> KDE, Gnome, Xfce, LXDE, Fluxbox

32bit – unstable —>>> KDE, Gnome, Xfce, LXDE, Fluxbox

64bit – stable —>>> KDE, Gnome, Xfce, LXDE, Fluxbox

64bit – unstable —>>> KDE, Gnome, Xfce, LXDE, Fluxbox

Baştan sona her detayı elden geçirmek ve tüm hataları tespit etmek için düzenli olarak kurulum alternatiflerini test etmeye başladım. Şu ana kadar sırf KDE ve Xfce için yaklaşık 8 kurulum yapmam gerekti. Her zamanki gibi düşündüğümden fazla zaman alıyor. Bundan dolayı süreç yavaş ilerliyor ama duraklama olmayacak. Her sorunsuz kurulum bu listede yer alacak. İlk sırada ise Gnome var.

Posted in GKB, Linux | Tagged , | Yorum yapın

Kayda değer sanırım

Yine heveslendim, yine kodların arasında bata çıka sorun çözdüm ama ilk kez bu kadar net ve hoş bir sonuç aldım diyebilirim.

GKB‘nin dosya oluşturma/değiştirme yöntemini iyileştirmek için bir süredir farklı bir yöntemi test ediyorum. Bu sabaha kadar bir türlü istediğim noktaya getiremediğim için yakınıyordum fakat dün akşam başlattığım bir kurulumun (KDE-64bit-multimedia-stable) tek kelimeyle kusursuz olduğunu görünce ne kadar sevindiğimi anlatamam :D Bugüne kadar sorunsuz tamamlanan kurulumlarda bile kullanımı engellemese de ufak tefek hatalar olabiliyordu, bunların tamamı ya da büyük bir kısmı ortadan kalkmış olmalı ki pürüzsüz bir masaüstü keyfi ile karşılaştım.

Kurulumlarda beni en çok raahtsız eden hatalardan birisi de USE flag değişimi gerektiği için iptal olan derlemelerdi. Gerekli değişikliği tespit edip package.use dosyasında uygun ekleme ve çıkarmaları yapması için bir fonksiyon yazmıştım. Bu fonksiyon da bir türlü düzgün çalışacak noktaya gelememişti. Dün bu konuya da el attım ve kurulumun ortalarında “media-video/ffmpeg” paketi ile ilgili olarak ortaya çıkan flag hatasının tam da olması gerektiği gibi çözüldüğüne şahit oldum. Hata mesajından değiştirilmesi istenen bayraklar ve ilgili paketin ismi alındı, /etc/portage/package.use dosyasında bu paket ile ilgili bir kayıt olduğu belirlendi. Aynı bayrağın birden fazla kere ve farklı işaretlerle yazılmaması için tüm bayraklar birleştirilerek aynı olanlar elendi ve son hali dosyaya kaydedildi.

Betiğin şu anki halinde yine mutlaka eksikler ve hatalar vardır, tüm alternatifleri her zaman test etme şansım olmayabiliyor. Bu yüzden fırsat buldukça güncelleme ve düzenleme yapmaya çalışıyorum. Fakat her şeye rağmen bu betiğin sizi yorucu detaylardan kurtararak özelleştirmelerinizi daha rahat yapmanız için bir temel sağladığına inanıyorum. İnşallah faydasını görürsünüz.

Unstable kurulumlarda sanırım gcc ile ilgili bir sıkıntıdan dolayı çözümleyemediğim derleme hataları çıkıyor, gidermek için denemeler yapıyorum. Bir de yukarıda bahsettiğim kurulum Virtualbox‘ta 5 saat 20 dakika sürmüş, masaüstü açıldığında bellekte 400-450 MB yer kaplıyor. Sistemin açılışı gayet hızlı, makineyi açtıktan sonra kullanıcı giriş ekranına ulaşması 10-12 sn sürüyor.

Ben bir an önce farklı kurulum seçenekleri ile test etmeye devam edeyim :)

Posted in GKB, Linux | Tagged , , | 3 Yorum

Devam

Sadece tek bir konuyu beklettiğimi düşünürken tahmin ettiğimden daha fazla konuda duraklama moduna geçmişim. Zaman su gibi akmış, tatil bitmiş, göçebe hayattan moton hayata geçiş süreci (okul) başlamış ve daha neler neler olmuş. Silkindim hızlıca, tren beni beklemez. Kalktım oturduğum yerden, yarım kalmış işlerimi aldım elime, derin bir nefes alıp bastım gaza. Arayı kapatmam fazla uzun sürmez zannımca ;)

Posted in Genel | Yorum yapın

Ubuntu 10.10 (Samba) ile dosya paylaşımı

Son zamanlarda işler biraz karıştı, ben olması gerektiği gibi planlı programlı hareket edemedim, bunu fırsat bilen vizeler de araya baharat oldu. Tadı güzel oldu ama ağır geldi, sendeledim bir süre, hala da sendeliyorum. Müsebbibi ben olduğum için bu durumdan dolayı kızıp sakinleşeceğim kimse yok. Çaresiz sus-pus olup bir ucundan başladım kördüğümü çözmeye. Bu yazı da açtığım ufak bir boğum olsun.

Biraz Linux – Windows arası ağ paylaşımı konusundan bahsetmek istedi canım. Kesinlikle acemi olduğum bir mevzu ama şu anda sıkıntısız kullandığım samba paylaşımını nasıl oluşturduğumdan bahsedersem birilerinin işine yarayacağını ümit ediyorum.

Evde dosya paylaşımı için kullandığım bir ufaklık (mini server da diyebiliriz) var. Ben ona DP diyorum. DP‘de monitör, klavye ve mouse yok, yalnızca kasa var. Üstünde 64bit Ubuntu 10.10 kurulu, Windows yüklü bilgisayarlardan TightVNC ile, Pardus yüklü bilgisayarlardan da KRDC ile uzak masaüstü bağlantısı kurarak DP‘yi yönetiyorum. DP‘deki paylaştırılmış klasörlerin her biri için bir erişim listesi var, o liste dışındaki kullanıcılar paylaşılan içeriğe erişemiyorlar. Daha kolay anlaşılması için örnek vermek gerekirse; DP‘de her kardeşim için bir kullanıcı oluşturdum, herkesin erişmesini istediğim bir klasöre de bu kullanıcı isimleri için izin verdim. Yazma izinleri yok sadece okuyabiliyorlar. Onun dışında her kullanıcı için ayrı bir klasör oluşturdum ve kendileri dışında kimse o klasörlere erişemiyor, hem okuma hem de yazma hakları var. Şimdi asıl soruya gelelim, bu senaryo nasıl oluşturuluyor?

Nautilus‘un kendi içindeki paylaşım özelliğini yetersiz ve sıkıntılı bulduğum için ben bütün işlerimi samba aracılığıyla gerçekleştiriyorum ve hiç bir şikayetim yok. Samba kullanımı oldukça basit, özellikle Ubuntu‘da grafik arabirim ile istediğiniz düzenlemeyi yapabiliyorsunuz. Fakat dikkat edilmesi gereken bir husus var, istenen durumu oluşturana kadar paylaşımları bir oluşturup bir kaldırırsanız, sürekli değiştirirseniz, sambanın ayarlarını tuttuğu dosyada bir karmaşa oluşabiliyor ve paylaşımlar ne yaparsanız yapın pasif kalabiliyor. Bu durumda shares-admin (yönetici hakları gerektirir) aracı ile bütün paylaşımları silmenizi, /etc/samba/smb.conf dosyasını varsayılan dosya (/usr/share/samba/smb.conf) ile değiştirip ayarlarınızı tamamen sıfırlamanızı ve en baştan başlamanızı tavsiye ediyorum.

1) Gerekli programları kuruyoruz

sudo apt-get install samba samba-common

sudo apt-get install system-config-samba

2) Paylaşacağımız klasörleri ve gerekiyorsa onlara erişecek kullanıcı hesaplarını oluşturuyoruz

3) Sistem > Yönetim > Samba ile paylaşım düzenleyicisini açıyoruz (yönetici hakları gerektirir).

4) Preferences > Samba Users

Erişim için kullanılacak hesapları (samba kullanıcılarını) buradan oluşturuyoruz.

Kullanıcı Ekle

-Unix Username – oluşturacağımız samba hesabının, paylaşım bilgisayarındaki kullanıcı hesaplarından hangisi ile eşleştirileceğini belirtiyoruz

-Windows Username – erişim esnasında sorulacak kullanıcı adı

-Samba Password – erişim esnasında sorulacak kullanıcı parolası, hemen altındaki boşluğa da doğrulama için aynı parolayı yazıyoruz.

İstediğimiz gibi ayarladıktan sonra Tamam butonuna tıklayıp pencereyi kapatıyoruz.

5) Preferences > Server Settings

Eğer Windows yüklü bilgisayarlardan erişim sağlamak istiyorsak dikkat edilmesi gereken bir nokta var: samba ile Windows yüklü bilgisayarın çalışma grubu isimleri aynı olmalı (deniliyor ^^). Varsayılan olarak Windows‘un çalışma grubu ismi WORKGROUP ve bunu değiştiren kullanıcı sayısının da çok olduğunu sanmıyorum. Bu sebeple samba çalışma grubu ismini ben WORKGROUP olarak bıraktım. Sizler Windows‘taki çalışma grubu ismine göre değiştirmek durumunda kalabilirsiniz.

–Temel sekmesi

Workgroup – çalışma grubu ismi

Description – bilgisayarın ağdaki tanımı

–Güvenlik sekmesi

Authentication Mode – yetkilendirme şekli

-Kullanıcı – erişim sağlamak isteyen her bir samba kullanıcısının, paylaşımın bulunduğu bilgisayarda bir kullanıcı hesabı sahibi olmalarını gerektirir

-Paylaşım – paylaşımın bulunduğu bilgisayarda bir kullanıcı hesabı sahibi olmadan erişime izin verir

Bu listedeki diğer seçenekler konusunda bir fikrim yok malesef.

Encrypt passwords – parolaların şifrelenerek saklanmasını sağlar

Guest account – kullanıcısı bulunmayan kişilerin erişimi için misafir hesabının kullanımını belirler

İstediğimiz gibi ayarladıktan sonra Tamam butonuna tıklayıp pencereyi kapatıyoruz.

6) File > Add Share

–Temel sekmesi

Directory – paylaşmak istediğimiz klasörün yolu

Share Name – paylaşıma erişenlerin göreceği isim

Description - paylaşılan içerik ile ilgili tanıtıcı not

Belirteceğimiz kullanıcıların paylaşılan içerikte değişiklik yapmasına izin vermek istiyorsak Writable (Yazılabilir) seçeneğini aktifleştiriyoruz. Paylaşılan içeriğin görünür olmasını istiyorsak Visible (Görünür) seçeneğini aktifleştiriyoruz (bunu devredışı bırakırsak farklı bir bilgisayardan erişmek istediğimizde paylaşımı görmemiz mümkün olmaz).

–Erişim sekmesi

Only allow access to specific users seçeneği aktif olduğunda, hemen alttaki listeden yanlarındaki kutulara tıklayarak belirteceğimiz kullanıcılar dışında kimse bu paylaşıma erişemiyor. Kullanıcılar da parolaları ile erişim sağlayabiliyorlar.

Allow access to everyone seçeneği aktif olduğunda ise kim olduğuna bakılmadan herkes paylaşıma erişebiliyor.

İstediğimiz gibi ayarladıktan sonra Tamam butonuna tıklayıp pencereyi kapatıyoruz.

Paylaşımlarımızı kontrol etmek için:

smbtree komutunu verip paylaştığımız her klasörün listelendiğinden emin oluyoruz.

Normal şartlar altında bu işlemlerden sonra sorun çıkmadan paylaşım yapmanız mümkün olmalı. Eğer hala problem yaşıyorsanız:

sudo gedit /etc/samba/smb.conf

komutu ile ayarları kurcalayabilirsiniz. Paylaşımlarınız dosyanın en altında listelenir. Örneğin bir paylaşım şuna benzer olmalı;

[deneme]

comment = Deneme Paylaşımı

path = /paylaşımın/yolu

valid users = mercimek, root

writable = yes

browsable = yes

available = yes

Bu parametrelerden istediğinizden farklı olan varsa düzeltebilirsiniz. Ayrıca smbtree komutu parola şifrelemesi etkin değilken hata verebiliyor, bu durumda etkinleştirip tekrar deneyin.

Uzakmasaüstü mevzusu ise hiç bir ayarlama gerektirmiyor çünkü Ubuntu varsayılan olarak arkaplanda bir sunucu çalıştırıyor.

Üstünkörü bir anlatımla samba kullanımı bu şekilde oluyor. Eğer daha detaylı bilgilere ihtiyaç duyarsanız biraz araştırmanız gerekecek. İyi paylaşımlar ;)

Not: Ben bu şekilde Windows VistaWindows 7Ubuntu 10.10Pardus 2009.2 arası dosya paylaşımı yapabiliyorum.

Posted in Eğitici, Linux | Tagged , , | Yorum yapın

Firefox’ta video takılması

Bu konuya etki eden pek çok ince detay olduğunun farkındayım ama bu akşam edindiğim bir deneyimi sıcağı sıcağına anlatayım. Kardeşim dizüstü bilgisayarında küçük boyutlu, çözünürlüğü düşük yani işlemciye vs yüklenme gibi bir durumu olmayan bir video izlerken gördüm. 3-4 saniyelik aralıklarla video takılıyordu. Müdahale etmeden duramadım tabi. Öncelikle adres çubuğuna about:config yazıp açılan sayfada browser.sessionstore.interval değerini 60000 (1 dk) yaptım. Daha sonra “veritabanı parçalanmasından dolayı genel bir yavaşlama olabilir” diye düşünüp PlacesCleaner eklentisini kurdum. Automatic Clean seçeneğini 2 gün olarak ayarlayıp aktifleştirdim. Only vacuum, don’t clean useless history entries seçeneğini devredışı bırakıp hemen altındaki süreyi 2 gün yaptım. Firefox‘un Araçlar menüsünden PlacesCleaner –> Clean Places now! yoluyla temizlik işlemini gerçekleştirdim. Tarayıcı geçmişini de temizledikten sonra Firefox‘u kapatıp tekrar açtım. Sonradan öğrendiğime göre bu sorun her boyut ve kalitedeki videoda oluyormuş. İşlemlerden sonra eskiden takılan tüm videoları akıcı ve sorunsuz olarak izleyebildik. Benzer durumlarda alternatif çözüm olarak denemenizi öneririm.

Posted in Genel | Tagged | Yorum yapın

Sıradaki…

Bu akşam durduk yere GKB‘yi noktalamam gerektiği hissine kapıldım. Normalde ekran kartını, çözünürlüğü, yenileme hızlarını tanıyıp en uygun xorg.conf dosyasını oluşturan bir kod yığını ekleme gayreti içindeydim. Fakat özellikle kendi bilgisayarımda yaptığım son kurulumda fark ettim ki bu ayarlamaları her kartta, her modelde düzgün çalışabilecek hale getirmek pek de kolay bir iş değil. Sonradan düzenlenmesi zor olmadığı için çok da elzem bir nokta değil benim gözümde. Bundan hareketle bu anlamdaki özelleştirme çabalarımı içeren satırları GKB‘den çıkardım. Artık varsayılan olarak vesa sürücüsü kullanılıyor. Zaten bunun dışındaki adımlar gayet sorunsuz tamamlanıyor. Gentoo kurmaya niyetlenen bir kişinin de kurulum bitiminde 1-2 dosyayı kurcalayıp ekran ayarlarını halletmeye üşeneceğini sanmıyorum :)

Sözün özü; tamamladığıma kanaat getirdiğim için şu andan itibaren GKB‘yi geliştirmeyi bırakıyorum. Aslında uzun süre önce betik asıl amacına ulaştığı halde “şu da olsun, bu daha güzel olabilir, onu değiştirmeden olmaz” vb fikirlerin güdüsüyle sürekli parça pinçik edilmiş haldeydi. Toparladım, düzenledim, ayıkladım, geliştirdim ve sonunda kullanıma hazır hale geldi. Buyrun güle güle kullanın.

Not: Şu anda bilgisayarımda GKB kullanarak yüklediğim Gnome masaüstü ortamına sahip sevimli bir Gentoo Linux var. Tüm kurulum 4 saat 55 dakikada tamamlandı. Baştan sonra kadar tek bir hata bile oluşmadığını belirtmek istiyorum ^^ Sonrasında sanal makinede konsol tabanlı bir kurulum yaptım. O da 1 saat 50 dakika sürdü. Deneme sırası sizde :)

Posted in Linux | Tagged , , | Yorum yapın

GKB’nin içi pişiyor

Hala sanal makinedeki testlerini bitiremediğim GKB‘nin iç işleyişlerini düzenlemekle meşgulüm bu aralar. Yaptığım değişikliklerin kolları çok fazla noktaya temas ettiği için de iyice kullanıp hataları gidermek (her zamanki gibi) uzun sürüyor. En çok üstünde durduğum konu taşınabilir medyaların otomatik bağlanmasıydı ve görünüşe göre sıkıntısı kalmadı. Aynı zamanda gereksiz bağımlılıklardan kurtulmak ve derleme hatalarının önüne geçmek için hem genel hem de paketlere özel USE bayraklarını yavaş yavaş elden geçiriyorum. Profil ile ilgili ekleme ve çıkarmalar da mevcut. Şimdilik süreç güzel işliyor, bakalım devamı nasıl gelecek.

Posted in Linux | Tagged , , | Yorum yapın