VDS kullanıcılarının büyük bir kısmı, komut satırı üzerinden sağlanan tam kontrol imkânı, açık kaynak özelliğinin sunduğu esneklik ve düşük maliyet gibi avantajları nedeniyle Ubuntu, Debian, CentOS veya AlmaLinux gibi Linux dağıtımlarını tercih ediyor. Sunucu teknolojilerinin temel ayrımlarını merak edenler için, VPS Nedir? VDS ve VPS Arasındaki Farklar yazımızda bu konuyu daha detaylı olarak ele almıştık.
Linux tabanlı bir VDS kullanıldığında, günlük işlerin yalnızca kontrol panelleri üzerinden değil, doğrudan terminal aracılığıyla yönetilmesi gerekir. Disk kontrollerinden servis yönetimine, yedekleme süreçlerinden güvenlik ayarlarına kadar pek çok işlem, birkaç satırlık komutlarla hızlı ve etkili bir şekilde kontrol altına alınabilir.
VDS Yönetiminde Linux Komutları
Linux dağıtımları, VDS ve dedicated sunucuların temelini oluşturur. Bunun iki ana nedeni vardır:
- Kaynak Verimliliği: Linux, hafif yapısı sayesinde aynı donanım üzerinde daha fazla servis çalıştırmaya imkân tanır.
- Kontrol ve Esneklik: Komut satırı araçlarıyla sisteme detaylı şekilde müdahale edilebilir. Bu, web barındırma, veritabanı yönetimi ve uygulama dağıtımlarında büyük avantaj sağlar.
Bu yüzden Linux tabanlı bir VDS kullanıyorsanız, sadece işletim sistemini kurmak yetmez. fsck, tar, chmod, systemctl ve rsync gibi komutlar, günlük işleyişi sürdüren temel araçlar haline gelir.
“fsck” Komutu ile Disk Kontrolü
Sunucularda en kritik bileşenlerden biri disktir. Diskte meydana gelen bozulmalar ya da hatalar, uygulamaların çökmesine veya veri kaybına neden olabilir. Bu tür sorunları önlemek için Linux sistemlerinde kullanılan fsck aracı devreye girer. Bu araç, dosya sistemini tarayarak hataları tespit eder ve gerekirse onarır.
fsck -fy /dev/sda1
Bu komutu çalıştırılarak ilgili disk bölümü otomatik biçimde denetlenir ve hatalar düzeltilir. Bu işlem, özellikle VDS yöneticileri için veri bütünlüğünü korumada kritik bir rol oynar.

| Parametre | Açıklama |
|---|---|
| -A | /etc/fstab dosyasında listelenen tüm dosya sistemlerini kontrol eder |
| -C | Kontrol sürecinde ilerleme çubuğu gösterir |
| -l | Disk bölümü üzerinde başka programların işlem yapmasını engellemek için cihazı kilitler |
| -M | Bağlı (mounted) olan dosya sistemlerini kontrol etmez |
| -N | Yapılacak işlemleri sadece gösterir, herhangi bir değişiklik yapmaz |
| -P | Root dahil tüm dosya sistemlerini paralel olarak kontrol eder |
| -R | Kök dosya sistemini hariç tutar (özellikle -A ile birlikte kullanılır) |
| -r | Kontrol edilen her cihaz için istatistik bilgisi sağlar |
| -T | Başlık bilgisini göstermeden çalışır |
| -t | Kontrol edilecek dosya sistemi türlerini belirtir (ör. ext4, xfs) |
| -V | Yapılan işlemleri ayrıntılı olarak açıklar |
“tar” Komutu ile Dizin Yedekleme
Sunucularda verilerin düzenli yedeklenmesi, sistem sürekliliği ve veri güvenliği açısından kritik öneme sahiptir. Linux ortamında bu iş için en çok kullanılan ve güvenilir araçlardan biri tar komutudur. Birden fazla dosya veya dizini tek bir arşiv dosyası içinde toplayarak saklama ve taşımayı kolaylaştırır.
Bir dizini arşivlemek için şu komut kullanılabilir
tar -cvf backup.tar /home
Bu komut, /home dizinindeki tüm dosyaları backup.tar isimli arşive dönüştürür. Daha sonra bu arşivi açmak için
tar -xvf backup.tar
komutu kullanılır. VDS ortamında alınan bu tür yedekler hem lokal saklama hem de farklı sunuculara aktarma için idealdir. Daha büyük ölçekli projelerde ise tar genellikle rsync veya bulut tabanlı yedekleme çözümleriyle birlikte kullanılarak desteklenir.

