修改 CentOS i386/arm 套件庫來源

因為有更新的需求,所以自行在學校 mirror 一份。
# du -hs /var/ftp/Linux/CentOS
97G     /var/ftp/Linux/CentOS

修改套件庫來源
1. 備份原檔
# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.$(date +%F)[@more@]2. 修改 CentOS-Base.repo
# sed -i ‘s|^baseurl=http://mirror.centos.org/altarch|baseurl=ftp://140.111.74.109/Linux/CentOS/altarch|’ /etc/yum.repos.d/CentOS-Base.repo

3. 清除舊有及更新
# yum clean all;yum update

CentOS 6.x 套件自動更新

1. 安裝 yum-cron 套件
# yum install yum-cron

2. 備份設定檔 /etc/sysconfig/yum-cron
# cp /etc/sysconfig/yum-cron /etc/sysconfig/yum-cron.$(date +%F)

3. 修改設定檔 /etc/sysconfig/yum-cron
# sed -i “s|^MAILTO=|MAILTO= your@email.com|” /etc/sysconfig/yum-cron
# sed -i “s|^CHECK_ONLY=no|CHECK_ONLY=yes|” /etc/sysconfig/yum-cron[@more@]4. 設定開機時啟動
# chkconfig –level 35 yum-cron on

5. 啟動 yum-cron 服務
# service yum-cron start
正在啟用每晚的 yum 更新:                                  [  確定  ]

CentOS 7.x 套件自動更新

一般來說,個人比較不建議讓系統自動更新,因為在第一時間做套件更新,有時候會發生難以復原的災難,所以一般我的做法是讓系統去檢查是否有套件要做更新,如果有的話,利用 mail 通知,再由管理者決定是否要立即做更新。

1. 安裝 yum-cron 套件
# yum install yum-cron

2. 備份設定檔
# cp /etc/yum/yum-cron.conf /etc/yum/yum-cron.conf.$(date +%F)
# cp /etc/yum/yum-cron-hourly.conf /etc/yum/yum-cron-hourly.conf.$(date +%F)[@more@]3. 設定 mail 通知的對象
# sed -i “s|^email_to = root|email_to = your@email.com|” /etc/yum/yum-cron.conf

4. /etc/yum/yum-cron.conf 的其它設定
有下載或更新套件時通知管理者
# sed -i ‘s|^update_messages = no|update_messages = yes|’ /etc/yum/yum-cron.conf
是否自動下載套件的更新檔(個人設定 no)
# sed -i ‘s|^download_updates = no|download_updates = yes|’ /etc/yum/yum-cron.conf
是否自動安裝套件的更新檔(個人設定 no)
# sed -i ‘s|^apply_updates = no|apply_updates = yes|’ /etc/yum/yum-cron.conf
利用 email 通知管理者
# sed -i ‘s|^emit_via = stdio|emit_via = email|’ /etc/yum/yum-cron.conf

5. /etc/yum/yum-cron-hourly.conf 的設定
# sed -i “s|^email_to = root|email_to = your@email.com|” /etc/yum/yum-cron-hourly.conf
設定更新的類別
# sed -i ‘s|^update_cmd = default|update_cmd = security|’ /etc/yum/yum-cron-hourly.conf
# sed -i ‘s|^update_messages = no|update_messages = yes|’ /etc/yum/yum-cron-hourly.conf
# sed -i ‘s|^emit_via = stdio|emit_via = email|’ /etc/yum/yum-cron-hourly.conf

6. 重新啟動 yum-cron 服務
# systemctl restart yum-cron.service 

解決 CentOS 7.x arm Cubie Truck autofs 無法自動掛載目錄的問題

在 Cubie Truck CentOS 7.x arm 啟用 autofs 服務後,發現一直無法自動掛載 NAS 分享的 NFS 服務。
# cd /mnt/nasnfs/bk
-bash: cd: /mnt/nasnfs/bk: No such file or directory

