Linux學習內容——我想學學完這些應該高手了

一、Linux系統基礎及系統管理

1、操作系統發展史,系統架構平臺概覽; Linux起源、理念、發展歷史及各發行版;

2、Linux基礎知識、基本命令、獲得使用幫助及文件系統組織結構等;

3、Linux用戶、組及權限的基礎及相關高級話題,詳細講解useradd/userdel/chmod/chown/usermod/chage/umask等相關命令;

4、Bash基礎及配置、標準I/O、管道及shell編程基礎;

5、文本處理工具的概念、簡單文本編輯器nano的使用、vim編輯器入門、進階及常用技巧;

7、Linux系統進程管理基本原理及相關管理工具如ps、pkill、top、htop等的使用;Linux中的作業控制;

8、Linux任務計劃的實現,講解at、cron及anacron的使用;

9、文件查找的利器find命令基礎及高級應用;

10、TCP/IP網絡基礎、TCP有限狀態機狀態轉換原理、Linux網絡屬性配置及網絡客戶端工具詳解;

11、Linux系統軟件包的配置及管理、rpm及yum命令的使用及yum庫的製作詳解;

12、常見磁盤接口類型及相關設備特性、Linux磁盤管理、Linux文件系統基礎、進階與高級管理;文件系統相關管理工具使用詳解;

13、系統初始化詳細流程精解、內核基礎及內核的定製(內核的定製、編譯及安裝);對比說明RHEL5與RHEL6系統啓動過程之區別;

14、X11、SSH、VNC、CUPS系統服務;putty、SecureCRT或Xmanager等ssh客戶端的應用;

15、文件擴展屬性及ACL的應用;

16、RAID級別及相關概念詳解、Linux下軟RAID的實現及相關命令行工具的使用;硬件RAID基本原理及配置要點;

17、LVM2基本概念及其實現原理、LVM2相關命令行工具的使用;

18、Linux日誌系統;常見日誌管理工具的使用;

19、SELinux相關概念、原理及相關工具(如setenforce等)的使用;

20、RHEL系統kickstart文件、自動化安裝部署及安裝盤的定製;

21、Linux常見系統及網絡故障排除(TroubleShooting);

22、RHEL或CentOS系統定製式精簡,實現從零開始按需重組大小、功能等可定製的Linux版本,藉以實現從微觀角度理解Linux構成及運行原理之目的;

二、Shell編程入門及進階(穿插大量以實現系統自動化管理爲目的腳本案例)

1、bash基礎及工作環境的定製,詳細講解profile、profile.d、bashrc、.bash_profile及.bashrc等配置文件的功用;

2、bash腳本結構及運行;bash變量(局部變量、本地變量、環境變量、位置參數變量及特殊變量)及其表達式;

3、條件測試(整數測試、字符串測試及文件測試);if和case選擇分支;

4、for、while、until循環及使用continue和break來控制循環機制;

5、在bash中使用函數,以及利用函數來實現bash庫;

6、腳本控制:在腳本中捕獲信號並完成自定義處理;

7、腳本執行結果輸出:printf命令的使用及在腳本中使用顏色;

8、bash腳本運行時配置:在腳本中使用選項;

9、bash數據處理:在腳本中使用數組;

10、bash腳本調試及debug功能的實現;

11、窗口編程:dialog文本對話框命令及shell編程中的應用;

12、基本正則表達式、擴展正則表達式及grep命令精講;

13、sed命令及awk命令精講;

說明:此部分中的內容不會作爲一個單獨的部分呈現,而是貫穿於整個課程;其中基礎性部分主要在前面第一部分內容中講解,高級部分及大量的應用在後面部分的內容中會不定期出現。

三、Linux平臺常見網絡服務及安全管理

1、系統性能/安全、安全威脅模型和保護方法;系統服務訪問控制及服務安全基礎;

2、加密/解密原理及數據安全、密鑰交換的實現、PKI基礎概念及openssl使用詳解;

3、DNS(BIND9)服務原理精講,BIND服務配置、高級應用和安全,並實現以view爲核心的適應國內運營商間解析接駁的智能DNS系統;(馬哥團隊實現的項目:www.dns.la,國內應用僅次於dnspod的智能DNS系統;)

4、ftp服務基本原理,以vsftpd爲例講解ftp服務的實現,包括虛擬用戶及相關權限定製、安全配置及ftps等高級話題;

5、http協議原理、請求/響應報文格式、SSL會話的原理及https協議;apache基礎、各MPM模型對比、安裝配置及各參數詳解;apache虛擬主機的實現及安全應用(https、suEXEC等);

