Linux Snap ve Döngü Aygıtları

Merhabalar, uzun süredir bir yazı yayımlamadım. Bunun nedeni kendimi, bir yazı yazmak için konu belirlemek, bu konu üzerinde araştırma yapmak, neyi nasıl yazacağımı planlamak ve yazıyı oluşturmak gibi benim için uğraştırıcı bir süreci tamamlamak zorunda hissetmemden kaynaklanıyor. Bu yazıda bu süreci atlayıp detay araştırma yapmadan kısa bir araştırma sonucu elde ettiğim bilgileri aklıma ilk geldiği gibi yazacağım. Belki bundan sonra bu şekilde devam ederim.

Bu yazımın konusu yeni keşfettiğim bir sistem. Linux kullanıcıları her dağıtımın kendisine ait bir uygulama deposunun olduğunu ve uygulamaların bir çoğunun bu depo aracılığı ile kurulup güncellendiğini bilir. Çoğu zaman kullandığınız programın yeni versiyonunun kullandığınız dağıtımın deposuna girmesi yeni sürümün yayımlanmasında belli bir süre sonra gerçekleşir. Kimi dağıtım daha hızlı bir şekilde yeni versiyonu hazırlarken kimisi biraz daha yavaş olur. Her dağıtımın kurulum paketinin hazırlanması da farklılıklar gösterir. Bu durum linux dünyasında gereksiz bir yük oluşturmaktadır. Uygulamanın sahibinin uygulamayı yayımlaması yetmez birde farklı dağıtımlar için paketleri hazırlaması gerekir. Eğer bunu uygulama geliştiricisi yapmazsa bu görev dağıtım geliştiricilerine kalır. Yeni keşfettiğim sistem bu sorunun önüne geçmek için büyük fırsat. Bu sistemin adı Snapcraft.

Snapcraft

Snapcraft, tıpkı composer,npm ve bower gibi bir paket yöneticisi. Linux sistemler için geliştirilmiş uygulamaların kurulumu güncellenmesi ve sistemden kaldırılması işlemlerini kolaylıkla yapmamızı sağlıyor ve popüler Linux dağıtımları tarafından destekleniyor. Snap Destekleyen Dağıtımlar

Bir uygulama kurmak için aşağıdaki gibi bir komutu çalıştırmanız yeterli (önr. libreoffice kurulumu):

[bash]sudo snap install libreoffice[/bash]

herhangi bir uygulamayı güncellemek için :

[bash]sudo snap refresh libreoffice[/bash]

tüm uygulamaları güncellemek için herhangi bir uygulama ismi vermeden refresh parametresini çalıştırmanız yeterli. Bir uygulamanın snap paketi olup olmadığını kontrol etmek için find parametresini kullanabilirsiniz.

[bash]sudo snap find <uygulama adı>[/bash]

daha fazla komut için şu sayfayı inceleyebilirsiniz: https://www.ubuntu.com/desktop/snappy

Döngü Aygıtları

Snap ile bir uygulama kurduğunuzda dosya yöneticinize yeni aygıtlar eklendiğini göreceksiniz. Bu aygıtlar döngü aygıtları olarak isimlendirilmekte (/dev/loop). Snap ile bir uygulama kurulumu yaptığınızda bu uygulama bilgisayarınıza yeni bir aygıtmış gibi kurulmaktadır. Gördüğünüz bu döngü aygıtları kurduğunuz programlara ait dosyaların bulunduğu birer flash bellek gibi bilgisayarınıza bağlanmış halidir.

Görüntü kirliliğinin önüne geçmek için bu aygıtları dosya yöneticinizde gizleyebilirsiniz.

Döngü aygıtı gizle

Döngü aygıtları hakkında daha fazla bilgi için : https://www.wikiwand.com/en/Loop_device

Devam

Ubuntu Swap (Takas) alanı oluşturma

Bilgisayarınızın veya sunucunuzun daha aktif çalışması ve hafıza kullanımından kaynaklı sorunları önlemek için kullanılacak en iyi yöntem swap (takas) alanı oluşturmaktır. Swap alanı, RAM miktarı ihtiyacı karşılamadığı durumlarda kullanmak için işletim sisteminin hard disk üzerinde geçici olarak kullandığı alandır. Kısacası bu alan size kullanmak için daha büyük RAM kapasitesi sağlamaktadır.

