Archive

‘教學雜記’ 分類過的Archive

Micro Focus Authorized Instructor

2017年2月12日 尚無評論

自從 Novell 被 Micro Focus 併購後,我也好一陣子沒再針對 Novell 的產品與認證進行深究,前幾天收到 Micro Focus 寄來的新版講師證照,相關權益基本上與之前的 Novell CNI 相同,不過台灣現在很少 SUSE Linux課程了,所以發文紀念一下 ^^

 

vacation 的使用

2015年3月31日 尚無評論

vacation 其實是一個很簡單的技巧,讓使用者可以在家目錄中配置回信訊息,讓系統可以在收到信件後自動回覆給寄件者,設定方式如下所示:

  1. 首先確認是否有安裝 vacation 套件
  2. 接著在需要自動回覆功能的使用者家目錄中產生 .vacation.msg 檔案,範例如下:

    Subject: Re: $SUBJECT

    內容

  3. 若是自動回覆的內容需要輸入與顯示中文時,則必須在表頭部分添加如下描述:

    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    Subject: Re: $SUBJECT

  4. 接著初始化 vacation 資料庫,操作方式如下所示:

    vacation -I

    初始化後你可以在使用者家目錄下產生一個 .vacation.db 的檔案

  5. 最後我們再透過 .forward 檔案將收到的信件透過 vacation 處理,直接在使用者帳號目錄內產生一個 .forward 檔案,內如容下:

    \USERNAME, “|/usr/bin/vacation USERNAME”

    請將 USERNAME 改為使用者的帳號名稱

透過Oracle虛擬主機樣本檔案來建立容器環境

2014年7月8日 尚無評論

