Ubuntu Çevirilerine Yön Verin

Ubuntu çevirilerine yön vermek ister misiniz? Eksik gördüğünüz çeviriler mi var? O hâlde çeviri yapan arkadaşlarımızın sesine kulak verip destek olabilirsiniz.

Tek yapmanız gereken forumdaki başlığa uğramanız:
https://forum.ubuntu-tr.net/index.php?topic=43832.0~

Merhaba,

Ubuntu Türkiye Çeviri Tayfası olarak tüm kullanıcılarımıza bir çağrımız var. Şimdiye değin bu çalışmaya birçok kişi emek verdi ve çevrilen diller arasındaki hatırı sayılır yerimizi tüm katkı yapan arkadaşlara borçluyuz. Öncelikle buradan tekrar teşekkür etmek isteriz.

Çevirilerde son iki yılda aslında durağan bir sürece girdik, netice olarak çoğumuzun esas işi çevirmenlik değil ve bu da bazı noktalarda tıkanmalara yol açıyor. Ubuntu ile gelen paketlere her zaman öncelik verdik, buna rağmen eksiklik olan paketler vardır muhakkak. İşte bu noktada kullanıcılarımızın fikirlerini almak istiyoruz.

* Ubuntu yerelindeki paketlerden çevirisinin öncelikli yapılmasını istediğiniz paketler nelerdir?
* Ubuntu yerelinde gelmeyen ancak sıklıkla kullandığınız uygulamalar nelerdir?

Bu sorulara yanıt vererek, çevirilerde öncelik sıralaması yapmamıza yardımcı olmanızı bekliyoruz. Adı geçen paketler için daha sonrasında bir anket düzenlenecek ve eğilime göre sıralamaya karar verilecektir.

NOT: Öncelikli çeviri yapma ortamımız Launchpad’dir. Tabii onun dışındaki Transifex vb. ortamları da değerlendirmeye alabiliriz.

İnternet Cafe Tanıtımları: Kleopatra Cafe

Merhaba, değerli okurlarım.Temel konumuz Linux/UNIX olsa da böyleri tanıtmam gerek.
Bugün memleketim Bandırmadayım. Burada Kleopatra Cafeyi gördüm. İncelemek için yarım saat süre aldım.Personel gayet ilgili davranıyor.Burası çocukların mesken yeri.yazılımsal ayrıntılarını aşağıda veriyorum.

1- 21 adet PC
2-Akınsoft Cafe Plus ve Windows XP (Linux olsa daha uygun olurdu ama neyse)

Yolunuz düşerse uğrayınız.

Meizu Ubuntu’lu telefonu MX3′ü tanıtacak

Meizu-MX3-Ubuntu-Mobile-Asia-Expo-2014

 

Canonical’in Ubuntu’lu cep telefonlarının üretimi için  Bq(İspanya) ve Meizu(Çin) ile anlaştıgını burada söylemiştim.Bunlardan  Meizu , Shangai’de yapılacak olan Asya Expo Mobil 2014 kongresinde ilk Ubuntu’lu telefonu Meizu MX3′ü tanıtacak.Bu cihazın daha önceden üretilen Android’li versiyonu 5.1-inch ekran ve   8-core ARM Cortex 15 işlemci ve 2GB of RAM’e sahip.

11-13 Haziran’da düzenlenecek olan etkinlikte Ubuntu’nun yeni özelliklerininde tanıtılacagı söyleniyor.

 

The post Meizu Ubuntu’lu telefonu MX3′ü tanıtacak appeared first on Volkan Ozdamar.

flattr this!

Sürdürülebilir bir Python Modülü Geliştirmek ve Paylaşmak

Bu yazıda açık bir Python modülünü geliştirirken, modülü sürekli olarak değişen Python sürümleri ile ve bizim sonraki geliştirmelerimizle düzenli çalışır halde tutabilmek, kullanacak insanların da erişip kendi projesine ekleyebilmesini kolaylaştırmak için kullandığım servisleri anlatacağım.

Bir hobi projem için .torrent dosyalarını okumaya çalışırken, bencode encoding’ini okuyup yazabilmem gerekti. Ancak bunun için geliştiriliyor olan, Python 2 ve 3 uyumlu bir bencode kütüphanesi olmadığını gördüm, bunun üzerine kendim geliştirdim. Bari yazdığım kod parçası başkalarının da işine yarasın diye PyPI’ye göndermeye karar verdim, uğraşımdan da bu yazı çıktı.

Öncelikle bencode‘un ne demek olduğunu açıklayayım. Bencode, tamsayı, string, dizi ve map tiplerini basit bir şekilde ifade eden bir encoding. Örneğin 42 sayısı, i42e; "utku" stringi, 4:utku; ["utku", 42] dizisi l4:utkui42ee; {"utku": 42, "foo": "bar"} sözlüğü d4:utkui42e3:foo4:bare şeklinde ifade ediliyor. Sözlük ve listeler birbirlerini içerebiliyor. Daha fazla bilgiyi Bittorrent Specification sayfasından öğrenebilirsiniz. Sizin de görebileceğiniz gibi, basit bir algoritmayla çözülebilir bir problem, bu yüzden yazının odağı ortam ve paylaşım tarafı olacak.

Yazıda hiç bir konuyu açıklayarak anlatmayacağım, sadece kullanılması gerekenleri ve neden kullanılması gerektiğini düşündüğümü açıklayıp birer örnek vereceğim, fikir vermek amacım.

Versiyon Kontrolü (Git & GitHub)

Bir versiyon kontrol sistemi kullanın. Topluca geliştirilen projelerde bir olmazsa olmaz sürüm kontrol sistemi, kişisel geliştirilen projelerde de büyük avantajları var. Bunun için GitHub’u önermemin sebebi, en büyük ortam olması, Git’i önermemin tek sebebi ise GitHub’da kullanılması.

Hani internetten bir proje seçerken GitHub ile geliştiriliyor olması benim için büyük bir artı oluyor. Geliştirmesini doğrudan takip edebileceğim, tek tıkla çatallayıp istediğim güncellemeyi yapabileceğim ve yine tek tıkla upstream’e gönderebileceğim anlamına geliyor.

Üstelik özgür yazılım geliştiren bir kişinin en önemli göstergelerinden biri artık GitHub profili. Buna karşı “Hani RMS’in GitHub’ı?” diye gelmeyin.

