- Linux系統及應用---調研報告
- 【CentOS Linux 7】實驗1【VMware安裝、新建虛擬機;63個基礎命令運行結果圖】
- 【CentOS Linux 7】實驗2【Shell編程及應用】
- 【CentOS Linux 7】實驗3【用戶組群管理、磁盤磁區及檔案系統管理】
- 【CentOS Linux 7】實驗4【Linux網路應用、Linux下C語言編程】
- 【CentOS Linux 7】實驗5【安裝VScode,并用VScode撰寫HTML網頁】
- 實驗4檔案:gcc編譯器、Linux網路配置基礎
目 錄
【實驗目的】
【實驗步驟】
(1)說明/etc/sysconfig/network-scripts/ifcfg-ens33, /etc/resolv.conf, /etc/hosts, /etc/services四個檔案的作用,
1、/etc/sysconfig/network-scripts/ifcfg-ens33
2、/etc/resolv.conf
3、/etc/hosts
4、/etc/services
(2)舉例說明traceroute、ping、ifconfig、netstat、tcpdump命令的作用,
1、traceroute
2、ping
3、ifconfig
4、netstat
5、tcpdump
(3)舉例說明systemctl命令的用法,
(4)Linux下C編程
(5)什么是行程?行程有哪些特征?Linux行程有哪些分類?舉例說明ps命令的用法、top命令的用法,
行程的概念
行程具有以下特征
在Linux系統中有以下3種行程,
ps命令的用法舉例
top命令的用法舉例
(6)說明Linux系統的啟動程序,(說明分為幾個步驟,每個步驟都做了些什么作業)
(7)什么是GRUB?
【實驗總結】
【實驗目的】
- 學會Linux網路的基本配置;
- 掌握Linux基本的網路應用;
- Linux啟動程序
- Linux下C語言編程
【實驗步驟】
(1)說明/etc/sysconfig/network-scripts/ifcfg-ens33, /etc/resolv.conf, /etc/hosts, /etc/services四個檔案的作用,
1、/etc/sysconfig/network-scripts/ifcfg-ens33
在Linux系統中,系統網路設備的組態檔保存在/etc/sysconfig/network-scripts目錄下,其中檔案ifcfg-eno16777736包含一塊網卡的配置資訊,檔案ifcfg-lo包含回路IP地址資訊,
2、/etc/resolv.conf
/etc/resolv.conf檔案是由域名決議器(resolver,一個根據主機名決議IP地址的庫)使用的組態檔,
3、/etc/hosts
當計算器啟動時,在可以查詢DNS以前,計算機需要查詢一些主機名到IP地址的匹配,這些匹配資訊存放在/etc/hosts檔案中,在沒有域名服務器的情況下,系統上的所有網路程式都通過查詢該檔案來決議對應于某個主機名的IP地址,
4、/etc/services
/etc/services檔案定義了Linux系統中所有服務的名稱、協議型別、服務的埠等資訊,/etc/services檔案是一個服務名和服務埠對應的資料庫檔案,
(2)舉例說明traceroute、ping、ifconfig、netstat、tcpdump命令的作用,
1、traceroute
使用traceroute命令可以顯示資料包到目標主機之間的路徑,traceroute命令使用戶可以追蹤網路資料包的路由途徑,預設IPv4資料包大小是60位元組,用戶可以另外設定,
2、ping
3、ifconfig
4、netstat
5、tcpdump
(3)舉例說明systemctl命令的用法,
啟動sshd;
查看sshd服務當前的狀態;
停止sshd服務;
重新啟動sshd;
設定sshd服務開機自動啟動;
查看所有加載的服務;
(4)Linux下C編程
說明gcc編譯器的作用,舉例說明Linux環境下如何進行C語言編程,
(5)什么是行程?行程有哪些特征?Linux行程有哪些分類?舉例說明ps命令的用法、top命令的用法,
行程的概念
Linux系統上所有運行的內容都可以稱為行程;每個用戶任務、每個系統管理守護行程都可以稱為行程,
行程具有以下特征
動態性:行程的實質是程式在多道程式系統中的一次執行程序,行程是動態產生、動態消亡的,
并發性:任何行程都可以同其他行程一起并發執行,
獨立性:行程是一個能獨立運行的基本單位,同時也是系統分配資源和調度的獨立單位,
異步性:由于行程間的相互制約,使得行程具有執行的間斷性,即行程按各自獨立的、不可預知的速度向前推進,
結構特征:行程由程式、資料和行程控制塊三部分組成,
多個不同的行程可以包含相同的程式:一個程式在不同的資料集里就構成不同的行程,能得到不同的結果;但是執行程序中,程式不能發生改變,
在Linux系統中有以下3種行程,
- 互動式行程:一個由Shell啟動并控制的行程,互動式行程既可在前臺運行,也可在后臺運行,
- 批處理行程:與終端無關,安排在指定時刻完成的一系列行程,
- 守護行程:在引導系統時啟動,以執行即時的作業系統任務,比如crond、rsyslogd、named等,
ps命令的用法舉例
top命令的用法舉例
(6)說明Linux系統的啟動程序,(說明分為幾個步驟,每個步驟都做了些什么作業)
Linux系統的啟動是從計算機開機通電自檢開始,一直到登錄系統需要經過的多個程序,
1.BIOS自檢
計算機在接通電源之后首先由BIOS進行POST自檢,然后依據BIOS內設定的引導順序從硬碟、軟盤或光碟中讀人引導塊,BIOS的第一個步驟是加電POST自檢,POST 的作業是對硬體進行檢測,BIOS的第二個步驟是進行本地設備的列舉和初始化,BIOS由兩部分組成:POST 代碼和運行時的服務,當POST完成之后,它被從記憶體中清理出來,但是BIOS運行時服務依然保留在記憶體中,目標作業系統可以使用這些服務,
Linux系統通常都是從硬碟上引導的,其中主引導記錄(MBR)中包含主引導加載程式,MBR是一個512位元組大小的扇區,位于磁盤上的第一個扇區中(0道0柱面1扇區),當MBR被加載到RAM中之后,BIOS就會將控制權交給MBR,
2.啟動GRUB2
GRUB2是Linux系統中默認使用的引導加載程式,引導加載程式用于引導作業系統啟動,當計算機引導作業系統時,BIOS會讀取引導介質上最前面的512位元組(主引導記錄),
3.加載內核
接下來的步驟就是加載內核映像到記憶體中,內核映像并不是一個可執行的內核,而是一個壓縮過的內核映像,在這個內核映像前面是一個例程,它實作少量硬體設定,并對內核映像中包含的內核進行解壓,然后將其放入高端記憶體中,如果有初始RAM磁盤映像,系統就會將它移動到記憶體中,并標明以后使用,然后該例程會呼叫內核,并開始啟動內核引導的程序,
4.執行systemd行程
systemd行程是Linux系統所有行程的起點,在完成內核引導以后,即在本行程空間內加載systemd程式,systemd行程是所有行程的發起者和控制者,因為在任何Linux系統中,它都是第一個運行的行程,所以systemd行程的行程號(PID)永遠是1,
5.初始化系統環境
Linux系統使systemd作為引導管理程式,之后的引導程序將由systemd完成,systemd 使用目標(target)來處理引導和服務管理程序,這些systemd里的目標檔案被用于分組不同的引導單元以及啟動同步行程,
(1)systemd執行的第一個目標是 default.target,但實際上 default.target目標是指向 graphical.target目標的軟連接,graphical.target目標單元檔案的實際位置是/usr/lib/systemd/graphical.target,
(2)在執行graphical.target目標階段,會啟動multi-user.target目標,而這個目標將自己的子單元存放在/etc/systemd/system/multi-user.target.wants目錄中,這個目標為多用戶支持設定系統環境,非root用戶會在這個階段的引導程序中啟用,防火墻相關的服務也會在這個階段啟動,
(3)multi-user.target目標會將控制權交給basic.target目標,basic.target目標用于啟動普通服務特別是圖形管理服務,它通過/etc/systemd/system/basic.target.wants目錄來決定哪些服務會被啟動,basic.target目標之后將控制權交給sysinit.target目標,
(4)sysinit.target目標會啟動重要的系統服務,比如系統掛載、記憶體交換空間和設備、內核補充選項等,sysinit.target目標在啟動程序中會傳遞給local-fs.target和swap.target目標,
(5)local-fs.target和swap.target目標不會啟動用戶相關的服務,它只處理底層核心服務,這兩個目標會根據/etc/fstab和/etc/inittab檔案來執行相關操作,6.執行/bin/login程式
login程式會提示使用者輸入賬號及密碼,接著編碼并確認密碼的正確性,如果賬號與密碼相符,則為使用者初始化環境,并將控制權交給shell,即等待用戶登錄,
login會接收mingetty傳來的用戶名并將其作為用戶名引數,然后login會對用戶名進行分析,如果用戶名不是root,且存在/etcc/nologin檔案,login將輸出nologin檔案的內容,然后退出,這通常用來在系統維護時防止非root用戶登錄,只有在/etc/securetty中登記了的終端才允許root用戶登錄,如果不存在這個檔案,則root可以在任何終端上登錄,/etc/usertty檔案用于對用戶做出附加訪問限制,如果不存在這個檔案,則沒有其他限制,
在分析完用戶名后,login將搜索/etc/passwd以及/etc/shadow來驗證密碼以及設定賬戶的其他資訊,比如主目錄是什么?使用何種shell?如果沒有指定主目錄,則將主目錄默認設定為根目錄;如果沒有指定shell,則將 Shell型別默認設定為/bin/bash,
login程式成功后,會向對應的終端再輸出最近一次登錄的資訊(在/var/log/lastlog檔案中有記錄),并檢查用戶是否有新郵件(在/var/spool/mail/的對應用戶名目錄下),然后開始設定各種環境變數,對于bash來說,系統首先尋找/etc/profile腳本檔案并執行它;然后,如果用戶的主目錄中存在.bash_profile檔案,就執行它,在這些檔案中又可能呼叫了其他組態檔,所有的組態檔執行后,各種環境變數也設好了,這時會出現大家熟悉的命令列提示符,到此整個啟動程序就結束了,
(7)什么是GRUB?
當計算機要引導作業系統時,BIOS會讀取引導介質上最前面的主引導記錄(MBR記錄),主引導記錄本身要包含兩類內容:引導加載程式和磁區表,
GRUB是Linux系統默認的引導加載程式,在Linux加載一個系統前,它必須由一個引導加載程式中的特定指令去引導系統,這個程式一般是位于系統的主硬碟驅動器或其他介質驅動器上,
Linux安裝程式允許用戶快速、方便地配置引導加載程式,將其存放在主硬碟驅動的主引導記錄中來引導作業系統,
GNU GRU是一個將引導加載程式安裝到主引導記錄的程式,主引導記錄是位于一個硬碟開始的扇區,它允許位于主引導記錄區中特定的指令來加載一個GRUB選單或是GRUB的命令環境,這使得用戶能夠開始作業系統的選擇,在內核引導時傳遞特定指令給內核,或是在內核引導前確定一些系統引數(如可用的RAM大小),
GRUB支持直接和鏈式加載的引導方法,GRUB能用于幾乎所有作業系統、絕大多數流行的檔案系統以及幾乎所有的系統BIOS所能識別的硬碟,
【實驗總結】
通過本次實驗,我對Linux中的行程與網路配置更加了解,行程是在自身的虛擬地址空間運行的一個單獨的程式,要查看Linux系統中的行程資訊,用戶可以使用ps和top命令,用戶可以在Linux系統中編輯相應的網路組態檔來完成配置作業,這些檔案主要有/etc/sysconfig/network-scripts/ifcfg-eno1677773、/etc/resolv.conf、/etc/hosts與/etc/services,實踐令我發現自身的不足,課下我會多加練習、勤查資料,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/149128.html
標籤:java
上一篇:nginx 負載均衡策略












