Aralık 1 2021

Bilmende Fayda Var (Linux Tips)

Bak bu yazıda bir sürü şey var. Gerçek diyorum. Okuyabilecek kadar dayanabilirsen senin için çok iyi olur, çok da iyi güzel olur. Lakin ki öyle de değildir. Kimsenin process’ ine herkes karışamaz.

Kill the process be hacı beybi!
ps ax | grep <kapanacak_uygulama_adı> | grep -v grep | awk '{print $1}' | xargs kill

Sürekli çalıştırıp ardından düzenleme yapmak için kapatmanız gereken bir scriptiniz varsa yukardaki komut satırı sizi büyük bir dertten kurtarabilir.

Örneğin servis.py isimli dosyayla sürekli uğraşmanız gerekmekte. Adı üstünde “servis” belli ki arka planda sürekli çalışacak ve hiç kapanmayacak. Taa ki siz isteyene kadar. Olur da kapatmak gerekirse yukardaki gibi bir satırlık kod sizi arka planda çalışan tüm PID’ leri bulup tek tek kill <pid> komutu gönderme zahmetinden kurtarıyor.

Şimdi bu satırı biraz açalım. Açalım ki bize de yazmaya değer bir yazı çıksın 🙂

ps ax

Linux kullananlar zaten biliyordur. Yeni başlayanlar için kopya vereyim “ps” (process / işlem). Yani sistemde çalışan herşeyi göster bakayım komutu.

Sonrasında gelen “a” (show process for ALL users). Yani herkesin çalışmakta olan tüm işlerini göster. “-a” değil sakın karıştırmayın.

Şimdi geldi bilinmeyeni bilmeye: “x”(also show processes not attached to a terminal). Yani arka planda çalışıp görükmeyenleri de gösteriver.

Buraya kadar ne oldu? Arkaplanda çalışan uygulamalar da dahil kimsenin gizlisi saklısı kalmadı. Herşey meydanda. Tabii bu kadar çok olunca bir şekilde ayıklamak lazım. İşte ikinci komut :

grep <kapanacak_uygulama_adı>

grep: Grep, belirtilen bir kalıpla eşleşme içeren satırlar için bir veya daha fazla girdi dosyası arar ve eşleşen satırların çıktısını verir. Yani kısaca aradığın kelime / kelime grubu / sayısal değer/ ne yazdıysan işte onu konsol çıktılarında arar. Aslında bu doğru tabir de değil. grep’ in kullanım klavuzunu zahmet edip biraz okursanız daha net anlarsınız.

Sıkı durun 3. komut da GREP. sıkıldıkça grep, her derde grep, yaşasın grep!!!

grep -v grep 

Ne demiş bir klavye fedaisi: Grep: Grep’ i Grep’le, Grep’çe, Grep’ li ya da Grep’siz arama çabasıdır. İşte bu sözü kendimize düstur ediniyoruz ve konsol çıktımızdaki grep’ li satırları da temizliyoruz. Bunun sonucunda sadece kapatmak istediğimiz uygulama ile ilgili bilgiler ekranda kalıyor.

4. Komut için esas duruşa geçin çünkü AWK geliyor!

awk '{print $1}' 

Şimdi yazacaklarım AWK’ a bir küfür gibi olacak ama en basit haliyle awk: satırlar arasındaki boşlukları kullanarak kelimeleri ayrıştırır. LPIC sınavında bile çıkacak kadar önemli bir komuttur. Bir de yanında olmazsa olmazı SED komutu vardır. Bu ikisini bil, sonra tüm Marvel Evreni, DC Evreni ne kadar süper kahraman varsa tokatla. Türk işi tahin pekmez gibidir ikisi. GOD Mode ON!!! Şu örnekle daha iyi anlarsınız ne demek istediğimi:

echo "selam dostum naber?" | awk '{print $2}'
dostum