Bizim spesifik amacımıza katkıları ise, projemizin kodlarının ve açıklamasının bulunduğu bir sayfa sunması ve TravisCI entegrasyonu sayesinde projemizin testlerinin otomatize edilmesi olacak.

virtualenv

Sistemden izole Python ortamları yaratmayı sağlıyor virtualenv. Ruby’e aşina olanlar rbenv‘e eşdeğer olarak görebilirler.

virtualenv sayesinde modülümüzün varsa bağımlılıklarını sisteme karışmadan kurup güncelleyebiliriz. Kullanımı da basit:

virtualenv env

komutuyla bulunduğumuz dizinin içinde env dizini altına bir sanal Python ortamı yaratılır.

source env/bin/activate

komutuyla bu ortama girip

deactivate

komutuyla bu ortamdan çıkabiliriz. Bu son iki komut arasında verdiğimiz bütün Python komutları, bu ortam üzerinde, sistem kütüphanelerimizi etkilemeden çalışacaktır.

Testler

İyi bir geliştirici olup yazdığımız modülü bütün Python sürümlerinde çalışır yazmamız gerekiyor. E dolayısıyla kodumuzun herhangi bir Python sürümünde çalışır olduğunu kanıtlamamız gerekiyor ki, sonra bu kontrolü otomatize edebilelim. Bunun da yolu testler.

Python’un kendi içinde unittest modülü ve doctest modülü var, bunlardan doctest benim hoşuma gidiyor, kodla paralel olması, aynı zamanda dökümantasyonu oluşturması hoşuma gidiyor.

doctest modülünü kullanırken; fonksiyonun veya modülün docstring’inde, Python REPL’i şeklinde girdileri ve çıktıları yazıyoruz, doctest modülü de bu denemeleri asıl fonksiyon/modül üzerinde çalıştırarak raporluyor.

Örneğin

def encode(obj):
    """
    bencodes given object. Given object should be a int,
    bytes, list or dict.

    >>> [encode(i) for i in (-2, 42, b"answer", b"")] \
            == [b'i-2e', b'i42e', b'6:answer', b'0:']
    True
    >>> encode([b'a', 42, [13, 14]]) == b'l1:ai42eli13ei14eee'
    True
    >>> encode({b'bar': b'spam', b'foo': 42, b'mess': [1, b'c']}) \
            == b'd3:bar4:spam3:fooi42e4:messli1e1:cee'
    True
    """

    if isinstance(obj, int):
        return b"i" + str(obj).encode() + b"e"
    elif isinstance(obj, bytes):
        ....

Benim modülümden bir parça. Ancak farkettiğiniz gibi, testler biraz garip yazılmış gördüğünüz gibi; girdiyi verip çıktıyı aşağı yazmak yerine, girdi ile istenen çıktıyı karşılaştırıp True istedim. Bunun iki nedeni var:

  1. Python’da sözlükler sırasız. Yani ben bir fonksiyonun çıktısını bir sözlükle
    karşılaştıracaksam, bunu sürüm bağımsız şekilde yapamıyorum. Bir sürümde {"foo": 1, "bar": 2} şeklinde yazdırılan sözlüğün, başka bir sürümde {"bar": 2, "foo": 1} olmayacağının garantisi yok. Bu yüzden de doctest’in düz string kontrolü işe yaramıyor. == kullanarak dict.__eq__ metodu ile eşitlik sınıyoruz Python tarafında.

  2. Python 3′te string literal önündeki b prefixi, bir bytes objesi tanımlıyor. Python 2′de ise yine bir str. Dolayısıyla, benim normalde bytestring döndüren fonksiyonlarım Python 3′de b"utku" şeklinde yazılıyor olmasına rağmen, Python 3′te "utku" şeklinde yazdırılıyor. doctest modülü de her koşulda yazılı hallerini karşılaştırdığı için, bunların aynı olduğunu anlayamıyor.

Gördüğünüz gibi bu iki sorun da bizim spesifik problemimiz ve doctest‘in test sonuçlarını doğrudan string olarak kontrol etmesi kaynaklı, normalde bu kadar da sık karşılaşılan sorunlar değil, doctest iyidir.

Şimdi de testlerimizi çalıştıralım, bunun da bir kaç yolu var.

Python komut satırından doctest modülüne doğrudan parametre verebiliriz:

$ python -m doctest script.py

Kodumuzun içinde doctest.testmod fonksiyonunu çalıştırabiliriz bir şekilde;

if __name__ == "__main__":
    import doctest
    doctest.testmod()

Veya nose gibi testleri çalıştırmamızı kolaylaştıran harici yazılımlar kullanabiliriz.

doctest modülünü elle çalıştırırken daha fazla bilgi görmek için(sadece hata verenler yerine çalıştırılmış testlerin tamamı gibi), komut satırından --verbose veya Python’dan doctest.testmod fonksiyonuna verbose=True geçebiliriz.

Travis CI

2013 Linux Yaz Kampı’nda katıldığım Ruby eğitimimde öğrenmiştim Travis CI‘yi, ne güzeldir ki Python’u da destekliyor.

Travis CI, bir continuous integration(CI) servisi. Sürekli tümleştirme olarak Türkçe’ye çevrilmiş bildiğim kadarıyla. Servis open-source projeler için ücretsiz.

GitHub aslında sürekli tümleştirme işini yapan, Travis CI’nin yaptığı ise GitHub deposunu takip edip, her aşamada testleri çalıştırıp, herhangi bir anda branch’lerde veya gelen pull-request’lerde bu testlerin geçip geçmediğini test etmek.

Biz de bu servisi kodumuzun her an farklı Python sürümlerinde çalışır olup olmadığını doğrulamak için kullanacağız. Bunun için kodumuzun GitHub üzerinde gizli olmayan bir depo olması, ve kodumuzu nasıl ve hangi sistemlerde test edeceğini belirten bir .travis.yml dosyasının depomuzda bulunması gerekiyor. Ardından Travis CI’nın sayfasında bir üyelik açıp depomuzu aktif edersek, takip eden ilk commitimizle beraber Travis CI testlerimizi çalıştırıp geçip geçmediğini haber edecektir.

Oluşturmamız gereken .travis.yml dosyası benim modülüm için şu şekilde:

language: python
python:
  - "2.7"
  - "3.2"
  - "3.3"
  - "3.4"
  - "pypy"