6、PHP環境配置基礎及與apache整合的多種途徑;MySQL服務入門;LAMP架構的實現;以編譯的方式定製LAMP等;

7、nginx的特性詳解,nginx的基本配置、虛擬主機的實現、URL地址重寫、及安全應用以及LEMP的實現等;

8、web應用框架django基礎概念及其與apache(mod_python及uWSGI等方式)或nginx的整合;

9、VPN的基本原理及類型、OpenVPN的配置及其應用;

10、iptables/netfilter安全體系工具精講;iptables命令的基本應用,如各子命令的功能、通用匹配、擴展匹配及跳轉目標等;

11、iptables/netfilter高級應用,包括連接追蹤、網絡地址轉換、及多種擴展模塊的使用以及七層過濾等高級話題;

12、RPC的基本概念;NFS服務基礎原理及配置;samba服務基礎原理及配置;

13、電子郵件系統原理精講;postfix/dovecot等郵件服務工具的配置和應用,smtps、pop3s、imaps等高級安全應用的實現;以案例爲基礎講解postfix、mysql、ldap、虛擬域、虛擬用戶、身份驗證、郵件加密、webmail、POP、IMAP服務的整合應用;

14、nss的原理及配置;pam的基礎概念、常用模塊講解及系統默認的配置講解;

四、MySQL數據庫從入門到精通

1、關係型數據庫系統及SQL相關概念詳述;MySQL特性、發展歷史及體系結構詳解;

2、MySQL及MariaDB安裝:rpm方式、編譯好的通用二進制方式及編譯的方式;單實例MySQL服務的啓動及停止等服務控制;

3、MySQL配置文件格式詳細說明;MySQL服務器變量、狀態變量的作用域及查看方式,服務器變量值的調整方式;

4、MySQL的sql_mod;管理MySQL數據庫、表、視圖和索引(DDL語句);管理MySQL數據(DML語句);

5、多表查詢、聯合查詢及子查詢;

6、MySQL用戶管理:創建和刪除、權限的授予及取消、資源使用能力控制等;

7、關係數據庫的事務、在MySQL中使用事務;MySQL鎖及其應用;MySQL隔離級別及其特性詳解;

8、存儲引擎及其屬性配置、MySQL表維護;

9、數據庫配置類型及配置策略詳解;mysqldump、xtrabackup、LVM快照等備份工具在MySQL數據庫備份中的使用;MySQL數據庫恢復;

10、關係型數據庫索引類型詳解;MySQL查詢分析及其索引的定製;

11、MySQL日誌文件管理:查詢日誌、慢查詢日誌、二進制日誌、中繼日誌、事務日誌及錯誤日誌;

12、MySQL複製精講,包括主-從、主-主等架構及基於SSL加密傳輸的實現,其它常見的架構形式及優劣比較;MySQL 5.6基於GTID的複製技術及多線程複製技術;

13、MySQL讀寫分離、連接池及sharding技術:介紹mysql_proxy、sql_relay、amoeba及cobar等;以前三者其中之一來介紹讀寫分離的實現;

14、中小型企業低成本的MySQL高可用集羣的解決方案:MySQL+corosync/openais+drbd的原理及其實現;

15、PhpMyAdmin、mysql-gui-tools和MySQL Front等第三方工具的使用;

16、以MySQL應用爲中心調優硬件、系統及MySQL服務;

五、集羣/存儲專題

1、詳述Linux系統集羣體系結構、類型及應用方案;

LVS專題

2、Linux虛擬服務器LVS原理,詳細講解其類型及調度方法等;

3、LVS-NAT、LVS-DR的配置及以之實現apache、nginx、ssh等負載均衡應用,並詳細比較此兩種實現方式的不同及各自的應用場景;

4、LVS持久性連接應用環境理論及實現;FW方式實現LVS的affinity應用;

5、編寫bash腳本實現對realserver健康狀態監控,實現realserver故障隔離及自動重新上線等功能;

高可用服務專題

6、高可用集羣原理及Heartbeat、openais/corosync等解決方案原理精講;

7、Heartbeat安裝、配置及以web爲例實現高可用環境;

8、Hertbeat資源配置方式及維護;使用heartbeat-gui實現基於圖形化方式對集羣進行管理;

9、Corosync/OpenAIS高可用集羣解決方案原理及實現方法;基於案例詳解生產環境中應用Pacemaker配置實現高可用集羣的方法;(一步步以完全手動的方式實現Linux系統上的HA集羣);

