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
| Komut | Ne yapar |
|---|---|
| ./unrealircd start | Sunucuyu başlatır |
| ./unrealircd stop | Sunucuyu durdurur |
| ./unrealircd restart | Sunucuyu durdurup yeniden başlatır |
| ./unrealircd rehash | Yapılandırmayı çalışan sunucuya yeniden yükler |
| ./unrealircd configtest | Sunucuyu başlatmadan yalnızca yapılandırmayı sınar |
| ./unrealircd upgrade | 6.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 croncheck | Sunucu ç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 upgradeBetiğin çıkış kodları otomasyon için önemlidir:
| Kod | Anlamı |
|---|---|
| 0 | Yükseltme ve configtest başarılı; IRCd yeniden başlatılabilir |
| 1 | Bir hata oluştu |
| 5 | Yükseltme başarılı ama yapılandırma güncellenmeli; düzeltmeden yeniden başlatmayın |
| 10 | Daha 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" ;;
esacElle 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-dosHot-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/dataYedeğ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
- Yükseltme: https://www.unrealircd.org/docs/Upgrading
- Cron işi: https://www.unrealircd.org/docs/Cron_job
- Dosyalar ve dizinler: https://www.unrealircd.org/docs/UnrealIRCd_files_and_directories
- SSS: https://www.unrealircd.org/docs/FAQ
- Sürüm geçmişi: https://www.unrealircd.org/docs/History_of_UnrealIRCd_releases
TR Siber Ekibi