RHCE 7 這張證照分成兩個部份-「RHCSA 7 (EX200)」和「RHCE 7 (Ex300)」,兩張都要過才能拿這張證照,通過的成績都是210/300,寫這篇文章時都是RHEL (Red-Hat-Certified-Engineer )7版本。 官方主要的exam-objectives如下:RHCSA: https://www.redhat.com/en/services/training/ex200-red-hat-certified-system-administrator-rhcsa-examRHCE: https://www.redhat.com/en/services/training/ex300-red-hat-certified-engineer-rhce-exam 整理一下如下,就是如果你真的練習很久,很熟練的話,你會學到底下的東西:
Sunday, 13 November 2016
[Linux] RHCE 7
Wednesday, 26 October 2016
[Linux] pidstat - 行程(任務)資源統計
pidstat pidstat是Linux 裡面一套統計/監控目前被kernel所管理的任務(task)的軟體。使用前必須先掛載proc。主要有底下幾種方式顯示統計數據: 1. 顯示區間和顯示筆數。 2. 根據特定task為單位。 3. 根據IO。 4. 根據PID。 5. CPU使用量。 6. 分頁錯誤(page faults)和記憶體使用量(memory utilization)。 7. 堆疊(stack utilization)。 8. task切換分頁。 (這文章並不是在同一天,同一台主機內寫的,所以顯示數據的hostname, CPU,還有裡面的例子等等資訊可能會不太一樣,並且以下內容都是以版本11.2.0所撰寫)
Sunday, 16 October 2016
[Linux] Uncomplicated Firewall (UFW)
Uncomplicated Firewall 之前一直在用firewalld,用法請參考之前的文章『firewalld』,但是我的PC安裝的是Ubuntu阿, 所以還是來研究一下UFW (Uncomplicated Firewall),然後將firewalld取代掉吧。 在Linux的kernel裡面提供了一個過濾封包的subsystem稱為『netfilter』,主要用來決定外來或內部網路封包是否可以通過的規則,傳統操縱netfilter的介面是『iptables套件』,iptables提供了一套完全彈性和很好去組態的防火牆機制。但是想要精通iptables需要花很多時間,而且對於初學者來說想要使用iptables來設定你的防火牆是一件非常堅巨的任務。所以有許多的前端軟體被建立出來,每個都有不同的用途。 UFW是Ubuntu上的防火牆(iptables)的前端CLI工具,提供了控制netfilter的framework,但是在其他的distros上面也可以安裝,如果不喜歡用CLI的話,可以使用『Gufw』這套GUI程式。而UFW是在Ubuntu 版本8.04 LTS (Hardy Heron)被引入的,後面的版本都可以直接安裝: - Ubuntu 12.04 LTS: 0.31.1-1 - Ubuntu 14.04 LTS: 0.34~rc-0ubuntu2 - Ubuntu 15.10: 0.34-2 - Ubuntu 16.04 LTS: 0.35-0ubuntu2 - Ubuntu Core: 0.35pre
Monday, 8 August 2016
[Linux] Firewalld
Firewalld 介紹 firewalld是一套Linux上的防火牆管理工具,最初版本是在2011年1月3號釋出的,穩定版直到2016年4月20號才釋出。主要提供Linux核心的iptables封包過濾(packet filtering)系統 - 『netfilter』的前端(front-end)功能。命名規則主要遵循著Unix的命名規則daemon的名字加一個『d』。這一套工具是由Python所寫的,之前原本想要移植到C++上面,但是這個計畫在2015年時就取消了。 官方上有firewalld的主要功能: - D-Bus API - Timed firewall rules - Rich Language for specific firewall rules - IPv4 and IPv6 NAT support - Firewall zones - IP set support - Simple log of denied packets - Direct interface - Lockdown: Whitelisting of applications that may modify the firewall - Support for iptables, ip6tables, ebtables and ipset firewall backends - Automatic loading of Linux kernel modules - Integration with Puppet
Tuesday, 2 August 2016
About Hugh
我是Hugh,因為發現自己hacker的本質,所以致力於當個專精的Linuxer,目前有相關Linux證照:
1. LPIC - Level2
2. RedHat - RHCE
3. Novell - SCLA
底下是我所有研究的分類連結,主要為『嵌入式系統』和『Linux 相關應用』,小文章我會放在這個blog裡,而架構比較大的文章我會放在gitbook上:
1. LPIC - Level2
2. RedHat - RHCE
3. Novell - SCLA
底下是我所有研究的分類連結,主要為『嵌入式系統』和『Linux 相關應用』,小文章我會放在這個blog裡,而架構比較大的文章我會放在gitbook上:
[Linux][Ubuntu][RedHat] bonding and teaming
Link aggregation
網路聚合(Link Aggregation),在電腦網路領域這個名詞代表的是將多重網路介面NIC(Network interfaces)用並列的方式結合來增進網路流量,也可以提高其容錯能力。主要的方式是建立一個LAG(Link Aggregation Group),而這個LAG群組底下會有多個實體的埠(port),每個port都有辦法處理高流量的封包,所以將這些port都結合在一起的話,就可以增加很大的彈性。
Thursday, 28 July 2016
[Linux][Red Hat] Network Teaming
在Linux裡面,可以透過將多個實體網路介面分配到單一個邏輯網路,這樣可以增加網路的流通量和穩定性。舉例來說,可以將兩個網路介面「eth0」和「eth1」組成一個群組「group1」,然後分配一個IP給這個群組,這樣的話,妳就有兩倍的流量了,又或者是你也可以設置成備用的用途,像是如果eth0壞掉了,這個群組會自動的改走「eth1」。
將兩個網路介面設定群組「Link aggregation」,可以藉由「teaming」或是「network bonding」來達成,但是在Red Hat的官方網站上,有比較兩邊的差異,請參考→ here for a full list of the differences.
我參考的這邊文章,主要講解如何用「team」將兩個不同的網路介面給設定成一個群組。
Sunday, 24 July 2016
[Linux] Single Mode
前言
使用Linux系統,有時候我們會忘記密碼,這時候就會無法登入,此時就必須要在開機時做一點手腳,然後由『Single mode』去修改密碼。
不過你也許會想,這樣不就是只要接觸到你電腦的人,都可以藉由這種方式來取得你的root嗎?@@,所以這就是為什麼有些公司的重要機房都會管制,以防止被竊取資訊(然後有些駭客就必須要爬杜拜塔進去機房.....,阿~對不起,我電影看太多了~~=.=)。
Menu entries可以藉由在開機之前修改參數,然後在傳遞這個參數到Kernel裡。要進行這個動作,就必須要用到『menu entry 編輯介面』,底下主要紀錄一下『Ubuntu』和『Redhat』怎麼進入Single Mode的。
Ubuntu 16.04
在Ubuntu裡,開機時按著「shift」就會進入Boot Menu,但是像我自己曾遇到,狂按著「Shift」還是不會進去,所以這時候就必須要強制打開它,請修改檔案「/etc/default/grub」,將這一行如下圖一樣註解掉「GRUB_HIDDEN_TIMEOUT=0」,然後儲存後在更新grub table:
update-grub
這時候重開機後就會看到Boot Menu在倒數了:
接下來就是選擇你要的系統上按「e」進入編輯,然後在如下的地方帶入額外的參數「single」以後,直接按「Ctrl+x」或是「F10」以這份修改後的Boot Table開機:
重開機後你就會看到進入single mode了,接下來如下一樣,使用指令「passwd」修改密碼,然後在用「reboot」或是「init 6」重新開機後,在用你的新密碼開機瞜~。
RetHat
從RHEL7開始,grub版本就變成『grub2』了,所以這邊需要分成兩個部份來介紹:RHEL6.X 的『grub』和 RHEL7.X 的『grub2』:
RHEL 6.X
在這個介面,選擇你要啟動的OS版本,按下『e』鍵修改,像這個例子,只有一個版本,所以不需要選擇,直接按下『e』就好。
按下去以後,就會跳進去下一個表單,像這個例子來說,有三行資訊,第一行是我的root file system的磁碟位置,第二行為kernel image的印象檔檔名和傳入參數,第三行則是initrd印象檔的檔名。我們想要修改的是kernel的傳入參數,所以選擇第二行後再按『e』。
進來之後就會看到比較細節的參數資訊了,這時候請在此行最後面加入一個『single』或者是『1』都可以,這邊記得跟前面的參數之間要隔一個空格,然後按下『Enter』儲存改變後回到上一層。
回到上一層以後,在按下『b』鍵,代表用這個修改過的『Menu entry』來開機,但是記得,這個只是對於這一次的開機,也就是說,你下次開機後,你剛剛修改的值就會消失恢復成預設值了。
按下『b』以後,你就會看到一堆的開機程序,然後就進入root了,這時候你只要簡單的輸入:
passwd
修改你的密碼以後再輸入
reboot
或是
init 6
就可以用你的新密碼開機了
RHEL 7.X
RHEL7.X的grub2會有一點點不太一樣,主要差異是『SELinux』和『systemctl』。開機後一樣,看到boot menu後,移到你要的版本上按下『e』鍵:
然後你就會發現在比較進階的資訊,這些資訊其實都是在檔案『/boot/grub2/grub.cfg』裡面的內容,接下來你要找到讀入kernel檔案的那一行,將『rhgb quiet』取代成『init=/bin/bash』,然後按下『Ctrl+x』用這個組態開機以後就會進入到Single Mode了,如下圖:
一旦你進入Single Mode以後,你的root的分區(Partition)將會是唯獨(read only)的狀態,你可以藉由底下指令來確認:
mount | grep root
這時為了要將這個partition改為可以寫入的狀態,所以我們必須要重新掛載(remount)成Read/Write的模式:
mount -o remount,rw /
然後再次確認:
mount | grep root
掛載成Read/Write 模式以後,我們就可以改root的密碼了,請輸入『passwd』:
passwd
如果你的系統的Selinux是開啟的話,你就必須要在執行底下這個步驟,來重新修改SELinux的內容,否則你的密碼將不會生效:
touch ./autorelabel
接下來只要重開機就好了,你就可以使用你新的密碼開機了:
exec /sbin/init
(2016.08.24 更新)
如果在RHEL7下,用上面的方式不行的話,可以用底下的方法:
Interrupt the boot process in order to gain access to a system.
Ref:
Monday, 4 July 2016
Monday, 9 May 2016
raspberry_mp3
這個專案是參考mpolakovic的qemrdux-player專案,然後藉由buildroot,實做一個mp3 player,主要差別是他是跑在qemu上,但是我將他移植到Raspberry Pi2上,藉由這個專案,可以了解以下項目:
- 一個客製化的作業系統是怎麼被建立出來的。
- 如何客製化的引入套件。
- busybox 的設定和修改。
- Root File system的建置原理。
- 產生與燒入映像檔。
如果這個文章裡面有任何錯誤,還是有需要討論的地方,都歡迎交流,你的指正,都會讓我更進步 ^^。
老話一句,如果覺的容器太小,請直接看我的gitbook:
或者是直接下載code去build:
其他的相關研究結果請參考:
buildRoot study - 建立自己的作業系統
Buildroot架構解析
Tuesday, 3 May 2016
vmstat
Introduction
這是一套虛擬記憶體的統計軟體,統計關於行程,記憶體,分頁,block IO, traps, 磁碟和cpu的活動等等。
vmstat總共有四種模式,分別是「VM」, 「Disk」, 「Disk Partition」, 「Slab」。
Tuesday, 26 April 2016
Benchmark - mpstat
Introduction
統計跟處理器相關資料軟體,必須先把proc掛載起來才能使用。
這個指令會對輸出所有可取得的處理器的活動,「processor 0」 會是第一個. 所有處理器的平均也會被紀錄起來。不管是單處理器還是多處理器都可以用這個指令,只是單處理器只會印出一個值。
如果後面接數字參數「eg. mpstat 2」代表每2秒更新一次,持續更新資料。如果是0或是沒有參數則是從開機到這個時間點的平均。如果是兩個數字參數「eg. mpstat 2 5」,代表每兩秒更新一次,組共5次。
Monday, 28 March 2016
nmap 基本用法
Introduction
- man page的定義:「Network exploration tool and security / port scanner」,這套工具可以拿來掃描「遠端」或是「子網路」,以取得一些資訊,來作為資訊安全的考量或察核。因為最近很常用,所以這邊文章想要整理一下比較常用的用法,以供我自己或有需要的人查詢。
Friday, 4 March 2016
my vim recipe
- Introduciton
Vim是一款Linux 上的Open source文字編輯軟體,很多在Linux 上開發的老手,應該都很習慣Vim了吧,
學習vim對於習慣使用windows office系列的新手來說,真的是門檻蠻高的,因為要背好多東西(阿Linux不就是要背一堆東西,所以使用Linux應該可以防止老人癡呆症吧XD)。
Vundle
- Introduction
vim plugin那麼多,如果可以用一套軟體來管理的話,似乎會更有效率一點,
Vundle可以對vim的plugin:
- 對.vimrc裏面的plugin持續追蹤和管理
- 安裝plugins
- 更新所有的plugins
- 可搜尋所有可取得的plugin
- 清除沒在用的plugin
- 可以用一個簡單的指令完成以上所有動作
- 安裝完後自動生成help tags
- 自動管理安裝腳本的路徑
unite.vim
- Introduction
unite.vim是一個vim的plugin,他可以顯示模糊搜尋的資料,像是「檔案」,「buffer」, 「最近使用過的檔案」和「register」等等。
簡單來說就是:
- 可以當成檔案總管來用
- 可以簡單的搜尋檔案
- 察看現在buffer裏面所有的資料
Wednesday, 2 March 2016
snipmate+neocomplcache
- Introduction
之前在使用.net的IDE時,覺得都不用去記很多函數的名字,因為有一個功能叫作自動補齊(Auto-Completion) ,只要打幾個字,就會有一個清單出來讓你挑,又或者打幾個字以後然後按tab就會自己全部補齊,少了很多打錯字的風險。
所以這篇文章我想要來介紹一下兩個vim的plug in,「snipmate」和「neocomplacache」。
(雖說網路上說youcompleteme + ultisnips目前才是王道,這有空在研究吧...)
NerdTree
NerdTree
- Introduction
有時候在Vim底下,想要查檔案,或看目前這個資料夾底下還有多少檔案,有幾個選擇:
1. ctrl+z,跳出去看看在跳回來。
2. :ls,直接看。
3. 直接開一個新的終端機分頁切換。
但是現在有一個新的選擇,更方便也更視覺化,那就是使用NerdTree,
不用一直切換來切換去,也不用跳出vim。結果如下圖:
ctags&Taglist
- Introduction
有用過一些IDE來寫程式的人,應該都很熟悉像source insight (如下圖)這樣子的介面,
左邊有變數, 常數, 宣告和函數的導覽,右邊則是主程式視窗,
然後看到想追的code就可以看誰呼叫他的還是函數原型 ,
其實這些vim+Plugin也可以做的到,但是也許沒有像這些IDE那麼強大,但是有些功能用習慣以後,其實也很方便。
Sunday, 28 February 2016
Debian based package management
- Introduction
常使用Debian-based系統的人(像是Ubuntu),常常會碰到一些套件的安裝跟管理,
對初學者來說,這地方會有點複雜,因為還會牽扯到很多相依性的問題。
這篇文章要來了解一下Ububut下的的套件管理系統,先說白一點,
「APT」:全名是Advanced Packaging Tool,也就是套件管理系統的後端,
「apt-get」:套件管理系統的前端,會去幫你注意到相依關係的套件,
「dpkg」:檔案安裝系統,不會去管你的檔案相依性,
「dselect」:一系列apt-get script的集合包裝,有更多的功能性。
但是這篇文章我們只focus在「整個套件系統的宏觀」,「apt-get」和「dpkg」,至於其他的可能會稍微提到,
有需要的人就請自行搜尋吧。
Monday, 22 February 2016
C Data Type Size
- Introduction
之前大一時,C的教科書裏面一開始就有許多C的資料型態的介紹,
哪一個佔多少byte,可呈現的數值範圍各是多少,
這東西老師沒有特別講解,也沒有說很重要,
所以一直都以為根本不用去記它,
記它幹嘛? 隨便都可以查的到的東西@@
結果,沒去背它果然吃很多虧,
先不說實用面,就是宣告錯型態會浪費很多記憶體空間,
降低很多效能等等,
至少,很多公司面試都很喜歡考阿!!!
vim - Color Scheme
- Introduction
大家應該都有類似的經驗,用IDE在開發程式時,背景色,文字顏色,反白跟註解的顏色....
有時候沒設定好的話,會哪個是註解哪個是有效的程式碼常常會看不清楚,
所以一個好的color scheme是很重要的,
如果你覺得本身Distribution的color scheme不合你胃口的話,
就需要套用自己比較習慣的樣式會比較有效率一點。
Sunday, 21 February 2016
Samba 簡單設定 [ubuntu]
Introduction
Samba,以windows系統來說,就是設定一個網路上的芳鄰,可以兩台主機分享並修改檔案資料,
但是因為鳥哥的書裏面是在CentOS底下所實作,
有些細節部份跟我使用的Ubuntu不太一樣,
所以我這邊特別在把兩台電腦(Server & Client)在Ubuntu底下要怎麼設置直接寫步驟。
Subscribe to:
Posts (Atom)