專案一
專案一 認識Linux作業系統
任務一 查詢Linux系統的基本概況
任務說明
本任務的主要內容是通過網路查詢Linux系統最基本的知識,然後對Linux作業系統有一個初步的認識;學會利用網路資源來收集與整理資料,並內化稱自己的知識。
任務實施
第一步:通過搜尋引擎搜尋“Linux”
簡單地說,Linux是一套免費使用和自由傳播的類UNIX作業系統,它主要用於基於Intel X86系列CPU的計算機上。這個系統是由世界各地的成千上萬的程式設計師設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的 Unix相容產品。Linux的出現,最早開始於一位名叫Linus Torvalds的計算機業餘愛好者,當時他是芬蘭赫爾辛基大學的學生。他的目的是想設計一個代替Minix(是由一位名叫Andrew Tannebaum的計算機教授編寫的一個作業系統示教程式)的作業系統,這個作業系統可用於386、486或奔騰處理器的個人計算機上,並且具有 Unix作業系統的全部功能,因而開始了Linux雛形的設計。絕大多數基於Linux核心的的作業系統使用了大量的GNU軟體,包括了shell程式、工具、程式庫、編譯器及工具,還有許多其他程式,例如Emacs。正因為如此,GNU計劃的開創者理查德·馬修·斯托曼博士提議將Linux作業系統改名為GNU/Linux。但有些人只把作業系統叫做"Linux"。Linux的基本思想有兩點:第一,一切都是檔案;第二,每個軟體都有確定的用途,同時它們都儘可能被編寫得更好。其中第一條詳細來講就是系統中的所有都歸結為一個檔案,包括命令、硬體和軟體裝置、作業系統、程式等等對於作業系統核心而言,都被視為擁有各自特性或型別的檔案。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。
第二步:收集整理搜尋到的網頁
(1)UNIX是大型機用的,主要特點是支援大型使用者同時作業系統和共享資源系統,一般人接觸不到UNIX,一般只有大型公司才能用得到。
(2)Linux是一套免費使用和自由傳播的類UNIX作業系統。他和UNIX的主要區別是UNIX是有版權的,與微軟的Windows一樣是需要收費的。
(3)linux可安裝在各種計算機硬體裝置中,例如手機 平板電腦 路由器 視訊遊戲控制檯 臺式計算機 大型機和超級計算機。
(4)嚴格來講,Linux這個詞本身只表示Linux核心,但實際上人們已經習慣了用LInux來形容整個基於Linux核心,並且使用GNU工程各種工具和資料庫的作業系統。
任務二 總結Linux系統的最初十年
任務說明
本任務的主要內容是瞭解Linux系統的發展歷程,在學習中培養自己的良好學習習慣。“搜尋引擎”是最好的老師,特別是各種專業論壇是最佳的學習地方,利用搜尋引擎搜尋“Linux系統的發展歷史”等關鍵詞,收集,整理Linux系統發展的各個階段以及發展歷程,並內化成自己的知識。
任務實施
第一步:關鍵詞搜尋
第二步:收集 整理 歸納搜尋到的整理資料並通過多方比較辨別真偽
根據搜尋到的資料,整理 歸Linux系統的發展歷程如下。
Linus Torvalds被稱作Linux之父,著名的電腦程式設計師、黑客。Linux核心的發明人及該計劃的合作者。他利用個人時間及器材創造出了這套當今全球最流行的作業系統核心之一,現受聘於開放原始碼開發實驗室(OSDL:Open Source Development Labs, Inc),全力開發Linux核心。
Linux是一個誕生於網路、成長於網路且成熟於網路的奇特的作業系統。1991年,當時還是芬蘭大學生的Linus Torvalds萌發了開發一個自由的Unix作業系統的想法,當年,Linux就誕生了,為了不讓這個羽毛未豐的作業系統矢折,Linus Torvalds將自已的作品Linux通過Internet釋出。從此一大批知名的、不知名的電腦黑客、程式設計人員加入到開發過程中來,一場聲勢浩大的運動應運而生,Linux逐漸成長起來。
Linux一開始是要求所有的原始碼必須公開,並且任何人均不得從Linux交易中獲利。然而這種純粹的自由軟體的理想對於Linux的普及和發展是不利的,於是Linux開始轉向GPL,成為GNU陣營中的主要一員。
Linux憑藉優秀的設計、不凡的效能,加上IBM、Intel、CA、CORE、Oracle等國際知名企業的大力支援,市場份額逐步擴大,逐漸成為主流作業系統之一。
“Hello everbody out there using minix___I`m doing a(free)operating system”
在1991年的八月,網路上出現了一篇以此為開篇話題的帖子——這是一個芬蘭的名為Linus Torvalds的大學生為自己開始寫作一個類似minix,可執行在386上的作業系統尋找志同道合的夥伴。
任務三:研究Linux系統的特點優勢及發行版本
Unix
Unix作業系統是一個強大的多使用者、多工作業系統,支援多種處理器架構,按照作業系統的分類,屬於分時作業系統,最早由KenThompson、Dennis Ritchie和Douglas McIlroy於1969年在AT&T的貝爾實驗室開發。目前它的商標權由國際開放標準組織所擁有,只有符合單一Unix規範的Unix系統才能使用Unix這個名稱,否則只能稱為類Unix(Unix-like)。
GNU
GNU是自由軟體之父Richard Stallman在1984年組織開發的一個完全基於自由軟體的軟體體系,與此相應的有一分通用公共許可證(General Public License,簡稱GPL)。Linux以及與他有關的大量軟體是在GPL的推動下開發和釋出的。
自由軟體之父 - Richard Stallman 像一個神態莊嚴的傳教士一樣喋喋不休地到處傳播自由軟體的福音,闡述他創立GNU的夢想:“自由的思想,而不是免費的午餐”。這位自由軟體的“頂級神甫”為自己的夢想付出了大半生的努力,他不但自己創作了許多自由軟體,如:GCC、和GDB,在他的倡導下,目前人們熟悉的一些軟體如BIND、Perl、Apache、TCP/IP等都成了自由軟體的經典之作。
如果說Richard Stallman創立並推動了自由軟體的發展,那麼,Linus Torvalds毫不猶豫奉獻給GNU的Linux,則把自由軟體的發展帶入到一個全新的境界。
BSD
386BSD因為法律問題直到1992年還不能釋出,NetBSD和FreeBSD是386BSD的後裔,比Linux早。Linus Torvalds說,當時如果有自由的基於386的Unix-like作業系統,他就可能不會創造Linux。儘管無法預料這給以後的軟體業究竟造成了什麼樣的影響(如果沒有這個法律糾紛,很有可能沒有今天的革命性的Linux),但有一點可以肯定,Linux更加豐富了這塊土壤。
Minix
Minix是一種基於微核心架構的類Unix計算機作業系統,由Andrew S. Tanenbaum發明。Minix最初釋出於1987年,開放全部原始碼給大學教學和研究工作。2000年重新改為BSD授權,成為自由和開放原始碼軟體。
因為AT&T的政策改變,在Version 7 Unix推出之後,釋出新的使用條款,將Unix原始碼私有化,在大學中不再能使用Unix原始碼。教授為了能在課堂上教授學生作業系統運作的實務細節,決定在不使用任何AT&T的原始碼前提下,自行開發與Unix相容的作業系統,以避免版權上的爭議。他以小型Unix(mini-Unix)之意,將它稱為Minix。
Minix沒有任何程式碼抄襲Unix,所以它們之間並沒有任何繼承關係,Minix作為當時有史以來的第一個開源的作業系統放到網上以後,短期之內得到了飛速發展,大量的人進行下載學習。
由於Minix是教授一人所寫,所以存在一些漏洞。這時候有使用者發現漏洞存在,想著去下載一些補丁或者自己寫一些補丁來修補這些漏洞,修補之後發現效果不錯,然後就建議教授利用這些補丁完善下Minix,結果呢,教授比較固執,意思是說:為了維持Minix的純潔性,不需要任何外來程式碼。也就是說,根本不打算做商業發行,所以Minux保持了其最原始的風範。
Linux
在後來的幾年內,由於計算機硬體工業的強力運作,以Intel主導的x86系統架構的個人計算機大行其道,所以個人計算機算是相當流行的一個機器了。但在此時,人們使用的大多還是DOS作業系統。此時,芬蘭赫爾辛基大學有個叫Linus Torvalds的學生做了件不尋常的事情。當時他正好有一臺386的計算機,由於並不喜歡自己電腦上的DOS系統,所以就想:既然Minix這麼棒、這麼穩定,那我何不將它移植到個人計算機 (好在由於Stallman提倡的Open Source理念,他得以接觸到一些Source Code,而經由這樣的一個想法,O(∩_∩)O~他就很有心的讀取了Unix核心,並且去除較為繁複的核心程式,將它改寫成可以適用於一般個人計算機的x86系統上面)。
到了1991年,他終於將0.02版的原始碼hobby放到網路上面供大家下載,由於hobby受到大家的肯定,相當多的朋友一起投入這個工作中。終於在1994年,將第一個完整的核心Version 1.0釋出,並且造成目前的大流行。。。由於Linux kernel的發展是由虛擬團隊所達成的,大家都是透過網路取得Linux的核心原始碼,經由自己精心改造後再回傳給Linux社群,進而一步一步的發展完成完整的Linux系統,至於Linus Torvalds是這個集團中的發起者。由於這個群策群力的緣故,Linus Torvalds將Linux定為同樣造福大家的GNU授權模式!
Linux是Linus Torvalds受到Minix的影響而作成的。但在設計哲學上,Linux則和Minix大相逕庭。Minix在核心設計上採用微核心的原則,但Linux則和原始的Unix相同都採用單核心的概念。在Linux發展之初,雙方還於1992年在新聞組上有過一場精彩的理念爭論。Minix的作者和支持者認為Linux的單核心構造是“向七十年代的大倒退”,而Linux的支持者認為Minix本身沒有實用性。
子任務一 闡述Linux系統的特點
Linux系統在短期內就得到了非常迅猛的發展,這與Linux系統的良好特性是分不開的。Linux系統包含了UNIX系統的全部特性和功能。
第一步:闡述Linux系統的穩定性
Linux作業系統的架構完全沿襲了UNIX的系統架構,所以先天就具有成熟穩定的特性,在這方面Windows系列作業系統是無法比的。
第二步:闡述Linux系統的安全性
可以說一個作業系統的架構就已經決定了它的安全性。Linux系統在設計的時候就是對多使用者環境的,所以對系統檔案 使用者檔案都做了明確區分,每個檔案都有不同的使用者屬性。作為一個普通使用者,通常只能讀寫自己的設計從根本上保證了檔案,面對一般的系統檔案只能讀取而不能改動,一些敏感的系統檔案甚至讀取都是被禁止的。這種設計從根本上保證了系統的安全,即使一個使用者檔案出現了問題,也不會殃及整個系統。
第三步:闡述Linux軟體安裝的便利性
對於計算機初級使用者而言,軟體安轉是個大問題。在Windows平臺下,如果你不知道軟體應該如何安裝,通常只要一直用滑鼠單機“下一步”按鈕就可以完成安裝。在Linux平臺下,軟體安裝的便利性方面曾一度落後於Windows,但是APT和YUM的出現使得這種局面得到了徹底的改觀,使用者只要告訴安裝程式自己需要安裝什麼軟體,安裝程式就會自動下載這個程式,然後自行安裝,最後等待使用者開始執行它。
第四步:闡述Linux系統的資源消耗
由於核心小,因此它可以支援多種電子產品。
子任務二 分析Linux系統的優勢
1. C語言寫成,編譯之後就是核心。完全開放原始碼,使用者可以定製自己的系統。
2. Linux更容易改動,摸清自己需要什麼,下載對應的庫,看庫文件。
3. Linux在記憶體管理優勢:Windows是隻在需要記憶體時,才為應用程式分配記憶體;Linux 無論實體記憶體有多大,都將其充份利用。
4. Linux可以隨意切換桌面環境。
5. 不需要整理磁碟碎片。
微軟FAT檔案系統:儘可能地將檔案排列在磁碟的首部。存放下一個檔案時,直接存放在第一個檔案的後面,以此類推。當檔案變大,永遠都會有碎片產生,因為檔案的旁邊已經沒有空間來存放增加的部分。NTFS檔案系統:改進FAT,在檔案周圍放置更多名為”緩衝區“的自由空間。
Linux的ext2,ext3,ext4檔案系統:ext4是Ubuntu和目前大多發行版所採用的檔案系統。將檔案分散在整個磁碟,檔案之間留有大量的自由空間。當一個檔案被編輯了並且變大了,一般會有足夠自由空間來儲存。如果碎片真的產生了,檔案系統就會嘗試在日常使用中將檔案移動來減少碎片。ext2是最傳統的檔案系統,索引式檔案系統,包括儲存檔案屬性的inode、實際記錄檔案內容的block、記錄檔案系統整體資訊的super block。
6. 多使用者、多工系統。保證資料安全性。
主要特性
- 基本思想
Linux的基本思想有兩點:
- 一切都是檔案。
- 每個軟體都有確定的用途。
其中第一條詳細來講就是系統中的所有都歸結為一個檔案,包括:命令、硬體和軟體裝置、作業系統、程式等等,對於作業系統核心而言,都被視為擁有各自特性或型別的檔案。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。
- 完全免費
Linux是一款免費的作業系統,使用者可以通過網路或其它途徑免費獲得,並可以任意修改其原始碼。這是其它作業系統所做不到的。正是由於這一點,來自全世界的無數程式設計師參與了Linux的修改、編寫工作,程式設計師可以根據自己的興趣和靈感對其進行改變,這讓Linux吸收了無數程式設計師的精華,不斷壯大。
- 完全相容POSIX1.0標準
這使得可以在Linux下通過相應的模擬器執行常見的DOS、Windows的程式,這為使用者從Windows轉到Linux奠定了基礎。許多使用者在考慮使用Linux時,就想到以前在Windows下常見的程式是否能正常執行,這一點就消除了他們的疑慮。
- 多使用者、多工
Linux支援多使用者,各個使用者對於自己的檔案裝置有自己特殊的權利,保證了各使用者之間互不影響。多工則是現在電腦最主要的一個特點,Linux可以使多個程式同時並獨立地執行。
- 良好的介面
Linux同時具有字元介面和圖形介面,在字元介面使用者可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形介面的X-Window系統,使用者可以使用滑鼠對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。
- 支援多種平臺
Linux可以執行在多種硬體平臺上,如:具有x86、680x0、SPARC、Alpha等處理器的平臺。此外Linux還是一種嵌入式作業系統,可以執行在掌上電腦、機頂盒或遊戲機上。2001年1月份釋出的Linux 2.4版核心已經能夠完全支援Intel 64位晶片架構,同時Linux也支援多處理器技術。多個處理器同時工作,使系統效能大大提高。
子任務三 總結Linux系統的發行版本
第一步:通過閱讀相關書籍以及網路搜尋到的網頁資料,總結整理
Linux核心版本
Linux核心使用三種不同的版本編號方式。
用於1.0版本之前(包括1.0)。第一個版本是0.01,緊接著是0.02、0.03、0.10、0.11、0.12、0.95、0.96、0.97、0.98、0.99和之後的1.0。
用於1.0之後到2.6,數字由三部分“A.B.C”,A代表主版本號,B代表次主版本號,C代表較小的末版本號。只有在核心發生很大變化時(歷史上只發生過兩次,1994年的1.0、1996年的2.0),A才變化。可以通過數字B來判斷Linux是否穩定,偶數的B代表穩定版,奇數的B代表開發版。C代表一些bug修復,安全更新,新特性和驅動的次數。
以版本2.4.0為例,2代表主版本號,4代表次版本號,0代表改動較小的末版本號。在版本號中,序號的第二位為偶數的版本表明這是一個可以使用的穩定版本,如2.2.5,而序號的第二位為奇數的版本一般有一些新的東西加入,是個不一定很穩定的測試版本,如2.3.1。這樣穩定版本來源於上一個測試版升級版本號,而一個穩定版本發展到完全成熟後就不再發展。
從2004年2.6.0版本開始,使用一種“time-based”的方式。3.0版本之前,是一種“A.B.C.D”的格式。這些年裡,前兩個數字A.B即“2.6”保持不變,C隨著新版本的釋出而增加,D代表一些bug修復、安全更新、新增新特性和驅動的次數。3.0版本之後是“A.B.C”格式,B隨著新版本的釋出而增加,C代表一些bug修復、安全更新、新特性和驅動的次數。
第三種方式中不再使用偶數代表穩定版,奇數代表開發版這樣的命名方式。舉個例子:3.7.0代表的不是開發版,而是穩定版!
Linux發行版
Linux主要作為Linux發行版(通常被稱為”distro”)的一部分而使用。這些發行版由個人、鬆散組織的團隊、以及商業機構和志願者組織編寫。它們通常包括了其他的系統軟體和應用軟體,以及一個用來簡化系統初始安裝的安裝工具,和讓軟體安裝升級的整合管理器。大多數系統還包括了像提供GUI介面的XFree86之類的曾經執行於BSD的程式。 一個典型的Linux發行版包括:Linux核心、一些GNU程式庫和工具、命令列shell、圖形介面的X Window系統和相應的桌面環境,如:KDE或GNOME,幷包含數千種從辦公套件、編譯器、文字編輯器到科學工具的應用軟體。
由於發展的Linux公司實在太多了,例如著名的Red Hat、OpenLinux、Mandrake 、Debian、SuSE等。所以很多人都很擔心,如此一來每個 distribution(安裝套件)是否都不相同呢?這就不需要擔心了,由於各個distribution都是架構在Linux Kernel下來發展屬於自己公司風格的distribution,因此大家都遵守Linux Standard Base ( LSB 的規範,也就是說,各個distribution其實都差不多,用到的都是Linux Kernel,只是各個distribution裡面所使用的各套件可能並不完全相同而已)。
第二步:找出比較經典的Linux發行版本的下載地址
Debian ISO映像檔案地址:http://www.debian,oran/distrib/.
Gentoo 映象檔案地址:http://www.gentoo.org/main/en/where.xml.
Ubuntu ISO 映像檔案地址:http://www.ubuntu.com/download.
CentOS官網:https://www.centos.org/
CentOS官方下載地址:https://www.centos.org/download/
任務四 Linux運維職業生涯規劃
第一步:瞭解Linux運維工程師的發展前景
從行業角度來看,隨著中國網際網路的高速發展、網站規模越來越來大、架構越來越複雜,對專職網站運維工程師、網站架構師的要求會越來越急迫,特別是對有經驗的優秀運維人才需求量大,而且是越老越值錢。從個人角度,運維工程師技術含量及要求會越來越高,同時也是對公司應用、架構最瞭解最熟悉的人、越來越得到重視。網際網路運維是一個融合多學科(網路、系統、開發、安全、應用架構、儲存等)的綜合性技術崗位,給運維工程師提供了一個很好的個人能力與技術的發展空間。運維工作的相關經驗將會變得非常重要,而且也將成為個人的核心競爭力,優秀的運維工程師具備很好的各層面問題的解決能力及方案提供、全域性思考的能力等。由於運維崗位所接觸的知識面非常廣闊,更容易培養或發揮出個人某些方面的特長或愛好,如核心、網路、開發、資料庫等方面,可以做得非常深入精通、成為這方面的專家。當前國內外對運維人才的需求非常迫切,運維工程師的薪資也水漲船高,與研發、測試等技術部門持平,甚至超出。
相關文章
- 拉鉤專案(一)--專案流程+資料提取
- 團隊專案一
- 專案記實(一)
- 一.專案整合管理
- 樂優專案(一)
- SpringBoot(一) 新建專案Spring Boot
- 搭建一個專案
- SpringBoot專案建立與第一個SSM專案示例Spring BootSSM
- 將Abp移植進.NET MAUI專案(一):搭建專案UI
- Halo 開源專案學習(一):專案啟動
- 關於一個java專案呼叫另一個java專案的心得Java
- 搭建一個SSM專案SSM
- 第一個SpringBoot專案Spring Boot
- iwebshop專案測試(一)Web
- CSDN專案:每日一題每日一題
- 開始一個專案
- 第一個activity專案
- 專案學習Graphql(一)
- K專案的一些心得之專案管理篇專案管理
- 專案管理小結(如何做好一個百萬級專案甚至千萬級別的專案)專案管理
- Django建立第一個專案Django
- Vue專案實戰(一)——ToDoListVue
- 完成專案的一點思考
- 建立第一個django專案Django
- React專案實踐系列一React
- iOS專案元件化研究(一)iOS元件化
- 用MyEclipse JPA建立專案(一)Eclipse
- 如何搭建一個vue專案Vue
- OpenGL ES專案總結一
- 爬蟲專案實戰(一)爬蟲
- uwsgi + nginx 部署python專案(一)NginxPython
- 專案微管理40 - 第一
- Java專案Docker化改造(一)JavaDocker
- 一個完整的scrapy 專案
- 如何接手一個新專案
- 如何吃透一個java專案?Java
- Python 建立一個Django專案PythonDjango
- spring mvc專案配置一覽SpringMVC