echo ile bir cümle yazdırdım ekrana ve çıktısındaki ikinci kelimeyi ayıkladım. Sonuc: “dostum” kelimesi geldi ekrana. Eğer print $2 yerine print $0 yazsaydım bu sefer “selam dostum naber?” yazacaktı çünkü $0 çıktının tümünü verir. Siz de çeşitli denemeler yaparak daha iyi kavrayabilirsiniz bu komutu. Ben en çok csv dosyalarında istediğim sütunlara hızlıca bakmak için kullanırım. echo ” selam dostum naber?” | awk ‘{print $1″ “$3}’ bakın bakalım ne geliyor ekrana?

Kısa bir Awk güzellemesinden sonra konumuz dönelim. Komuttaki awk ‘{print $1}’ komutu, grep ile ayıkladığımız çalışan işlemlere ait PID numaralarını (process ID) döndürmekte.

xargs kill

İşe geldik sona Xargs: Xargs ile bir komuttan gelen standart çıktıyı başka bir komuta argüman olarak yönlendirebilirsiniz. Bizim örnekte bu çıktılar PID listesi olacak: İşte feraset, işte firefox’ a ait PID’ ler!.

ps ax | grep firefox | grep -v grep | awk '{print $1}'
10368
10432
10464
10523
10586
10618
10689
10847
13173
17819
17949
18056
18395

xargs kill ile yukarda gördüğünüz tüm PID numaraları kill komutuna argüman olarak gitmekte ve kaç tane PID varsa o kadar sayıda kill komutu çalışarak ortalığın kill’ına koymakta. Kill’em All hadi sağlıcakla kalın. Eyyorlamam bu kadar.

Category: Genel | Bilmende Fayda Var (Linux Tips) için yorumlar kapalı
Mayıs 27 2021

Bilmende Fayda Var (Linux Tips)

dd ile diske imaj atarken hem kör, hem sağır üstelik ebleh olmamanız için öncelikle sisteminize pv komutunu yüklemenizi şiddetle tavsiye ederim. Ardından aşağıdaki komutu kullanarak olanı biteni daha net takip edebilirsiniz.

(pv -n /dev/sda | dd of=/dev/sdb bs=128M conv=notrunc,noerror) 2&gt;&amp;1 | dialog --gauge "DD komutu calisiyor. (Diskten Diske), az bi durun..." 10 70 0
Category: Genel | LEAVE A COMMENT
Mayıs 27 2021

Bilmende Fayda Var (Ubuntu Tips)

Yeni bir ubuntu server kurduktan yaptıktan sonra sistemde bir sürü gereksiz servis çalışmaya başlıyor. Bunlardan biri de SNAP. Snap diyince hemen snapchat diye düşünmeyin. Bu ürün bir paket yöneticisidir. Docker gibi ama daha çok gui uygulamalar için düşünülmüş bir teknoloji. Minimal bir ubuntu server kurmak istediğinizde hiç bir paket seşmeseniz bile snap otomatik olarak kurulu gelmektedir. SNAP’ in faydalı olduğunu ve uygulamanın bağımlılıkları ile uğraşmama gibi avantajları olduğunu düşünenler olabilir. Fakat Alpine gibi en az kaynağı tüketecek bir ubuntu sunucu kurmak niyetindeyseniz SNAP ve beraberinde gelen paketlerden kurtulmanızı öneririm.

SNAP
Snapcraft

Snap’ i sisteminizden kaldırmak için aşağıdaki komutlarla hızlı bir şekilde işinizi tamamlayabilirsiniz.

sudo snap remove $(snap list | awk '!/^Name/ {print $1}')
sudo apt remove --purge -y snapd

Yukardaki komutları kısaca açıklayalım:

sudo snap remove $(snap list | awk '!/^Name/ {print $1}')