Oracle公司有提供一系列預先配置好的虛擬主機樣本檔案供使用Oracle VM Server的用戶進行匯入運用,而我們也可以透過這些虛擬主機樣本檔案轉換為Linux容器系統可以使用的格式來進行套用,接著,筆者將透過下列步驟示範如何從Oracle公司網站取得與使用這些免費的資源:

  • 步驟一:首先,如圖所示,讀者必須先連線到Oracle Software Delivery Cloud網站(https://edelivery.oracle.com),雖然這些虛擬主機樣本檔案是免費下載的,但我們還是需要擁有一個Oracle網站帳號才能夠進行資源的存取。

    螢幕快照 2014-06-19 17.21.36
    進入Oracle Software Delivery Cloud網站之後,讀者點選【Sign In / Register】按鈕進行帳號的登入或者是註冊一個新的Oracle網站帳號來進行資源的存取使用。

  • 步驟二:如圖所示,順利登入Oracle Software Delivery Cloud網站之後,系統會要求你針對一些存取授權規範進行閱覽與同意,讀者必須選擇同意後才可以進行下一個步驟的操作。

    螢幕快照 2014-06-19 17.22.15

  • 步驟三:當我們順利完成規範的同意作業之後,如圖4-7所示,便可以進行選擇欲下載的媒體套件,預設便會停留在Oracle VM Templates項目,讀者只要點選【Go】按鈕便可以進行相關套件內容的搜尋。

    螢幕快照 2014-06-19 17.22.26

  • 步驟四:如圖所示,讀者可以從搜尋出來的結果挑選欲下載的虛擬主機樣本檔案,點選下載後便可以取得一個ZIP的壓縮格式檔案。

    螢幕快照 2014-06-19 17.22.42

  • 步驟五:接著,筆者嘗試將下載的壓縮檔案上傳到主機中,並且透過unzip指令工具將這個虛擬主機樣本檔案解開,操作方式如下所示:

    [root@host01 ~]# unzip V18097-01.zip
    Archive: V18097-01.zip
    inflating: OVM_EL5U2_X86_64_TMPLBUILDER_PVM.tgz

    [root@host01 ~]# tar -zxvf OVM_EL5U2_X86_64_TMPLBUILDER_PVM.tgz OVM_EL5U2_X86_64_TMPLBUILDER_PVM/
    OVM_EL5U2_X86_64_TMPLBUILDER_PVM/README
    OVM_EL5U2_X86_64_TMPLBUILDER_PVM/System.img
    OVM_EL5U2_X86_64_TMPLBUILDER_PVM/data.img
    OVM_EL5U2_X86_64_TMPLBUILDER_PVM/vm.cfg

  • 步驟六:在步驟五解開的封裝壓縮檔案中讀者可以取得一個System.img檔案,這個檔案便是我們需求的檔案內容,接下來的操作步驟如下所示:

    [root@host01 ~]# mv OVM_EL5U2_X86_64_TMPLBUILDER_PVM/System.img .
    [root@host01 ~]# kpartx -l System.img
    loop0p1 : 0 192717 /dev/loop0 63
    loop0p2 : 0 8193150 /dev/loop0 192780
    loop0p3 : 0 4209030 /dev/loop0 8385930
    loop deleted : /dev/loop0
    [root@host01 ~]# kpartx -a System.img
    [root@host01 ~]# ls /dev/mapper/
    control loop0p1 loop0p2 loop0p3 vg_host01-lv_root vg_host01-lv_swap

    [root@host01 ~]# mount /dev/mapper/loop0p2 /mnt/
    [root@host01 ~]# cd /mnt/
    [root@host01 mnt]# ls
    bin dev home lib64 media opt root selinux sys usr boot etc lib lost+found mnt proc sbin srv tmp var
    [root@host01 mnt]# find . -mount -depth | cpio -pdv /container/ol52-template

    2642999 blocks
    [root@host01 ~]# umount /mnt
    [root@host01 ~]# kpartx -d System.img
    [root@host01 ~]# lxc-create -n ol52-64 -t oracle — -t /container/ol52-template

    大功告成 !!

OEL6 中的 Cron Daily 是何時執行呢?

2014年6月28日 尚無評論

在 RHEL 4 以前的排程 Cron ,基本上我們可以在 /etc/crontab 中去定義執行 cron.daoly、cron.weekly 與 cron.monthly 的時間,從 RHEL 5 以後的版本,這個配置做了調整,取消了原先在 /etc/crontab 中的配置,而是改用 anacrontab 來進行設定,如在 OEL 6 中的 /etc/anacrontab 設定:

[root@OEL-Master cron]# cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days delay in minutes job-identifier command
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly

在這個配置中有幾個欄位:

  • period in days:差異天數
  • delay in minutes:延遲時間
  • job-identifer command:執行工作指令

舉個例子說,在 cron.daily 的配置設定為 1 5 cron.daily nice run-parts /etc/cron.daily,意思是系統每天會檢查 /var/spool/anacron/cron.daily 的最近一次執行時間戳記,確認與目前時間差異超過一天,就會先延遲五分鐘後開始執行後面指定作業。但這邊要特別注意的是,這個檢查時間與延遲時間會因為 RANDOM_DELAY 與 START_HOURS_RANGE 影響,以這個範例來說,anacron 會在每天的 3 點 ~ 22 點進行檢查,除了原本規則定義的延遲時間外,還會加上 RANDOM_DELAY 所設定的時間 45 分鐘,因此 cron.daily 一但被發現有差異超過一天,則會在 45+5 分鐘後開始進行執行。

Oracle Linux 與 OVM 啟動企業雲端服務 (TPE)

2014年5月27日 尚無評論

上週感謝 Oracle University 的 Serene 邀請讓我可以前往會場分享一下從其他虛擬化平台轉換到 OVM 的一些過程心得,Oracle 公司對於大部分人而言應該都不會太過於陌生,但絕大多數還是停留在資料庫、ERP等應用上面為主,Oracle Linux 與 OVM 這兩項企業級產品對於 Oracle 公司而言算是新生成員,但卻擁有企業級的應用架構與管理機制,對於一般企業在挑選虛擬資源整合方案時,可以作為一個挑選的評估項目。會中也很開心有機會可以和一些已經導入其他虛擬化解決方案的企業主管進行討論與意見交換,從中也收穫蠻多的 …. 之後我再來準備幾篇文章來介紹一下 OVM 的安裝與運作模式 ~

IMG_0451 IMG_0446

 

sed 進行完全批配處理

2013年10月10日 尚無評論

昨天上課剛好學生提到這個問題,印象中之前有整理過相關文件,但突然找不著了,所以就補上說明使用方式紀錄一下,避免之後要參照又找不到資料:

figaro@www:~> cat test
My name is cat
cat is xxx
catdog
figaro@www:~> sed ‘s/\<cat\>/dog/g’ test
My name is dog
dog is xxx
catdog

Samba Server 啟用主機名稱解析功能配置

2013年7月28日 尚無評論

在 Samba Server 裡面預設我們可以透過 hosts allow 功能來限制存取的主機位置,可以使用 IP、網域名稱等方式來定義這些位置來源,由於 3.0 以後的 Samba Server 版本預設已經將名稱解析參數 hostname lookup 配置為 NO,因此當我們配置為網域名稱的清單格式時會無法進行名稱解析。修正方式只要在 /etc/samba/smb.conf 組態檔案的 [ Global ] 區間內配置  hostname lookup = yes,重新啟動服務便可以解析相關網域名稱條件。

在 SUSE Linux 中自訂 Daily Crom 的執行時間

2013年6月23日 尚無評論

預設,在 SLES 裡面會將 日、週、月 的排程腳本於 /etc/crontab 會定義一個檢查時間,交由 run-crons 每隔 15 分鐘進行檢查確認:

ns1:~ # cat /etc/crontab
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1

由於在這條描述中最前面添加 ‘-‘ 符號,因此何時執行,執行中發生什麼事情都不會被紀錄,若是我們希望取得執行的相關訊息可以將 ‘-‘ 符號移除。

預設,系統會將每日執行的時間定義在開機後的 15 分鐘,如果你希望自訂每日執行的時間可以到 /etc/sysconfig/cron 檔案中,修改 DAILY_TIME 這個變數值,操作方式如下所示:

DAILY_TIME=”23:45″

時間的定義必須是 15 的倍數,主要是配合 run-crons 的檢查週期時間,以上面的範例來說,之後系統不管何時開機,每日排程的檢查時間會在 23:45 進行執行。

LPIC Level 2 新版考綱 4.0 即將上路

2013年6月20日 尚無評論

自2012年8月1日釋出修正的 3.5 版本考綱範疇之後,新版本的 4.0 也即將於今年的 10/1 正式上路,這次的版本異動比起 3.5 來說算是幅度稍微大一些的變化,有興趣的朋友可以參考官方網站的相關詳細說明。底下為筆者整理的相關異動分析:

  1. 新增考綱 200 Capacty Planning,主要是要針對受測者對於系統實際資源的使用情況進行監控,並且學習如何預測後續或者是運作中的系統所需要的實體資源狀態。這個考綱基本上並不會太難,所測驗的相關細節基本上還是屬於在 LPIC Level I 部分範疇內,因此對於考生準備上應該不會太過複雜。
  2. 原先201的Linux 核心部分將 3.X 版本的核心增加更多的項目近來,並且將原先的 201.3、201.4與201.5範疇合併為201.3權重也提升到4分
  3. 在202系統啟動項目中添加PXE的使用方式,與其他替代Linux啟動載入器的項目。
  4. 在203檔案系統與裝置項目中刪除原本的203.4關於udev裝置的管理機制。
  5. 原先的205.4系統相關事件通知移動到206.3
  6. 在208網頁服務項目中添加Nginx的使用,包含建置網頁伺服器與建置反向代理伺服器。
  7. 在210網路用戶端管理項目中原先僅考LDAP用戶端的使用,在新版本中添加210.4針對LDAP伺服器的組態進行測驗。
  8. 在212系統安全項目中,將OpenVPN的使用獨立一個子項目為212.5,而212.4 TCP包裹程式的使用則被移除。
  9. 原先的213故障排除項目整個被移除。

4.0在相關主題權重上也略有異動,但整體比較驚豔的部分是在將OpenVPN、MRTG、OpenLDAP Server等主題添加近來,並且將部分不符合時宜的考綱項目剔除,當然最後的呈現仍得看實際的考試上場後才比較可以確認異動的變化狀態,但至少從目前的更動狀況來說,對於受測的考生而言是一個不錯的消息。

.bash_logout 的使用

2013年5月21日 尚無評論

前幾天上課時剛好有個學員在詢問 .bash_logout 的使用問題,他希望每次登出時將 HISTORY 紀錄清空,預設操作十分簡單,將 history -c 指令語法添加到 $HOME/.bash_logout 即可,但學員反映怎樣測試都是會失敗。後來做了一個簡單的測試,確認一下 .bash_logout 是否有運作:

echo “Bye…..” > $HOME/.bash_logout

然後嘗試登出系統後,會出現:

user@Host2:~> exit

logout
Bye…..

所以證明 .bash_logout 有正常運作,那麼為什麼我們的 HISTORY 紀錄沒被清空呢 ? 其實並不是沒被清空,而是在 $HOME 路徑下還有一個 .bash_history 檔案記住相關 HISTORY 紀錄,若各位還有印象預設我們的環境變數中有指定一個 HISTSIZE 與 HISTFILESIZE 兩個,預設當我們下達 history -c 時會將暫存區內的紀錄清空,也就是清除 HISTSIZE 所記錄的資料筆數,但檔案內的紀錄仍舊存在,因此下次登入系統後仍舊會看到之前存放在 .bash_history 檔案內的相關指令操作紀錄。解決方式如下:

user@Host2:~> cat .bash_logout

history -c
cat /dev/null > $HOME/.bash_history

這樣便可以解決無法清空紀錄檔案的問題 ~