Etiket Arşivi linux

bash scripting: Argument list too long error for rm

Bir dizindeki tüm alt klasörler içinde bulunan ve adı align_ ile başlamayan bütün dosyaları silmek istiyordum. Bu işlemi rm */!(align_*) kodu ile yapabiliyorum fakat klasör ve dosya sayısı çok fazla olduğundan dolayı Argument list too long hatası aldım. Bunu çözmek için de aşağıdaki bash scripti hazırladım. Buna benzer bir sorunla karşılaşmışsanız aşağıdaki kodu kendinize göre düzenleyerek kullanabilirsiniz.

#!/bin/bash

for filename in */*; do
	if [[ $filename != *align_* ]]
	then
		rm $filename
	fi
done

 

 

(30.04.2019 tarihinden itibaren toplam 3 kez, bugün 1 kez ziyaret edildi. )

Linux OpenVPN Bağlantısı

OpenVPN bağlantısı yapabilmek için öncelikle sertifika dosyalarına sahip olmanız gerekmektedir. Bu dosyalar aşağıda listelendiği gibidir;

  • ca.crt
  • client.crt
  • client.key
  • client.ovpn
  • ta.key 

Bu dosyaları bir klasöre taşıyın.

OpenVPN programı bilgisayarınızda yüklü değilse aşağıdaki komut ile kuruyoruz.

sudo apt-get install openvpn

Daha sonra sertifika dosyalarının bulunduğu klasör içerisine giriyoruz ve aşağıdaki komutu çalıştırarak vpn bağlantısını kuruyoruz.

sudo openvpn client.ovpn

Bağlanmak istediğim sunucu kullanıcı adı ve şifre istemediğinden dolayı ben otomatik olarak bağlandım. Sunucunuz kullanıcı adı ve şifre istiyor ise size soracaktır.

Ayrıca bağlantı sağlandıktan sonra terminal üzerinde program çalışmaya devam ediyor, arka planda çalışmıyor. Arka planda çalışmasını sağlamak için ben screen programını kullanıyorum. Dolayısıyla bağlantı için aşağıdaki komutu kullanıyorum.

screen sudo openvpn client.ovpn

Screen kullanımı için daha önce yazdığım Linux Screen Programı ve Kullanımı isimle yazıdan yararlanabilirsiniz.

(30.04.2019 tarihinden itibaren toplam 2 kez, bugün 1 kez ziyaret edildi. )

error: no such partition. Entering rescue mode… grub rescue hatası ve çözümü

Windows ile Xubuntu beraber yüklü bilgisayarımda Xubuntu güncellemeden sonra açılmaz hale gelmişti. Bende Windows üzerinden ilgili ext4 partition’ları sildim. Ama bu şekilde silmemek gerekiyormuş. Bilgisayarı yeniden başlattığımda aşağıdaki ekran ile karşılaştım.

error: no such partition. 
Entering rescue mode... 
grub rescue>

grub bir linux yazılımı olmasına rağmen buradaki sorun Windows’ta. Bu sorunu düzeltmek için Windows boot’u onarmak gerekiyor. Bunun için bir Windows 10 kurulum DVD’sine yada usb’sine sahip olmanız gerekiyor. Windows’u onarma ekranına gelip aşağıdaki komutları giriyorsunuz ardından restart ediyorsunuz. Sonrasında Windows’a sorunsuz bir şekilde tekrar giriş yapabilirsiniz.

bootrec/RebuildBcd 
bootrec/fixMbr
bootrec/fixboot
exit

 

(30.04.2019 tarihinden itibaren toplam 40 kez, bugün 1 kez ziyaret edildi. )

Linux / Windows – Youtube’dan mp3 indirme

LINUX İÇİN

Linux’ta bu işlem oldukça basit. Öncelikle youtube-dl adlı programı kuruyoruz.

sudo apt-get install youtube-dl

Kurulumdan sonra bir dizin oluşturup dizin içerisinde aşağıdaki şekilde programı çalıştırıyoruz. Komutun sonundaki linki indireceğiniz mp3’ün linki ile değiştirmeyi unutmayın.

youtube-dl --extract-audio --audio-quality 0 --audio-format mp3 https://www.youtube.com/watch?asdas

WINDOWS İÇİN

Windows’ta ise YoutubeByClick programını kullanabilirsiniz. Programı bağlantıdan indirip kuruyorsunuz. Kurulum aşamasından sonra programı başlatıyorsunuz. Youtube’dan müzik dinlerken o müziği indirmek mi istediniz, sadece linki kopyalıyorsunuz. Kopyalar kopyalamaz küçük bir pencere açılıyor ve mp3 olarak mı yoksa video olarak mı indirmek istediğinizi soruyor. Tıklıyorsunuz ve işlem tamam.

(30.04.2019 tarihinden itibaren toplam 20 kez, bugün 1 kez ziyaret edildi. )

Linux: SSH Keygen public key şifre soruyor – I still getting password prompt with ssh public key authentication

Daha önce linux sunucuya SSH-Keygen ile nasıl şifresiz SSH bağlantısı yapılacağına dair bir yazı yazmıştım. Bugün bir SSH-Keygen ile şifresiz giriş için ayarladığım bir sunucuya bağlanmaya çalıştığımda halen şifre sormaya devam etti. Daha önce karşılaşmamıştım. Problemi ilgili sunucunun authorized_keys dosyasının okuma iznini aşağıdaki şekilde değiştirerek hallettim.

Even I configured a linux server as passwordless SSH by SSH-Keygen, I was still getting password prompt. I solvent the problem as shown below.

chmod 400 ~/.ssh/authorized_keys
No visits yet

Linux Screen Programı ve Kullanımı

Daha önce Tmux ve Terminatör programlarından bahsetmiş, Tmux kullanımı ve komutları konusunda bilgiler vermiştim. Bu yazıda ise Screen programında bahsedeceğim. Screen bir terminal ekranından birden çok terminal ekranı kullanmaya yarar. Tmux ve Terminatör’den farkı ise ekranda sadece bir tane terminal ekranı görürsünüz. Diğer açtığınız terminaller ise arka planda çalışmaya devam eder. Biraz karmaşık gelmiş olabilir ama aslında anlaşılması ve kullanımı çok kolay bir programdır.

Screen’e ihtiyaç duyacağınız en önemli senaryo şu olabilir; ssh bağlantısı ile uzak bir bilgisayar veya sunucuya bağlandınız diyelim. Bir iş başlatacaksınız ama işlem uzun sürecek ve siz işi başlatıp uzak bilgisayarda çalışmaya devam etsin, ben de bilgisayarımı kapatıyım istiyorsunuz. Bu çok normal çünkü bazen şarjınız yetmeyebiliyor, internet paketinden çok yemek istemiyorsunuz yada bulunduğunuz yer dizüstü bilgisayarınızı kullanmaya devam etmek için uygun değil vs. vs. Screen sayesinde işi başlatıyorsunuz. İş çalışmaya devam ederken bilgisayarınızı kapatıyorsunuz. İsterseniz arada bağlanıp kontrol ediyorsunuz. Hatta iş bitince bana mail atsın bile diyebilirsiniz. Bu konu hakkında da bu yazıdan bilgi edinebilirsiniz.

Aşağıdaki komut ile programı kuruyoruz.

sudo apt-get install screen

Kurulum bu kadar. Şimdi ise kullanılmasından bahsedeyim. Diyelim ki screen’de bir python dosyası çalıştıracaksınız. Yapmanız gerek komutun önüne screen eklemek.

screen python dosya.py

Komutu çalıştırdığınızda terminal içerisinde yeni bir terminal açılacak ve dosya çalışmaya başlayacak. Diyelim bu program saatlerce süren bir program bu durumda Ctrl + a + d komutu ile bir önceki ekrana geri dönebilirsiniz. Arka planda program çalışmaya devam edecek.

Çalışan işleri ise screen -ls komutu ile görebilirsiniz. Aşağıdaki gibi bir görüntüyle karşılaşırsınız.

Bu işe geri dönmek için işin ID numarasını kullanacağız.

screen -r 31935

Bu komutla işin çalıştığı terminale geçmiş olduk. Screen -ls ile çalışan işlere baktığımızda şu an için bir iş görmekteyiz. Bu sebepten dolayı ID numarasını kullanmadan direkt olarak screen -r komutunu da kullanabilirdik.

Screen’i aynı andan birden fazla iş için kullanabiliriz.

Peki Screen’de çalışan bir işi öldürmek istiyorsak ne yapacağız. Bu durumda aşağıdaki komut satırını kullanacağız.

screen -X -S 31935 kill

Normalde Screen’de bir iş çalıştırıldığında yeni Screen terminali attach edilmiş olarak açılır ve siz Ctrl + a + d ile bu işi detach edersiniz. Direkt olarak detach edilmiş bir iş başlatmak için ise aşağıdaki komut satırını kullanabiliriz.

 screen -dm bash -c "python dosya.py

Terminalde attach edilmiş olarak kalmış bir işi komut satırından detach etmek için aşağıdaki komut dizinini kullabilirsiniz. Ssh bağlantısı kullanırken böyle bir durumla karşı karşıya kalmış olabilirsiniz.

screen -d 31935

Screen ile çalıştırılmış bütün işleri öldürmek için aşağıdaki komutu kullabilirsiniz.

killall screen

Buraya kadar kullandığım kodlar Screen’in temel kullanımı için yeterlidir. Kullanım ihtiyacı duyduğum kodları buraya eklemeye devam edeceğim.

 

(30.04.2019 tarihinden itibaren toplam 14 kez, bugün 1 kez ziyaret edildi. )

Linux shell üzerinden gmail kullanarak mail gönderme

Linux üzerinden komutlarla e-mail göndermek için sSMTP programı kullanılabilir. Peki bu ne işe yarayacak? Ben bu işlemi uzun sürecek işlemlerim tamamlandığında kendime e-mail atmak için kullanacağım. Başka bir kullanım amacı da mesela sunucu da sürekli çalışması gereken bir programın yada sunucunun kendisinin çalışması durduğunda haberdar olmak olabilir.

Öncelikle sSMTP programını kuruyoruz.

sudo apt-get install ssmtp

Sonrasında /etc/ssmtp/ssmtp.conf dosyasını sudo ile açıp aşağıdaki şekilde düzenliyoruz. İlk satırda ilgili yere gmail adresinizi, ikinci satıra da şifrenizi yazıyorsunuz. Gerisi olduğu gibi kalıyor.

AuthUser=........@gmail.com
AuthPass=........
FromLineOverride=YES
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES

Daha sonra aşağıdaki gibi bir text dosyası oluşturuyoruz. Bu dosya bizim göndereceğimiz mail ile ilgili bilgileri içeriyor. Dosyanın ismi mail.txt olsun.

To: myemailaddress@gmail.com
Subject: konu

E-mail içeriği burada olacak.

Bu text dosyasındaki bilgileri kullanarak e-mail göndermek için aşağıdaki komutu kullanıyoruz.

ssmtp gonderilecekadres@blablamail.com < mail.txt

Ben text dosyası kullanmak istemiyorum direkt olarak bir satırla işimi halletmek istiyorum derseniz aşağıdaki komutu da kullanabilirsiniz. Yalnız bu durumda konu kısmı boş kalıyor ve konu yok şeklinde kalıyor.

echo -e "mail içeriği burada olacak" | mail nuhazginoglu@gmail.com
(30.04.2019 tarihinden itibaren toplam 12 kez, bugün 1 kez ziyaret edildi. )

Windows ve Linux karşılaştırması – İkisinin iyi ve kötü olduğu alanlar

Birçok bilgisayar kullanıcısı Windows mu yoksa Linux tabanlı bir işletim sistemi mi kullansam (yada başka bir işletim sistem,) ikileminde kalabiliyor. Bütün işletim sistemlerinin iyi ve kötü olduğu alanlar var fakat malesef her işi hızlı ve kusursuz bir şekilde yapan bir işletim sistemi yok. Bu sebepten ötürü yaptığınız işlere göre seçim yapmak zorunda kalmaktayız. Ben bu yazıda edindiğim tecrübelere göre Windows ve Linux tabanlı işletim sistemlerinin iyi ve kötü taraflarını paylaşmaya çalışacağım. Bu yazı sürekli güncellenecek olup, yazı içerisinde sadece kendi kullanım tecrübelerim yer alacaktır.


 

Arayüz Hızı Arayüz hızında Windows Ubuntu’ya göre açık ara önde. Bir dosyaya çift tıklatıldığında açılma hızı oldukça fark ediyor. Terminalde ise Linux gayet hızlı.
Lisans Windows, lisansı ücretli olan bir işletim sistemi. Linux tabanlı işletim sistemleri ise açık kaynak ve ücretsiz.
Dosya Sıkıştırma Arayüzden dosya sıkıştırma ve açma işlemlerinde Windows ve Winrar oldukça iyiler. Fakat bu işlem Linux türevlerinde Windows’a nazaran daha çok vakit almaktadır.
Genel Programlar Windows’ta kullanılmak üzere (program çeşitliliği bakımından) birçok program bulabilirsiniz. Ama bunların çoğu ücretli programlar olduğundan dolayı daha çok crack bulma yoluna gidilmektedir. Linux’ta ise program çeşitliliği az olsa da bulunan programlar açık kaynak ve ücretsizdir. Crack’le uğraşmak ve ararken yada crack işlemini gerçekleştirirken bilgisayarınıza virüs bulaştırmak durumunda kalmazsınız.
Virüsler Virüs yönünden en tehlikeli bilgisayarlar hep Windows işletim sistemine sahip olan bilgisayarlar olmuştur. Linux’ta ise bu durumla nadiren karşılaşırsınız.

Resim kaynak: https://www.webhostdesignpost.com/sites/default/files/cover/linux-vs-windows.png

(30.04.2019 tarihinden itibaren toplam 21 kez, bugün 1 kez ziyaret edildi. )