UnrealIRCd 6 sunucusunu kurmak işin yarısıdır; asıl iş onu güncel, yedekli ve kendiliğinden ayağa kalkan bir düzende tutmaktır. Bu rehber, kurulum dizinindeki ./unrealircd betiğinin günlük işletimde kullanılan alt komutlarını, 6.x içinde otomatik yükseltmeyi ve çıkış kodlarını, cron ile otomatik başlatmayı, yedeklemeyi ve çökme durumunda izlenecek yolu resmî belgelere dayanarak anlatır. Örneklerde kurulum dizini /home/kullanici/unrealircd olarak alınmıştır.

Güncel sürüm durumu

1 Ekim 2026 itibarıyla en son kararlı sürüm UnrealIRCd 6.2.7'dir (12 Eylül 2026); bir önceki sürüm 6.2.6, 3 Temmuz 2026'da yayımlandı. 6.2.7, webserver modülündeki birden fazla sorunu düzeltir ve yeniden başlatma gerektirmeyen bir hot-patch ile birlikte duyurulmuştur. Açığın ayrıntılarını TRSiber'deki 6.2.7 rehberinde bulabilirsiniz.

Temel komutlar

KomutNe yapar
./unrealircd startSunucuyu başlatır
./unrealircd stopSunucuyu durdurur
./unrealircd restartSunucuyu durdurup yeniden başlatır
./unrealircd rehashYapılandırmayı çalışan sunucuya yeniden yükler
./unrealircd configtestSunucuyu başlatmadan yalnızca yapılandırmayı sınar
./unrealircd upgrade6.x.x'ten daha yeni bir 6.x.x'e otomatik yükseltir
./unrealircd hot-patch <ad>Duyurulan bir yamayı yeniden başlatmadan uygular
./unrealircd croncheckSunucu çalışmıyorsa başlatır (cron için)


Sunucunun çalışıp çalışmadığını şu komutlarla görebilirsiniz (BSD'de sockstat -l kullanılır):

CODE TERMINAL
ps x | grep ircd
ss -plnt | grep unrealircd


Önce configtest, sonra rehash

Yapılandırma değişikliği tam yeniden başlatma gerektirmez; rehash yeterlidir. Ancak hatalı bir blokla doğrudan restart etmek, sunucunun hiç açılmamasına yol açabilir. configtest IRCd'yi başlatmaz, yalnızca yapılandırmayı sınar. Güvenli sıra şudur:

CODE TERMINAL
cd /home/kullanici/unrealircd
./unrealircd configtest
./unrealircd rehash


./unrealircd upgrade ve çıkış kodları

6.x serisi içinde sürüm atlamak için tek komut yeterlidir. Resmî yükseltme belgesi, önce tüm dizinin yedeğini almayı önerir:

CODE TERMINAL
cp -Rav /home/kullanici/unrealircd /home/kullanici/unrealircd.bak
cd /home/kullanici/unrealircd
./unrealircd upgrade


Betiğin çıkış kodları otomasyon için önemlidir:

KodAnlamı
0Yükseltme ve configtest başarılı; IRCd yeniden başlatılabilir
1Bir hata oluştu
5Yükseltme başarılı ama yapılandırma güncellenmeli; düzeltmeden yeniden başlatmayın
10Daha yeni sürüm yok


Bir bakım betiğinde 10 kodunu hata saymayın; "yapılacak iş yok" demektir. 5 kodunda restart etmeyin, önce yapılandırmayı düzeltin. Aşağıdaki parça bu mantığı uygulayan bir örnektir (resmî belgede yer almaz):

CODE TERMINAL
./unrealircd upgrade
case $? in
  0)  ./unrealircd restart ;;
  5)  echo "Yapilandirma guncellenmeli, restart yapilmadi" ;;
  10) echo "Surum guncel" ;;
  *)  echo "Yukseltme hatasi" ;;
esac


