目的
要從源代碼編譯syslog-ng開源版(OSE)邑茄,請完成以下步驟琉用《榧ǎ或者,您可以在多個平臺上使用預(yù)編譯的二進制包邑时。 有關(guān)可用于各種Linux奴紧,UNIX和其他平臺的第三方軟件包的列表,請參閱syslog-ng OSE第三方二進制文件頁面刁愿。
步驟
- 從GitHub下載最新版本的syslog-ng OSE绰寞。 源代碼以tar.gz存檔文件的形式提供。
- 安裝編譯syslog-ng所需的以下軟件包铣口。 這些軟件包適用于大多數(shù)UNIX/Linux系統(tǒng)滤钱。 或者,您也可以下載源代碼并進行編譯脑题。
- 一個適用于線程本地存儲(Thread Local Storage, TLS)的gcc C編譯器的一個版本件缸,例如,version 4.5叔遂。
- GNU flex詞法分析器生成器(lexical analyser generator)他炊,此處獲得争剿。
- The bison parser generator, 此處獲得.
- glib庫的開發(fā)文件,此處獲得痊末。
- Autoconf Archive軟件包的開發(fā)文件, 此處獲得.
- syslog-ng OSE應(yīng)用程序現(xiàn)在默認使用PCRE類型的正則表達式蚕苇。 它需要
libpcre
庫包, 此處獲得.- If you want to use the Java-based modules of syslog-ng OSE (for example, the Elasticsearch, HDFS, or Kafka destinations), you must compile syslog-ng OSE with Java support.
I don't want. so...
- 如果要使用
http()
目標將日志消息作為HTTP請求發(fā)布凿叠,請安裝libcurl庫的開發(fā)文件涩笤。 如果使用--disable-http
編譯選項,則不需要此庫盒件。 或者蹬碧,您可以使用基于Java的HTTP目標實現(xiàn)。 - 如果要使用syslog-ng的spoof-source功能炒刁,請安裝libnet庫的開發(fā)文件恩沽,此處獲得.
- 如果要使用
smtp()
目標發(fā)送電子郵件,請安裝libesmtp庫的開發(fā)文件翔始。 如果使用--disable-smtp
編譯選項罗心,則不需要此庫。 - 如果要使用/etc/hosts.deny和/etc/hosts.allow進行TCP訪問绽昏,請安裝libwrap(也稱為TCP-wrappers)庫的開發(fā)文件协屡,此處獲得.
- 進入新目錄并執(zhí)行以下命令。 (例如全谤,如果./configure文件不存在肤晓,如果你是從GitHub克隆了存儲庫而不是使用發(fā)行版tarball,將不存在./configure文件认然,請執(zhí)行./autogen.sh命令补憾。)
$ ./configure
$ make
$ make install
- 使用以下命令解壓縮syslog-ng存檔
tar xvfz syslog-ng-x.xx.tar.gz
或者
unzip -c syslog-ng-x.xx.tar.gz | tar xvf -
創(chuàng)建一個包含syslog-ng源代碼的新目錄。
- 進入新目錄并執(zhí)行以下命令:
$ ./configure
$ make
$ make install
這些命令將使用其默認選項構(gòu)建syslog-ng卷员。
- 如果需要盈匾,請使用以下選項更改syslog-ng的編譯方式,使用以下命令語法:
$ ./configure --compile-time-option-name
您還可以使用--disable選項來顯式禁用功能并覆蓋自動檢測毕骡。 例如削饵,要禁用TCP包裝器支持,請使用--disable-tcp-wrapper選項未巫。 有關(guān)可用編譯選項的列表窿撬,請參閱編譯syslog-ng OSE的選項。
syslog-ng的默認鏈接模式是動態(tài)的叙凡。 這意味著如果/ usr目錄在NFS上劈伴,syslog-ng可能無法啟動。 在syslog-ng用作系統(tǒng)記錄器的平臺上握爷,首選--enable-mixed-linking跛璧。