Kategori arşivi: Linux

Linux: Bir dizindeki dosyaların uzantılarını topluca değiştirme

Bir dizindeki dosyaların uzantılarını topluca değiştirmek durumunda kaldığım zamanlar oluyor. Bu işlemi birçok farklı şekilde yapmak mümkün. Kullanım kolaylığı açısından bir bash scripti hazırladım ve bunu sizinle de paylaşmak istiyorum. Örnek olarak folder1 dizininde .abc uzantılı dosyalar olsun ve biz bunların uzantısını .txt yapmak isteyelim. Yapmanız gereken şey ilgili scripti indirerek aşağıdaki komut satırını çalıştırmaktır.

bash rename_extension.sh abc txt /dir1/dir2/folder1

Scripti buradan indirebilirsiniz.

[pastacode lang=”bash” manual=”%23!%2Fbin%2Fbash%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20%20C*%20%20%20%20%20%20%20%20%20%20rename_extension.sh%20%20%20%20%20%20%20%20%20%20%20C*%20%20%23%0A%23%20%20C*%20%20%20%20%20%20%20written%20by%20Nuh%20Azginoglu%20%20%20%20%20%20%20%20%20C*%20%20%23%0A%23%20%20C*%20%20%20%20%20%20%20%20%20%20%20February%2009%2C%202016%20%20%20%20%20%20%20%20%20%20%20%20C*%20%20%23%0A%23%20%20C*%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20C*%20%20%23%0A%23%20%20C*%20%20renames%20files%20with%20new%20extension.%20%20%20%20%20C*%20%20%23%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0Aecho%20%22usage%3A%20bash%20rename_extension.sh%20old_extension%20new_extension%20directory%22%0A%0A%0Aold_extension%3D%241%0Anew_extension%3D%242%0Adirectory%3D%243%0A%0Afor%20file%20in%20%24directory*.%24old_extension%3B%20do%0A%20%20%20%20mv%20%22%24file%22%20%22%24directory%60basename%20%24file%20.%24old_extension%60.%24new_extension%22%0Adone” message=”” highlight=”” provider=”manual”/]

You can access the English version of the post from here.

Linux: SSH Keygen ve SSH nickname

Bir sunucuya ssh ile çok sık bağlantı yapıyorsanız her seferinde şifre girmemek için  bilgisayarınızda aşağıdaki şekilde keygen üretip, bu keygeni bağlantı yapmak istediğiniz sunucuya göndermeniz gerekmektedir. Aşağıdaki şekilde bu işlemi yapabilirsiniz.

ssh-keygen -t rsa
ssh-copy-id -i $HOME/.ssh/id_rsa.pub user@server

ssh-copy-id kullanmak yerine ayrı bir yöntem de cat .ssh/id_rsa.pub komutu ile key’i görüntülemek ve sonra bu key’i bağlanılacak olan sunucuda .ssh/authorized_keys dosyasının içerisine eklemektir.

Sunucuya nickname işe giriş yapabilmek için ise ; ~/.ssh/config dosyası aşağıdaki şekilde ayarlanmalı. Bu durumda sunucuya ssh root@nuhazginoglu.com -p 2123  şeklinde bağlanmak yerine ssh nuh şeklinde kolayca bağlanabilirsiniz.

Host nuh
  User root
  HostName nuhazginoglu.com
  Port 2123 (ssh portunuz 22 ise, bu satıra gerek yok.)

Linux: Rename extension of multiple file in a folder

I sometimes need to change extension of multiple files in a folder. So I wrote a bash script to do this easily. And I am sharing it from here. It’s simple to use it. For example; you have a folder named folder1 and it has files with the extension ‘.abc‘ in it. And you want to change ‘.abc‘ extension with ‘.txt‘. The only thing you must do is run the commandline bottom;

bash rename_extension.sh abc txt /dir1/dir2/folder1

You can download script from here.

[pastacode lang=”bash” manual=”%23!%2Fbin%2Fbash%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20%20C*%20%20%20%20%20%20%20%20%20%20rename_extension.sh%20%20%20%20%20%20%20%20%20%20%20C*%20%20%23%0A%23%20%20C*%20%20%20%20%20%20%20written%20by%20Nuh%20Azginoglu%20%20%20%20%20%20%20%20%20C*%20%20%23%0A%23%20%20C*%20%20%20%20%20%20%20%20%20%20%20February%2009%2C%202016%20%20%20%20%20%20%20%20%20%20%20%20C*%20%20%23%0A%23%20%20C*%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20C*%20%20%23%0A%23%20%20C*%20%20renames%20files%20with%20new%20extension.%20%20%20%20%20C*%20%20%23%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0Aecho%20%22usage%3A%20bash%20rename_extension.sh%20old_extension%20new_extension%20directory%22%0A%0A%0Aold_extension%3D%241%0Anew_extension%3D%242%0Adirectory%3D%243%0A%0Afor%20file%20in%20%24directory*.%24old_extension%3B%20do%0A%20%20%20%20mv%20%22%24file%22%20%22%24directory%60basename%20%24file%20.%24old_extension%60.%24new_extension%22%0Adone” message=”” highlight=”” provider=”manual”/]

Yazının Türkçe versiyonuna buradan erişebilirsiniz.

 

Linux: USB’deki işletim sistemini başka bir diske kopyalama

Bir sunucunun USB diske kurduğum işletim sistemini her ihtimale karşı yedeklemek istemiştim. Aşağıdaki komutlarla başka bir USB diske basit bir şekilde yedeğini aldım.

dd if=/dev/currentdisk of=/dev/newdisk bs=512k

Kullanıcının home dizinini /var/www dizini altına koyma

