fluent-package-builder(이전의 td-agent-builder, 2021년 8월에 이름이 변경됨)는 몇 가지 문제가 있기 때문에 기존 빌드 시스템 omnibus-td-agent를 대체하는 것을 목표로 하는 td-agent의 새로운 빌드 시스템입니다. 옴니버스의 한계 때문입니다.
참고: 브랜드 변경이 필요한 이유에 대해 논의했습니다. td-agent-builder 브랜드 변경
td-agent
이름이 fluent-package
로 변경되었습니다.fluent-package
의 내용이 /opt/fluent
아래에 설치되도록 변경되었습니다./usr/sbin/td-agent
및 /usr/sbin/td-agent-gem
/usr/sbin/fluentd
및 /usr/sbin/fluent-gem
으로 변경되었습니다./opt/fluent/share/fluentd.conf
로 변경했습니다.fluentd-apt-source
이름이 fluent-apt-source
deb 패키지로 변경되었습니다.embedded
디렉토리 제거/opt/td-agent/bin/fluent-cat
/opt/td-agent/embedded/bin/fluent-cat
를 사용하세요.apt install
로 설치한 다음 apt install td-agent
통해 td-agent를 설치할 수 있습니다.옴니버스 문제는 이 문제를 참조하세요.
위의 소프트웨어를 설치한 후에는 Powershell에서 관리자 권한으로 추가 기능을 활성화해야 합니다.
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart
dism.exe /online /enable-feature /featurename:Containers /all /norestart
그런 다음 Windows를 다시 시작하십시오.
% 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 이하)을 호스트 OS로 사용하는 경우 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 이하)을 호스트 OS로 사용하는 경우 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
기본적으로 다음 플랫폼에 대한 적절한 저장소는 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 이하)을 호스트 OS로 사용하는 경우 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 디렉터리에 빌드됩니다.
C 확장 gem 구축을 위해 MSYS2와 함께 사용할 수 있습니다.
MSI 포함 Ruby는 MSYS2 환경을 감지할 수 있습니다. 따라서 MSYS2를 사용하여 C 확장이 포함된 gem을 설치할 수 있습니다.
예)
C 확장 gem 구축 환경 준비:
cmd> ridk install 2
...
cmd> ridk install 3
ridk exec fluent-gem install
통해 gem을 설치하세요.
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에서 실행되는 모든 스크립트가 GUI 스크립팅을 수행할 수 있습니다.
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의 다중 플랫폼 기능과 작동한다고 가정하므로 Bundler는 2.2.0 이상이어야 합니다.