10、資源管理原理、類別、LSB腳本的編寫等及資源管理的定義;基於pacemaker的高可用環境下資源管理詳解;Stonith原理、類別及其實現方法;

11、RHCS集羣套件工作原理精講,並從微觀角度介紹其與前述解決方案的異同;RHCS集羣的部署演示;

12、LVS和corosync集成實現高可用director及負載均衡的大規模應用服務器集羣,包括ldirectord的應用等;

13、高可用服務解決方案keepalived及其實現,以nginx或haproxy爲例講解其雙主模型的實現;

14、RAID、NAS、SAN、iSCSI等存儲原理及基於Linux的iSCSI服務器的實現及應用;講解openfiler、freenas或Nexentastor等開源解決方案的應用;

15、GFS2集羣文件系統的原理;基於iSCSI講解GFS2的實現;

六、http代理加速、應用服務器

6.1 web服務高級應用

1、http協議的緩存原理及常用首部、常用見的反向代理解決方案的功能對比等;

2、varnish服務原理、安裝配置;varnish狀態引擎詳解及VCL編程詳解;varnish系統參數高速及生部環境中的部署方案;

3、Nginx upstream和proxy模塊負載均衡和反向代理部署精講;

4、haproxy精講:haproxy功能與特性、常用配置指令、常用調度算法及ACL等;

5、Memcached服務及其在web服務體系中的應用;

6、java、jsp、servlet、HotSpot JVM、J2SE、J2EE及web container等相關技術要點詳解;

7、Tomcat體系結構、安裝配置、連接器及與apache或Nginx的整合;Tomcat各集羣模型及其實現案例;

8、各種負載均衡場景中session保持的實現方案及特性對比詳解;

6.2 可擴展web架構

9、分佈式文件系統詳述;常見分佈式文件系統功能與特性對比說明;

10、以MogileFS原理、安裝配置及其應用案例;MogileFS與nginx的整合;

11、CDN技術實現原理;

12、可擴展web服務設計及相關解決方案選擇(日均10萬PV發展至100萬PV,再到1000萬PV站點的擴展思路及部署要點);大規模、高併發、高可用web服務器羣的體系結構、設計及其實現;

13、Web環境壓力測試、系統性能評估、結果分析及優化;

七、虛擬化及IaaS雲技術專題

7.1 Xen虛擬化技術精講

1、X86平臺虛擬化技術難點及相關解決方案原理詳解:CPU虛擬化、內存虛擬化及IO虛擬化,虛擬化種類及相關特點等;

2、Xen虛擬化基礎;Xen虛擬化技術中調度、中斷、內存、IO、網絡及塊設備的虛擬實現原理;

3、Xen在RHEL6或CentOS6上的安裝、配置及簡單應用;

4、Xen環境中虛擬存儲和虛擬網絡設備的配置及管理詳解;qemu-img工具詳解;

5、Xen管理工具棧xm及xl從入門到精通;

6、XenServer簡介;

7.2 KVM虛擬化技術精講(12期面授知識及案例大大加強)

7、KVM虛擬化基礎;KVM虛擬化技術實現原理;

8、構建KVM環境:KVM的安裝、配置及應用;

9、基於qemu-kvm命令行工具棧管理kvm;

10、KVM的核心功能:CPU、內存、存儲及網絡虛擬化的配置;基於SDL和VNC的圖形顯示功能應用;

11、基於libvirt、virt-intall和virt-manager工具棧管理kvm;

12、半虛擬化技術(virtio)、實時遷移、IO透傳技術及KSM;

13、KVM性能測試及基於KVM應用的Linux系統優化;

14、生產環境中虛擬化技術的應用方案及常用管理工具說明;

7.3 OpenStack雲環境

15、IaaS、PaaS、SaaS雲技術介紹;

16、OpenStack雲棧詳解:Keystone、Glance、Nova、Swift、Horizon等組件的功能、特性及協作流程;

17、OpenStack的網絡模型及Neutron服務;

18、OpenStack的塊存儲服務及Cinder服務;

19、Ceilometer及Heat;

20、具有獨立控制節點、多計算節點及獨立對象存儲節點的全功能OpenStack環境部署案例;

八、自動化運維相關專題

1、自動化運維概述:高效地管理IT資產並滿足複雜多變的業務需求、構建高效IT系統、快速發現和解決IT系統中出現的問題等;

網絡、系統及服務監控類工具

2、SNMP協議原理及Linux系統上的配置及實現應用案例;

3、網絡、系統及服務等相關指標的監控模型及體系結構;