檢查 autofs 開機後是否有啟動
# systemctl is-enabled autofs
enabled

檢查 autofs 是否有正確啟動
# systemctl status autofs
● autofs.service – Automounts filesystems on demand
   Loaded: loaded (/usr/lib/systemd/system/autofs.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-01-08 18:41:31 CST; 19min ago
 Main PID: 10463 (automount)
   CGroup: /system.slice/autofs.service
           mq10463 /usr/sbin/automount –pid-file /run/autofs.pid

Jan 08 18:41:30 bk systemd[1]: Starting Automounts filesystems on demand…
Jan 08 18:41:31 bk systemd[1]: Started Automounts filesystems on demand.[@more@]想要手動測試一下,所以尋找一下是否有 showmount 指令
# which showmount
/usr/bin/which: no showmount in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

補安裝 nfs-utils 套件
# yum install nfs-utils

問題就解決了,原來是少安裝了 nfs-utils 套件!

解決 CentOS 7.x arm Cubie Truck 啟用 autofs 服務時出現的錯誤訊息

在 Cubie Truck CentOS 7.x arm 啟用 autofs 服務時出現下面的錯誤訊息:
# grep auto /var/log/messages
automount[9370]: lookup_read_master: lookup(nisplus): couldn’t locate nis+ table auto.master

檢查 autofs 執行狀態
# systemctl status autofs
● autofs.service – Automounts filesystems on demand
   Loaded: loaded (/usr/lib/systemd/system/autofs.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-01-08 17:25:19 CST; 6s ago
  Process: 9662 ExecStart=/usr/sbin/automount $OPTIONS –pid-file /run/autofs.pid (code=exited, status=0/SUCCESS)
 Main PID: 9664 (automount)
   CGroup: /system.slice/autofs.service
           mq9664 /usr/sbin/automount –pid-file /run/autofs.pid

Jan 08 17:25:19 bk systemd[1]: Starting Automounts filesystems on demand…
Jan 08 17:25:19 bk automount[9664]: lookup_read_master: lookup(nisplus): couldn’t locate nis+ table auto.master
Jan 08 17:25:19 bk systemd[1]: Started Automounts filesystems on demand.[@more@]解決方式:
參考文章:Linux : automount: lookup_read_master: couldn’t locate nis+ table auto.master | ITechLounge.net

1. 備份原檔
# cp /etc/auto.master /etc/auto.master.$(date +%F)

2. 將 /etc/auto.master 中的 +auto.master 前面的 + 移除
# sed -i ‘s/+auto.master/auto.master/’ /etc/auto.master

3. 重新啟動 autofs 服務
# systemctl restart autofs

修正 Cacti Monitor Module 無法顯示正確的偵測失敗時間

安裝完 Cacti 的 Monitor Module 後發現無法顯示正確的偵測失敗時間

顯示的日期及時間都是 0000-00-00 00:00:00[@more@]底下文章參考:Cacti • View topic – [SOLVED] Monitor v1.3-1 plugin – last fail not working

OS:Debian 8

1. 先找到 functions.php
# locate functions.php
/usr/share/cacti/site/lib/functions.php

CentOS
/usr/share/cacti/lib/functions.php

2. 先備份原檔
# cp /usr/share/cacti/site/lib/functions.php /usr/share/cacti/site/lib/functions.php.$(date +%F)

3. 進行修改
# vim /usr/share/cacti/site/lib/functions.php

$hosts[$host_id][“status_fail_date”] = ‘0000-00-00 00:00:00’;
$hosts[$host_id][“status_rec_date”] = ‘0000-00-00 00:00:00’;
修改成
if ($hosts[$host_id][“status_fail_date”] == “”){
$hosts[$host_id][“status_fail_date”] = ‘0000-00-00 00:00:00’;}
if ($hosts[$host_id][“status_rec_date”] == “”){
$hosts[$host_id][“status_rec_date”] = ‘0000-00-00 00:00:00’;}

之後就可以正常顯示了!