RAM ve Hard Disk yapıları farklı olduğundan ve Hard Disk in RAM kadar hızlı veri okuma vede yazma hızı olmadığından dolayı Swap alanında kullanılan veriler RAM e göre daha yavaş olacaktır. Swap alanı kullandığınızda sistemini hafıza yatersizliğinden dolayı hata vermek yetine biraz yavaşta olsa işlemi yapmaya devam edecektir.

[box type="info"]Klasik hard disklerde Swap alanı oluşturmak tavsiye edilse de SSD ‘lerde aşırı swap kullanımı SSD bozulma süresini hızlandıracağından, SSD üzerinde Swap alanı oluşturmak tavsiye edilmemektedir.[/box]

Swap (Takas) Alanı Kontrolü

İlk önce sistemimizde swap (takas) alanının olup olmadığını kontrol etmek için

[bash]sudo swapon -s [/bash]

komutunu çalıştırıyoruz. Eğer aşağıdaki başlıkların altında herhangi bir içerik yoksa swap alanı ayarlanmamış demektir.

[box]Filename Type Size Used Priority[/box]

Swap alanının olup olmadığının bu komut dışında

[bash]free -m[/bash]

ve

[bash]top[/bash]

komutlarıyla da öğrenebilirsiniz.Bu komutların çıktılarında kullanılan ve toplam swap alanı miktarı gösterilir. Eğer bu değer 0 ilse swap alanı ayarlanmamış demektir.

Disk Bölümleri Boyut Kontrolü

Genel olarak swap (takas) alanı ayrılmış bir disk bölümü ile oluşturulur fakat bir bölüm ayırmak her zaman mümkün olmayabilir. Biz daha basit bir yöntem olarak var olan bir disk bölümü üzerinde swap alanı oluşturacağız. Bu işlemi yapmadan önce disk bölümümüzde yeterli alan olup olmadığını kontrol edelim. Bunun için

[bash]df -h [/bash]

komutunu çalıştırarak disk kullanımını görüyoruz.

[box]udev 1,9G 0 1,9G 0% /dev
tmpfs 392M 6,5M 386M 2% /run
/dev/sda2 40G 19G 19G 50% /
tmpfs 2,0G 83M 1,9G 5% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 2,0G 0 2,0G 0% /sys/fs/cgroup
/dev/sda5 197G 173G 24G 88% /media/Depo
tmpfs 392M 0 392M 0% /run/user/117
tmpfs 392M 16K 392M 1% /run/user/1000[/box]

Yukarıda kırmızı renkle gösterdiğim alan sistemimde Ubuntu’nun kurulu olduğu bölüm. 19GB boş alan olduğu görülmekte. Bu alan swap oluşturmak için uygun bir alan. İhtiyaçlarınıza göre Swap alanı için istediğiniz boyutu belirleyebilirsiniz. Genel olarak sistemdeki RAM miktarı ile aynı olacak şekilde ayarlanması önerilmektedir. Mesela 4GB RAM e sahip bir sistem için 4GB swap alanı oluşturulabilir.

Swap Alanı Oluşturma

Swap (takas) alanımızın olmadığını ve diskimizde yeterli boş alanı olduğunu belirlediğimize göre artık swap dosyasını oluşturabiliriz. Bu işlem için [highlight]fallocate[/highlight] uygulamasını kullanarak root(/) dizininde swapfile isimi ile swap dosyamızı oluşturacağız. Bunun için

[bash]sudo fallocate -l 4G /swapfile[/bash]

komutunu çalıştırıyoruz. Dosyanın oluşup oluşmadığını test etmek için

[bash]ls -lh /swapfile[/bash]

komutunu çalıştırıyoruz. Eğer aşağıdaki gibi bir çıktı alıyorsanız swapfile oluşmuş demektir.

[box]-rw-r–r– 1 root root 4.0G Apr 28 17:19 /swapfile[/box]

Swap Alanını Aktif Etme

Swap (takas) dosyasını oluşturduk fakat sistemimiz bu dosyanın swap alanı olarak kullanılacağını hala bilmiyor. Bu yüzden sistemimize bu dosyanın swap alanı olarak kullanacağını belirtmeliyiz. Bu işlemi yapmadan önce swap dosyasının sadece yetkili kullanıcı tarafından okunabilecek şekilde ayarlamalıyız. Bunun için ;

[bash]sudo chmod 600 /swapfile[/bash]

komutunu çalıştırıyoruz. Sonrasında aşağıdaki kodu çalıştırdığımızda

[bash]ls -lh /swapfile[/bash]

