Posts tagged linux

Bash Scripting’e Giriş: Temel Bilgiler ve Başlangıç Adımları

Bash (Bourne Again SHell), Linux ve Unix tabanlı sistemlerde kullanılan popüler bir kabuk (shell) programlama dilidir. Bash scriptleri, tekrar eden görevleri otomatikleştirmek, sistem yönetimini kolaylaştırmak ve daha karmaşık işlemleri gerçekleştirmek için kullanılır. Bu yazıda, Bash Scripting’e giriş yaparak temel bilgileri ve başlangıç adımlarını anlatacağım.

Bash Nedir?

Bash, Brian Fox tarafından geliştirilen ve GNU Projesi’nin bir parçası olan serbestçe kullanılabilir bir kabuk programlama dilidir. Bash, Bourne Shell’ın bir genişlemesi olarak ortaya çıkmıştır ve çeşitli Linux dağıtımları, macOS ve diğer Unix benzeri işletim sistemlerinde varsayılan kabuk olarak kullanılır.

Bash Scripting Temel İlkeleri

  1. Yorum Satırları: Bash scriptlerinde başlamak için #!/bin/bash gibi yorum satırları kullanılır. Bu satır, betik dosyasının hangi kabuk dilini kullanacağını belirtir.

#!/bin/bash

  1. Değişkenler: Bash’te değişkenler $ işareti ile başlar. Bir değişken tanımlamak ve kullanmak için;

adi="John"
echo "Merhaba, $adi!"

  1. Koşullar ve Döngüler: Bash, if-then-else koşullu ifadeleri ve for/while döngülerini destekler.
  2. Fonksiyonlar: Fonksiyonlar, kodunuzu modülerleştirmenin ve tekrar kullanılabilir hale getirmenin bir yoludur.

Bash Script Örneği: Basit Bir Dosya Yaratma

Aşağıda, bir dizine belirli bir isimle yeni bir dosya yaratma işlevini içeren basit bir Bash script örneği bulunmaktadır:

!/bin/bash
echo "Dosya Adını Girin: "
read dosya_adi
touch $dosya_adi
echo "Dosya Oluşturuldu: $dosya_adi"

Bu script, kullanıcıdan bir dosya adı girmesini ister ve ardından bu adı kullanarak bir dosya oluşturur.

CentOS 7’yi Stabil Kullanmak İçin Yapılması Gereken Ayarlar

CentOS 7, birçok kurumsal kullanıcı için güvenilir bir işletim sistemidir. Ancak, performans ve güvenilirlik konularında daha fazla iyileştirme yapmak için bazı özel ayarlar ve optimizasyonlar yapılabilir. Bu yazıda, CentOS 7’yi daha stabil kullanmak için yapılması gereken bazı önemli ayarları ele alacağız.

1. Güncellemeleri Kontrol Edin ve Yükleyin

CentOS’unuzdaki sistem güncellemelerini düzenli olarak kontrol etmek ve uygulamak, güvenlik açıklarını kapatmak ve genel sistem performansını artırmak için önemlidir. Aşağıdaki komutu kullanarak güncellemeleri kontrol edebilirsiniz.

sudo yum update

2. Güvenlik Duvarını Yapılandırın

Güvenlik duvarı (firewall) önemli bir güvenlik unsuru olduğundan, doğru yapılandırmak gerekir. firewalld servisi ile aşağıdaki komutları kullanarak güvenlik duvarınızı yapılandırabilirsiniz

sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload

. SELinux’u Ayarlayın

SELinux (Security-Enhanced Linux), CentOS’ta varsayılan olarak etkinleştirilmiş bir güvenlik önlemidir. SELinux’u düzenleyerek uygun ayarlamalar yapabilirsiniz.

sudo nano /etc/selinux/config

Dosyada SELINUX satırını aşağıdaki gibi değiştirin:

SELINUX=enforcing

Ardından, sistem yeniden başlatın.

sudo reboot

4. Performansı Artırmak İçin Kernel Parametrelerini Ayarlayın

Kernel parametrelerini düzenleyerek sistem performansını optimize edebilirsiniz. Aşağıdaki adımları takip edin.

sudo nano /etc/sysctl.conf

Dosyada aşağıdaki değerleri ekleyin veya düzenleyin.

# TCP/IP performansını artırmak için
net.core.somaxconn = 1024
net.core.netdev_max_backlog = 1000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_wmem = 4096 12582912 16777216
net.ipv4.tcp_rmem = 4096 12582912 16777216
net.ipv4.tcp_max_syn_backlog = 8096
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.ip_local_port_range = 1024 65000

# IP tabanlı yönlendirme etkinse devre dışı bırak
net.ipv4.ip_forward = 0

# ICMP saldırılarına karşı koruma
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1

# IPv6 devre dışı bırak
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

# Sistemde büyük miktarda bellek varsa
vm.swappiness = 10
vm.dirty_ratio = 60
vm.dirty_background_ratio = 2

Ardından, değişiklikleri uygulamak için aşağıdaki komutu çalıştırın.

sudo sysctl -p

Bu adımlar, CentOS 7’nizi daha stabil kullanmanıza yardımcı olacaktır. Bu ayarları düzenledikten sonra, sistem performansını kontrol etmeyi ve gerektiğinde ayarlamalar yapmayı unutmayın.