Centos7編譯安裝ntp-4.2.8p11 原

Centos7編譯安裝ntp-4.2.8p11

背景

因公司做等保評級,在進行安全漏洞檢測時發現ntp需要升級到ntp-4.2.7p25以上版本,經過一番搜索,沒有該版本及新版本ntp的yum安裝包,所以只能編譯安裝了,網上搜到兩篇文章,但是參考價值一般,所以自己摸索爬坑,在此記錄一下。

環境

  • 系統環境:Centos 7.2
  • ntpd版本:4.2.8p11

安裝

下載安裝包

# 官方下載
$ wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p11.tar.gz

# 解壓安裝包
$ tar zxvf ntp-4.2.8p11.tar.gz

# 全局配置
$ cd ntp-4.2.8p11/
$ ./configure --prefix=/usr/local/ntp --bindir=/usr/local/ntp/sbin --sysconfdir=/etc --libexecdir=/usr/local/ntp/libexec --docdir=/usr/local/ntp/doc/ntp --enable-linuxcaps  --with-lineeditlibs=readline  --enable-all-clocks --enable-parse-clocks --enable-clockctl --enable-ntpdate-step --enable-libopts-install   # 配置(查看使用指南--help)

# 報錯1
"/usr/bin/ld: cannot find -lcap"
# fix
$ find / -name "*libcap.so*""
$ ln -sv /usr/lib64/libcap.so.2 /usr/lib/libcap.so


# 報錯2
“ntpd.c:120:29: 致命錯誤:sys/capability.h:沒有那個文件或目錄”
# fix
$ yum install -y libcap-devel

$ make && make install   # 編譯 && 安裝
$ echo $?   # 檢測安裝過程是否出錯,0表示沒錯

注意: 因本機系統環境已完成初始化部署,所以一些依賴包的安裝省略,如果遇到缺少某些lib*查到情況,直接yum安裝即可。

配置

安裝完成後並沒有配置文件生成,需手動創建,官方指定其默認配置文件爲:/etc/ntp.conf

$ vim /etc/ntp.conf

driftfile /var/lib/ntp/drift  # 指定時間漂移記錄文件,作用:如果ntpd停止並重新啓動,它將從該文件初始化頻率,並避免可能的長時間間隔重新學習校正。

# 指定remote ntp服務器
server 202.120.2.101  prefer iburst minpoll 4 maxpoll 6  
## prefer:優先使用
## minpoll && maxpoll:
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org

statistics loopstats peerstats clockstats

filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable


restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict 10.9.255.1
restrict 10.9.255.2
restrict ::1

啓動ntpd

  • 將ntp相關命令加入系統環境變量:

    cp /usr/local/ntp/sbin/*  /usr/lcoal/sbin
    
  • 將ntpd服務加入系統管理:

    $ systemctl cat ntpd.service
    # /usr/lib/systemd/system/ntpd.service
    [Unit]
    Description=Network Time Service
    After=syslog.target
    
    [Service]
    Type=forking
    EnvironmentFile=-/etc/sysconfig/ntpd
    ExecStart=/usr/local/sbin/ntpd -u ntp:ntp $OPTIONS
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    
    
    $ systemctl enable ntpd  # 加入開機啓動
    $ systemctl start/stop/status/restart ntpd
    

Finished(踩坑很多,本次最大的坑爲--enable-ipv6相關,如果你在安裝過程中也遇到了make無法通過的問題,直接pass該參數吧,具體原因還煩路過的大神多多指教)!!!

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章