aşağıdaki çıktıyı alıyorsan yetkilendirme işlemi yapılmış demektir.

[box]-rw——- 1 root root 4.0G Apr 28 17:19 /swapfile[/box]

Bu çıktı hakkında daha fazla bilgi edinmek için Dosya İzinleri – Linux ve Dosya sahibi ve grubu -Linux yazılarını inceleyebilirsiniz.

Artık dosyamız daha güvenli. Şimdi sisteme bu dosyanın swap alanı olarak kullanılacağını belirtebiliriz. Bunun için :

[bash]sudo mkswap /swapfile[/bash]

komutunu çalıştırıyoruz. Aşağıdaki gibi bir çıktı aldıysak bu dosya artık swap alanı olarak tanımlanmış demektir.

[box]Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=e2f1e9cf-c0a9-4ed4-b8ab-714b8a7d6944[/box] [bash]sudo swapon /swapfile[/bash]

komutu ile swap alanını aktif hale getiriyoruz. Artık swap alanı kullanılabilir durumda, ilk başlıktaki swap alanı kontrol yöntemlerini kullanarak swap alanını görebiliriz. ÖRN:

[bash]free -m [/bash] [box]

             total       used       free     shared    buffers     cached
Mem:          3953        101       3851          0          5         30
-/+ buffers/cache:         66       3887
Swap:         4095          0       4095

[/box]

Swap Alanını Kalıcı Olarak Ayarlamak

Swap (takas) alanımızı oluşturduk ve sistemin kullanması için ayarladık fakat bu yaptığımız işlemler kalıcı değil. Yani sistemimizi yeniden başlattığımızda swap alanı kullanımda olmayacak. Swap alanını kalıcı olarak ayarlamak için [highlight]fstab[/highlight] dosyasını kullanacağız.

Bu dosya sistem açılırken hangi disk bölümlerinin bağlanacağını belirlememize yarıyor.

[bash]sudo nano /etc/fstab[/bash]

komutu ile dosyamızı açalım ve en alt satıra

[bash]/swapfile none swap sw 0 0[/bash]

satırını ekleyin ve kaydederek kapatın. Artık sitem açılışında swap alanı da otomatik olarak hazır hale gelecektir.

 

Kaynak: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04

Devam

Linux Zaman Sunucusu Ayarlama

Kişisel bilgisayarlarımızın yada sunucularımızın iç saatleri atom saatleri kadar kesin bir doğrulukla çalışmamaktadır. Bu durum uzun vadede dünya saatiyle farklılıklar oluşmasına neden olmaktadır. Bu farklılığı gidermek için ağ zaman protokolü (Network Time Protocol) kullanılmaktadır. Ağ Zaman Protokolü sayesinde sistemlerimiz saat bilgisini ortak bir sunucudan alır. Bu sayede saatte oluşacak farklılıkların önüne geçilmiş olur.

Ubuntu işletim sisteminde Network Time Protocol(NTP) ayarlaması yapmak için ilk önce ntp uygulamasını kurmamız gerekiyor. Bunun için :

[bash]apt-get install ntp ntpdate[/bash]

komutunu çalıştırıyoruz. Kurulumu yaptıktan sonra sunucumuzun hangi NTP sunucusundan verileri alacağını belirlemek için :

[bash]ntpdate time.ume.tubitak.gov.tr

service ntp restart[/bash]

komutlarını çalıştırıyoruz. Birinci komut sayesinde sunucumuz zaman bilgisini tubitak sunucusundan sağlayacak. İkinci komut ile sunucumuzdaki NTP servisini ayarların aktif olması için  yeniden  başlatıyoruz. Test için

[bash]date[/bash]

komutunu çalıştıra bilirsiniz. Doğru sonuç için sunucunuzun zaman alanının (timezone) Europa/Istanbul olarak ayarlamayı unutmayın. Time Zone ayarı için

[bash]tzselect[/bash]

komutunu kullanabilirsiniz.

Bu işlemlerden sonra seçim dolayısıyla ertelen saat güncellemesi sonucu oluşacak sorunları yaşamamış olursunuz.

Devam

Ubuntu LAMP server kurulumu

LAMP, bir web sunucusunun temel bileşenleri olan Linux, Apache, Mysql ve PHP bileşenlerinin ilk harflerinden oluşan bir kısaltmadır. Linux web sunucusunun üzerinde çalıştırılacağı işletim sistemi, Apache linux işletim sisteminde çalışacak web sunucusu, Mysql web sitelerinin kullanacağı ilişkisel veri tabanı ve PHP de web sitelerinin kodlanmasında kullanılan sunucu tabanlı programlama dili olarak tanımlanabilir.