Snap list komutunun çıktısını AWK ile filtreleyelim ve “Name” ile başlayan satır hariç tüm satırları bir psudo değişkene atayalım. Sonrasında snap ile yüklenmiş tüm paketleri kaldırmak için sudo snap remove <paket_adı> komutu ile tek tek paketleri kaldırmak yerine aynı komutu değişken içindeki tüm paket adları için tekrarlayalım.

sudo apt remove --purge -y snapd

Ardından snapd paketini sistemden kadırıp kurulum dosyalarını da temizleyelim. Oh mis çiçek gibi oldu.

Category: Genel | LEAVE A COMMENT
Mayıs 20 2021

Bilmende Fayda Var (Arch Tips)

pacman -Rs $(pacman -Qqtd)
Arch Linux

Yukardaki komut ile Orphaned (öz Türkçesi “pij, gayri müştakil” yani sildikten sonra bağımlısı olduğu ama artık gereksiz olan) dosyaları temizleyerek sisteminizde fazladan yer açabilirsiniz 😉

Category: Genel | LEAVE A COMMENT
Ekim 30 2020

İnceldiği yerden kopsun! Screen var :)

Sizin de SSH bağlantılarınız sürekli kopuyor ve yaptığınız işler yarıda mı kalıyor? Artık koparsa kopsun çünkü screen diye bir mucize var.

Screen komutu kullanarak yeni bir shell oturumu açtığınızda, screen arkada yeni bir process oluşturur bu sayede bağlantınız koptuğundaki session arkaplanda çalışmaya devam eder. Özellikle uzak sunucuda büyük boyutlu dosya aktarımı yaptığınız işlerde oturumun kapanmaması adına çok kullanışlı bir araçtır screen.

Kurulumu

Neredeyse tüm sistemlerde screen paketi kendi repolarında bulunduğu için ekstra bir repo kurmanıza gerek yoktur. RPM bazlı sistemlerde aşağıdaki komutla kurulabilir.

# yum install screen

Kullanımı

# screen

Komutu ile yeni bir shell oturumu oluşturulur. Bu komutdan sonra yaptığınız tüm işlemler bu process altında devam eder. Deattached etmek istediğinizde <CTRL> + a + d kombinasyonunu kullanabilirsiniz. Bu komutdan sonra ilk bağlantı yaptığınız oturuma geri dönersiniz.

# screen -list
There are screens on:
30167.pts-0.zabbix(Detached)
30199.pts-0.zabbix(Detached)
2 Sockets in /var/run/screen/S-root.

Komutu ile açmış olduğunuz oturumları listeleyebilirsiniz. Satır başındaki numaralar o screen oturumuna ait ID’ yi simgeler.

# screen -a -r 30167

Komutu ile 30167 id’ li oturumu geri çağırabilirsiniz.

Oturumlar arasında gezinmek için aşağıdaki komutları kullanabilirisiniz.

<CTRL> + a + n : Bir sonraki oturuma bağlanır.
<CTRL> + a + p : Bir önceki oturuma bağlanır.
<CTRL> + a + x : Seçilmiş olan oturumu ekrana sabitler.
exit : Screen'i kapatır.

Detached olan bir oturumlardan tamamen çıkmak için bu komut setini kullanabilirsiniz.

screen -ls | grep '(Detached)' | awk '{print $1}' | xargs -I % -t screen -X -S % quit

Yukardakine benzer bir komut setinin açıklamasını buradaki yazımdan okuyabilirsiniz.

Hadi ben kaçtım. Arrivederci!…

Category: Genel | LEAVE A COMMENT
Kasım 5 2013

İtalya bir rüyadır… 3 (VENEDİK)

Yolculuk…