| Parametre | Açıklama |
|---|---|
| -c | Yeni bir arşiv dosyası oluşturur |
| -x | Arşiv dosyasını açar |
| -f | Arşiv dosyasının adını belirtir |
| -v | İşlem sırasında ayrıntılı bilgi verir |
| -t | Arşivdeki dosyaları listeler |
| -u | Yeni dosya veya dizini mevcut arşive ekler |
| -r | Arşiv içindeki dosya veya dizinleri günceller |
| -z | Gzip sıkıştırmasıyla arşiv oluşturur |
| -j | Bzip2 sıkıştırmasıyla arşiv oluşturur |
| -W | Arşiv dosyasını doğrular |
Dosya İzinleri için “chmod” Komutu Nasıl Kullanılır?
Linux tabanlı bir VDS üzerinde yüzlerce dosya ve klasör bulunur ve bu dosyaların doğru izinlerle korunması güvenlik için kritik öneme sahiptir. Yanlış izinler saldırganların sisteme sızmasına veya kötü amaçlı yazılımların çalışmasına yol açabilir.
Bu tür ihlaller yalnızca anlık veri kaybına değil, aynı zamanda bütün sistemi devre dışı bırakabilecek olaylara da sebep olabilir. İşte bu yüzden doğru izin yönetimi, yalnızca güvenlik katmanının değil, aynı zamanda felaket kurtarma planlarının da temel bir parçasıdır.
Linux’ta izinler üç temel yetkiye dayanır. Okuma, yazma ve çalıştırma. Bu değerler toplandığında farklı kombinasyonlar ortaya çıkar.
Örneğin 7 (4+2+1) tüm izinlerin tanımlandığı anlamına gelir. Kullanıcılar da üç gruba ayrılır: Owner, Group ve Others.
chmod 755 dosya.sh
Komutu, dosya sahibine okuma, yazma ve çalıştırma izni verirken grup ve diğer kullanıcılara yalnızca okuma ve çalıştırma izni tanımlar. Buna karşılık chmod 777, herkesin dosya üzerinde tam yetkiye sahip olmasına yol açar.
İzin değerlerinin mantığını daha iyi anlamak için şu tabloya bakılabiliriz.
| Değer | Açıklama |
|---|---|
| 0 | Hiçbir izin yok |
| 1 | Yalnızca çalıştırma izni |
| 2 | Yalnızca yazma izni |
| 3 | Yazma + çalıştırma izni |
| 4 | Yalnızca okuma izni |
| 5 | Okuma + çalıştırma izni |
| 6 | Okuma + yazma izni |
| 7 | Okuma + yazma + çalıştırma izni |
Linux Servis Yönetimi için “Systemctl”
Linux tabanlı sistemlerde servislerin başlatılması, durdurulması ve durumlarının kontrol edilmesi için en sık kullanılan araç systemctl komutudur.
Örneğin bir servisi yeniden başlatmak için:
systemctl restart nginx
komutu çalıştırılır. Bir servisin mevcut durumunu öğrenmek içinse aşağıdaki komut kullanılır.
systemctl status mysql
Servis yönetimi için kullanılabilecek diğer temel komutlar ise şunlardır:
- Başlatma:
sudo systemctl start <servis-ismi> - Durdurma:
sudo systemctl stop <servis-ismi> - Yeniden başlatma:
sudo systemctl restart <servis-ismi> - Açılışta etkinleştirme:
sudo systemctl enable <servis-ismi> - Açılışta devre dışı bırakma:
sudo systemctl disable <servis-ismi>
Dosya Kopyalamak için “rsync” Komutu Kullanımı
Sunucular arası veri transferinde hız ve güvenilirlik çok önemlidir. İşte bu noktada rsync öne çıkar. Örneğin, bir VDS’ten başka bir yedekleme sunucusuna dosyaları kopyalamak için şu komut kullanılabilir:
rsync -avz /home [email protected]:/backup
Bu komut, /home dizinindeki tüm verileri şifreli bağlantı üzerinden hedef sunucuya senkronize eder. rsync’in en büyük avantajı ise yalnızca değişen dosyaları kopyalaması ve bu sayede zaman ile bant genişliği tasarrufu sağlamasıdır. VDS yöneticileri için düzenli yedekleme süreçlerinde rsync neredeyse vazgeçilmezdir.
Sık Sorulan Sorular
fsck çalıştırınca “device is busy” hatası nasıl düzelir?
Bu hata, kontrol etmek istediğiniz diskin hâlâ kullanımda olduğunu gösterir. Çözüm olarak sistemi tek kullanıcı modunda başlatabilir veya ilgili diski umount ederek sonra fsck çalıştırabilirsiniz.
tar -xvf ile arşiv açarken “permission denied” hatası çıkıyor, sebebi nedir?
Arşivi açmaya çalıştığınız dizinde yazma izniniz yoksa bu hata görülür. Çözüm için ya root kullanıcıya geçin (sudo su) ya da arşivi açmak istediğiniz dizinin izinlerini düzenleyin.
chmod 777 güvenli mi?
777 izinleri dosyayı herkesin okumasına, yazmasına ve çalıştırmasına izin verir. Bu, özellikle web uygulamalarında ciddi güvenlik riski doğurur. Bunun yerine en az yetki prensibiyle (ör. 755 veya 644) çalışın.
systemctl restart nginx çalışmıyor, “failed” nasıl düzeltilir?
Bu durumda genellikle konfigürasyon hataları vardır. Öncelikle nginx -t komutuyla yapılandırma dosyalarını test edin. Hata varsa düzeltmeden servis başlamaz.
rsync ile dosya kopyalarken “connection refused” hatası
Bu hata genellikle hedef sunucuda SSH servisinin çalışmadığını veya firewall’un bağlantıyı engellediğini gösterir. systemctl status ssh ile SSH servisini kontrol edin ve ilgili portun (22) açık olduğundan emin olun.
uptime değerindeki “load average” ne anlama gelir?
uptime çıktısında yer alan 1, 5 ve 15 dakikalık load average değerleri, CPU yoğunluğunu gösterir. Örneğin 2.0 değeri, çift çekirdekli bir sistemde %100 kullanım anlamına gelir.