Bir kullanıcının home dizinini /var/www altına almak için (yada başka bir dizine) aşağıdaki yöntemi kullanabilirsiniz.

usermod -m -d /var/www/foldername <username>
sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www/foldername
sudo chmod -R g+rwX /var/www/foldername

Ubuntu SSL Sertifikası Yükleme

1 – Öncelikle SSL sertifikasını yükleyeceğimiz sunucuya sertifika ve key dosyalarını kopyalıyoruz. Bendeki bu dosyalar;

……crt
……key
……bundle uzantılı dosyalardı.

2 – Sunucuda ssl’i aktif hale getiriyoruz.

a2enmod ssl
a2ensite default-ssl.conf  (default-ssl yerine site adınız olabilir.)

service apache2 restart

3 – SSL’i yüklemek istediğiniz sitenin ssl conf dosyasını açıyoruz ve aşağıdaki değişiklikleri yapıyoruz. Bende bu dosya default-ssl.conf dosyasıydı.

Dosyada SSLEngine satırının On olduğunu kontrol edin, değilse On yapın.
SSLCertificateFile satırına sertifika dosyasının dizinini verin. Bende bu dosya .crt uzantılı dosyaydı.
SSLCertificateKeyFile satırına key dosyasının dizinini verin. Bu dosya .key uzantılı olan dosyadır.
SSLCertificateChainFile satırına chain dosyasının dizinini verin. Bende bu dosya .bundle olan dosyaydı.

4 – 80 portuna gelen tüm istekleri 443 portuna yönlendirmek istiyorsanız, 

default olarak 000-default.conf olarak gelen dosyada (site adınızı içeren conf dosyası da olabilir) DocumentRoot satırını kapatın, artık ihtiyacınız yok.
Ve yandaki satırı ekleyin. Redirect permanent / https://siteadiniz.com/

default-ssl.conf dosyasındaki DocumentRoot satırını kendi sitenizin bulunduğu yeri işaret edecek şekilde düzenleyin.

5 – Son olarak service apache2 restart komutu ile apache sunucusunu restart edin hata almazsanız ssl yükleme işleminiz büyük ihtimalle tamamlanmış olacaktır. https://siteadiniz.com’a girerek ssl’in aktif olup olmadığını kontrol edebilirsiniz.

Kolay gelsin.

Boş Sisteme Windows 10 ile Ubuntu 20.04 Birlikte Kurma

Windows ile Linux işletim sistemlerinden birini birarada bilgisayarınıza kurmak için çeşitli yollar izleyebilirsiniz. Bunlardan bir tanesini anlatacağım. Benim kurduğum bilgisayar tamamen boş ve harddisk biçimlendirilmişti. Bu şekilde olmayan ve işletim sistemlerinden birini içeren bilgisayarlarda da iki işletim sistemini birarada kullanmanın çeşitli yolları var.

Öncelikle Windows 10 işletim sistemini kuruyoruz. Kurulum yaparken dikkat edeceğimiz nokta disk yapılandırması. Ben Windows’u kurmak için ve verilerimi depolamak için 2 tane partition ayırdım ve biçimlendirdim. Kalan bölgeyi Ubuntu kurmak için kullanacağım. Orası biçimlendirmeden kaldı ve Windows 10 kurulumunu tamamladım. İlk aşamayı tamamlamış olduk.

Bir sonraki aşamada Ubuntuyu kuracağız. Ben Ubuntu’nun 20.04 sürümünü kurdum. Burada dikkat edeceğimiz nokta da Kurulum Türü ekranı, burada ilk seçenek olan Ubuntu’yu Windows işletim sisteminin yanına kur’u seçiyoruz. Bu durumda Ubuntu otomatik olarak Windows 10’u kurarken biçimlendirmeden bıraktığımız üçüncü partition’a kurulacaktır. Kurulum tamamlandıktan sonra iki işletim sistemimiz de hazır vaziyettedir.

Görüldüğü üzere dikkat edilecek iki önemli nokta var. Birincisi Windows’u kurarken bir partition’ı biçimlendirmeden bırakmak, ikincisi de Ubuntu’yu kurarken Windows’un yanına kur seçeneğidir.

Bilgisayarı yeniden başlattığınızda gelen ekranda Ubuntu ve Windows 10 seçeneklerinin ikisi de ekranda olacaktır. Hangi işletim sistemini seçerseniz o açılacaktır. Fakat boot loader Ubuntu’nın grub loader’ı tarafından oluşturulduğu için default işletim sisteminiz Ubuntu olacaktır ve 30 sn içerisinde bir seçenek belirlemediğiniz durumda Ubuntu açılacaktır. Windows 7’nin default işletim sistemi olarak belirlenmesi için Ubuntu’da;

fgrep menuentry /boot/grub/grub.cfg komutunu çalıştırıyoruz.

Burada boot ekranında çıkan seçenekler sıralanacaktır. Bunlardan muhtemelen en sonda olan ve “Windows 10 (loader) (on /dev/sda2)” benzeyen yeri kopyalıyoruz ve /etc/default/grub dosyasında GRUB_DEFAULT=0 satırını GRUB_DEFAULT = “Windows 10 (loader) (on /dev/sda2)” şeklinde değiştiriyoruz. Ayrıca default olarak 30 sn olan seçme süresini aynı dosyadan değiştirmek mümkün. Dosyayı kaydedip kapattıktan sonra sudo update-grub kodunu da çalıştırıyoruz.  Bilgisayarı yeniden başlattığımızda default işlemi Windows 10 olarak gelecek ve bir seçim yapmadığımız taktirde Windows 10 açılacaktır.