Elle restart öncesinde bir kez daha configtest çalıştırmak, yükseltme belgesindeki adımlarla da uyumludur.

Hot-patch: acil güvenlik yamasında köprü

Bir güvenlik duyurusu çıktığında hemen yükseltme yapamıyorsanız UnrealIRCd ekibinin yayımladığı hot-patch'i yeniden başlatmadan uygulayabilirsiniz. Söz dizimi ./unrealircd hot-patch <yama-adı> biçimindedir; örneğin 6.2.7 duyurusundaki webserver sorunu için:

CODE TERMINAL
./unrealircd hot-patch webserver-header-dos


Hot-patch kalıcı çözüm değildir; bir sonraki bakım penceresinde upgrade ile sürümü yükseltin. Yama adını her zaman ilgili sürümün resmî duyurusundan alın, tahmin etmeyin.

croncheck ile otomatik başlatma

Çökme veya makine yeniden başlatması sonrasında IRCd'nin kendiliğinden kalkması için crontab -e ile şu satırları ekleyin:

CODE TERMINAL
*/5 * * * * /home/kullanici/unrealircd/unrealircd croncheck
@reboot /home/kullanici/unrealircd/unrealircd croncheck


İlk satır beş dakikada bir denetler ve sunucu kapalıysa başlatır; ikinci satır makine açılışında devreye girer. Cron üzerinden yeniden başlatıldığında e-posta almak için crontab'ın en üstüne MAILTO=adres@alanadi satırı eklenebilir. Ubuntu gibi systemd kullanan dağıtımlarda cron yerine resmî belgelerdeki systemd birimi de kullanılabilir.

Yedekleme: hangi dizinler?

Belgelerin önerisi tüm ~/unrealircd dizinini yedeklemektir; yer kısıtlıysa en azından conf/ ve data/ saklanmalıdır. data/ içindeki *.db veritabanı dosyaları UnrealIRCd çalışırken güvenle yedeklenebilir.

Dizinİçerik
conf/unrealircd.conf, MOTD dosyaları, tls/ altında sertifikalar
data/Kalıcı veriler: veritabanı dosyaları ve kontrol soketi
modules/Modül dosyaları
logs/Günlük dosyaları
cache/Uzak include'ların önbelleği
bin/Çalıştırılabilir dosyalar
tmp/Geçici veriler


Günlük bir arşiv için örnek komut:

CODE TERMINAL
tar czf unreal-$(date +%F).tgz -C /home/kullanici unrealircd/conf unrealircd/data


Yedeği aynı makinede bırakmayın; sertifikaların özel anahtarlarını da içerdiği için arşivi erişimi kısıtlı bir konuma taşıyın.

Çökme durumunda ne yapmalı?

Unix benzeri sistemlerde sunucu çöktükten sonra ./unrealircd start ile başlatıldığında çökme raporu göndermeniz istenir; bu, önerilen yöntemdir. Güncel bir sürümdeyseniz ayrıntılı raporu https://bugs.unrealircd.org/ adresine de iletebilirsiniz. Resmî SSS'ye göre bildirilen çökmelerin yüzde 90'ından fazlası kaynak kodu değişikliklerinden veya üçüncü taraf modüllerden kaynaklanıyor. Bu yüzden ilk eleme adımı, son eklenen üçüncü taraf modülü devre dışı bırakıp sorunun sürüp sürmediğine bakmaktır; raporda kullandığınız modülleri de belirtin.

Önerilen bakım rutini


  • Her değişiklikte: configtest, ardından rehash.
  • Yükseltme öncesinde: dizin yedeği, ardından upgrade ve çıkış kodunun kontrolü.
  • Acil güvenlik duyurusunda: hot-patch, ardından planlı upgrade.
  • Sürekli: croncheck veya systemd ile otomatik başlatma.
  • Düzenli: conf/ ve data/ arşivini makine dışına taşıma.



Kaynaklar
TR Siber Ekibi Yazar · TRSiber
← Ana sayfaya dön