script: nosetests --with-doctest

Gördüğünüz gibi, basitçe hangi dili kullandığımızı, desteklediğimiz Python ortamları/sürümlerini, ve de testlerimizin nasıl çalıştırılacağını söylüyoruz.

Bu sayede aşağıdaki gibi ekran elde edebiliyoruz, üstelik README.md’mizde kullanabileceğimiz güzel bir “build passing” imajı veriyor.

distutils

Yine Python’ın standart kütüphanelerindeki distutils modülü, modülümüzün sisteme kurulması için gerekli bilgileri içeriyor.

Genel convention olarak setup.py isimli yaklaşık aşağıdaki içeriklerde bir dosya kullanıyor bunu. Şu an modülümüz tek bir Python dosyası olduğu için bu dosya gayet basit, ancak ileride C extension’ları, paketler girdiğinde bir miktar daha karmaşıklaşıyor.

from distutils.core import setup

setup(name='bencoder',
      version='0.1.0',
      description='A simple bencode decoder/encoder library in pure Python.',
      url='https://github.com/utdemir/bencoder',
      author='Utku Demir',
      author_email='utdemir@gmail.com',
      py_modules=['bencoder'],
      classifiers=[
          'Environment :: Other Environment',
          'Intended Audience :: Developers',
          'License :: OSI Approved :: GNU General Public License (GPL)',
          'Operating System :: OS Independent',
          'Programming Language :: Python :: 2',
          'Programming Language :: Python :: 3',
          'Topic :: Software Development :: Libraries :: Python Modules'
          ],
      )

Artık;

python setup.py install

Gibi bir komutla modülü sistem genelimize(veya virtualenv içine) kurabiliriz. Bununla beraber sdist, bdist gibi modülümüzü farklı şekillerde paketleme imkanı da veriyor distutils.

PyPI

Ve de yazının asıl amacına şu an geldi; modülümüzü Python Package Index’e kaydetmek, yani pip install ile kolayca kurulabilir hale getirmek.

Bunun için aslında yapmamız gereken her şeyi yaptık, distutils kullanacak şekilde projemiz ayarlandığında. Artık tek yapmamız gereken;

python setup.py register

komutuyla Pip’e paketimizle beraber kayıt olabilir veya varsa eskiden açmış olduğumuz hesabımızı kullanabiliriz.

Üstteki komutla paketimizi PyPI’a tanıtmış oluyoruz, ancak buna rağmen hala modülümüzü yüklemedik, modülümüzün kodlarını ve yükleme bilgilerini de yüklemek için

python setup.py sdist upload

komutunu veriyoruz.

Artık her şey hazır. İsteyen herhangi biri

pip install bencoder

komutuyla tek hamlede sistemine modülümüzü kurabilir.

Sonuçlar

Modül(+ .travis.yml + setup.py): https://www.github.com/utdemir/bencoder

Travis CI: https://travis-ci.org/utdemir/bencoder

PyPI: https://pypi.python.org/pypi/bencoder

Temel Linux Komutları

Temel Linux komutları

  • pwd Bulunduğunuz dizinin ismini verir.
  • hostname Makinanın konak ismini verir.
  • whoami - Sisteme giriş yaparken yazdığınız kullanıcı isminizi verir.
  • id [kullanıcı_ismi] - Kullanıcının kullanıcı kimliği, birincil grup kimliği ve üyesi olduğu grupları gösterir.
  • date - Sistem tarihi göstermek ya da değiştirmek için kullanılır.Tarihin yerele özgü gösterimle basılmasını isterseniz date +%c yazın. Örneğin “tr_TR” yereli için sadece date komutu Prş Eki 23 21:31:06 EEST 2003 basarken date +%c komutu Prş 23 Eki 2003 21:31:19 EEST basar.date 102321322003 komutu sistem tarihini Prş Eki 23 21:32:00EEST 2003 yapar.Donanım saatini değiştirmek için setclock komutunu kullanmanız gerekir.
  • time Belli bir komutun işlemini bitirmesinin ne kadar süre tuttuğunu gösterir. Örneğin, bir dizinin listelenme süresini time ls ile öğrenebilirsiniz.
  • who - O an sistemde bulunan kullanıcıların kullanıcı isimlerini, hangi uçbirimlerde çalıştıklarını ve sisteme giriş tarih ve saatlerini gösterir.
  • finger [kullanıcı_ismi] – Belli bir kullanıcı hakkındaki bilgi verir.
  • last Sisteme en son giriş yapmış kullanıcıların bugünden geriye doğru listesi.
  • history | more Kabuğa son girdiğiniz komutların listesi. | more sayesinde sayfa sayfa okuyabilirsiniz.
  • uptime - Makinanın ne kadar süredir açık olduğu bilgisini verir.
  • ps Kullanıcının kullandığı uçbirimde çalıştırmakta olduğu komutların ve süreçlerin listesi.
  • ps -ax | more Sistemin açılışından beri çalışmakta olan bütün süreçlerin listesi.
  • top - Temel sistem durumu, çalışmakta olan süreçler ne kadar bellek/işlemci kullandıkları vs.
  • uname -a Sistem hakkında çekirdek sürümünü, işlemci türü gibi bilgiler.
  • free Bellek kullanımını gösterir.
  • df -h Bağlı sabit disk bölümlerinin doluluk oranlarını gösterir.
  • du -sk [dizin] Belirtilen dizin in (belirtilmezse bulunduğunuz dizinin) içeriğinin diskte kapladığı alanın kB cinsinden boyutunu verir.
  • cat /proc/interrupts Çekirdek tarafından tanımlanmış sistem kesmelerinin listesi.
  • cat /proc/version Linux çekirdeğinin sürüm bilgileri.
  • cat /proc/filesystems Çekirdekte tanımlı kullanılabilecek dosya sistemlerinin listesi.
  • cat /etc/printcap Yazıcıların düzeni.
  • lsmod Yüklü çekirdek modüllerinin listesi.
  • set, declare, export Üçü de kabukta tanımlı ortam değişkenlerinin listesini verir. Tümünü (miras alınanlar dahil) sadece declare verir.
  • echo $PATH – PATH ortam değişkeninin değerini gösterir. PATH, kullanıcı tarafından çalıştırılabilecek yazılımların aranacakları yerleri kabuğa bildirmek için kullanılır.
  • dmesg | more - Sistem açılışından itibaren çekirdek tarafından üretilen iletiler. Bu iletiler /proc/kmsg dosyasında bulunur ve dmesg komutu sadece tampondaki son iletileri gösterir.</pre>

