Kategori arşivi: Linux

How to remove (base) from terminal prompt (after installing conda)

Aşağıdaki komut ile otomatik olarak başlamasını engelleyebilirsiniz.

[pastacode lang=”markup” manual=”conda%20config%20–set%20auto_activate_base%20false” message=”” highlight=”” provider=”manual”/]

Ubuntu: 0 upgraded, 0 newly installed, 0 to remove and … not upgraded

When I try to upgrade my ubuntu, I get this warning “0 upgraded, 0 newly installed, 0 to remove and 27 not upgraded“. It’s mean I have to dist-upgrade my Ubuntu then the packages will be upgraded. So you have to dist-upgrade your OS, if you get this warning with the following commandline.

[pastacode lang=”bash” manual=”sudo%20apt-get%20dist-upgrade” message=”” highlight=”” provider=”manual”/]

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.

[pastacode lang=”bash” manual=”%23!%2Fbin%2Fbash%0A%0Afor%20filename%20in%20*%2F*%3B%20do%0A%09if%20%5B%5B%20%24filename%20!%3D%20*align_*%20%5D%5D%0A%09then%0A%09%09rm%20%24filename%0A%09fi%0Adone” message=”” highlight=”” provider=”manual”/]

 

 

Ubuntu jpg pdf dönüştürme (jpg to pdf) / pdf birleştirme / pdf sayfa dönderme

Öncelikle aşağıdaki komut ile img2pdf programını yüklüyoruz.

[pastacode lang=”bash” manual=”sudo%20apt-get%20install%20img2pdf” message=”” highlight=”” provider=”manual”/]

Daha sonra çevirmek istediğimiz jpg dosyalarımızı bir klasöre koyuyoruz. Komut satırı o dizindeyken aşağıdaki komutu çalıştırıyoruz. Böylelikle klasördeki bütün jpg uzantılı dosyalar pdf’ye dönüştürülüyor.

[pastacode lang=”bash” manual=”ls%20-1%20.%2F*jpg%20%7C%20xargs%20-L1%20-I%20%7B%7D%20img2pdf%20%7B%7D%20-o%20%7B%7D.pdf” message=”” highlight=”” provider=”manual”/]

Bu pdf dosyaları birleştirmek isterseniz pdftk programından yararlanabilirsiniz.

[pastacode lang=”bash” manual=”sudo%20add-apt-repository%20ppa%3Amalteworld%2Fppa%0Asudo%20apt%20update%0Asudo%20apt%20install%20pdftk” message=”” highlight=”” provider=”manual”/]

Aşağıdaki komut satırı iki pdf dosyasını bir pdf dosyasında birleştiriyor.

[pastacode lang=”bash” manual=”pdftk%20belge1.pdf%20belge2.pdf%20output%20birlesik_belge.pdf” message=”” highlight=”” provider=”manual”/]

Eğerki pdf sayfaları ters olarak kaydedilmişse bu defa aşağıdaki komuttan yararlanabilirsiniz. Bu komut ilgili pdf dosyasındaki bütün sayfaları 180 derece döndürmektedir.

[pastacode lang=”bash” manual=”pdftk%20birlesik_belge.pdf%20cat%201-endsouth%20output%20birlesik_belge_son.pdf” message=”” highlight=”” provider=”manual”/]

 

Linux / Windows – Youtube’dan mp3 indirme

LINUX İÇİN

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

[pastacode lang=”bash” manual=”sudo%20apt-get%20install%20youtube-dl” message=”” highlight=”” provider=”manual”/]

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.

[pastacode lang=”bash” manual=”youtube-dl%20–extract-audio%20–audio-quality%200%20–audio-format%20mp3%20https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fasdas” message=”” highlight=”” provider=”manual”/]

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.

Ubuntu 18.04 Siyah Ekran Hatası

Daha önceleri versiyonlar arası geçişte birar tedirgin oluyordum. Yeni bir versiyon çıktıntan sonra stabil olması için uzun süreler beklediğim oldu. Ne kadar tedirgin olursam o kadar da sorunla karşılaşır olmuştum. Uzunca bir süredir bu alışkanlığımı bıraktım ve yeni bir versiyon çıkar çıkmaz ona geçiyorum. Tabi bunda çok fazla third party uygulama kullanmamamında etkisi var. Kullanan biri olsa iki kez düşünürdüm bu konuyu.

Ubuntu 18.04 çıkar çıkmaz Ubuntu 17.10’dan sudo do-release-upgrade -d diyerek yeni versiyona geçtim. Başlarda sorun da çıkmadı. Ama bir sabah iş yerime geldiğimde önce şifre yanlış dedi. Şifremi ingilizce klavyeye göre tekrar girdim bu kez şifre ekranını geçti ama siyah ekranda takıldı kaldı. Anladım ki ben yokken elektrik gidip gelmiş ve bilgisayar yeniden başlamış. O sırada ne olduysa bilgisayar siyah ekranda takılıyor. Öncelikle bilgisayarı kapatma tuşuna basarak tekrar açtım ama bir önceki senaryo tekrarlandı. Sonrasında aşağıdaki adımlarla problemi çözdüm.

  1. Siyah ekrandayken Ctrl + Alt + F3‘e basarak yeni bir terminal açtım. Bu ekranda aşağıdaki komutlarla güncellemeleri yaptım (güncelleme yapmaya gerek de kalmayabilir aslında).
    • sudo apt-get update
    • sudo apt-get upgrade
    • sudo apt-get dist-upgrade
  2.  Güncelleme bittikten sonra da sudo reboot ile bilgisayarı yeniden başlattım ve sorun çözüldü.

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.