Bilgisayar açılırken böyle bir hata alıyorsanız, şu 3 komutu yazıp sorunu çözebilirsiniz;
Bilgisayar açıldı, initramfs ekranındasınız, ilk önce
exit
yazıyoruz. Ve ekrandan çıkıyoruz.
Sonrasında size /dev/sda1 tarzında bir şey ler söyleyecek, bu /dev/ li kısım önemli. Benim ekranımda /dev/sda1 yazdı. Sonra şu komutu yazıyorum, siz /dev/ li ne yazdı ise onu yazmalısınız.
fsck /dev/sda1 -y
ve yazılar bitince;
reboot
yazıyoruz. Geçmiş olsun. Biliyorum sizi büyük bir dertten kurtardım, hiç önemli değil :)
Konuyla ilgili sorular geldi, cevaplayım; Açık ara lubuntu daha iyi.
Hangi yönlerden? Mint daha hafif (light) ve performanslı görünüyor olabilir. Fakat lubuntu daha az yoruyor daha kararlı (stable). Mint'i kurup istediğim hal alması 1 saat sürdü, lubuntu da ise 10 dk, Mint paket uyumusuzluğu sebebiyle hata verip dururken (ve bu paketleri bul-yükle ile uğraşırken) lubuntu performanslı olarak çalışıyordu. O yüzden benim bu konuda tercihim kesinlikle lubuntu.
Dünya'nın en aktif en nezih kullanıcılara sahip (son zamanlarda biraz bozulsa da) IRC sunucusu olan freenode satıldı. Kullanıcıları bazı kaygılardan dolayı freenode'u kullanmayı bıraktı. Binlerce kullanıcısı olan freenode'da şu an sayılı kullanıcı mevcut.
Freenode, kullanıcılarının kaygılarını haklı çıkaracak şekilde ilk iş olarak kayıt sistemi özelliğini ekleyip proxy üzerinden bağlanmayı engelledi.
Kullanıcı tarafından yazılmış olan programları, kullanıcının anlık yazması veya programlaması ile çıktı olarak alabildiği sistemdir. Unix sistemlerde bu yüzden derleme olmamaktadır.
Unix 1969 yılında AT&T çalışanları tarafından Bell laboratuarlarında geliştirilmiştir.
Pek çok Unix sistemi bulunmaktadır. Solaris, BSD, AIX vs.
Unix sistemlerde aynı anda pek çok kişi çalışabilir. Çoklu işlem sağlayan bir sistemdir.
Linux ve Unix Farkı Nedir?
Linux ve Unix aynı değildir. Linux Unix'in bir türevidir. Linux açık kaynak kodlu ücretsiz bir işletim sistemidir.
Linux Mimarisi Nasıldır?
Linux mimarisi şekildeki gibidir. En iç katman bilgisayarın donanımıdır (Hardware). Donanım ile birebir çalışan programlar topluluğu ise Kerneldir.
Hardware
Bilgisayarın parçalarıdır. Yani ram, hoparlorler, sabit disk vs. gibi.
Kernel Nedir?
Kernel bir programdır. Ana programıdır desek daha doğru olur.Donanım ile iletişim halindedir. Programların donanım üzerinden çalışması için iletişim vazifesini üstlenir. Yani siz tur rehberi iseniz, donanımınız otobüs ise, kernel otobüs kaptanı oluyor. Siz kaptana söylüyorsunuz, oda otobüsü kullanıp sizi dilediğiniz yere götürüyor. Donanımın dilinden anlayan kişi olarak.
Shell
Kernel'in bir üstündeki katman oluyor kendileri. Bu da üzerindeki katman ile kernel arasında köprü görevi görüyor. Kernel'i anlaşılabilir kılıyor. Kullanıcıdan konutların alınıp kernel'e gönderildiği katman oluyor.
Utilities - User Interface
Bu da en dış katman, her şeyin en anlaşılabilir olduğu ve en basite indirildiği katman oluyor. İkiye ayrılır, CLI (Command Line Interface) ve GUI (Graphıcal User Interface) Yani komut, ve grafiksel olarak ikiye ayrılıyor. Örneğin, "winamp komutunu yazıp winamp'ı çalıştırabilirsiniz (komut), yada masaüstündeki winamp simgesine iki defa tıklarsınız ve çalıştırırsınız. (Grafik).
System Library
Sistem Kütüphanesidir. Özel fonksiyon ve programlar yer alır. Bunlar dış katmanda çalışırlar, kernel'e erişim izni gerek duymazlar.
System Utility
Sistem Araçlarıdır. Kendine özgü görevleri vardır.
Linux'ün Özellikleri
Portable
Portatifliktir. Yani işletim sistemi her türlü donanımda çalışabilirler.
Open Source
Açık kaynak kodlu olmalarıdır. Kodlar açıktır ve herkes kendine göre değiştirebilir ve geliştirebilir. (windows'da ise windows yazılım mühendisleri tarafından bu iş yapılmaktadır. Ve kodlar kapalıdır. Yani kodlar arka planda başka işler de yapabilmektedirler.
Multi-User
Çoklu kullanıcı desteği demektir. Yani pek çok kullanıcı aynı anda hafıza/bellek gibi bileşenleri kullanabilir.
Multiprogramming
Çoklu program desteği demektir. Yani pek çok program aynı anda çalışabilir.
Hierarchical File System
Linuxde standart hierarşik bir yapı vardır. Sistem dosyaları ve kullanıcı dosyaları ayrılmıştır.
Shell
Çevirmen diyebiliriz belki shell için. Linux'de shell isminde kullanıcı ve donanımın iletişim halinde olmasını sağlayan çevirmen bir program vardır.
Security
Linux güvenli bir işletim sistemidir. Bazı işlemler için şifre ister, kullanıcı dosyalarını ise korumak amacıyla şifreler.
Android'in resmi sitesinden en son Android Studio'yu indiriyoruz, adresi:
httpss://developer.android.com/studio/index.html
2. İndirdiğiniz yere girin, ve zip dosyasına sağ tıklayarak "Extract Here" 'e tıklayın, yani zip dosyasının içindekileri çıkarın.
3. Klasörü "opt" klasörüne "mv" komutu ile taşıyın;
( Ben tmp klasörünün içine dosyaları çıkardığım için aşağıdaki şekilde yazdım, siz "android studio" klasörünü nereye çıkardıysanız aşağıdaki komutu o şeklide güncelleyin. )
mv /tmp/android-studio /opt
4. Programı kolay bir şekilde çalıştırabilmek için aşağıdaki komutu kullanın
5. Yukarıdaki komut sonrası çıkan pencerede "Do Not Import" any settings (ayar yüklemek istemediğinizi varsayıyorum)'i işaretleyin. Sonrasında android studio gerekli dosyaları indirecektir.
Bu yazıda yeni başlayan arkadaşlara kolaylık olması açısından, linux kullanan herkesin bilmesi gereken temel linux komutlarını paylaşıyorum. Böylelikle yeni başlayan arkadaşlar bu komutları öğrenerek linux dünyasına giriş yapabilir. Aşağıdaki listeye eklenmesi gereken komut var ise yorum olarak belirtirseniz "Ek komutlar" bölümüne ekleyebiliriz.
[email protected]:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
[email protected]:~#
cat /etc/hosts
Host sorgularındaki statik değerleri gösterir.
[email protected]:~# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 debian-offsec
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
[email protected]:~#
[email protected]:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[email protected]:~#
dmesg
Kernel bufferı (yani kernel kayıtlarını) listeler. Bu komut büyük bir sonuç döndürebilir o yüzden grep komutu ile kullanılması daha iyi olur.
[email protected]:~# dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.12-debian1-686-pae ([email protected]) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Debian 3.12.6-2debian1 (2014-01-06)
[ 0.000000] Disabled fast string operations
...snip...
[ 3.367400] EXT4-fs (sda1): re-mounted. Opts: (null)
[ 3.407412] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
[ 3.499360] loop: module loaded
[ 4.180582] Netfilter messages via NETLINK v0.30.
[ 4.350865] pcnet32 0000:02:01.0 eth0: link up
[ 5.224520] pcnet32 0000:02:05.0 eth1: link up
[ 7.826665] [drm] width 1024
[ 7.826704] [drm] height 768
[ 7.826716] [drm] bpp 32
[ 7.826771] [drm] Fifo max 0x00200000 min 0x00001000 cap 0x0000077f
[ 7.843755] [drm] width 1024
[ 7.843764] [drm] height 768
[ 7.843771] [drm] bpp 32
[ 7.843827] [drm] Fifo max 0x00200000 min 0x00001000 cap 0x0000077f
[ 187.769500] sda1: WRITE SAME failed. Manually zeroing.
[email protected]:~#
lsmod
Linux kernel e yüklü modüllerin durumunu gösterir. (Hangi sürücülerin yüklendiği gibi.)
airmon-ng nin modifiyeli halidir. Kablosuz ağı monitor etmeye, yani izlemeye yarar.
[email protected] ~$ airmon-ng --verbose
Linux debian 3.12-debian1-686-pae #1 SMP Debian 3.12.6-2debian1 (2014-01-06) i686 GNU/Linux
Detected VM using lscpu
This appears to be a VMware Virtual Machine
If your system supports VT-d, it may be possible to use PCI devices
If your system does not support VT-d, you can only use USB wifi cards
K indicates driver is from 3.12-debian1-686-pae
V indicates driver comes directly from the vendor, almost certainly a bad thing
S indicates driver comes from the staging tree, these drivers are meant for reference not actual use, BEWARE
? indicates we do not know where the driver comes from... report this
X[PHY]Interface Driver[Stack]-FirmwareRev Chipset Extended Info
K[phy0]wlan0 rt73usb[mac80211]-1.7 Linksys WUSB54GC v1 802.11g Adapter [Ralink RT73]
[email protected] ~$
rfkill list
Kablosuz aygıtların (kablosuz internet, bluetooth gibi) durumunu görüntüler.
Başlamadan önce sistemimizde zaten php ortamı kurulumu kontrol etmemizde fayda var.( Apache2 nin kurulu olduğunu varsayıyorum)
sudo service apache2 start
yazıp, tarayıcımızın adres satırına "localhost" yazdığımızda apache anasayfası geliyor olması lazım. Eğer gelmiyor "unable to connect" tarzı bir mesaj geliyorsa. Muhtemelen sistemimizde kurulu değildir.
O zaman sırayla mysql ve apache yi kurup apache yi başlatmamıc gerekiyor.
Linux'de mysql kurulumu
sudo apt-get install mysql-server mysql-client
yazıp, mysql'i kuruyoruz, sonrasında
Linux de apache kurulumu
sudo apt-get install apache2
yazarak apache'yi sistemimize kuruyoruz. Şimdi apache'yi başlatmaya hazırız.
sudo service apache2 start
yazarak apache'yi başlatıyoruz. Tarayıcıya girip localhost yazdığımızda artık apache sayfası çıkacaktır.
Artık "/var/www/html" klasörünün içerisine php dosyalarını atıp çalışabiliriz.
Esenlikle.
Python pek çok alanda kullanabileceğimiz geniş kapsamlı bir programlama dilidir.
Linux ortamında bash "shell" scriptleri yazdığımız gibi, python kullanarakta shell scriptleri yazmamız mümkün.
(Shell scriptlerine ".sh" uzantısı verip herhangi bir bash shell scpript'i gibi çalıştırmamız mümkün. Sadece ilk satıra "#!/usr/bin/env python" kodunu ekleyerek.)
Python'a Başlangıç
Terminal'de Python Kullanımı
Linux üzerinde çalıştığınızı ve bilgisayarınızda python yüklüdür varsayıyorum. Terminal'e girip "python" yazdığınızda python'un konsolu açılacaktır.
Python ile kodları bir dosyaya yazmadan direk terminalde çalıştırabilirsiniz.
Örneğin; "python yazdığınızda açılan konsola
print("Merhaba")
yazdığınızda ekrana "Merhaba" yazacaktır, yada;
(1+4)*2
yazdığınızda sonucu olarak "10" yazacaktır.
Dosyada Python Kullanımı
Bu derste pyhton dosyaları için ".py" uzantısını kullanacağız. (Bilgisayara python kodları ile çalıştığımızı söylemek için) "merhaba.py" isminde bir dosya yaratıyoruz.
İçerisine aşağıdaki kodu yazıyoruz;
#!/usr/bin/env python
# Benim ilk programım
print "Selam"
Dosyayı kaydediyoruz.
Bu şekilde dosyayı çalıştırmak istersek dosya çalışmayacaktır. Dosyayı kullanıcı olarak "çalıştırılabilir" dosya olarak damgalamamız gerekiyor. O yüzden
Ruby dinamik, açık kaynak kodlu bir programlama dilidir. Basitliği ve üretkenliği amaç edinmiştir. Yazması kolay olması açısından dilde doğallık baz alınmıştır. Nesnel Yönelimli (OOP) bir programlama dili olan Ruby, 1990 ların ortalarında Japonya'da geliştirilmiştir.
Ruby'nin kullanımı neredeyse python programlama dili ile aynıdır.
Linux'de terminal üzerinde Ruby'nin kullanımı
Terminali açıp "irb" yazıyoruz
irb
Ruby direk cevap verdi ve terminalimizde şu belirdi;
* Her dosya root ile başlar
* Sadece root kullanıcısı bu klasöre yazabilir.
* /root root kullanıcısının ev klasörüdür. (Home directory), "/" değildir.
/bin klasörü ne işe yarar?
* Çalıştırılabilir binary dosyaları(programları) yer alır.
* Örneğin firefox bin klasörü içindedir.
* Çoğu linux komutları bu klasörün altında yer alır.
* Sistem kullanıcılarının komutlarıda burada yer alır. (ps,ls,ping,grep,cp vb.)
/sbin klasörü ne işe yarar?
* /bin klasörü gibi /sbin de çalıştırılabilir binary dosyalarını içerir.
* Fakat bu klasör altında bulunan binary dosyaları genelde sistem yöneticisi tarafından sistem bakımı için kullanılır. (iptables, reboot, fdisk, ifconfig, swapon)
/etc klasörü ne işe yarar?
* Tüm programların ayar dosyalarını içerir.
* Bu klasör aynı zamanda başlangıç ve kapanış ta kullanılan programların shell scriptlerini içerir. (/etc/resolv.conf, /etc/logrotate.conf gibi)
* Buradaki ayar dosyaları sistemin ayar dosyalarıdır, kullanıcın ayar dosyaları kendi ev (home) dizininde yer almaktadır.
/dev klasörü ne işe yarar?
* "device" yani aygıt dosyalarını içerir.
* Bu aygıtlar, terminal aygıtları, usb aygıtları veya sisteme takılan herhangi bir aygıtı içerebilir.
* Örneğin: Sisteme takılan ilk harddisk burada "/dev/sda" şeklinde görünür.
* Örneğin: /dev/tty1, /dev/usbmon0
* Burada sanal sürücülerde bulunur. Örneğin "/dev/null" gibi. Yada "/dev/random/ gibi (görevi rastgele sayılar üretmektir.)
/proc klasörü ne işe yarar?
* "process", yani sistem bilgilerini içerir.
* Burada gerçek olmayan (yalancı) dosyalar bulunur çalışan işlemler ile ilgili.. Örneğin /proc/{pid} çalışan işlemi id ile gösterebileceği bilgileri içerir.
* Sistem bilgileri ve kaynakları ile ilgili sanal dosyalar içerir. (Bilgiler yazı iledir.) Örnek olarak: "/proc/uptime".
/var klasörü ne işe yarar?
* "variable", yani değişken dosyaları burada bulunur.
* Sistem /usr ile ilgili bilgileri /var altına yazar.
* Bu klasör genelde sadece "read-only" yani sadece okunabilirdir.
* Özetle kullandıkça büyüyecek dosyalar burada bulunur.
* Yani bir mağazanın güvenlik kameraları gibi, sadece herşeyi kaydeder.
* Örnek olarak: sistem kayıt dosyaları (/var/log), paketler ve veritabanı dosyaları, (/var/lib), e-postalar, (/var/mail), yazıcı sırası (/var/spool), kilit dosyaları (/var/lock), geçici dosyalar (/var/tmp)
/tmp klasörü ne işe yarar?
* "Temporary", Yani sistem ve kullanıcılar tarafından oluşturulan geçici dosyalar bulunur.
* Bu klasördeki dosyalar sistem yeniden başladığında silinirler.
/usr klasörü ne işe yarar?
* "user", binary leri, kütüphaneleri, belgeleri ve ikinci kademe (second level) programların kaynak kodlarını içerir.
* "usr/bin" kullanıcı programlarının binary dosyalarını içerir. Normal bin klasöründe bulamadığınız dosyaları /usr/bin de bulmanız mümkündür. Örneğin: at,awk,cc,less,scp
* "usr/sbin" ise normal sbin klasöründe bulamadağınız dosyaları bulundurur. Örneğin: atd, cron, sshd, useradd, userdel
* "usr/lib" ise "/usr/bin" ve "/usr/sbin" klasörleri için kütüphane dosyalarını içerir.
* "/usr/local ise source dan install ettiğiniz programları içerir. Örneğin: apacheyi kaynak kodundan yüklediğinizde klasörü şu şekilde olacaktır: "/usr/local/apache2"
/home klasörü ne işe yarar?
* Tüm Kullanıcıların "home" yani ev dizinini içerir.
* Örneğin: /home/john, /home/nikita
* Bu dizinin içinde kullanıcıların isimleriyle oluşturulmuş klasörler vardır. Bu klasörlerin içinde kullanıcının ayarları ve dökümanları yer almaktadır.
/boot klasörü ne işe yarar?
* boot (açılış) ile ilgili dosyaları içerir.
* Örneğin Grup açılış dosyaları burada yer alır.
* kernel initrd, vmlinux, grup dosyaları burada yer alır.
* Örneğin: initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic gibi.
/lib klasörü ne işe yarar?
* "library" den gelmektedir.
* /bin/ ve /sbin/ in kullanacağı gerekli kütüphane dosyaları yer almaktadır.
* Kütüphane dosyaları ld, lib, so, gibi dosyalardır.
* örneğin: libncurses.so.5.7 yada ld-2.11.1.so gibi.
/opt klasörü ne işe yarar?
* "optional" dan gelmektedir.
* Çeşitli kaynakların eklenti programları bulunur.
* Eklenti dosyaları ya "/opt/" yada "/opt/" un altındaki alt klasörlerle bulunur.
/mnt klasörü ne işe yarar?
* Sistem yöneticisinin kullanabileceği bağlantı noktasıdır. (Hard disk vs mount etmek için.
* Yada sisteme windows sürücü bağlamak istiyorsunuz bu klasör altına bağlayabilirsiniz. (Heryere bağlayabilecekken)
/media klasörü ne işe yarar?
* Çıkarılabilir yerler için geçici bağlantı noktasıdır.
* Örneğin /media/cdrom CD-ROM için, /media/floppy floppy ler için, /media/cdrecorder CD yazıcılar için.
/srv klasörü ne işe yarar?
* "service", yani servis ile ilgili bilgiler bulunur.
* Örneğin /srv/cvs, cvs ile ilgili bilgiler bulunur.
* Örneğin apache kullanıyorsunuz, websiteniz ile ilgili dosyalar burada yer alır.
/cdrom klasörü ne işe yarar?
* Aslında bulunmaması gereken bir klasördür. (Artık yeri değiştiği için)
* Yinede bazı linux sürümlerinde yer alır.
* Sisteme cdrom takıldığında bu klasörden ulaşılabilmekteydi önceden.
* Yeni sisteme göre yeni yeri /media/cdrom dur.
/lost+found klasörü ne işe yarar?
* "Geri dönüştürülen dosyalar" şeklinde çevirebiliriz.
* Sistem hata nedeniyle veya herhangi bir sebepten kapandığında, veya hata verdiğinde yarım kalan işlem ile ilgili dosyaları burada bulabiliriz. Böylelikle herhangi bir hatada dosya kaybımız en aza indirgenmiş olur.
/run klasörü ne işe yarar?
* Yeni çıkan bir klasördür. Socket ve pid (process id) bilgileri içerir. Yani girişler ve program id leri bilgilerini diyebiliriz. (Bu klasör yerine /tmp kullanılabilirdi fakat tmp de herşey silinebileceği için /run klasörü ortaya çıkmıştır.)
/selinux klasörü ne işe yarar?
* Eğer SElinux kullanıyorsanız (fedora, red hat vs.) bu klasörü görebilirsiniz. Bu selinux ile ilgili dosyaları içerir. Görevi "/proc" klasörü ile aynıdır. Her linux sürümünde bu klasör olmadığını tekrar belirteyim.