Genel amaçlı komutlar

  • help Kabuk komutlarının listesini gösterir. Bu komutların herbiri için help komut_ismi komutu ile yardım alabilirsiniz.
  • komut_ismi –help Söz konusu komut ile ilgili yardım iletisi basar (varsa).
  • man başlık Sistemdeki kılavuz (man) dosyaları. Bir komut hakkında olabildiği gibi bir dosya ya da bir işlev hakkında da olabilir.
  • apropos başlık söz konusu başlıkla ilgisi olan komutların listesi.
  • ls O an bulunulan dizinin içeriğini listeler.
  • ls -al | more O an bulunulan dizindeki bütün dosyaları gösterir (. ile başlayan gizli dosyaları da) Komut burada more komutuna yönlendirilmiştir, bu sayede çıktının bir ekrandanfazla olması durumunda bir ekranlık çıktıdan sonra devamını göstermek için bir tuşa basmanız gerekir.
  • cd dizin dizin dizinine geçilir; dizin verilmezse ev dizinine geçilir.
  • cp kaynak hedef Bir yerdeki dosya ya da dizinleri başka bir yere kopyalamak içindir. Unix’lerde genelde bu tür komutlarda her zaman kaynak önce hedef sonra yazılır.
  • mcopy kaynak hedef DOS’tan Unix’e ya da tersine (disketi bağlamanız şart değil) bir dosyayı başka bir yere kopyalar.Aynı mantıkta çalışan mdir,mcd,mren,mmove,mdel,mmd,mrd,mformat gibi komutlar da vardır.
  • ln hedef [isim] Sözkonusu hedef e sabit bağ oluşturur. Sözkonusu dosyalar iki yerde de var gibi gözükür, herhangibir değişiklik diğerini de etkiler,biri silindiğinde diğeri kalır. Sabit bağların kısıtlamaları, bağ dosyası ile asıl dosyanın aynı dosya sistemi içinde olması gerekliliği ve
  • dizinlerle özel dosyalara sabit bağ verilememesidir.
  • ln -s hedef [isim] hedef ‘e bir sembolik bağ dosyası (isim verilmezse hedef ile aynı isimde) oluşturur.
  • Sembolik bağda hedef ‘in nerede bulunacağının bilgisi vardır. Sembolik bağlar dizinler için de kullanılabilir. Tek sorunu hedef silindiğinde bağ bozulmuş olur.
  • rm dosya … Verilen dosya ları siler. Sileceğiniz dosyanın sahibi olmanız gerekir.
  • mkdir]] dizin dizin dizinini oluşturur.
  • rmdir]] dizin … Belirtilen dizin ‘ler boşsa silinir.
  • rm -r dosya … Dosya ve dizinleri ve dizinlerin içindeki dizinleri ardarda siler. Root olarak kullanırken dikkat edin, çünkü herşeyi silebilirsiniz!.
  • cat dosya | more Bir dosyayı sayfa sayfa görüntülemek için kullanılır.
  • less dosya Önceki komuta eşdeğerdir, biraz daha fazla özellikleri vardır
  • vim]] dosya Bir metin dosyasını düzenlemek için kullanılır. Aynı türden nano, joe, mcedit gibi metin
  • düzenleyicileri de kullanabilirsiniz, ancak vim ile UTF-8 kodlu metinleri de düzenleyebilirsiniz. Diğerleri bunu yapamaz.
  • find]] / -name “dosya” dosya adlı dosyayı en üst dizinden itibaren aramaya başlar. Dosya ismi,ve&nbsp gibi arama karakterleri de içerebilir.Örneğin benim sistemimde “fazlames” dizgesi ile fazlamesai.net.txt ve fazlamesai.org.txt dosyaları bulunuyor.
  • locate]] dosyaismi find gibidir, fakat düzenli olarak oluşturulan bir veritabanına bağlıdır,
  • sistemdeki son değişikliklerden haberi olmayabilir.
  • touch deneme.txt ‘deneme’ isimli dosyanın oluşturulma ve düzenleme tarih bilgilerini şu anki tarihe değiştirir. Eğer böyle bir dosya yoksa sıfır bayt uzunluğunda deneme.txt isimli dosya oluşturur.
  • xinit Pencere yöneticisi olmayan bir X oturumu açar.
  • startx Pencere yöneticili bir X oturumu açar. DOS’daki win komutu gibidir.
  • startx –:1 1 numaralı ekranda X oturumu açar, ilk ekran 0 dır ve komut için öntanımlıdır. Ekranlar arasında <Ctrl><Alt><F7-F8 …> ile geçiş yapabilirsiniz.
  • xterm Basit bir X uçbirimi açar. Daha hafif sürümleri (rxvt, aterm, eterm gibi) bulunur ve tercih edilir.
  • shutdown -h now Sistemi durdurur. ATX sistemlerde ayrıca makinayı kapatır.
  • halt shutdown -h now ile aynıdır. Sistemi durdurur.
  • reboot shutdown -r now ile aynıdır. Sistemi yeniden başlatır.

Dosya sıkıştırma ve açma komutları

  • gzip -9 dosya Belirtilen dosya yı en iyi şekilde sıkıştırır ve dosya.gz haline getirir.
  • bzip2 dosya Belirtilen dosya yı en iyi şekilde sıkıştırır ve dosya.bz2 haline getirir. Çoğunlukla gzip’den daha iyi sıkıştırır.
  • gunzip dosya.gz gzip ile sıkıştırılmış dosya.gz dosyasını dosya olarak açar.
  • bunzip2 dosya.bz2 bzip2 ile sıkıştırılmış dosya.bz2 dosyasını dosya olarak açar.
  • tar -xvf arsiv.tar İsmi arsiv.tar gibi belirtilen (sıkıştırılmamış) arşiv dosyasını bulunulan dizine açar.
  • tar -zxvf arsiv.tar.gz İsmi arsiv.tar.gz gibi belirtilen sıkıştırılmış arşiv dosyasını bulunulan dizine açar. Dosya uzantısı .tar.gz
  • olan dosyalardan başka .tgz olan dosyaları da açar.
  • tar -zxvf arsiv.tar.gz -C dizin Sıkıştırılmış arşiv dosyasını belirtilen dizine açar.
  • tar -jxvf arsiv.tar.bz2 -C dizin Bzip2 ile sıkıştırılmış arşiv dosyasını belirtilen dizin e açar. (Eski sürümlerde -Ixvf kullanılırdı.)
  • tar -zcvf arsiv.tar.gz dizin1 dizin2 … dosya1 dosya2 … Belirtilen dizin ve/veya dosya ları arsiv.tar dosyası haline getirir ve ardından gzip ile sıkıştırıp arsiv.tar.gz haline getirir.
  • unzip arsiv.zip -d dizin arsiv.zip zip arşivini belirtilen dizin e açar.
  • unarj e arsiv.arj arsiv.arj arj arşivini açar.
  • uudecode -o hedef kaynak uuencode ile kodlanmış (genelde eposta ekleri) dosyayı açar.