4、zabbix監控系統詳解;(課程內容詳細列表請參見http://mageedu.blog.51cto.com/4265610/1309875;)

5、rrdtool詳解;cacti安裝、配置;編寫腳本基於cacti完成監控功能的定製;

6、Nagios入門、進階及高級應用;nagios監控插件的開發;

預備類工具

7、RHEL/CentOS平臺上的無人值守安裝腳本Kickstart;基於PXE完成系統自動化安裝;

8、Cobbler應用詳解:服務原理、配置及應用;

配置管理類工具

9、ansible命令聯動工具的使用;

10、開源的軟件自動化配置和部署工具puppet詳解;(課程內容詳細列表請參見http://mageedu.blog.51cto.com/4265610/1308671)

11、saltstack(相當於Func加強版+Puppet精簡版)詳解;

說明:如果課堂時間不夠充分,第5和個第6個將會以視頻方式提供,而第10個和第11個則只會選講一個;

九、Linux系統原理基礎及系統調優

1、PC Server結構概述及Linux系統體系結構概述;

2、Linux系統進程相關理論(如調度方法、搶佔、優先級、調度類別等),進程性能監控、分析及調優方案;

3、CPU及緩存架構、緩存一致性算法及內存訪問模型;

4、Linux內存架構體系(如內存區域、MMU、TLB、slab、夥伴系統、頁及頁框等相關理論知識),內存使用率實時監控、性能分析及調優方案;

5、Linux系統IO體系架構及設備驅動;磁盤IO體系架構(如緩存架構體系、pdflush、bio、磁盤隊列、IO調度器等相關理論知識),磁盤性能實時監控、分析及調優方案;

6、Linux虛擬文件系統體系架構及相關理論知識(如塊、inode、日誌等)、常見文件系統類型及使用iozone等工具對文件系統性能的評估與比較,並結合實際項目需要選擇最佳文件系統;

7、中斷及異常相關理論知識(如信號、IRQ、進程上半部和下半部、中斷處理器等)及在系統調優中的應用;

8、Linux網絡子系統架構體系及相關理論知識(如socket buffer、NAPI、kernel buffer等),網絡子系統性能的監控、分析及調優方案的設計及實現;

9、基於Linux系統調優理論知識進行實際項目調優,如MySQL服務器的調優(系統部分)等;

10、系統性能評估方法、指標;

11、常用工具如sar、htop、dstat、iostat、perf、netpef、iperf及iozone等的使用,以之評估操作系統性能的方法;

12、以web服務及mysql服務爲例,詳細講解其優化的思路、方案及實現過程;

十、海量數據並行處理系統(根據課程進程,中間詳略會有調整)

10.1 NoSQL

1、CAP理論模型及NoSQL基礎理論;NoSQL數據庫特性、技術流派及代表性項目;

2、MongoDB體系結構、安裝配置及應用;(具體課程列表請參照http://mageedu.blog.51cto.com/4265610/1317270)

10.2 Hadoop

3、MapReduce基礎概念、運行框架、調度模型等;

4、HDFS基礎概念、命令行接口、數據序列化、數據流等;

5、Hadoop僞分佈式及完全分佈式模型的構建、測試及應用;

6、生產環境中Hadoop多種常用屬性的調優及其注意事項等;

7、Hadoop生態系統及常用組件說明;

8、Hadoop調度算法及其選用;

9、Hadoop硬件選型要點;

10、Zookeeper功能、特性、安裝配置及應用;列式數據庫HBase基礎原理、安裝配置及其應用;

11、數據倉庫Hive基礎原理、安裝配置及應用;

12、講解flume/scribe/chukwa/kafka日誌收集系統其中之一;

13、使用工具完成Hadoop自動化部署;

十一、補充類高級專題(根據空餘時間選擇講解)

1、rpm包SPECS文件詳解、RPM包製作及包簽名的實現;

2、LDAP協議原理及常見的實現;OpenLDAP的安裝、配置及應用;

3、基於busybox和內核定製製作微型Linux系統,並通過編譯的方式爲之提供相應的服務以進一步理解Linux系統;LFS系統及其實現;

5、redis體系結構、安裝配置及應用;

6、ats功能、特性、安裝配置及應用;

7、logstash:功能豐富的日誌收集分析系統;

8、python腳本編程基礎;

十二、職業素質課程

1、個人商業模式模型構建及優勢分析;職場禮儀;

2、簡歷撰寫格式及要注意的問題;

3、面試流程、常見問題應對方式及模擬面試;

學習資料:馬哥Linux、鳥哥linux


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章