CentOS作為Linux大家族的一員简肴,在業(yè)界里CentOS被使用在很多支撐生產(chǎn)運行的服務(wù)器上面贮缅,凸顯了CentOS的重要性榨咐。我在企業(yè)信息化技術(shù)轉(zhuǎn)型的過程中開始接觸CentOS,CentOS系統(tǒng)運行的穩(wěn)定携悯、不斷的更新支持祭芦、大規(guī)模系統(tǒng)也能很好地發(fā)揮性能,這些優(yōu)異的特點促使我不斷的挖掘CentOS更多的性能憔鬼。
一龟劲、CentOS建立的基本原則
CentOS非常的輕巧而靈活,它的核心是Kernel轴或,其他的應(yīng)用程序調(diào)用Kernel暴露的接口昌跌。
我們在生產(chǎn)系統(tǒng)中一般不會裝CentOS的桌面,通過SSH協(xié)議連接服務(wù)器照雁,然后通過CLI接口命令操作系統(tǒng)蚕愤。
1.CentOS是由單一的小程序組成,組合小程序完成復(fù)雜的功能饺蚊。
接觸過設(shè)計模式的同學(xué)知道萍诱,設(shè)計模式第一條原則就是單一職責(zé)原則(SRP),即設(shè)計程序的一個程序類或者模塊只能完成單一功能污呼,有且只有一個改變的原因裕坊。
2.一切皆文件,進入CentOS系統(tǒng)里面沒有類似于windows系統(tǒng)的C盤D盤這樣的分區(qū)燕酷,CentOS的根目錄是’/’籍凝,根目錄存放了一些特定的文件,這些特定的文件分別存放特定的內(nèi)容苗缩。
/bin存放可執(zhí)行文件
/boot系統(tǒng)啟動內(nèi)容
/dev設(shè)備點饵蒂,只起一個連接作用,把對設(shè)備的操作映射到具體的驅(qū)動程序代碼中去酱讶。
/etc配置文件
/home用戶家目錄退盯,每一個用戶家目錄通常默認/home/UserName
/root管理員的家目錄
/lib庫文件
靜態(tài)庫.a4
動態(tài)庫.dll , .so
/lib64庫文件(64位操作系統(tǒng)的庫文件)
/media掛載點目錄,移動設(shè)備
/mnt掛載點目錄,額外的臨時文件系統(tǒng)
/opt可選目錄得问,第三方程序的安裝目錄
/proc偽文件系統(tǒng)囤攀,內(nèi)核映射文件
/sys偽文件系統(tǒng)软免,跟硬件設(shè)備相關(guān)的屬性映射文件
/tmp臨時文件
/var可變化的文件
/bin可執(zhí)行的文件宫纬,用戶命令
/sbin管理命令
/usr應(yīng)用程序的安裝目錄
3.盡量避免獲取用戶接口,盡量不和用戶進行交互膏萧,就是一個程序一旦開始運行漓骚,就不需要用戶進行任何操作,如ls命令榛泛,ifconfig命令蝌蹂。
4.配置文件保存為文本文件,在CentOS中系統(tǒng)所有的配置都存放在/etc目錄下面曹锨,查看這個文件下面的內(nèi)容全是文本文件孤个,可以被查看并修改。
5.嚴格區(qū)分大小寫沛简,在命令界面輸入命令大小寫嚴格區(qū)分齐鲤。比如在執(zhí)行列出目錄命令(ls),在大寫輸入的命令(LS)操作系統(tǒng)無法識別椒楣。
[root@Master/]$ ls
bin boot dev etc home lib lib64 lost+found mediamnt opt proc root sbin selinux srv systmp user var
[root@Master/]$LS
-bash: LS: command not found
二给郊、CentOS的交互方式
面對一個陌生的操作系統(tǒng),我們通常迫切的知道如何使用它捧灰。與CentOS交互通過調(diào)用系統(tǒng)暴露的接口來實現(xiàn)淆九。CentOS為我們提供了GUI和CLI接口來調(diào)用操作系統(tǒng)的資源。
1.GUI即圖形化用戶界面毛俏,與早期計算機使用的命令行界面相比炭庙,圖形化界面更易學(xué)習(xí)和使用,更易被普通大眾接受煌寇。CentOS主要的圖形化界面有Grome:c焕蹄、KDE:C++和XFace。我們不講GUI唧席,因為服務(wù)器運行的CentOS系統(tǒng)通過終端命令管理效率要遠遠高于使用GUI界面擦盾。
2.CLI接口(終端命令行),我認為學(xué)習(xí)并熟練的使用終端命令管理CentOS系統(tǒng)的資源是學(xué)習(xí)它的最核心內(nèi)容淌哟。
三迹卢、命令學(xué)習(xí)的辛酸路
我習(xí)慣了windows中鼠標(biāo)點擊帶來的操作便利性,剛開始轉(zhuǎn)到CentOS操作系統(tǒng)上做的任何一個微小的操作都需要輸入命令徒仓,對于不熟悉命令的我腐碱,使用它非常的麻煩。長期掙扎中克服了抵觸心理后,我開始潛心閱讀了大量的關(guān)于如何學(xué)習(xí)linux命令的文章症见,總結(jié)了以下幾點喂走。
1.命令提示符:promt。
我在使用終端時很少會去注意這一點谋作,還是要給大家提一下root用戶和普通用戶終端輸入提示的區(qū)別芋肠,root用戶擁有系統(tǒng)操作的最高權(quán)限(即管理員權(quán)限),普通用戶受到root用戶的管理遵蚜,普通用戶的權(quán)限需要root用戶分配帖池。
#:root
[root@rootMaster ~] #
$:普通用戶
[user@userMaster /]$
2.在編碼過程中,有針對性的去學(xué)習(xí)命令的用法吭净。
在學(xué)習(xí)CentOS命令行睡汹,很多人僅僅是單純?yōu)榱说膶W(xué)習(xí)工具,比如學(xué)習(xí)vi寂殉,僅僅為了用工具來使用CentOS囚巴,這樣的學(xué)習(xí)枯燥乏味。我建議命令學(xué)習(xí)應(yīng)該根據(jù)問題來友扰,可以自己在CentOS下面寫一個小程序彤叉,然后在編碼過程中,有針對性的去學(xué)習(xí)命令的用法焕檬。
首先認識命令的格式:“命令選項參數(shù)”姆坚,學(xué)習(xí)命令主要是知道命令的選項是如何使用的。學(xué)習(xí)陌生的命令查看幫助手冊是最快速學(xué)習(xí)命令的方法实愚,但是CentOS里面有內(nèi)置命令和外部命令兼呵,他們查看幫助手冊的方法是不一樣的,下面給出一中學(xué)習(xí)方法腊敲。
語法:type命令
[root@rootMaster~]#type mkdir
mkdir is /bin/mkdir
列出了mkdir命令放在/bin目錄下碰辅,可以確定mkdir是一個內(nèi)置命令懂昂。
[user@userMaster /]$ type hive
hive is hashed (/home/userMaster/hive/bin/hive)
Hive命令并非放在/bin目錄下,可以確定hive是一個外部命令没宾。
第二步凌彬,如果命令是內(nèi)置命令通過help查看幫助文檔,命令格式:命令–help循衰。如果命令是外置命令通過man查看幫助文檔铲敛,命令格式:man命令。
[user@userMaster /]$ mkdir –help
用法:mkdir [選項] …目錄…
長選項必須使用的參數(shù)對于短選項也是必需使用的会钝。
-m, --mode=模式設(shè)置權(quán)限模式(類似chmod)伐蒋,而不是rwxrwxrwx減umask
-p, --parents需要時創(chuàng)建目標(biāo)目錄,但即使這些目錄已存在也不當(dāng)作錯誤處理
-v, --verbose每次創(chuàng)建新目錄都顯示信息
-z, --context=CTX將每個創(chuàng)建的目錄的SELinux安全環(huán)境設(shè)置為CTX
--help顯示此幫助信息并退出
--version顯示版本信息并退出
第三步,查看了命令的幫助文檔先鱼,我們可以針對具體問題情況設(shè)置命令的參數(shù)俭正。
掌握了這三步我們不用刻意去強記每一個命令的用法,當(dāng)我們當(dāng)我們使用中遇到問題我們可以查看幫助文檔焙畔,指導(dǎo)我們使用命令掸读。
四、軟件安裝的各種坑
我們經(jīng)常需要在CentOS操作系統(tǒng)上安裝軟件闹蒜,不像windows系統(tǒng)下面安裝軟件只需要雙擊安裝程序‘setup.exe’寺枉,很簡單的幾次鼠標(biāo)點擊就完成了軟件的安裝抑淫。CentOS上面的軟件也秉承了單一職責(zé)原則(SRP)绷落。在CentOS上安裝某一個軟件不會附帶的安裝它的依賴環(huán)境,這步通常需要我們自己完成始苇。CentOS上面軟件安裝有三種方式:rpm安裝砌烁、yum安裝和源碼安裝。
第一催式、rpm安裝的安裝步驟
1.檢查軟件是否已經(jīng)安裝rpm –qa | grep jdk
2.手動下載軟件包(rpm格式)
3.安裝yum install xxx.rpm
第二函喉、yum安裝的安裝步驟
輸入yum安裝命令yum install xxx。
可能會出現(xiàn)安裝失敗荣月,因為yum通過網(wǎng)絡(luò)并沒有找到指定安裝的軟件管呵。首先檢查安裝軟件名稱是否正確。其次更換yum源下載地址哺窄,國內(nèi)推薦使用阿里云的源http://mirrors.aliyun.com捐下。配置阿里云yum源的操作如下:
1、備份原有的yum源文件萌业。
mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup
2坷襟、下載新的CentOS-Base.repo到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-x.repo
3、運行yum makecache生成緩存生年。
4婴程、執(zhí)行yum install xxx進行安裝。
第三抱婉、源碼安裝的安裝步驟
源碼安裝非常繁瑣档叔,但是在一些特定的環(huán)境只能使用源碼安裝,所以要與大家分享一下nginx的源碼安裝步奏蒸绩。
1衙四、下載待安裝的源碼包。
2侵贵、查看軟件的源碼是哪一種届搁。
3、準(zhǔn)備編譯環(huán)境。
4卡睦、yum源可以安裝編輯環(huán)境宴胧,查看yum grouplist ? ,找到開發(fā)環(huán)境Develop tools查看開發(fā)組下有哪些包:yum groupinfo Develop tools
安裝常見開發(fā)編譯包:yum groupinstall Develop tools
5、檢查依賴表锻、兼容恕齐,操作如下:
指定安裝目錄,在nginx-1.8.0目錄下面輸入 ./configure --prefix=/usr/nginx-1.8命令
6瞬逊、編譯
在nginx-1.8.0目錄下面輸入make命令
7显歧、安裝
在nginx-1.8.0目錄下面輸入make install命令
小結(jié)
CentOS在業(yè)界被廣泛的使用,我們每天訪問的網(wǎng)站和應(yīng)用可能就有業(yè)務(wù)運行在它的上面确镊。我們通過為CentOS建立的基本原則士骤、交互方式、命令學(xué)習(xí)和軟件安裝閱讀蕾域,達到了CentOS入門的目的拷肌,CentOS還有很多應(yīng)用上面的拓展還等著我們?nèi)グl(fā)掘。有興趣的同學(xué)歡迎你加入QQ群484364539旨巷,進行交流討論巨缘。