A’dan Z’ye

A
  • a2ps: ASCII dosyalarini Postscript formatina cevir
  • acroread: AcrobatReader pdf-dosyalarini görebilmek icin gerekli olan program
  • alias: Komuta baska bir isim ver
  • apropos: Belli bir kelimeyi man sayfalarinda ara
  • ar: Arsiv olusturmak olusturulmus bir arsivi calismak ya da acmak icin
  • arch: Processor’un yapisi hakkinda bilgi ver
  • arp: Host ve IP numarasini göster. (arp = adress resolution protocol)
  • at ( komutu ya da komutlari daha sonraki bir zamanda çalıştırır)
B
  • Basename Komutu Kullanımı|basename: Bir dosyanin gercek ismini ver (Üst dizinleri göstermeden)
  • bash: Bourne Again Shell -> Linux’un standart shell’i
  • batch: Komutu ya da komutlari daha sonra ki bir zamanda calistir(bknz. at)
  • bg: Bir programi Ön planda calistir
  • break: Bir blogu belli bir kosuldan terk et (bknz. continue)
  • bunzip2: (bknz. bzip2)
  • bzip2: Bir arsivleme programi
C
  • cal: Aktuel takvimi göster
  • calender:Bir randevu hatirlatma programi
  • case: Coklu seceneklere ayirma komutu
  • cat: Dosyayi monitöre ver
  • cc: C derleyicisi (C-compiler)
  • cd: Dizin degistir
  • cdrecord:CD kopyalama tool’u
  • chfn: finger bilgilerinde degisiklik yap
  • chgrp: Grup degistir
  • chmod: Bir dosyanin haklarini degistir
  • chown: Bir dosyanin sahiplerini degistir
  • chroot: Bir komutu Özel bir root dizininde calistir
  • chsh: Standart shell i degistir
  • clear: Monitörü temizle
  • continue: Bir bloku belli bir kosuldan sonra terk etme ve kaldigin yerden devam et.
  • cmp: İki dosyayi karsilastir (bknz. comm diff)
  • comm: Iki dosyayi satir satir karsilastir (bknz. cmp diff)
  • cp: Dosyayi kopyala
  • csh: C-Shell -> Yapisi biraz C diline benzeyen bir shell programi
  • csplit: Bir dosyayi parcalara ayir
  • cut: Bir dosyadan belli sütunlari kes
D
  • date: Aktuel zamani göster
  • deluser: Kullanici sil
  • delgroup: Grup sil
  • df: Bellekte ne kadar bos yer oldugunu göster
  • diff: Iki dosya arasindaki farklari göster (bknz. cmp comm)
  • do: Belli bir kosuldan sonra bir komutu ya da komut blogunu calistir
  • done: do blogunun bitimi (bknz. do)
  • du: Bir dosyanin ya da dizinin bellekte ne kadar yer kapladigini göster
E
  • echo: Harf dizisini monitöre yaz
  • ed: Bir editör programi
  • egrep: Bir dosyanin icinde belli bir harf dizisini ara(bknz. fgrep. grep)
  • eject: Medium’u disari ver mesela CDROM
  • emacs: Bir editör programi
  • elif: if kosulunun saglanmadigi zaman devreye sokulan baska bir if kosulu
  • else: if kosullarinin saglanmadigi zaman devreye sokulan baska komutu
  • env: Bütün sistem degiskenlerini göster
  • esac: case seceneklerinin bitimi (bknz. case)
  • exec: Komutu calistir
  • exit: Shell’den cikma komutu
  • export: Sistem degiskeninin tanimlanmasi
  • expr: Matematik ifadesini hesapla
F
  • false: Boolean tipinde “yanlis” degeri
  • fdformat: Disket formatla
  • fdisk: Bellegi bölme programi
  • fg: Programi ön plana al
  • fgrep: (bknz. egrep grep)
  • fi: if kosulunun sonu (bknz. if)
  • file: dosya hakkinda bilgi ver
  • find: Belli bir dosyayi dizinlerde ara
  • finger: Sisteme kayitli olan kullanciliari göster ya da kullanici hakkinda bilgi ver
  • for: Belli komutlari belli bir kosula kadar döngü seklinde calistir
  • ftp: Dosya transfer programi (ftp = file transfer protocol)
  • fvwm: Linux icin yapilmis bir masaüstü programi (bknz. fvwm2 gnome kde …)
  • fvwm2: (bknz. fvwm)
G
  • g++: C++ derleyicisi (C++ compiler)
  • gcc: GNU C derleyicisi
  • GNOME|gnome: (bknz. fvwm)
  • Grep Komutu Kullanımı|grep: (bknz. egrep, fgrep)
  • groupad: Yeni bir grup olustur
  • groupdel: Grup sil
  • groupmod: Grup üzerinde degisiklikler yap
  • groups: Kullanicinin bagli oldugu gruplari göster
  • grub: Bir cesit Linux Bootloader (bknz. lilo)
  • gunzip: (bknz. gzip)
  • gvim: vi editörünün GUI (graphical user interface: grafiksel kullanıcı arayüzü) versiyonu
  • gzip: Bir arsivleme programi
H
  • halt: Sistemi durdur
  • head: Bir dosyanin ilk satirlarini göster (standart 10 satir) (bknz. tail)
  • help: Shell komutlarini göster
  • history: Kullanicini o zamana kadar kullandigi komutlari göster
  • host: Bir bilgisayarin adini sor
  • hostid: sistemin host kimligini göster
  • hostname: sistemin host adini göster
  • httpd: Apache server’i baslat
  • httpd2: Apache 2 server’i baslat
