2020年6月27日 星期六

CentOS Mount Disk


有時後在設備上架安裝完作業系統後,發現有些軟體忘了安裝
但是由於網路尚在規畫及佈署,導致無法透過網路另外安裝所需的軟體該如何是好?
這時後,只要將光碟mount上去,即可透過光碟安裝就算沒網路也不怕無法安裝需要的服務(第三方提供軟體不在此範圍內)


如下圖,在安裝完系統後發現沒裝httpd服務,想要再安裝確苦於沒有網路
先將光碟放入光碟機中(以下用Virtualbox為例,光碟機代號與實體機不同)
在路徑/dev下有一個sr0就是光碟機了
首先,先將它掛載(掛載前需先create一個掛載路徑)
mkdir /mnt/sr0  #在/mnt路徑下創建一個sr0的目錄
mount /dev/sr0 /mnt/sr0  #掛載…
然後編輯一個yum.repo(編輯之前把其它的repo都刪除)
create一個叫做sr0的repo檔(名稱無所謂隨便叫什麼都可以)
vim /etc/yum.repos.d/sr0.repo
repo檔的內容(name可自定義,baseurl路徑別打錯即可)
yum clean all
yum makecache
測試安裝httpd
yum install -y httpd

1.整個流程做完後即可透過掛載好的光碟來安裝軟體,不必再透過網路才能安裝,中間有把所有的repo檔清掉只是要突顯系統內並沒有其它套件容器的設定檔,刪不刪內建的repo檔是沒有影響的,系統會自行判別安裝路徑在正式環境中

2.如果只是為了還沒接網路而掛載光碟來安裝,千萬別把repo檔全刪光了,不然等網路接好你反而沒有官方收錄的軟體可以安裝

2020年6月11日 星期四

Centos 安裝Smokeping教學 設定告警

先行安裝Centos本次用版本7
# cat /etc/os-release   Linux 發行版名稱
安裝epel
# yum install epel-release
開始安裝 smokeping
# yum install smokeping
完成會跳出這訊息Complete! 完成
關閉SELinux
# vi /etc/sysconfig/selinux
或是# sudo vi /etc/sysconfig/selinux ## sudo是super意思如已在root就不用。
SELinux調整成disabled
#sestatus 查看狀態
# systemctl status firewalld 確認目前狀態
同意80port通過. 另外不關了22PORT不然就無法遠端
#firewall-cmd –permanent –zone=public –add-port=8022/tcp
[root@NO]# firewall-cmd --permanent --add-port=80/tcp


success完成後再更新一下firewall規則:
# firewall-cmd –reload
# firewall-cmd --list-all (查看目前的規則)


http directory目錄下調整:Require 
Local改成all granted 如沒調整只有本機看的到:
# vi /etc/httpd/conf.d/smokeping.conf




進行重啟服務:
[root@NLAB ~]# systemctl restart httpd
[root@NLAB ~]# systemctl restart smokeping