Günümüzde en çok tercih edilen Linux dağıtımı olan Ubuntu’ da lamp server ı tek bir komutla kurabilirsiniz. Bunun için konsole programını  açarak aşağıdaki komutu yazın ve çalıştırın.

[bash]sudo apt-get install lamp-server^[/bash]

Bu komutu çalıştırdıktan sonra gerekli paketler indirilecek ve kurulacaktır. Kurulum sırasında MYSQL sunucusu yetkili kullanıcısına(root) bir şifre tanımlamanızı isteyecektir.

mysqlroot

istediğiniz şifreyi yazarak enter a basın ve karşınıza gelen şifre doğrulama ekranına şifreyi  tekrar yazarak enter a basın. Şifrei tanımladıktan sonra geri kalan paketlerde kurulacak ve LAMP SERVER kurulmuş olacaktır.

Web tarayıcınızda adres çubuğuna “localhost” yazdığınızda karşınıza aşağıdaki sayfa geliyorsa apache kurulumunu z tamamlanmış demektir.

apacheiswork

Artık /var/www/html/ dizinine sitenizin dosyalarını kopyalayarak sitenizi localhost adresinde çalıştırabilirsiniz.

Devam

(K)Ubuntu otomatik disk bağlama(mount)

Windows ve linux işletim sistemlerini aynı bilgisayarda kullananlar çoğunlukta olmak üzere bir çok bilgisayar kullanıcısı sabit diskini  bölümlere ayırır ve bir bölümü sistemlar bozulduğunda format sonrası silinmemesi için verilerini saklamak için kullanır. Ben işletim sistemlerindeki  masaüstü, belgelerim, videolar, indirilenler gibi klasörleri işletim sisteminin kurulu olduğu bölüm yerine ayırdığım diğer bölümde saklıyorum. Bu sayede herhangi bir sorunda kişisel verilerime herhangi bir sıkıntı olmuyor.

Windows işletim sistemi  başlangıçta dosya sistemini  okuyabildiği tüm disklere otomatik olarak erişim sağlıyor fakat linux sistemler sadece kullanıcının izin verdiği disklere erişebiliyor. Bunu için başlangıçta otomatik olarak bağlanmasını istediğiniz bölümü belirtmemiz gerekiyor. Kubuntu 14 de bu işlem için sistem ayarlarında bir bölüm bulunuyor fakat Kubuntu 15 de bu bölüm yok bunun için bu işlemi konsol kullanarak ufak bir kaç işlemle halletmemiz gerekiyor.

İlk önce sistemdeki sabit disk bölümlerini  görmek ve uid numaralarını almak için :

[bash]sudo blkid[/bash]

 

komutunu yazıyoruz ve sabit disk bölümlerini listeliyoruz:

[bash]/dev/sda1: LABEL="WinRE" UUID="A6B66E4CB66E1CD5" TYPE="ntfs" PARTUUID="e0a11e1f-01"
/dev/sda2: UUID="ee7433be-6f11-470a-a102-17b6504f6607" TYPE="ext4" PARTUUID="e0a11e1f-02"
/dev/sda3: UUID="E0FA3EDEFA3EB120" TYPE="ntfs" PARTUUID="e0a11e1f-03"
/dev/sda5: LABEL="Depo" UUID="8A12441812440C1F" TYPE="ntfs" PARTUUID="e0a11e1f-05"
[/bash]

 

Benim dosyalarım Depo isimli bölümde olduğu için bu diskin uuid numarasını kopyalıyorum ve aşağıdaki komutu yazarak başlangıçta bağlanacak bölümlerin listesini editör ile açıyorum:

[bash]sudo nano /etc/fstab[/bash]

 

açılan dosyanın en sonuna kopyaladığım uuid numarasını disk bölümünün yolunu disk bölümünün tipini  yazıyorum ve  ctrl+x e tuşlarına basarak dosyayı kaydediyorum:

[bash]# /etc/fstab: static file system information.
#
# Use ‘blkid’ to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=ee7433be-6f11-470a-a102-17b6504f6607 / ext4 errors=remount-ro 0 1
UUID=8A12441812440C1F /media/Depo ntfs
[/bash]

bu işlemlerden sonra bilgisayarı yeniden açtığınızda eklediğiniz disk bölümü de otomatik olarak bağlanmış olacaktır.

 

 

Devam