İ
  • id: Kullanicini kullanici kodunu bagli oldugu gruplarin kodunu göster
  • if: eger” kontrolu
  • ifconfig: Ağ kartını ayarla
  • init 0: Sistemi kapat ( bknz. halt shutdown poweroff)
  • init 1: Sistemi tek kullanicili modus’a gecir (bknz. init S init s)
  • init 2: Sistemi lokal cok kullanicili modus’a gecir
  • init 3: Sistemi tam aga bagli sekilde ve cok kullanicili modus’a gecir
  • init 5: Sistemi tam aga bagli sekilde cok kullancili ve GUI’li modus’a gecir
  • init 6: Sistemi yeniden baslat
  • init S:(bknz. init 1)
  • init s:(bknz. init 1)
J
  • jar: Java arsiv
  • java: Java Virtual Machine (JVM)
  • javac: Java Compiler
  • javadoc: Java dokumanlari olustur
  • jdb: Java Debugger
  • jikes: IBM tarafindan sunulan ve javac’tan daha hizli olan bir Java Compiler
  • joe: Bir editör programi
K
  • k3b: KDE’de GUI’li bir CD kopyalama programi
  • kaffeine: KDE CD VCD DVD vs. oynatma programi
  • kate: Bir KDE editör programi
  • kbear: Bir KDE FTP programi
  • kcalc: Bir KDE hesap makinesi programi
  • KDE|kde: KDE masaüstü
  • kernelversion: Hangi kernel versiyonu kullanildigini göster
  • kmail: KDE Mail programi
  • konqueror: KDE internet tarayıcı
  • konsole: Yeni bir konsol ac
  • kopete: Bir KDE multiple messenger programi
  • kill: İşlemi bitir
  • killall: Bütün işlemleri bitir
  • kwrite: Bir KDE editörü
L
  • last: Sisteme son kayit olan kisileri göster
  • less: Herhangi bir ciktiyi monitörde sayfa sayfa göster
  • lilo: Bir Linux Bootloader (bknz. grub)
  • ln: Dosyalar ya da dizinler arasinda link olustur
  • logname: Oturum adını göster
  • logout: Sistemden ayril (eger oturum kabuğuyla girildiyse)
  • lpr: Dosyayi basilmasi icin yaziciya gönder
  • lprm: Yaziciya gönderilen dokümanlari sil
  • ls: Dizinde bulunan dosyalari listele
  • lsb_release]] Dağıtıtıma özgü bilgileri ekrana basar
  • lsmod: Yüklenmis modullari listele
M
  • mail: Kullancillar arasinda mail yazmayi mümkün kilan mail programi
  • make: C programini belli bir kurala göre derleyen komut
  • man: Manual sayfalar dokümanlari
  • mcedit: Bir editör programi
  • mkdir: Yeni bir dizin olustur
  • modprobe: Kernel’a bir module eklemek ya da ondan silmek icin
  • Mozilla Firefox|mozilla: Bir internet tarayıcı
  • more: (bknz. less)
  • mount: Bir aleti bağla
  • mv: Dosyayi kaydir ya da ismini degistir’
  • mysql: MySQL veritabani programi
N
  • nedit: Bir editör programi
  • newgrp: Yeni bir gruba gir
  • netstat: Ag baglantilarini görüntüle
  • netscape: Bir internet tarayıcı
  • nl: Bir dosyayi satirlari numaralandirarak göster
  • nslookup: DNS (domain name system) sorgusu
O
  • opera: Hizli bir internet tarayıcı
P
  • passwd: Sifre degistir
  • perl: PERL interpreter
  • PHP|php: PHP interpreter
  • pine: Bir mail programi
  • ping: Baska bir bilgisayara ulasabilme sorgusu
  • poweroff: Sistemi kapat (bknz. init 0)
  • ps: Calisan işlemleri göster
  • pwd: Icinden bulunulan dizini göster
Q
  • quanta: Güzel bir HTML editörü
R
  • read: Shell’de monitörde girilen girdiyi oku
  • reboot: Sistemi yeniden baslat (bknz. init 6)
  • reset: Shell ayarlarini eski ayarlara getir
  • return: Bir fonksiyonun hesapladigi degeri geri vermesi icin gereken komut
  • rlogin: Uzaktaki bir bilgisayara baglan (bknz. Telnet)
  • rm Komutu Kullanımı|rm: Dosyayi sil
  • rmdir: Dizini sil (dizinin bos olmasi sarti ile)
  • rpm: Redhat Packet Manager (ama genelde bütün Linux distrolari tarafindan desteklenir)
S
  • select: Secenek secimi
  • set: Deger ver
  • sh: Bourne kabuğu
  • shift: Kaydir
  • shutdown: Sistemi kapat (bknz. init 0)
  • sleep: Belli bir süre ara ver
  • sort: Siralayarak göster
  • split: Bir dosyayi parcalara ayir
  • startx: X-Server baslat
  • su: Baska bir kullanici adiyla gir ( option verilmezse root sifresi vermek gerekir)
  • sudo: Bir komutu root (yetkili kullanıcı) gibi calistir (tabii “sudoers” dosyasi buna izin veriyorsa normal bir kullanicinin sudoers’i okumaya hakki yoktur).
T
  • tail: Bir dosyanin son satirlarini göster (standart 10 satir).
  • talk: Sisteme kayitli olan baska bir kullanici ile sohbet et
  • tar: Arsiv programi
  • tcsh: Ilerletilmis bir C-shell
  • telnet: Uzak bir bilgisayara baglan
  • then: if kosulu saglaniyorsa bundan sonraki komutlari calistir
  • time: Bir komutun ne kadar süre harcadigini göster
  • test: Bir kosulu test et
  • top: İşlemleri görüntüle
  • touch: Dosyanin degistirilme zamanini degistir
  • traceroute: Router takibi
  • true: Boolean tipindeki “doğru” degeri