開瀏覽器: http:// X.X.X.X /smokeping/sm.cgi
看到網站設定完成。
新增線路監控資料:
[root@REDLAB ~]# cd /etc/smokeping #查詢目錄
[root@REDLAB smokeping]# ls
basepage.html  config  smokemail  smokeping_secrets  tmail
# vi /etc/smokeping/config進入編輯:
用裡面的範例COPY貼到CONFIG下方空白處
調整你所要的監空(一個加號+就一層目錄:最多三個加 
+ test1 (這個名稱不可重覆)
menu = Google
title = google DNS
host = 8.8.8.8
完成後重啟Httpd及Smokeping服務
找到告警的部分設定收件EMAIL
*** Alerts ***
to = redXXXX@yahoo.com.tw
from = root@localhost


在要監控的線路上設上alerts = someloss
察看信箱五分鐘就會收到。用YAHOO信箱為例


如Smokeping需要打上中文:進入CONFIG加上上charset = utf-8
# vim /etc/smokeping/config
完成後重啟HTTPD及Smokeping服務。中文的部分就不會亂碼。
在VI如要編輯CONFIG,可打/ Presentation搜尋,方便尋找







2020年6月9日 星期二

LINUX 由別台COPY檔案

LINUX 由別台COPY檔案


[root@NOCREDLAB smokeping]# scp root@47.56.2XX.1XX :/etc/smokeping/config /etc/smokeping/
The authenticity of host '47.56.2XX.157 (47.5X.2XX.1XX)' can't be established.
ECDSA key fingerprint is SHA256:CeTlZHXb6cFHUp9xNhPEXW0ECCDxTmxF6SZZtO2jJ9Y.
ECDSA key fingerprint is MD5:6d:13:3a:00:99:8f:44:66:44:63:21:1c:87:ab:b1:a7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '47.56.2XX.1XX' (ECDSA) to the list of known hosts.
root@47.56.2XX.1XX's password:
config                                                                                                                          100%   16KB 129.3KB/s   00:00   

[root@REDLAB smokeping]# ls (回到自己主機確認config檔案是否被COPY過來)
basepage.html  config  smokemail  smokeping_secrets  tmail



2020年6月8日 星期一

python序列表的運算 List有序列可變動、Tuple資料不可變動

python有序列表的運算 – 1:List有序列可變動、2:Tuple資料不可變動

List有序列可變動 用[ ]
grades分數 #學生分數
grades=[1,6,15,170,90]
print(grades)
印出如下

grades=[1,6,15,170,90]
print(grades[0]) #由0開始算起。依序如下,超過列表的值如果5,會出線錯誤。
可更新資料:放到列表第n個位置
grades=[1,6,15,170,90]
grades[0]=5
print(grades)


grades=[1,6,15,170,90]
print(grades[1:3]) #取1:3的值(不含3) 印出6及15

grades=[1,6,15,170,90]
print(grades[1:4]) #取1: 4的值(不含4) 印出6及15,170

grades=[1,6,15,170,90]
grades[1:4]=[] #1: 4的值變空白
print(grades)
列表資料串接
grades=[1,6,15,170,90]
grades=grades+[11,30] ##加入11,30
print(grades)

grades=[1,6,15,170,90]
length=len(grades) ##取的列表資料的長度len
print(length)

槽狀列表輸出
date=[[1,6,15],[2,3,4]]  ## [[ 兩成層
print(date[0][1])   ##印出6

date=[[1,6,15],[2,3,4]]
print(date[1][0]) #印出2

date=[[1,6,15],[2,3,4]]
date[0][0:2] ###表示[0]= [1,6,15] ###[0:2] 表示1,6

date=[[1,7,6],[2,3,4]]
date[0][0:2]=[6,6,6]
print(date[0])

date=[[1,7,6],[2,3,4]]
date[0][0:2]=[6,6,6]
print(date) #印出所有列表

date=[[1,7,6],[2,3,4]]
print(date)
date[0][0:2]=[6,6,6] ##取代 把1,7換成[6,6,6]
print(date)

Tuple資料不可變動 用( )
data=(1,2,3)
print(data[0:2])


2020年6月5日 星期五

阿里雲-CentOS postfix服務設定及測試

CentOS postfix服務設定及測試

近期由於自已在阿里雲架設的smokeping沒辦法發送告警信所以便進行了一連串的測試
結果不試不知道一試嚇一跳,postfix服務竟然連開都開不起來,更不用說發什麼告警信了
於是,就開始了一連串的debug

先檢查postfix狀態
#systemctl status postfix
狀態顯示failed,所以才有今天這篇文章XD

先試著重啟服務
#systemctl   restart   postfix
從上圖可以看到不管restart 或是start  都是無效的,Unit not found

經過一連串的測試終於發現問題所在,只要讓postfix只用IPv4問題就解決了
打開postfix的控制文件並找到119行
#vi /etc/postfix/main.cf

將inet_protocols = all改成inet_protocols = ipv4(原本設定是同時套用ipv4及ipv6)


接著,再重啟postfix服務
#systemctl restart postfix


然後驗證一下
#systemctl status postfix
狀態active

接著,最後階段,發封信給自已

由於主機並未指定DNS及綁上domain所以原本寄到自已公司信箱的測試信件未收到(應該是被擋掉了)

但後來測試了gmail就有收到了,雖然也被歸到垃圾信箱裡


以上!就是對於阿里雲CentOS啟動postfix服務的一點經驗分享




搜尋此網誌