Floransa’da kalmaya doyamadığımız tasarım dağ otelimizden sabah 6.00’da ayrıldık. Sabah uyandığımızda gün doğmaya hazırlanıyordu. Toscana manzarası ile vedalaşıp arabamıza atladık. Sabahı öyle güzel ki… Dağdan kıvrıla kıvrıla inerken camları sonuna kadar açıyoruz, dere kenarları, ağaçların kökleri ve yeşillikleri takip ederek bol bol oksijen depoluyoruz. Bugün planımızda Venedik var. Venedik, yolculuğumuzda en çok gitmeyi istediğimiz ancak yolculuğumuzun son durağı olmasıyla bize bitecek tatilimizi hatırlatan bir cennet köşesiydi. Yaklaşık 3 saatlik bir yolculuk dümdüz otobanlarda geçti. İlginçtir. Kamyonlar ardarda yığılmış ve herkes kendi şeridindeydi. Asla şerit ihlali yapmadılar ve böylece varmayı planladığımız sürede otelimize varabildik. Daha önce otel araştırırken Venedik’te kanallara açılan otellerin çok pahalı olduğunu görmüştük. Bu nedenle booking.com üzerinden yaptığımız araştırmada tren istasyona 2 dakika mesafede bir otel keşfetmiştik. Hotel Floris (Mestre bölgesinde ve hava alanına taksiyle 15 dakikada varabiliyorsunuz. Otel personeli taksiyi istediğiniz zaman ayarlıyor. Otel ve Marco Polo havaalanı arası taksi ile 35 euro). Tertemiz, yerleşmiş bir mahalle içerisinde, her ihtiyacınızı karşılayabileceğiniz bir süpermarketin tam karşısında yer alıyordu. Continue reading

Category: Genel | LEAVE A COMMENT
Ekim 27 2013

1 Dilim Ekmek

 

Bir dilim ekmek zeytinin yağına batırılmazsa içine domates peynir koyup afiyetle yenmezse  kurufasülyenin suyuna bandıra bandıra yenilmezse olur mu? Ekmek arası balığın güzel bir ayvalık tostunun yerini ne tutabilir?

Ekmek hepimizin severek tükettiği her öğünün vazgeçilmezidir. Sıcak bir ekmeğe kim hayır diyebilir ki?

imagesCA7G82IT

Ekmeği çok severiz her gün tüketiriz ama onun hakkında çok az şey biliriz aslında… Continue reading

Category: Genel | LEAVE A COMMENT
Ekim 24 2013

İtalya bir rüyadır…2 (FLORANSA)

Siena’yı düşünüp hayallere dalmak… Nerde kalmıştık… Hmm, en son araba kiralayarak yola çıktığımızdan bahsetmiştim. İstikameti Siena’ya çevirdik. “Yanık kızıl” rengi görmeye can atıyorduk. Özellikle orada çevirilen filmleri düşününce her yerin doğal film seti gibi olduğu ortaçağ kasabasını düşünürken bile heyecanlanmıştık…   Yolculuk… Araba ile yaklaşık 2-2,5 saatte gelebildik. Yolda mola verip ton balıklı sandviçlerimizi yiyip benzin aldık. Bu arada İtalya’da otoyollar müthiş düzgün, ancak otoyol paraları biraz pahalı geldi bize. Siena sokaklarından araba geçmiyor! Bir yerde park edip tabii ki adımlıyorsunuz… Continue reading

Category: Genel | LEAVE A COMMENT
Ekim 24 2013

ATLANTİS (2013)

2013 yapımı olan Atlantis dizisi Yunan Mitolojisi üzerine kurulmuş fantastik bir dünyayı bizlere sunuyor .Macera ve dramın yoğun olduğu hikaye , ana karakter Jason’un Atlantis’e gelmesi ile başlıyor. Atlantis Dizisinin çekimleri Fas ve Galler’ da yapılıyor. Dizi Merlin’ in yerini dolduracak yorumlarını sıklıkla duyabilirsiniz ki haksızda sayılmazlar. İzlemeye değer bir dizi kesinlikle tavsiye ediyorum.

Atlantis_2013_tv_series_titlecard

Continue reading

Category: Genel | LEAVE A COMMENT