U
  • umask: Bir dosya icin standart haklar belirle
  • uniq: Siralanmis bir dosya icinde birden fazal ayni satirlari ele
  • umount: Baglanmis bir aleti sistemden geri cöz (komutun ismi “unmount” degil)
  • unalias: alias’la degistirilmis komut aliaslarini geri cevir
  • unrar: Bir Arsivleme programi
  • until: Bir komutlar blogunu belli bir kosula kadar uygula
  • unzip: Arsiv programi
  • useradd: Sisteme yeni bir kullanici ekle
  • userdel: Sistemden bir kullanici sil
  • users: Su anda sisteme kayitli olan kullanicilari göster
V
  • Vi Editörü|vi: Bir metin editörü
  • vim: Bir editör programi
  • visudo: sudoers dosyasi üzerinde calis
W
  • w: Hangi kullanicinin o anda hangi komutu calistirdigini ya da hangi programi kullandigini göster
  • wait: Belli bir işlemi bekle
  • wall: Bütün kullanicilara mesaj yolla
  • wc: Harf kelime ve satir sayma komutu
  • wget: Belli bir sayfa icerigini agdan yerel PC ye indir
  • whatis: Bir komutun ne ise yaradigini göster
  • whereis: Ara
  • which: Ara
  • while: Komutlari belli bir kosula kadar döngü halinde calistir
  • who: Sisteme kayitli olan kullanicilari göster (bknz. finger w)
  • whoami: Kullanicinin kendisi hakkinda bilgi
  • windowmaker: Bir destkop
  • wine: Windows Emulator programi
  • wish: Pencere kabuğu
  • write: Bir kullaniciya mesaj gönder
X
  • xanim: Bir media player
  • XMMS: *** player
  • xterm: X Terminal
Y
  • yast (sadece SuSE): Sistem ayarlari yapmak icin GUI’siz bir tool (yet another setup tool)
  • yast2 (sadece SuSE): Sistem ayarlari yapmak icin GUI’li bir tool
  • you (sadece SuSE): YaST online update
Z
  • zip: Arsivleme programi

Kaynak:

Bu Ayın Programı: GWoffice

Linux için henüz Google Drive yayımlanmadı ancak bağımsız girişimciler kendi ürünlerini test için açtılar. Bu sürüm Beta olduğundan hatalar ve çökmelerle karşı karşıya kalmanız kaçınılmaz :) 
Linux üzerinde Google Drive (Google Docs, GWoffice) ulaşmak isterseniz eğer ;


sudo add-apt-repository ppa:tombeckmann/ppa

sudo apt-get update && sudo apt-get install gwoffice

komutlarını vermeniz yeterli..

Elementary OS üzerinden birkaç ekran görüntüsü ;




Kaynak:
Ubuntu Türkiye Forum

MacBook Pro’ya terfi ve SSD yükseltmesi

Selamlar, bir süredir, bloga yazmadığımım farkındayım hatta bunu okuyan olacak mı onu da bilmiyorum :) Geçtiğimiz günlerde bir MacBook Pro edindim ve bir kaç izlenimimi paylaşmak istiyorum.

Uzun bir süredir, Linux kullandığımı ve özelde de Ubuntu‘yu tercih ettiğimi defalarca bu blogda belirtmiştim. Ancak bir yandan da içimde sürekli bir MacBook kullanmak geçiyordu, ama tabi ülkemizdeki Apple ürünlerinin fahiş fiyatı ile uzun bir süre bu isteğimi yerine getiremedim. 2 sene evvel bir iPhone 4S edinmemle birlikte Apple dünyasına adım atmış oldum. Epeydir Android kullanan hatta savunan birisi olarak iOS‘a geçiş yapmakla hiç pişmanlık yaşamadığımı ve 4S’in ekranı kırılana kadar (yaklaşık 2.5 sene) keyifle kullandığımı söylemek isterim. (Şu an 5S kullanıyorum) Baştan belirtmek isterim ki işletim sistemlerinin fanatiği değilim. Ancak her zaman “açık kaynağı” ve özelde de GNU/Linux sistemlerini savunmayı ve tavsiye etmeyi sürdürüyorum. Zaten Mac’e bir süre sonra Parallel Desktop ile Ubuntu kurmayı da düşünüyorum. Ubuntu’nun 14.04 sürümün öneriyorum, 6 senelik eski Lenovo bilgisayarımda sorunsuz çalışıyordu. (Sadece NVIDIA ile ilgili yaşadığım sorunlar ara sıra can sıkıcı olabiliyordu)

Emektar Lenovo’nun bir kaza sonucu ölmesi üzerine ve Bimeks’ten 2.700TL’ye 2012 MID MacBook Pro’nun kampanyasına denk gelince, bu durumu değerlendirdim ve MacBook Pro aldım. İntel i5 işlemci, 500 GB HDD, 4GB DDR3 RAM ve OSX Mavericks ile gelen bu canavarın gerçekten neden bir “arzu nesnesi” haline geldiğini anlamak zor değil. :) Linux kullanan birisinin OS X sistemine alışmasının çok zor olacağını düşünmüyordum ama basit “kes-yapıştır”, “sağ tık” gibi işlerde bile cahil olduğumu öğrendim :D tabi bu konuda Sihirli Elma sitesinden inanılmaz faydalandığımı söyleyebilirim. Safari‘ye ve Chrome‘a açtığım Mac klasörüne de yerli yabancı ne kadar kaynak varsa ekledim. (Türkçe kaynakların çok az olduğunu belirtmem gerek)

Resim

Yazıda da dediğim gibi aldığım MacBook 2012 MID serisi, cihazım 22.04.2013’te üretilmiş yani pek eski bir cihaz sayılmaz. Elbette Retina Ekranlı ve Flash depolama alanlı olan yeni seriden değil, Retina ekran hariç diğer özelliklere bir kaç modifikasyonla üstelik toplam maliyetde daha ucuza sahip olacağımızı anlatacağım. İlk izlenimim MacBook’un biraz geç açılması oldu (yaklaşık 54-60 saniye) ve OS X Mavericks‘e 4GB Ram’in kimi uygulamlarda yeterli gelmediği. Ubuntu 3 GB’lık bilgisayarımda çok daha hızlı açılıyor ve hızlı kapanıyordu mesela. Biraz internet araştırmalarımda Retina ekranlı serilerin öncesinde üretilen tüm serilerde HDD yerine SSD takmanın ve Ram’i yükseltmenin inanılmaz faydaları olduğuna dair metinler buldum. Yerli yabancı bu metinleri hatim edene kadar okudum diyebilirim :) 

