Sorunuzu Yazınız
Categories
< All Topics
Yazdır

Atheme IRC Services

Atheme IRC Hizmetleri

Atheme, yüksek ölçeklenebilirlik gereksinimleri olan büyük IRC ağları için tasarlanmış bir dizi IRC hizmetidir. Shrike adlı başka bir paketten türetilen bazı kod ve tasarımlarla nispeten olgun bir yazılımdır.

Atheme’nin davranışı, modüller ve oldukça ayrıntılı bir yapılandırma dosyası kullanılarak ayarlanabilir. Hemen hemen tüm davranışlar, yalnızca yapılandırmayı düzenleyerek dağıtım sırasında değiştirilebilir.

Atheme Edinme

Git’in modern bir sürümüne (1.6.5 veya daha yenisi) sahipseniz, depoyu yinelemeli olarak klonlayabilirsiniz:

$ git clone --recursive 'https://github.com/atheme/atheme/' atheme-devel
$ cd atheme-devel

Git’in daha eski bir sürümüne sahipseniz, depoyu klonlamanız ve ardından alt modüllerini getirmeniz gerekir:

$ git clone 'https://github.com/atheme/atheme/' atheme-devel
$ cd atheme-devel
$ git submodule init
$ git submodule update

Git’iniz yoksa, https://atheme.github.io/ adresindeki web sitemizden bir paket arşivi indirebilirsiniz .

GitHub depomuza göz atıyorsanız, lütfen oradaki “ZIP İndir” düğmesini veya “Kaynak kodu” bağlantılarını tıklamayın, çünkü bunlar size gerekli alt modüllerden yoksun bir arşiv verecektir. Web sitemizdeki “İndir” düğmesinin sizi götüreceği “Varlıklar” altında her bir sürüme eklenmiş uygun .tar.bz2veya .tar.xzarşivler vardır .

Sabırsızlar için temel yapım talimatları

Kaynak kod deposunu edinin ve dizinine geçin (yukarıda verilen komutları kullanarak).

Atheme’i bir GNU/Linux sisteminde veya buna yeterince öykünebilecek bir şeyde (Windows 10’daki WSL 2 gibi) oluşturuyorsanız, aşağıdaki komutları yürütün:

$ ./configure
$ make
$ make install

Atheme’i bir OpenBSD (veya benzeri) sistemi üzerine kuruyorsanız, bunun yerine aşağıdaki komutları yürütün:

# pkg_add gmake
$ ./configure --disable-linker-defs
$ gmake
$ gmake install

Kitaplık Algılama

Atheme’in kullanmasını istediğiniz kullanıcı tarafından yüklenen kitaplıklarınız paket yöneticiniz tarafından gibi bir dizine /usr/local/kurulursa, Atheme’in bu kitaplıkları algılayabilmesi için varsayılan derleyici ve bağlayıcı arama yollarını eklemeniz gerekebilir (örneğin FreeBSD Portlarından cracklib) :

$ ./configure CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"

Aşağıdaki kitaplıklar genellikle pkg-config’in yüklenmesini gerektirir:

  • PHC Argon2 Referans Uygulaması ( libargon2.pc)
  • OpenSSL ( libcrypto.pc)
  • GNU libido ( libidn.pc)
  • GNU Isırgan ( nettle.pc)
  • PCRE ( libpcre.pc)
  • libqrencode ( libqrencode.pc)
  • Sodyum ( libsodium.pc)

pkg-config kurulu değilse ve bu kitaplıklardan birini veya daha fazlasını kullanmak istiyorsanız, lütfen bu kitaplıklar ./configure --helpiçin pkg-config keşfini geçersiz kılma seçeneklerine bakın . Örneğin, GNU libidn’i kullanmak istiyorsanız ve bu, derleyiciniz ve bağlayıcınız için varsayılan bir arama yoluna kuruluysa ve kurulu pkg-config yoksa, şunu yürütün:

$ ./configure LIBIDN_CFLAGS="" LIBIDN_LIBS="-lidn"

Bir kitaplık LIBFOO_CFLAGS, bazı önişlemci tanımlarıyla doldurulmaya veya LIBFOO_LIBSbazı kitaplık bağlantı bayraklarıyla doldurulmaya dayanıyorsa , bu genellikle başarısız olur. En iyi sonuçlar için pkg-config yükleyin.

Derleyici seçimi ve özellikleri

Atheme’i LLVM projesinin C derleyicisi ( clang) ile derlemek istiyorsanız, LLVM’nin bağlayıcısını ( lld) da kullanmak isteyebilirsiniz . Bunu aşağıdaki şekilde gerçekleştirebilirsiniz:

$ ./configure CC="clang" LDFLAGS="-fuse-ld=lld"

Derleyici temizleyicileri kullanmak ve Clang ile derleme yapmak istiyorsanız, Clang’daki dezenfektanların çoğu LTO’nun düzgün çalışmasını gerektirdiğinden ve LTO modunda Clang, makine kodu değil LLVM bit kodu yayar. Bağlayıcı, LTO’nun ağır kaldırma işlemlerinin çoğunu gerçekleştirmekten ve sonucu makine koduna çevirmekten nihai olarak sorumludur ve diğer bağlayıcıların çoğu bunu nasıl yapacağını bilmez.

Derleyici temizleyicilerini GCC ile kullanmak için (desteklenir):

$ ./configure --disable-heap-allocator --disable-linker-defs \
    --enable-compiler-sanitizers CC="gcc"

Derleyici dezenfektanlarını Clang ile kullanmak için (önerilir):

$ ./configure --disable-heap-allocator --disable-linker-defs \
    --enable-compiler-sanitizers CC="clang" LDFLAGS="-fuse-ld=lld"

Dezenfektanları etkinleştirirseniz, yapılandırma seçeneğini etkinleştirmeniz önerilir general::db_save_blocking; daha fazla ayrıntı için örnek yapılandırma dosyasına bakın.

Dezenfektanlar üretim kullanımı için önerilmez, ancak yeni özellikler yazan ve/veya kaynak kodunu değiştiren üçüncü şahıslar dahil geliştiriciler için önerilir.

Daha Fazla Yardım Alma

Hala kaybolduysanız, INSTALL dosyasını okuyun veya daha fazla ipucu için wiki’mize bakın.

Next Atheme Services Kurulum
Table of Contents