Fluent-package-builder (المعروف سابقًا باسم td-agent-builder، تمت إعادة تسميته في أغسطس 2021) هو نظام إنشاء جديد لـ td-agent والذي يهدف إلى استبدال نظام البناء التقليدي omnibus-td-agent نظرًا لأنه يعاني من العديد من المشكلات بسبب قيود Omnibus.
ملحوظة: تمت مناقشة سبب ضرورة إعادة العلامة التجارية إعادة تسمية العلامة التجارية td-agent-builder
td-agent إلى fluent-packagefluent-package ليتم تثبيتها ضمن /opt/fluent/usr/sbin/td-agent و /usr/sbin/td-agent-gem إلى /usr/sbin/fluentd و /usr/sbin/fluent-gem/opt/fluent/share/fluentd.conffluentd-apt-source إلى حزمة deb fluent-apt-source للحفاظ على apt-line وحلقة المفاتيحembedded بواسطة Omnibus/opt/td-agent/bin/fluent-cat بدلاً من /opt/td-agent/embedded/bin/fluent-catapt install ، ثم يمكنك تثبيت td-agent عبر apt install td-agent .راجع أيضًا هذه المشكلة للتعرف على المشكلات الشاملة.
بعد تثبيت البرنامج أعلاه، تحتاج إلى تمكين ميزات إضافية من بوويرشيل (كمسؤول).
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart
dism.exe /online /enable-feature /featurename:Containers /all /norestart
ثم أعد تشغيل الويندوز.
% rake yum:buildافتراضيًا، سيتم إنشاء مستودعات yum للمنصات التالية ضمن دليل Fluent-package/yum/repositories/:
يمكنك اختيار الأنظمة الأساسية المستهدفة حسب متغير البيئة YUM_TARGETS مثل هذا:
% rake yum:build YUM_TARGETS= " rockylinux-8,almalinux-9 "يمكنك العثور على منصات أخرى مدعومة ضمن دليل Fluent-package/yum.
يمكنك أيضًا إنشاء حزم لمنصات AArch64 مثل هذا:
% rake yum:build YUM_TARGETS= " amazonlinux-2023-aarch64 "لكن إذا كنت تستخدم منصات GNU/Linux الأقدم (مثل Ubuntu 18.04 أو قبله) كنظام التشغيل المضيف لديك، فستحتاج إلى نسخ qemu-aarch64-static إلى الدليل الأساسي للهدف:
% export TARGET_BASE= " centos-8 "
% sudo apt install qemu-user-static
% cd /path/to/fluent-package-builder
% cp /usr/bin/qemu-aarch64-static fluent-package/yum/ ${TARGET_BASE}
% rake yum:build YUM_TARGETS= " ${TARGET_BASE} -aarch64 "يمكنك أيضًا إنشاء حزم لمنصة ppc64le مثل هذا:
% rake yum:build YUM_TARGETS= " centos-8-ppc64le "لكن إذا كنت تستخدم منصات GNU/Linux الأقدم (مثل Ubuntu 18.04 أو قبله) كنظام التشغيل المضيف لديك، فستحتاج إلى نسخ qemu-ppc64le-static إلى الدليل الأساسي للهدف:
% export TARGET_BASE= " centos-8 "
% sudo apt install qemu-user-static
% cd /path/to/fluent-package-builder
% cp /usr/bin/qemu-ppc64le-static fluent-package/yum/ ${TARGET_BASE}
% rake yum:build YUM_TARGETS= " ${TARGET_BASE} -ppc64le " % rake apt:buildافتراضيًا، سيتم إنشاء مستودعات apt للمنصات التالية ضمن دليل Fluent-package/apt/repositories/:
يمكنك اختيار الأنظمة الأساسية المستهدفة عن طريق متغير البيئة APT_TARGETS مثل هذا:
% rake apt:build APT_TARGETS= " debian-bookworm,ubuntu-jammy "يمكنك العثور على منصات أخرى مدعومة ضمن دليل Fluent-package/apt.
يمكنك أيضًا إنشاء حزم لمنصات AArch64 مثل هذا:
% rake apt:build APT_TARGETS= " ubuntu-jammy-arm64 "لكن إذا كنت تستخدم منصات GNU/Linux الأقدم (مثل Ubuntu 18.04 أو قبله) كنظام التشغيل المضيف لديك، فستحتاج إلى نسخ qemu-aarch64-static إلى الدليل الأساسي للهدف:
% export TARGET_BASE= " ubuntu-bionic "
% sudo apt install qemu-user-static
% cd /path/to/fluent-package-builder
% cp /usr/bin/qemu-aarch64-static fluent-package/apt/ ${TARGET_BASE}
% rake apt:build APT_TARGETS= " ${TARGET_BASE} -arm64 " % rake msi:buildسيتم إنشاء حزمة Fluent-package-${version}-x64.msi ضمن دليل Fluent-package/msi.
يمكنك استخدامه مع MSYS2 لبناء الأحجار الكريمة ذات ملحق C.
يمكن لـ MSI المتضمن Ruby اكتشاف بيئة MSYS2. لذلك، يمكنك تثبيت جوهرة C المضمنة مع MSYS2.
على سبيل المثال)
إعداد بيئة بناء جوهرة ملحق C:
cmd> ridk install 2
...
cmd> ridk install 3 قم بتثبيت الجوهرة عبر ridk exec fluent-gem install :
cmd> ridk exec fluent-gem install winevt_c % sudo mkdir /opt/fluent
% sudo chown $( whoami ) /opt/fluent
% rake dmg:selfbuildسيتم إنشاء حزمة Fluent-package-${version}.dmg ضمن دليل Fluent-package/dmg.
الحزمة المضمنة لـ GitHub Actions جاهزة للتشغيل على نظام التشغيل macOS 10.15 (Catalina).
تأكد من السماح لك بالوصول المساعد. في تفضيلات النظام > الأمان والخصوصية > الخصوصية > إمكانية الوصول، يجب عليك السماح بـ Terminal.app هناك.
ملاحظة: بما أن الترخيص موجود على مستوى التطبيق على Terminal.app، فإنه يسمح لأي برنامج نصي يتم تشغيله من Terminal.app بتنفيذ البرمجة النصية لواجهة المستخدم الرسومية.
cd fluent-package && rake lockfile:update % cd fluent-package
% rake version:update
% git diff # Check the change log
% git commit -a
% rake apt:build
% rake yum:build
% rake msi:build
يفترض أن Gemfile يعمل مع ميزة الأنظمة الأساسية المتعددة لـ Bundler، لذلك يجب أن يكون إصدار المجمع 2.2.0 أو أحدث.