Ram değişimi konusunda zaten Apple kendi sayfasında talimatları vermişti. Buradan bakabilirsiniz, yani RAM Upgrade veya SSD Upgrade garantiyi bozmuyor endişe etmeyin. Apple’ın destek sayfasında resimlerle nasıl Ram değiştireceğiniz anlatılıyor : http://support.apple.com/kb/ht1270#link1Ancak çoğu forumda önceliğin SSD’ye verilmesi gerektiğine dair tavsiyeler vardı. Üstelik grafikerler ve benzeri sanat işleri için yüksek donanıma ihtiyacı olan Mac sahiplerinin de ilk tercihi SSD olmuş. Biraz araştırınca bir çok marka SSD’nin MacBook için uygun olduğunu ama özellikle Samsung, Kingston ve Corsair markalarının öne çıktığını gördüm. (Özellikle Ram için neredeyse tek ortak isim Corsair Ram gibi görünmesine karşın uygun özellikte diğer marka Ram’lerinde kullanılabileceğini belirtmek isterim) Ben Vatan Bilgisayardan uygun fiyatla Corsair marka 240 GB SSD ile 4+4 (toplamda 8GB) RAM edindim. Şimdi sırada MacBook kasasını açıp HDD’yi SSD ile değiştirmek vardı ki bu epey bir gözümü korkuttu demeliyim. Ancak bir kaç kaynaktan bunun çok kolay olduğunu ve korkmamak gerektiğini okudum ve ilgili videoları ezberleyene kadar izledim. İşte o kaynaklar ;

Özellikle en sona eklediğim video çok yardımcı oldu. SSD yükseltmesinden önce Time Machine ile mutlaka bir harici diske yedeğimizi almamız gerekiyor. Ya da bir USB’ye OS X Mavericks imajı yazmanız gerek.USB’ye başlangıç diskinin nasıl yazılacağı için en iyi kaynak Sihirli Elma sayfasındaki BU YAZI Ben hem USB’ye bir imaj aldım hem de Time Machine’e bir yedek. Önce belirtmek isterim ki yedek alacağımız diski veya imajı alacağımız USB’yi Mac dosya formatına dönüştürmemiz gerekiyor. Elimizdeki diskler FAT formatındaysa maalesef diskte “bölüntü” yaratamıyoruz. Ayrıca üçüncü parti uygulama kurmadan da NTFS ile formatlanmış diske veri kopyalayamıyoruz. Bunun için önereceğim ücretsiz program NTFS 3G

Resim

 

SSD yükseltmesine geçmeden evvel yedeklerimizi aldığımızdan mutlaka emin olalım. Aksi durumda epey canımız sıkılabilir. Yedeğimizi aldığımızdan eminsek eğer. Philips veya Torx tornavida seti edinmenizde fayda var. (mutlaka bunlar olmak zorunda değil ama HDD vidalarını sökerken ikinci bir setten yararlanmak zorunda kaldım, Allah’tan evde 2 tornavida seti vardı) Yazının içinde verdiğim videoya bakarak adım adım MacBook’un vidalarını sökeceğinizden ve HDD bağlantısını ayırıp, SSD takacağınızdan eminim. Gözünüz korkmasın bu işlemler çok kolay sadece vidaları kaybetmeyin :D

SSD taktıktan sonra USB imajınızı veya Time Machine ile yedek aldığınız diski bağlayıp MacBook’unuz Alt tuşuna basılı tutarak açın ve gelen ekrandan taktığınız diski seçin. Böylece Recovery ekranına ulaşacaksınız.

Resim

Bu ekrana ulaştığınızda yapacağımız ilk iş en altta Disk Utility tıklayarak SSD’yi Mac dosya formatı ile formatlamak çünkü aksi durumda OS X’i yeniden kuramayız. SSD’yi formatlarken isim kısmına SSD yazmanızı tavsiye ederim. sonradan kolay olur. Formatlama bittiğinde yeniden Recovery ekranına döneceğiz eğer Time Machine yedeği almışsak resimdeki ilk seçenek olan Time Machine Restore seçeneğini seçeceğiz veya USB’ye imajını atmışsa, ikinci seçenekten OS X Yükle seçeneğinden devam edeceğiz. Ben her ikisini de yapmıştım ve USB imajını yeniden yüklemek isterken garip bir şekilde yükleme bittiğinde “yalnızca 1 saniye kaldı” kısmında dondu. İnternette bu hatayı alanlara rastladım ama yine de Time Machine yedeğimi iyi ki almışım ki bu sorunu çözmekle uğraşmadan direk ilk seçeneği seçerek yedeğimi yükledim ki bu gerçekten iyi oldu, hiç bir eksik olmadan yedeği SSD kurdum. Size de tavsiyem böyle yapmanız. Zaten sistemi yeniden başlattığınızda inanılmaz hızı göreceksiniz. Mac’iniz 5-7 saniye içerisinde açılacak ve masaüstü 2 saniye içerisinde gelecek :D

SSD yükseltmesini yaptıktan sonra, Trim desteğini açmak için, Terminalden (Spotlight’a Terminal yazıp ulaşabilirsiniz) aşağıdaki kodları girin;

Resim

sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original 

sudo touch /System/Library/Extensions/

komutlarını verdikten sonra sistemi yeniden başlattığınızda Trim desteğinin açılması gerek, açılmazsa eğer Trim Enabler uygulaması ile açabilirsiniz.

Resim

Mac’inizi keyifle kullanmanız dileği ile :)

Resim

 

 

Tagged: apple, LINUX, macbook pro, mavericks, open source, os x, ram, ssd, Ubuntu, unix, upgrade

Ubuntu Türkiye E-Dergisi SUDO 59. Sayı

  • Röportaj – Mehmet Dursun İNCE
  • Ubuntu’da Pipelight Kullanımı
  • GIMP’i Photoshop’a Nasıl Benzetiriz?
  • PPA Deposu Aracılığıyla Ubuntu’da Oracle Java 8 Kurun [JDK8]
  • SVN Workbench
  • OpenPGP Anahtarlarının Yönetimi – En İyi Güncel Uygulamalar Bölüm 1
  • DRM Karşıtlığı Günü (Day Against DRM)
  • ShadowGrounds
  • Yeni Bir Başlangıç
  • Linux Haberler