Linux redirections cheatsheets

"Bilgi özgür kalsın"
Linux veya GNU/Linux (telaffuz: Lin-uks); Linux çekirdeği ve çeşitli GNU araçları üzerine kurulmuş işletim sistemlerinin genel adıdır. Linux çekirdeği ve GNU araçları açık kaynak kodlu, özgür ve ücretsizdir. Kaynak kodları GNU Genel Kamu Lisansı çerçevesinde özgürce dağıtılabilir, değiştirilebilir ve kullanılabilir.
Bu yazıda QR Kod (EBAQR) özelinde LightDM altyapısı hakkında yaptığım incelemeleri paylaşıyor olacağım. İncelediğim kısmı kadarıyla altyapının büyük kısmında kod emeği olan Bayram Karahan hocamızın emeğine sağlık.
“Sabit kullanıcı (ebaqr) giriş” ve “Kişiye Özel Giriş” giriş seçeneklerinin yer aldığı ETAP sistemlerde lightdm-greeter adlı grafik giriş yöneticisi kullanılıyor. Karşılama ekranını (login) oluşturan python kaynak kodları /usr/share/pardus/pardus-lightdm-greeter dizininde bulunabilir. Aşağıda ekran görüntüsü yer alan QR giriş seçenekleri main.py tarafından yüklenen module/ebaonline.py tarafından sağlanıyor.
Okumaya devam et “ETAP Pardus Programlama Notlarım – 1”Kitap boyunca kullanılan ve anlatılan Raspberry Pi OS bir Linux işletim sistemi dağıtımıdır. Linux ile ihtiyacınız olan her türlü yazılımı ücretsiz olarak alabiliyorken neden lisansların yasal yaptırımları ile uğraşasınız. İhtiyacınız olan bir yazılımı internette aramanıza gerek yok. Linux depoları ihtiyacınız olan tüm yazılımları içerir, tek komutla yüklemenizi ve güncelleştirmenizi sağlar ve bunu yaparken de diğer meşhur işletim sisteminin aksine bilgisayarınızı yeniden başlatmanıza bile gerek yoktur. Linux’ta masaüstü ortamınızı özelleştirerek konforunuzu yükseltebilirsiniz. Birbirinden bağımsız masaüstleri ile ekranınızı çok daha verimli kullanabilirsiniz. Üstelik Linux bunu çok daha az donanım gereksinimi ile yapabilir.
Okumaya devam et “Neden Linux”Baştan şunu söyleyeyim, programcılar ve bilgisayar kullanarak tasarım çalışmaları yapanlar açısından Git kullanmanın çok fazla avantajları var. Git, evvela geriye dönük olarak satır satır kod geçmişini tutuyor. Güzel bir backup ortamı sağlıyor ve aynı zamanda kodda geçmişte yaptığınız tüm değişiklikleri görebiliyorsunuz. Programlama haricinde çalışma yapanlar için de şu açıklamayı yapmakta fayda var; Git metin tabanlı bir kontrol sistemi. Git’i kullanabilmeniz için yaptığınız çalışmaların kaynak dosyaları metin tabanlı olmalı.
Okumaya devam et “Basit Anlatımla: Git/GitHub Kullanımı”SSL (Secure Socket Layer), https gibi güvenli iletişim protokollerinin kullandığı şifreleme altyapısını sağlar. Güvenli bir protokol kullanarak gerçekleştirilen iletişim, her iki tarafta da (istemci ve sunucu) şifrelenerek aktarılır. Bunun için asimetrik şifreleme adı verilen bir yöntem kullanılır. Bu yönteme göre; özel ve açık anahtar adı verilen iki adet anahtar üretilmiştir. Açık anahtar herkesçe erişilebilirdir ve şifrelenmek istenen veri henüz istemci tarafında iken bu anahtar ile şifrelenerek gönderilir. Bu anahtarın şifrelediği veriyi sadece özel anahtar açabilir.
Okumaya devam et “Raspberry Pi’a (Linux) MEB Kök Sertifikası Nasıl Yüklenir?”Linux From Scratch (LFS), Linux işletim sistemin gerekli bileşenlerini bir araya getirerek, yalnızca kullanım amacına yönelik yeni bir işletim sistemi oluşturmaişlemidir.Bu sayede, Linux dağıtımları ile birlikte gelen ve son kullanıcı tarafından kullanılmayacak programlar ve işlevlerin de işletim sistemi içerisinde yer almaması, böylece de performans ve sabit disk üzerinde kaplanan alan açısından da avantaj sağlanmış olmaktadır.Özellikle web sunucusu, dosya sunucusu, e-posta sunucusu, DHCP sunucusu gibi belirli bir amaca hizmet eden bilgisayarlarda üzerinde sadece ilgili programların olduğu bir işletim sistemi kullanmak bu açıdan faydalı olacaktır.
Okumaya devam et “Kendi Linux Dağıtımınızı Oluşturun (LFS – Türkçe Dökümanı)”Android cihazları root’lamaya çalışırken android cihazın açılış sürecini merak ettim ve küçük bir araştırmaya girdim. Sonra büyüdü tabi. Çok şey öğrendim. Öğrendiklerimi bir akış şemasında derli toplu bir hale getirmek isteyince de “Android Boot Process” şeması ortaya çıktı. Şemayı uzmanlarına teyit ettiremedim umarım hatalı bir yerleri yoktur.
Okumaya devam et “Android Boot Aşamaları Diyagramı”Yıllar önce sosyologlar, elemanları eşit düzeyde uzman (yahut cahil) olan bir kitlenin ortalama fikrinin, aynı kitleden tesadüfen seçilen tek elemanın fikrinden daha güvenilir bir gösterge olduğunu keşfetmişler ve adını da Delphi etkisi koymuşlardı.
Özgür ve açık kaynaklı modelde, bu hakların verilmesi iki yükümlülüğü de beraberinde getirir; aynı haklar orjinal çözüm veya iyileştirilmiş sürüm (0.1.2) paylaşıldığında devredilmelidir ve katkıda bulunanlar, herhangi bir sürümü paylaşıldığında belirtilmelidir. Açık kaynaklı model bu haliyle Platon’un Akademia’sının bir devamıdır.
Okumaya devam et “Katedral ve Pazar: Linux’u bir yazılım hayratı haline getiren felsefe hakkında”1 haftadır zaman zaman varnish cache sunucusu, çöküyor
watcheri bunu algılıyor killiyor, buraya kadar bir sorun yok
ama ne hikmetse tekrar başlatmıyor ve servis kapalı kalıyor.
Hata loglarındada birşey görünmüyor, varnish cache alanıda 256mb
okuduğum dökümanlarda cache alanının büyük olduğundan,
sistem swap alanı takası esnasında oluşan bootle neck,
sistemin fiziksel ramı kalmadığından vs olabileceği yazılmış ancak hiç biri
benim için geçerli bir durum değil.
Grep aracı ile email harvesting çok kolay. Aşağıdaki regex filtresi list.csv dosyası içindeki eposta adreslerini ayıklayıp epostalar.txt dosyasına kaydeder.
1 2 3 |
grep -i -o '[A-Z0-9._%+-]\+@[A-Z0-9.-]\+\.[A-Z]\{2,4\}' list.csv > epostalar.txt |
Evde kullandığım kablosuz erişim noktası (U.S Robotics 5451) düzenli aralıklarla kilitlendiği için enerjisini kesip yeniden başlatıyordum. Bu tür paket yönlendirmesi yapan cihazlar zaman zaman kararlılıklarını yitirip yeniden başlatılmaya ihtiyaç duyabiliyor (MODEM/HUB/SWITCH/KABLOSUZ ERİŞİM NOKTASI/ACCESS POINT).
Bunun nedeni hakkında emin olmamakla birlikte iki sebepten şüpheleniyorum;
Raspberry Pi‘nin cronjob’ına aşağıdaki betiği koyup cihazı düzenli aralıklarla yeniden başlatmanın iyi bir fikir olacağını düşündüm.
Linux belleği verimlilik adına en etkin şekilde (belleğin tamamına yakınını) kullanmaya çalışır. Bu nedenle top ve free komutları ile göreceğiniz yüksek bellek kullanım değerleri aslında çalışan programlardan değil önbelleklenmiş verilerden kaynaklanır. Çünkü Linux RAM’in tamamını kullanmaya çalışır. Linux ayrıca yavaş depolama aygıtlarının (flash veya disk) tanımlayıcı verilerini de RAM’de tutar. Çünkü gerektiğinde bu verileri RAM’den okumak çok daha hızlıdır. Linux çekirdeği özel bir proc dosyası ile RAM kullanımı hakkında değerli bilgiler sunar bu dosya /proc/meminfo‘dur.
CloneZilla ağ veya yerel bilgisayar üzerinden disk/bölümleri yedeklemenizi (imaj alma) ve geri yüklemenizi (restore) sağlayan açık kaynak kodlu ücretsiz bir yedekleme yazılımıdır. CloneZilla’nın indirme sayfasına girdiğinizde birkaç değişik sürümün olduğunu göreceksiniz, aşağıdaki tablo size hangi sürümü indireceğiniz konusunda yardımcı olacaktır.
CloneZilla’nın i486 sürümü tüm bilgisayarları boot edebilir (486 ve üzeri bilgisayarlar) fakat 4GB üzerindeki RAM’i görmez. Eğer Intel/AMD 686 üzeri (yani 32bit’lik mimaride) bir bilgisayarınız varsa ve CloneZilla ile 4GB üzeri RAM’i kullanmak istiyorsanız PAE yani uzatılmış fiziksel bellek alanı desteğine sahip sürümü kullanmalısınız bu sürüm ayrıca çok çekirdekli işlemcileri de destekler. Bu yönüyle PAE imaj işlemlerinin daha çabuk gerçekleştirilmesini sağlar.
Clone Zilla’nın Amd64 sürümü de, x86-64 tabanlı bilgisayarlarda çalışmak üzere derlenmiştir. 64 bit’lik bir mimariye sahip bilgisayarınız varsa AMD ve Intel olmasından bağımsız olarak bu sürümü kullanabilirsiniz. Ayrıca bilgisayarınız UEFI bir BIOS’a sahipse (2010 sonrası üretilen bilgisayarlar çoğunlukla UEFI’dir) kullanabileceğiniz tek sürüm AMD64 sürümüdür. Güncel bilgiye şu sayfadan ulaşabilirsiniz:
686 altı bir işlemciniz varsa 64 calısmaz o nedenle ayrı bir sürüm var.
freeSSHd, openSSH ve cygwin openSSH”a göre güzel ve kolay bir alternatif. Windows için sistem tepsisinden ayarları yönetebileceğiniz bir de ayarlama arabirimi bulunuyor. freeSSHd”nın kurulumu nispeten kolay olmasına rağmen kurulum ve temel ayarların, özellikle de putty-keygen ile public key kimlik doğrulamanın anlatıldığı döküman yardımınıza koşabilir.
Putty ile parola girmeden sunucuya SSH bağlantısı açmak için putty.gen ile 2 adet anahtar üreteceğiz. Birbirinin eşleniği olan olan PrivateKey (özel anahtar) ve PublicKey (açık anahtar) adındaki iki anahtardan yararlanacağız. Bu anahtarları üretmek için putty projesi ile birlikte geliştirilen puttygen (key generator) programını kullanacağız.
Okumaya devam et “Putty ile Parolasız SSH Oturumu Açmak”Ters tünel güvenlik duvarı veya nat arkasındaki bilgisayarlara bağlanabilmek için kullanılıyor. İşin ana fikri şu; biz güvenlik duvarı arkasına bir bağlantı açamayabiliriz fakat o bize açabilir. Yani bağlantıyı ilk başlatan karşı taraf olursa bağlantı gerçekleşir. SSH ile ters tünel açmak için -R parametresi kullanılıyor. Bu parametrenin başında öncelikle tünel açılacak karşı tarafın ip:port tanımı yapılıyor. Aşağıdaki şekilden de görebileceğiniz gibi senaryomuzda Bilgisayar-1 ve Bilgisayar-2 söz konusu. Bilgisayar-1 duvar arkasında yer alıyor. Bağlantıyı başlatacak olan da bu bilgisayar. Bu örnekte her iki tarafta da SSH sunucusunun bulunması gerekiyor aksi takdirde tünel açılamayacaktır. Şekli inceleyin.
Okumaya devam et “SSH ile ters tünel açmak (reverse ssh)”vim ile bir kaynak kod açtıktan sonra komut satırına geçin (Esc+Shift+.)
syntax on
komutu verin. Editördeki kaynak kod renklendirilecektir. Bu ayarı kapatmak isterseniz:
syntax off
komutunu verin.
Syntax on komutunu kalıcı yapmak için ev dizininizdeki .vimrc dosyasına (~/.vimrc) syntax on yazıp kaydedin.