Kategori: Sorunlu Teknoloji

  • Transmission loglarını kontrol altına almak.

    Daha önceki yazılarımda eve torrent sunucusu kumak ile ilgili yazımı geliştirmeye devam ediyorum.

    Gel zaman git zaman kurmuş olduğumuz transmission torrent sunucusunun log’unun şişmeye başladığını keşfettik. Sebebi ise transmission sunucusunun loglarının logrotate tarafından kontrol altına alınmaması.

    Bu sorunu gidermek için “/etc/logrotate.d/” klasörü altına “transmission” adında bir dosya oluşturup içine aşağıdaki scripti eklememeiz yeterli:

    /var/log/transmission.log {
    su root root

    monthly
    rotate 3
    compress

    delaycompress
    missingok
    notifempty

    create 644 debian-transmission debian-transmission

    postrotate
    invoke-rc.d transmission-daemon force-reload > /dev/null
    endscript
    }

    Dosyayı kaydettikten sonrasında logrotate ile ilgili herhangi birşey yapmamıza gerek yok. Çünkü logrotate cronjob’a bağlı çalıştığı için her seferinde oyomatik olarak çalışıp “/etc/logrotate.d/” altındaki tüm dosyaların içeriğini çalıştırır.

    Eğer hazırlamış olduğumuz bu scripti test etmek isterseniz komut satırında aşağıdaki komutu çalıştırıp herhangi bir hata olup olmadığını çıktılardan inceleyebilirsiniz:

    # logrotate -fv /etc/logrotate.d/transmission

    Yukarıdaki scriptin satıra açıklamalarını gelirsek:

    • su: scriptin, buna bağlı oluşturulacak dosyaların ve yaılacak işerin hangi kullanıcı tarafından yapılacağını belirtir.
    • monthly: transmission için logrotate’in ne akdar sürede bir uygulanacağını belirtir. Burada ayda bir ygulanmasını istedik.
    • rotate: rotate edilen dosyaların enfalza kaç tane olabileceğini belirtiyoruz. Daha eski logları tutabilmek içi bu rakamı arttırınız. Bu örnekte ayda bir rotasyon yapılacağı için en falza 3 ay geriye dönük logları görebiliriz.
    • compress: eski log dosyalarını sıkştırarak rotate eder.
    • delaycompress: Sıkıştırma işine gecikmeli başlamayı sağlar
    • missingok: Eğer rotate edilecek dosyalarda eksiklik varsa scriptin hata vermeden devam etmesini sağlar. Bu seçenek çıkartılırsa rotasyon eksik dosyadan dolayı hata verir ve yapılmaz.
    • notifempty: Eğer log dosyasının için boş ise gereksiz yere rotasyon yapmaz.
    • chmod: Oluşturulacak yeni dosyanın sahiplik ve erişim haklarını tanımlar
    • postrotate: hemen altındaki satırda yazılı olan komutları rotasyon işleminden sonra çalıştırır. Burada invoke ile transmission servisini yeniden başlatıyoruz.
  • Linux konsolda disk imajında değişiklik yapmak

    Elinizde Banana Pi için hazırlanmış debian dağıtımı olan “bananian.img” adında bir disk imajı var diyelim. Aşağıda bu imaj üzerinde nasıl değişiklikler yapılabileceğine dair komutlar ve örnekler bulunmaktadır. Bu örneklerde imajın partition listesini görmek, dosya sistemini kontrol etmek, imajı ve içindeki partitionları genişletmek ya da daraltmak ile ilgili bilgiler vardır. Bu örnekleri uygulamadan önce imajı yedeklemek için muhakkak bir kopyasını, mümkünde başka bir yere alın. Bu örneklere bakarak yapacağını işlemler sonucunda imajda oluşabilecek hatalar ve hatta geri döndürülemeyecek bozulmalardan bu yazıyı yazan yazar sorumlu değildir.

     

    “bananian-1508..img” imajını mount etmeden önce içinde ne tip ve kaç tane partition var bakalım:

    fdisk -l bananian-1508.img

    Disk bananian-1508.img: 1899 MB, 1899999744 bytes
    255 heads, 63 sectors/track, 230 cylinders, total 3710937 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0ccea0b3

    Device Boot Start End Blocks Id System
    bananian-1508.img1 2048 43007 20480 83 Linux
    bananian-1508.img2 43008 3710936 1833964+ 83 Linux

    Görüldüğü üzere imaj dosyamızda iki adet partition bulunmaktadır. Bu bölümlerden bananian-1508.img1 olanı “/boot” partition’ı ve bananian-1508.img2 olanı da “/” partition’ı.  Bu dağıtıma birşeyler eklemek istedik ancak “/” partition’ında kullanılacak alan kalmamış. bu yüzden alanı genişletmemiz gerekiyor. (Bu durumda artık imaj dosyasını en az 4GB bir belleğe yazabileceksiniz)

    Bölümü genişletmek için öncelikle imaj dosyasını genişletmek gerekmekte. Elimizdeki imaj dosyasının boyutlarına bir bakalım:

    qemu-img info bananian-1508.img
    image: bananian-1508.img
    file format: raw
    virtual size: 1.8G (1900000256 bytes)
    disk size: 1.8G

    Raw image dosyamızın boyutu 1.8GBmış. Şimdi bu dosyayı genişletelim:

    #qemu-img resize bananian-1508.img +2.2GB
    Image resized.

    Yukarıdaki komut ile img dosyasının mevcut boyutunu 2.2GB daha genişlettik yani 1.8GB + 2.2GB = 4GB oldu.

    # qemu-img info bananian-1508.img
    image: bananian-1508.img
    file format: raw
    virtual size: 4.0G (4262232576 bytes)
    disk size: 1.8G

    Şimdi raw img dosyası içindeki “/” bölümünü genişletmeye başlamadan önce dosya sisteminin temiz olup olmadığını kontrol edip hatalar var ise düzeltmemiz gerekmekte. Aksi takdirde partition genişletme işlemi sırasında veri kaybına sebep olunabilir. Dosya sistemini kontrol etmek için önce “/” partition’ını loopback olarak bağlamamız gerekiyor:

    losetup -o $((512 * 43008)) /dev/loop0 bananian-1508.img

    Yukarıdaki komutta -o anahtarından sonra yazan $() ve içindeki kısımın açıklaması şu şekilde: $() = içerikteki işlemi yap ve sonucu ver (512 * 43008). Buradaki 512 yukarıda fdisk çıktısında bulunan “Units = sectors of 1 * 512 = 512 bytes” satırındaki 1 sektördeki toplam byte sayısını ve 43008 rakamı da bananian-1508.img2 partition’ının başlangıç sektörünü ifade eder.

    Böylelikle “bananian-1508.img” imajı içindeki “bananian-1508.img2” partition’ınını “/dev/loop0” aygıtına bağlamış bulunduk. Şimdi bu aygıt üzerinden dosya sistemini kontrol edeceğiz.

    fsck -fvp /dev/loop0

    Yukarıdaki komutun anahtarlarına bakacak olursa “f” bölüm temiz olarak işaretlenmiş olsa da kontrol et, “v” çıktılar açıklayıcı olsun, “p” eğer hata bulursan bana sormadan düzelt anlamlarını taşımaktadır. Eğer herhangi bir hata yoksa çıktı aşağıdaki gibi olacaktır:

    fsck from util-linux 2.20.1

    18329 inodes used (15.98%, out of 114688)
    15 non-contiguous files (0.1%)
    29 non-contiguous directories (0.2%)
    # of inodes with ind/dind/tind blocks: 0/0/0
    Extent depth histogram: 16003/4
    245346 blocks used (53.51%, out of 458491)
    0 bad blocks
    1 large file

    14230 regular files
    1624 directories
    12 character device files
    25 block device files
    0 fifos
    2 links
    2429 symbolic links (2276 fast symbolic links)
    0 sockets
    ————
    18322 files

    Dosya sistemini kontrol ettiğimize göre şimdi bölümü genişletebiliriz. Bu işleme başlamadan önce bölümü loopback’ten çıkartmamız lazım. öncelikle loopbackte neler varmış onu kontrol edelim:

    losetup -a
    /dev/loop0: [0811]:7874548 (/media/Home/sencer/Downloads/Bananian/bananian-1508.img), offset 22020096

    Görüldüğü üzere sadece bağladığımız partition görünüyor. Bazen yanlışlıkla iki kere bağlamış olabiliyorum bu durumda aynı satırdan “/dev/loop1” olarak bir tane daha altında görünür.

    losetup -d /dev/loop0

    Şimdi imajın partitonlarını genişletmek için tam olarak disk gibi görünmesini sağlamamız lazım. Bunun için img dosyasını bağladıktan sonra partitionları da maplememiz gerekiyor. Bunu yapmanın kolay yolu “kpartx” komutu ile imajı loopback device’a bağlamak.

    kpartx -a -v bananian-1508.img
    add map loop0p1 (252:0): 0 40960 linear /dev/loop0 2048
    add map loop0p2 (252:1): 0 3667929 linear /dev/loop0 43008

    Gördüğünüz üzere komut otomatik olarak partitionları mapledi.

    Bundan sonra parted resize ile /dev/loop0 diskini açıp genişletmek istediğiniz bölümü elden geçirebilirsiniz. Baktınız aşağıdaki şekilde hatalar mı veriyor, “gksu gparted /dev/loop0” ile grafik ekranda gparted ile de değişiklikleri yapabilirsiniz.

    Örnek hata: “Error: File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or debugfs to remove features.”

    Resize işleminiz bittikten sonra aşağıdaki komut ile imaj dosyasını loopback devicelardan ayırabilirsiniz:

    kpartx -vd bananian-1508.img
    del devmap : loop0p2
    del devmap : loop0p1
    loop deleted : /dev/loop0

  • 05.09.2015 Google Chrome çökme sorunu

    Dün akşam sapa sağlam bıraltığım Google Chrome, bu gün birden bire açılmaz hale geldi. Sorunun Kaynağı aşağıdaki adreste belirtildiği üzere Comodo’nun HIPS sisteminden kaynaklanıyor. Aynı linkte sorunun çözümü için bir de HotFix anlatılmış:

     

    [Hotfix] Remove the AppInit hook  (guard32.dll/guard64.dll)

    if guardXX.dll cause crash of your progam, you can remove it.
    No need del guardXX.dll, Only need modify the registry values.

    >Firewall only Users
    import .reg file
    logout and login the user account  (9x% not need)

    >Defense+ Users
    disable Defense+
    Deactivate Defense+ Permanently
    No restart (9x% not need)
    import .reg file
    logout and login the user account  (9x% not need)

    PS:import .reg file, need Admin permission

    —————————-registry file for 32bit System———————————–
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
    “AppInit_DLLs”=””
    “LoadAppInit_DLLs”=dword:00000000

    —————————–registry file for 64bit System———————————-
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
    “AppInit_DLLs”=””
    “LoadAppInit_DLLs”=dword:00000000

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows]
    “AppInit_DLLs”=””
    “LoadAppInit_DLLs”=dword:00000000

    ——————————————————————————————

    1.Copy text
    2.Paste to notepad
    3.Save to file (ext=reg, format=unicode)
    4.double click the .reg file

  • Intel Atom D510MO linux sensör ayarları

    Linux altında anakart, işlemci ve psu değerlerini ölçmek için kullandığımız lm-sensors paketi normalde pek çok sensörü otomatik olarak tanıyor ve kritik eşiklerin dışında bir veri algılarsa uyarı verebiliyor. Fakat kullandığımız ev sunucusundaki Intel Atom D510MO model anakarttaki sensörleri doğru okusa da tam olarak desteklenmediği için uygun kritik eşik şablonu kullanmamakta.

    Bu yüzden # sensors komutu ile çıktıları incelediğimizde sensörlerden gelen veriler doğru olsa da kritik eşik değerleri yanlış olduğunda, çıktıda “ALARM” görüyor olabilirsiniz. Korkmayın, aslında anakrtta bir sorun yok (tabi doğru voltajı alıyor ve yeterince soğutuluyorsa). Bu sorunu gidermek için aşağıdaki sensors şablonunu kullanmamız gerekmekte.

    Intel Atom D510MO linux sensör ayarları için sensors şablonunu değiştirmeden önce “/etc/sensors3.conf” dosyasının yedeğini alın her ihtimale karşı. Daha sonra asıl dosyanın içeriğini “# >sensors3.conf” komutu ile boşaltın. Daha sonra herhangi bir editör ile aşağıdaki şablonu dosyaya yazıp kaydedin. Son olarak sistemi yeniden başlatın ya da “# sensors -s” komutunu çalıştırın.

    chip “w83627thf-*” “w83637hf-*”
    label in0 “VCore”
    label in3 “+5V”
    label in4 “+12V”
    label in5 “-12V”
    label in7 “V5SB”
    label in8 “+3.3V”

    compute in3 ((34/51)+1)*@, @/((34/51)+1)
    compute in4 ((25/10)+1)*@, @/((25/10)+1)
    compute in7 ((6.8/10)+1)*@ , @/((6.8/10)+1)

    ignore in1
    ignore in2
    set in3_min 5.0 * 0.95
    set in3_max 5.0 * 1.05
    set in4_min 12 * 0.90
    set in4_max 12 * 1.10
    set in7_min 5 * 0.95
    set in7_max 5 * 1.05
    set in8_min 3.0 * 0.80
    set in8_max 3.0 * 1.20

    label temp2 “CPU Temp”
    label temp1 “M/B Temp”

    set temp1_max 60
    set temp1_max_hyst 56
    set temp2_max 80
    set temp2_max_hyst 75
    ignore temp3

    label fan1 “CASE Fan”

    set fan1_min 400
    ignore fan2
    ignore fan3

    set beep_enable 1

    Bundan sonra sensors komutu doğru sonuçları verecektir.

  • Reinstalling a deb package with its dependencies

    For example; I broke my linux mint, mintinstaller package. And I try to reinstall it with its dependencies to fix it:

    # apt-get install –reinstall mintinstall `apt-cache depends mintinstall | awk ‘/Depends:/{print$2}’`

    “apt-cache depends” command provides dependency packages of the mintinstall package to apt-get install command.

  • Cinnamon Masaüstü Hot Corners özelliğinin efektif kullanımı

    Rahmetli Opera’nın (12 ve öncesi sürümünden bahsediyorum) bana kazandırmış olduğu bir alışanlık olan Fare Hareketleri ile bilgisayarda hakimiyet kurma yeteneğinin, fi tarihinde OpenGL üzerinden masa üstüne çeşitli görsel ve kullanım özellikleri kazandıran Compiz projesi ile ekranın köşe ve kenarlarına işlevlik kazandırılması ile birlikte ekranın tamamına yayılmış durumdaydı.

    Compiz’in kazandırdıkları nelerdi; fare imlecini ekranın herhangi bir kenarına ya da köşesine götürdüğünüz zaman o kenar/köşe’ye atanmış olan eklentiyi çağırarak çeşitli aksiyonlar yapmasıydı. Örneğin, pencereleri ekrana karo karo yerleştirerek ön izleme sağlamak ve istediğin pencereye bu ön izlemeden geçiş yapmak. Tek hareketle masaüstüne ulaşmak ya da pencereleri geri büyütmek gibi…

    Tabi artık bu tip olaylar masaüstlerine entegre olarak gelmekte. Ben de hanidir Compiz ayarları ile oynama çılgınlığından vazgeçmiş durumdaydım.

    Bu gün fare yanlışlıkla köşeye gidince expose çalıştı. Ben de “bu expose yanlış köşede duruyor” diye düşünüp ayarları değiştireyim diye Linux Mint kontrol paneline yöneldim. Hot Corners (evet Cinnamon’da adı bu) özelliklerini açtım ve expose’u baka köşeye aldım. Tabi bu işlemi yaparken dikkatimi çeken bir özellik oldu. Köşelere hali hazırda yaptırılabilecekler sınırlıydı ve hepsi de pencereleri ya da masa üstlerini (çoklu masa üstü kullananlar için) expose etmek üzerineydi.

    hotcorners

    Seçenekler arasında bir de komut çalıştırma özelliği vardı ki onu görünce zaten pek fayda sağlamayan özellikelrinden dolayı çoktan vazgeçmiş olduğum köşeleri kullanma hastalığım nüks eder gibi oldu.

    Madem köşeler var ve bu köşelere komut atayabiliyorum, e o zaman istediğimi yatırayım bari dedim. Sol alt köşeye Mint menüsünü otomatik açma özelliği ekledim. Çok da güzel oldu. Zaten Mint menüsünün fare imlecini üzerine getirince açılması gibi bir özelliği vardı ama sürekli açılıp durmasını da istemiyordum.

    hotcorners_runNe zaman yanlışlıkla üzerinden bi an çeksem menü patlıyordu. İşte burada Köşelerin güzelliği ortaya çıkıyor. Köşeler fare imleci hafifçe dokununca değil, baya sert çarpınca çalışıyor. Böylece sol alt köşeye şu komutu ekledim ve sen sağ ben selamet yoluma devam ettim:

    xvkbd -xsendevent -text “\[Super_L]”

    Bu komutun çalışması için doğal olarak sistemde “xvkbd” paketinin yüklü olmas gerekmekte. Eğer yüklü değilse hemen konsoldan paketi kurabilirsiniz.

    sudo apt-get install xvkbd

    Bu şekilde siz de köşelere istediğiniz komutları atayarak köşeleri etkin kullanmaya başlayabilirsiniz.

  • HTML dosyalar için img etiketine açıklama ekleyici

    html Eğer bir framework kullanmıyorsanız HTML ile uğraşmak çok zaman kaybettirici bir iş haline gelebiliyor. Her sayfaya aynı etiketleri yerleştirmek, her sayfanın menülerinin aynı olduğundan emin olmak. Anahtar kelimelerin <img> etiketlerine yerleştirmek vb.

    Benim için en acı verici kısım son yazdığım kısım. SEO adına her <img> etiketine bir “alt” değeri eklemek gerekiyor ve bu değerlerinin her birinin farklı bir anahtar kelime olması önem taşıyor. Zaman içinde bir çok kere bu sorun ile karşılaştım. Yakın zamanda da karşılaştığım bu sorunu hem şimdi hem de ileride daha kolay çözebilmek için sonunda oturdum ve basit bir “python script”i yazdım.

    Amaç HTML içerikte bulunan <img> etiketlerindeki boş “alt” açıklamalarını, verilecek bir anahtar kelime dosyası python_sh-600x600içeriğindeki kelimeler ile rastgele doldurmak. Bu amaç doğrultusunda “aalaras” (Automatic Alt Argument Assigner) projesi oluştu. Bu gün içinde yazıp bitirdiğim proje umarım HTML dokumakla meşgul olan bir çok insanın yardımına koşar.

    Projeye ulaşmak için soldaki menüden ya da buraya tıklayarak Github depoma ulaşabilirsiniz. Scriptin kullanımı hakkındaki bilgi proje deposundaki “README.md” dosyasında bulunmaktadır.

  • Random Bird Name Generator geliyor 🙂

    bird_name_256Yakında anonim kullanıcı hesabı açmak için isim düşünmeye üşenen ve kuşları seven insanlar için, rastgele kuş adı üretecini yayına sokacağım. Heyecan dorukta.

    Ayrıca üye alımı yapan siteler için bir de API’si olacak. Üyelik işlemi sırasında rastgele isim atamak için güzel bir işlevsellik sunacak. Ancak API için biraz daha zaman gerekli 🙂

    Çalışmalar hızla devam ediyor. En kısa zamanda buluşmak üzere.

  • LG P880 Android 5.0 Lolipop Yükleme

    android_lollipop_wavingUzun süredir Cyanogemod 11 Nightly yüklü olan LG Optimus 4X HD P880 telefonumdaki performans sorunları ve bir türlü giderilmeyen hataları yüzünden mevcut ROM’u değiştirme niyetindeydim. Bir ara yine depreşmiştim ama Vanir’den başka da ROM denemeye üşeniyordum. O yüzden yine bir müddet Cyanogen ile takıldıktan sonra ik igündür yaptığım araştırmalar sonucunda Euphoria-OS’un Unofficial Android 5.0.x sürümünün çıktığını ve Youtube üzerindeki kullanıcı deneyimi performansını görünce dayanamadım tamam bunu deneyeceğim dedim. Bu gün nihayetinde LG P880 telefonuma Euphoria-OS 1.0 Beta Android 5.0.x sürümünü yükledim ve şimdilik memnum gibiyim.

    Elinde benim gibi LG P880 model telefonu olan kimse varsa Android 5.0.x Lolipop deneyimini yaşayabilmesi için neler yapması gerektiğini, telefona Euphoria-OS ROM’unu nasıl yükleyeceğini anlatacağım. Tabi bazı adımları atlayacağım çünkü zaten telefonunuzu rootlamış ve nasıl rom yükleyeceğinizi az buçuk bildiğinizi varsayıyorum;

    Dikkat! Bu satırdan sonra yapacağınız işlemler sonucu veri kaybına uğramanızdan, telefonunuzun bozulmasından, kendi kendini reboot edecek duruma düşmesinden, açılmaz hale gelmesinden, çalışsa bile kullanıcı deneyimi sırasında sorun yaşamanızdan ya da telefonunuzun gidip NASA’nın Mars görevine yazılmasından bu yazıyı yazan kişi sorumlu değildir. Aşağıda anlatılan işlemleri kendi başınızı herhangi bir cihaza uygulamanız durumunda oluşacak tüm sorunlar sizin mesuliyetiniz dahilindedir.

     

    Kontrol Listesi:

    • Öncelikle telefonunuzdaki önemli bilgilerinizi (Fotoğraf, Rehbes, SMS vs…) bilgisayarnıza yedekleyin, içinde takılı olan SD Kart dahil.
    • Telefonunuzun “Boot Lock”unun açık olduğundan ve “Root”lu olduğundan emin olun.
    • Clockworkmod vb. bir Kurtarma yazılımının telefonunuza yüklü olduğundan emin olun.

    Gerekli Dosyalar:

    • lg urun-05LG Optimuz 4X HD P880 için derlenmiş olan Euphoria-OS 1.0 Beta Android 5.0.x Lolipop ROM dosyasını tarihine bakarak en güncelini bilgisayarınıza indirin: https://www.androidfilehost.com/?w=files&flid=23767
    • Eğer Google bağımlısı birisiyseniz Google Apps (Google Stock Paketi hariç) yüklemek için bu adresten size uygun Google Apps paketini indirin: http://forum.xda-developers.com/paranoid-android/general/gapps-official-to-date-pa-google-apps-t2943900
    • Bu iki dosyayı telefonun SD Kartına yükleyin

    ROM Yükleme:

    • euphoriaTelefonunuzun güç tuşuna menü görününceye kadar uzun süre basılı tutun.
    • Menüden “Kapat” seçeneğine dokunarak telefonunun tamamen kapaı konuma gelmesini sağlayın.
    • Telefonunuzu “Kurtarma” Menüsünde açmak için “Güç” ve “Ses Azaltma” tuşlarına aynı anda basarak açın.
    • “Kurtarma menüsünden “wipe data/factory reset” seçeneğini uygulayın.
    • Yine aynı menüden “wipe cache partition” seçeneğini uygulayın.
    • Son olarak Kurtarma menüsünde “advanced” kısmına girip oradaki “wipe dalvik cache” seçeneğini uygulayın.
    • “install zip from SD card” seçeneği ile Euphoria-OS’u SD Karttaki zipi seçerek yükleyin.
    • “install zip from SD card” seçeneği ile Google Apps’ı SD Karttaki zipi seçerek yükleyin.
    • Bu işlemlerden sonra “reboot system now” seçeneği ile Telefonunuzu yeniden başlatabilirsiniz.

    Tüm adımları tamamladığınızda telefonunuz Euphoria-OS Lolipop görseli ile açılmaya başlayacaktır. Bu işlemleri yaparken strese girmemeniz için aşağıdaki video’da hediyesi 🙂

    https://www.youtube.com/watch?v=9-DuC0tE7V4

  • Linux 4.0-RC1 “Hurr durr I’m a sheep” kerneli yayınlandı

    TuxLinus Torvalds geçen hafta yaptığı anket sonucunda Linux 3.20 çekirdeğini Linux 4.0  olarak adlandırmaya karar vermiş. Torvalds, Pazar gecesi birçok önemli güncellemeler barındıran Linux 4.0-RC1’i  “Hurr durr I’m a sheep” kod adıyla yayınlanmış durumda.

    (daha&helliip;)