版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目9
使用gcc和make調(diào)試程序《Linux網(wǎng)絡(luò)操作系統(tǒng)項(xiàng)目教程(歐拉/麒麟)(微課版)(第5版)》“十四五”職業(yè)教育國(guó)家規(guī)劃教材能力要求CAPACITY理解程序調(diào)試。0103掌握利用gcc進(jìn)行調(diào)試的方法。02掌握使用make編譯的方法。思政導(dǎo)入IDEOLOGY2020年,在全球浮點(diǎn)運(yùn)算性能最強(qiáng)的500臺(tái)超級(jí)計(jì)算機(jī)中,中國(guó)部署的超級(jí)計(jì)算機(jī)數(shù)量繼續(xù)位列全球第一。這是中國(guó)的自豪,也是中國(guó)崛起的重要見證。思政目標(biāo)IDEOLOGY
“三更燈火五更雞,正是男兒讀書時(shí)。黑發(fā)不知勤學(xué)早,白首方悔讀書遲。”祖國(guó)的發(fā)展日新月異,我們拿什么報(bào)效祖國(guó)?唯有勤奮學(xué)習(xí),惜時(shí)如金,才無(wú)愧盛世年華。思政內(nèi)容IDEOLOGY
你知道全球超級(jí)計(jì)算機(jī)500強(qiáng)榜單嗎?你知道中國(guó)目前的水平嗎?由國(guó)際組織“TOP500”編制的新一期全球超級(jí)計(jì)算機(jī)500強(qiáng)榜單于2020年6月23日揭曉。榜單顯示,在全球浮點(diǎn)運(yùn)算性能最強(qiáng)的500臺(tái)超級(jí)計(jì)算機(jī)中,中國(guó)部署的超級(jí)計(jì)算機(jī)數(shù)量繼續(xù)位列全球第一,達(dá)到226臺(tái),占總體份額超過(guò)45%;“神威太湖之光”和“天河二號(hào)”分列榜單第四、第五位。中國(guó)廠商聯(lián)想、曙光、浪潮是全球前三的“超算”供應(yīng)商,總交付數(shù)量達(dá)到312臺(tái),所占份額超過(guò)62%。全球超級(jí)計(jì)算機(jī)500強(qiáng)榜單始于1993年,每半年發(fā)布一次,是給全球已安裝的超級(jí)計(jì)算機(jī)排名的知名榜單。項(xiàng)目知識(shí)準(zhǔn)備項(xiàng)目設(shè)計(jì)與準(zhǔn)備項(xiàng)目實(shí)施項(xiàng)目實(shí)錄:Linux系統(tǒng)安裝與基本配置內(nèi)容導(dǎo)航CONTENTS一、項(xiàng)目知識(shí)準(zhǔn)備編譯時(shí)錯(cuò)誤程序中的錯(cuò)誤被稱作臭蟲(Bug),而找到這些Bug并加以糾正的過(guò)程就叫做調(diào)試(Debug)。編譯器只能翻譯語(yǔ)法正確的程序,否則將導(dǎo)致編譯失敗,無(wú)法生成可執(zhí)行文件。一、項(xiàng)目知識(shí)準(zhǔn)備運(yùn)行時(shí)錯(cuò)誤編譯器檢查不出錯(cuò)誤,仍然可以生成可執(zhí)行文件,但在運(yùn)行時(shí)會(huì)出錯(cuò)而導(dǎo)致程序崩潰。注意區(qū)分編譯時(shí)和運(yùn)行時(shí)(Run-time)這兩個(gè)概念,不僅在調(diào)試時(shí)需要區(qū)分這兩個(gè)概念,在學(xué)習(xí)C語(yǔ)言的很多語(yǔ)法時(shí)都需要區(qū)分這兩個(gè)概念,有些事情在編譯時(shí)做,有些事情則在運(yùn)行時(shí)做。一、項(xiàng)目知識(shí)準(zhǔn)備邏輯錯(cuò)誤和語(yǔ)義錯(cuò)誤第三類錯(cuò)誤是邏輯錯(cuò)誤和語(yǔ)義錯(cuò)誤。如果程序里有邏輯錯(cuò)誤,編譯和運(yùn)行都會(huì)很順利,看上去也不產(chǎn)生任何錯(cuò)誤信息,但是程序沒有干它該干的事情,而是干了別的事情。當(dāng)然不管怎么樣,計(jì)算機(jī)只會(huì)按你寫的程序去做,問(wèn)題在于你寫的程序不是你真正想要的。這意味著程序的意思(即語(yǔ)義)是錯(cuò)的。找到邏輯錯(cuò)誤在哪兒需要十分清醒的頭腦,要通過(guò)觀察程序的輸出回過(guò)頭來(lái)判斷它到底在做什么。項(xiàng)目知識(shí)準(zhǔn)備項(xiàng)目設(shè)計(jì)與準(zhǔn)備項(xiàng)目實(shí)施項(xiàng)目實(shí)錄:Linux系統(tǒng)安裝與基本配置內(nèi)容導(dǎo)航CONTENTS二、項(xiàng)目設(shè)計(jì)與準(zhǔn)備項(xiàng)目設(shè)計(jì)與準(zhǔn)備本項(xiàng)目要用到Server01,完成的任務(wù)如下。(1)利用gcc進(jìn)行程序調(diào)試(2)使用make編譯程序其中Server01的IP地址為/24,計(jì)算機(jī)的網(wǎng)絡(luò)連接方式都是僅主機(jī)模式(VMnet1)。項(xiàng)目知識(shí)準(zhǔn)備項(xiàng)目設(shè)計(jì)與準(zhǔn)備項(xiàng)目實(shí)施項(xiàng)目實(shí)錄:Linux系統(tǒng)安裝與基本配置內(nèi)容導(dǎo)航CONTENTS三、項(xiàng)目實(shí)施任務(wù)9-1安裝gcc1.認(rèn)識(shí)gccgcc(GNUCompilerCollection,GNU編譯器集合)是一套由GNU開發(fā)的編程語(yǔ)言編譯器。gcc原名為GNUC語(yǔ)言編譯器(GNUCCompiler),因?yàn)樗局荒芴幚鞢語(yǔ)言。但gcc后來(lái)得到擴(kuò)展,變得既可以處理C++,又可以處理Fortran、Pascal、Objective-C、Java,以及Ada與其他語(yǔ)言。三、項(xiàng)目實(shí)施任務(wù)9-1安裝gcc2.安裝gcc(1)檢查是否安裝gcc。[root@Server01~]#rpm-qa|grepgccgcc-10.3.1-10.oe2203.x86_64libgcc-10.3.1-10.oe2203.x86_64上述結(jié)果表示openEuler系統(tǒng)已經(jīng)默認(rèn)安裝gcc。三、項(xiàng)目實(shí)施任務(wù)9-2單一程序:打印HelloWorld1.編輯程序代碼即源碼[root@Server01~]#vimhello.c<==用C語(yǔ)言寫的程序擴(kuò)展名建議用.c#include<stdio.h>intmain(void){printf("HelloWorld\n");}第一行的那個(gè)“#”并不是注解。三、項(xiàng)目實(shí)施任務(wù)9-2單一程序:打印HelloWorld2.開始編譯與測(cè)試運(yùn)行[root@Server01~]#gcchello.c[root@Server01~]#llhello.ca.out-rwxr-xr-x.1rootroot16K6月823:27a.out <==此時(shí)會(huì)生成這個(gè)文件名-rw-r--r--.1rootroot726月823:27hello.c[root@Server01~]#./a.outHelloWorld <==運(yùn)行結(jié)果如果直接以gcc編譯源碼,并且沒有加上任何參數(shù),則執(zhí)行文件的文件名會(huì)被自動(dòng)設(shè)置為a.out這個(gè)文件名,就能夠直接執(zhí)行./a.out這個(gè)執(zhí)行文件。即:hello.c就是源碼,而gcc就是編譯器,至于a.out就是編譯成功的可執(zhí)行文件。三、項(xiàng)目實(shí)施任務(wù)9-2單一程序:打印HelloWorld如果想要生成目標(biāo)文件(objectfile)來(lái)進(jìn)行其他的操作,而且執(zhí)行文件的文件名也不要用默認(rèn)的a.out,那該如何做呢?修改編譯與測(cè)試:[root@Server01~]#gcc-chello.c[root@Server01~]#llhello*-rw-r--r--.1rootroot72Jul1521:17hello.c-rw-r--r--.1rootroot1496Jul1521:20hello.o<==這就是生成的目標(biāo)文件[root@Server01~]#gcc-ohellohello.o <==小寫字母o![root@Server01~]#llhello*-rwxr-xr-x.1rootroot8512Jul1521:20hello<==這就是可執(zhí)行文件(-o的結(jié)果)-rw-r--r--.1rootroot72Jul1521:17hello.c-rw-r--r--.1rootroot1496Jul1521:20hello.o[root@Server01~]#./helloHelloWorld通過(guò)這個(gè)操作,可以得到hello及hello.o兩個(gè)文件,真正可以執(zhí)行的是hello這個(gè)二進(jìn)制文件(binaryprogram)。三、項(xiàng)目實(shí)施任務(wù)9-3主程序、子程序鏈接、子程序的編譯例子,以thanks.c這個(gè)主程序去調(diào)用thanks_2.c這個(gè)子程序:1.撰寫所需要的主程序、子程序[root@Server01~]#vimthanks.c#include<stdio.h>intmain(void){printf("HelloWorld\n");thanks_2();}上面的thanks_2()就是調(diào)用子程序![root@Server01~]#vimthanks_2.c#include<stdio.h>voidthanks_2(void){printf("Thankyou!\n");}三、項(xiàng)目實(shí)施任務(wù)9-3主程序、子程序鏈接、子程序的編譯例子,以thanks.c這個(gè)主程序去調(diào)用thanks_2.c這個(gè)子程序:2.進(jìn)行程序的編譯與鏈接(Link)(1)開始將源碼編譯成為可執(zhí)行的binaryfile(警告信息可忽略)。[root@Server01~]#gcc-cthanks.cthanks_2.c[root@Server01~]#llthanks*-rw-r--r--.1rootroot76Jul1521:27thanks_2.c-rw-r--r--.1rootroot1504Jul1521:27thanks_2.o<==編譯生成的目標(biāo)文件!-rw-r--r--.1rootroot91Jul1521:25thanks.c-rw-r--r--.1rootroot1560Jul1521:27thanks.o <==編譯生成的目標(biāo)文件![root@Server01~]#gcc-othanksthanks.othanks_2.o <==小寫字母o![root@Server01~]#llthanks*-rwxr-xr-x.1rootroot8584Jul1521:28thanks<==最終結(jié)果會(huì)生成可執(zhí)行文件(2)執(zhí)行可執(zhí)行文件。[root@Server01~]#./thanksHelloWorldThankyou!三、項(xiàng)目實(shí)施任務(wù)9-4調(diào)用外部函數(shù)庫(kù):加入鏈接的函數(shù)庫(kù)例如,我們想要計(jì)算出三角函數(shù)里面的sin90°,代碼如下:[root@Server01~]#vimsin.c#include<stdio.h>#include<math.h>intmain(void){floatvalue;value=sin(3.14/2);printf("%f\n",value);}[root@Server01~]#gccsin.c-lm-L/lib-L/usr/lib<==重點(diǎn)在-lm1.000000[root@Server01~]#./a.out <==嘗試執(zhí)行新文件三、項(xiàng)目實(shí)施任務(wù)9-4調(diào)用外部函數(shù)庫(kù):加入鏈接的函數(shù)庫(kù)特別注意,使用gcc編譯時(shí)所加入的那個(gè)-lm是有意義的,可以拆成兩部分來(lái)分析。-l:是加入某個(gè)函數(shù)庫(kù)(library)的意思。-m:是libm.so函數(shù)庫(kù),其中,lib與擴(kuò)展名(.a或.so)不需要寫。所以-lm表示使用libm.so(或libm.a)這個(gè)函數(shù)庫(kù)的意思。那-L后面接的路徑呢?這表示程序需要的函數(shù)庫(kù)libm.so請(qǐng)到/lib或/usr/lib里面尋找。三、項(xiàng)目實(shí)施任務(wù)9-5gcc的簡(jiǎn)易用法(編譯、參數(shù)與鏈接)(1)僅將原始碼編譯成為目標(biāo)文件,并不制作鏈接等功能。[root@Server01~]#gcc-chello.c上述程序會(huì)自動(dòng)生成hello.o文件,但是并不會(huì)生成二進(jìn)制可執(zhí)行文件。(2)在編譯的時(shí)候,依據(jù)作業(yè)環(huán)境給予執(zhí)行速度優(yōu)化。[root@Server01~]#gcc-Ohello.c-c上述程序會(huì)自動(dòng)生成hello.o文件,并且進(jìn)行優(yōu)化。三、項(xiàng)目實(shí)施任務(wù)9-5gcc的簡(jiǎn)易用法(編譯、參數(shù)與鏈接)(3)在進(jìn)行二進(jìn)制可執(zhí)行文件制作時(shí),將鏈接的函數(shù)庫(kù)與相關(guān)的路徑填入。[root@Server01~]#gccsin.c-lm-L/usr/lib-I/usr/include在最終鏈接成二進(jìn)制可執(zhí)行文件的時(shí)候,這個(gè)命令較常執(zhí)行。-lm指的是libm.so或libm.a函數(shù)庫(kù)文件。-L后面接的路徑是剛剛上面那個(gè)函數(shù)庫(kù)的搜索目錄。-I后面接的是源碼內(nèi)的include文件所在的目錄。三、項(xiàng)目實(shí)施任務(wù)9-5gcc的簡(jiǎn)易用法(編譯、參數(shù)與鏈接)(4)將編譯的結(jié)果生成某個(gè)特定文件。[root@Server01~]#gcc-ohellohello.c程序中,-o后面接的是要輸出的二進(jìn)制可執(zhí)行文件名。(5)在編譯的時(shí)候,輸出較多的信息說(shuō)明。[root@Server01~]#gcc-ohellohello.c-Wall加入-Wall之后,程序的編譯會(huì)變得較為嚴(yán)謹(jǐn)一點(diǎn),所以警告信息也會(huì)顯示出來(lái)。三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯1.為什么要用make先來(lái)想象一個(gè)案例,假設(shè)執(zhí)行文件里面包含了4個(gè)源碼文件,分別是main.c、haha.c、sin_value.c和cos_value.c,這4個(gè)文件的功能如下。main.c:主要目的是讓用戶輸入角度數(shù)據(jù)與調(diào)用其他3個(gè)子程序。haha.c:輸出一堆信息。sin_value.c:計(jì)算用戶輸入的角度(360)正弦數(shù)值。cos_value.c:計(jì)算用戶輸入的角度(360)余弦數(shù)值。三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯main.c:主要目的是讓用戶輸入角度數(shù)據(jù)與調(diào)用其他3個(gè)子程序。[root@Server01~]#mkdir/c[root@Server01~]#cd/c[root@Server01c]#vimmain.c#include<stdio.h>#definepi3.14159charname[15];floatangle;intmain(void){ printf("\n\nPleaseinputyourname:"); scanf("%s",&name); printf("\nPleaseenterthedegreeangle(ex>90):"); scanf("%f",&angle); haha(name); sin_value(angle); cos_value(angle);}三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯haha.c:輸出一堆信息。[root@Server01c]#vimhaha.c#include<stdio.h>inthaha(charname[15]){ printf("\n\nHi,Dear%s,nicetomeetyou.",name);}三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯sin_value.c:計(jì)算用戶輸入的角度(360)正弦數(shù)值[root@Server01c]#vimsin_value.c#include<stdio.h>#include<math.h>#definepi3.14159floatangle;voidsin_value(void){ floatvalue; value=sin(angle/180.*pi); printf("\nTheSinis:%5.2f\n",value);}三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯cos_value.c:計(jì)算用戶輸入的角度(360)余弦數(shù)值[root@Server01c]#vimcos_value.c#include<stdio.h>#include<math.h>#definepi3.14159floatangle;voidcos_value(void){ floatvalue; value=cos(angle/180.*pi); printf("TheCosis:%5.2f\n",value);}三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯由于這4個(gè)文件包含了相關(guān)性,并且還用到數(shù)學(xué)函數(shù)式,所以如果想要讓這個(gè)程序可以運(yùn)行,那么就需要進(jìn)行編譯。①先進(jìn)行目標(biāo)文件的編譯,最終會(huì)有4個(gè)*.o的文件名出現(xiàn)。[root@Server01c]#gcc-cmain.c[root@Server01c]#gcc-chaha.c[root@Server01c]#gcc-csin_value.c[root@Server01c]#gcc-ccos_value.c三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯②再鏈接形成可執(zhí)行文件main,并加入libm的數(shù)學(xué)函數(shù)(\是命令換行符,按回車鍵后在下行繼續(xù)輸入未輸入完成的命令即可)。[root@Server01c]#gcc-omainmain.ohaha.osin_value.ocos_value.o\-lm-L/usr/lib-L/lib③本程序的運(yùn)行結(jié)果,必須輸入姓名、360度角的角度值來(lái)完成計(jì)算。[root@Server01c]#./mainPleaseinputyourname:Bobby<==這里先輸入名字Pleaseenterthedegreeangle(ex>90):30<==輸入以360度為主的角度Hi,DearBobby,nicetomeetyou.<==這三行為輸出的結(jié)果TheSinis:0.50TheCosis:0.87三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯利用make這個(gè)工具,一個(gè)步驟就全部完成上面所有的操作①先編輯makefile這個(gè)規(guī)則文件,內(nèi)容是制作出main這個(gè)可執(zhí)行文件[root@Server01c]#vimmakefilemain:main.ohaha.osin_value.ocos_value.o gcc-omainmain.ohaha.osin_value.ocos_value.o-lm特別注意:第二行的gcc之前是按“Tab”鍵產(chǎn)生的空格,不是真正空格,否則會(huì)出錯(cuò)!三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯利用make這個(gè)工具,一個(gè)步驟就全部完成上面所有的操作②使用makefile制訂的規(guī)則進(jìn)行編譯[root@Server01c]#rm-fmain*.o<==先將之前的目標(biāo)文件刪除[root@Server01c]#makecc-c-omain.omain.ccc-c-ohaha.ohaha.ccc-c-osin_value.osin_value.ccc-c-ocos_value.ocos_value.cgcc-omainmain.ohaha.osin_value.ocos_value.o-lm③在不刪除任何文件的情況下,重新運(yùn)行一次編譯的動(dòng)作[root@Server01c]#makemake:“main”已是最新。[root@Server01c]#./mainPleaseinputyourname:yyPleaseenterthedegreeangle(ex>90):60Hi,Dearyy,nicetomeetyou.TheSinis:0.87TheCosis:0.50三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯2.了解makefile的基本語(yǔ)法與變量make的語(yǔ)法相當(dāng)多且復(fù)雜,這里僅列出一些基本的守則,基本的makefile守則如下:目標(biāo)(target):目標(biāo)文件1目標(biāo)文件2<tab>gcc-o欲創(chuàng)建的可執(zhí)行文件目標(biāo)文件1目標(biāo)文件2目標(biāo)(target)就是我們想要?jiǎng)?chuàng)建的信息,而目標(biāo)文件就是具有相關(guān)性的objectfiles。語(yǔ)法規(guī)則如下:在makefile當(dāng)中的#代表注解。需要在命令行(例如gcc這個(gè)編譯器命令)的第一個(gè)字節(jié)按“Tab”鍵。目標(biāo)(target)與相關(guān)文件(就是目標(biāo)文件)之間需以“:”隔開。三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯上一個(gè)小節(jié)的范例做進(jìn)一步說(shuō)明,如果想要有兩個(gè)以上的執(zhí)行操作,例如執(zhí)行一個(gè)命令就直接清除掉所有的目標(biāo)文件與可執(zhí)行文件,那該如何制作makefile文件呢?(1)先編輯makefile來(lái)建立新的規(guī)則,此規(guī)則的目標(biāo)名稱為clean。[root@Server01c]#vimmakefilemain:main.ohaha.osin_value.ocos_value.ogcc-omainmain.ohaha.osin_value.ocos_value.o-lmclean: rm-fmainmain.ohaha.osin_value.ocos_value.o特別注意:第2行和第4行開頭是按“Tab”鍵產(chǎn)生的空格,不是真正空格,否則會(huì)出錯(cuò)!三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯而如果想要先清除目標(biāo)文件再編譯main這個(gè)程序,就可以這樣輸入:“makecleanmain”,如下所示:[root@Server01c]#makecleanmainrm-rfmainmain.ohaha.osin_value.ocos_value.occ-c-omain.omain.ccc-c-ohaha.ohaha.ccc-c-osin_value.osin_value.ccc-c-ocos_value.ocos_value.cgcc-omainmain.ohaha.osin_value.ocos_value.o-lm三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯makefile里面重復(fù)的數(shù)據(jù)還是有點(diǎn)多。我們可以再通過(guò)shellscript的“變量”來(lái)簡(jiǎn)化makefile:[root@Server01c]#vimmakefileLIBS=-lmOBJS=main.ohaha.osin_value.ocos_value.omain:${OBJS} gcc-omain${OBJS}${LIBS}clean: rm-fmain${OBJS}特別注意:第4行和第6行開頭是按“Tab”鍵產(chǎn)生的空格,不是真正空格,否則會(huì)出錯(cuò)!三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯變量的基本語(yǔ)法如下:變量與變量?jī)?nèi)容以“=”隔開,同時(shí)兩邊可以有空格。變量左邊不可以按“Tab”鍵,例如上面范例的第一行LIBS左邊不可以按“Tab”鍵。變量與變量?jī)?nèi)容在“=”兩邊不能具有“:”。習(xí)慣上,變量最好是以“大寫字母”為主。運(yùn)用變量時(shí),使用${變量}或$(變量)。該shell的環(huán)境變量是可以被套用的,例如提到的CFLAGS這個(gè)變量。在命令行模式也可以定義變量。三、項(xiàng)目實(shí)施任務(wù)9-6使用make進(jìn)行宏編譯由于gcc在進(jìn)行編譯的行為時(shí),會(huì)主動(dòng)地去讀取CFLAGS這個(gè)環(huán)境變量,所以,可以直接在shell定義這個(gè)環(huán)境變量,也可以在makefile文件里面去定義,或者在命令行當(dāng)中定義。例如:[root@Server01c]#CFLAGS="-Wall"makecleanmain#這個(gè)操作在make上進(jìn)行編譯時(shí),會(huì)取用CFLAGS的變量?jī)?nèi)容項(xiàng)目10
配置與管理samba服務(wù)器《Linux網(wǎng)絡(luò)操作系統(tǒng)項(xiàng)目教程(歐拉/麒麟)(微課版)(第5版)》“十四五”職業(yè)教育國(guó)家規(guī)劃教材能力要求CAPACITY掌握samba的工作原理。0103掌握主配置文件samba.conf的配置方法。02掌握samba服務(wù)密碼文件的配置方法。04掌握samba服務(wù)密碼文件的配置方法。思政導(dǎo)入IDEOLOGY“龍芯”讓中國(guó)人自豪!請(qǐng)記住“龍芯”,記住“863”“973”“核高基”等國(guó)家重大項(xiàng)目。為中華之崛起而讀書,從來(lái)都不僅限于紙上。思政目標(biāo)IDEOLOGY如果人生是一場(chǎng)奔赴,青春最好的“模樣”是昂首篤行、步履鏗鏘。“人無(wú)剛骨,安身不牢?!惫菤馐侨说募沽海乔靶械闹е?。新時(shí)代的弄潮兒要有“富貴不能淫,貧賤不能移,威武不能屈”的氣節(jié),要有“自信人生二百年,會(huì)當(dāng)水擊三千里”的勇氣,還要有“我將無(wú)我,不負(fù)人民”的擔(dān)當(dāng)。思政內(nèi)容IDEOLOGY
你知道“龍芯”嗎?你知道“龍芯”的應(yīng)用水平嗎?通用處理器是信息產(chǎn)業(yè)的基礎(chǔ)部件,是電子設(shè)備的核心器件。通用處理器是關(guān)系到國(guó)家命運(yùn)的戰(zhàn)略產(chǎn)業(yè)之一,其發(fā)展直接關(guān)系到國(guó)家技術(shù)創(chuàng)新能力,關(guān)系到國(guó)家安全,是國(guó)家的核心利益所在?!褒埿尽笔俏覈?guó)最早研制的高性能通用處理器系列,于2001年在中國(guó)科學(xué)院計(jì)算所開始研發(fā),得到了“863”“973”“核高基”等項(xiàng)目的大力支持,完成了10年的核心技術(shù)積累。2010年,中國(guó)科學(xué)院和北京市政府共同牽頭出資,龍芯中科技術(shù)有限公司正式成立,開始市場(chǎng)化運(yùn)作,旨在將龍芯處理器的研發(fā)成果產(chǎn)業(yè)化。思政內(nèi)容IDEOLOGY目前龍芯處理器產(chǎn)品在各領(lǐng)域取得了廣泛應(yīng)用。在安全領(lǐng)域,龍芯處理器已經(jīng)通過(guò)了嚴(yán)格的可靠性實(shí)驗(yàn),作為核心元器件應(yīng)用在幾十種型號(hào)和系統(tǒng)中,2015年,龍芯處理器成功應(yīng)用于北斗二代導(dǎo)航衛(wèi)星。在通用領(lǐng)域,龍芯處理器已經(jīng)應(yīng)用在個(gè)人計(jì)算機(jī)、服務(wù)器及高性能計(jì)算機(jī)、行業(yè)計(jì)算機(jī)終端,以及云計(jì)算終端等方面。在嵌入式領(lǐng)域,基于龍芯CPU的防火墻等網(wǎng)安系列產(chǎn)品已達(dá)到規(guī)模銷售;應(yīng)用于國(guó)產(chǎn)高端數(shù)控機(jī)床等系列工控產(chǎn)品顯著提升了我國(guó)工控領(lǐng)域的自主化程度和產(chǎn)業(yè)化水平;龍芯提供了IP設(shè)計(jì)服務(wù),在國(guó)產(chǎn)數(shù)字電視領(lǐng)域也與國(guó)內(nèi)多家知名廠家展開合作,其IP地址授權(quán)量已達(dá)百萬(wàn)片以上。項(xiàng)目知識(shí)準(zhǔn)備項(xiàng)目設(shè)計(jì)與準(zhǔn)備項(xiàng)目實(shí)施項(xiàng)目實(shí)錄:Linux系統(tǒng)安裝與基本配置內(nèi)容導(dǎo)航CONTENTS一、項(xiàng)目知識(shí)準(zhǔn)備了解samba應(yīng)用環(huán)境文件和打印機(jī)共享:文件和打印機(jī)共享是samba的主要功能,通過(guò)SMB進(jìn)程實(shí)現(xiàn)資源共享,將文件和打印機(jī)發(fā)布到網(wǎng)絡(luò)之中,以供用戶訪問(wèn)。身份驗(yàn)證和權(quán)限設(shè)置:smbd服務(wù)支持usermode和domainmode等身份驗(yàn)證和權(quán)限設(shè)置模式,通過(guò)加密方式可以保護(hù)共享的文件和打印機(jī)。名稱解析:samba通過(guò)nmbd服務(wù)可以搭建NBNS(NetBIOSNameService)服務(wù)器,提供名稱解析,將計(jì)算機(jī)的NetBIOS名解析為IP地址。瀏覽服務(wù):局域網(wǎng)中,samba服務(wù)器可以成為本地主瀏覽服務(wù)器(LMB),保存可用資源列表,當(dāng)使用客戶端訪問(wèn)Windows網(wǎng)上鄰居時(shí),會(huì)提供瀏覽列表,顯示共享目錄、打印機(jī)等資源。一、項(xiàng)目知識(shí)準(zhǔn)備了解SMB協(xié)議SMB(ServerMessageBlock)通信協(xié)議可以看作是局域網(wǎng)上共享文件和打印機(jī)的一種協(xié)議。samba則是將SMB協(xié)議搬到UNIX系統(tǒng)上來(lái)使用,通過(guò)“NetBIOSoverTCP/IP”,使用samba不但能與局域網(wǎng)絡(luò)主機(jī)共享資源,而且能與全世界的計(jì)算機(jī)共享資源。項(xiàng)目知識(shí)準(zhǔn)備項(xiàng)目設(shè)計(jì)與準(zhǔn)備項(xiàng)目實(shí)施項(xiàng)目實(shí)錄:Linux系統(tǒng)安裝與基本配置內(nèi)容導(dǎo)航CONTENTS二、項(xiàng)目設(shè)計(jì)與準(zhǔn)備了解samba服務(wù)器配置的工作流程1.基本的samba服務(wù)器的搭建流程主要分為5個(gè)步驟。(1)編輯主配置文件smb.conf,指定需要共享的目錄,并為共享目錄設(shè)置共享權(quán)限。(2)在smb.conf文件中指定日志文件名稱和存放路徑。(3)設(shè)置共享目錄的本地系統(tǒng)權(quán)限。(4)重新加載配置文件或重新啟動(dòng)SMB服務(wù),使配置生效。(5)關(guān)閉防火墻,同時(shí)設(shè)置SELinux為允許。二、項(xiàng)目設(shè)計(jì)與準(zhǔn)備了解samba服務(wù)器配置的工作流程2.samba的工作流程如圖所示。(1)客戶端請(qǐng)求訪問(wèn)samba服務(wù)器上的共享目錄。(2)samba服務(wù)器接收到請(qǐng)求后,會(huì)查詢主配置文件smb.conf,看是否共享了目錄,如果共享了目錄則查看客戶端是否有權(quán)限訪問(wèn)。(3)samba服務(wù)器會(huì)將本次訪問(wèn)信息記錄在日志文件之中,日志文件的名稱和路徑都需要我們?cè)O(shè)置。(4)如果客戶端滿足訪問(wèn)權(quán)限設(shè)置,則允許客戶端進(jìn)行訪問(wèn)。二、項(xiàng)目設(shè)計(jì)與準(zhǔn)備設(shè)備準(zhǔn)備本項(xiàng)目要用到Server01、Client3和Client1,設(shè)備情況如表所示:主
機(jī)
名操作系統(tǒng)IP地址網(wǎng)絡(luò)連接方式samba共享服務(wù)器:Server01EulerOS22.03LTS/24VMnet1(僅主機(jī)模式)Windows客戶端:Client3Windows100/24VMnet1(僅主機(jī)模式)Linux客戶端:Client1EulerOS22.03LTS1/24VMnet1(僅主機(jī)模式)項(xiàng)目知識(shí)準(zhǔn)備項(xiàng)目設(shè)計(jì)與準(zhǔn)備項(xiàng)目實(shí)施項(xiàng)目實(shí)錄:Linux系統(tǒng)安裝與基本配置內(nèi)容導(dǎo)航CONTENTS三、項(xiàng)目實(shí)施任務(wù)10-1安裝并啟動(dòng)samba服務(wù)使用rpm-qa|grepsamba命令檢測(cè)系統(tǒng)是否安裝了samba相關(guān)性軟件包:[root@Server01~]#rpm-qa|grepsamba(1)掛載ISO安裝映像。
[root@Server01~]#mount/dev/cdrom/media(2)制作yum源文件/etc/yum.repos.d/dvd.repo(略)。(3)使用dnf命令查看samba軟件包的信息。[root@Server01~]#dnfinfosamba(4)使用yum命令安裝samba服務(wù)。[root@Server01~]#dnfcleanall //安裝前先清除緩存[root@Server01~]#dnfinstallsamba-y三、項(xiàng)目實(shí)施任務(wù)10-1安裝并啟動(dòng)samba服務(wù)(5)所有軟件包安裝完畢,可以使用rpm命令再一次進(jìn)行查詢:[root@Server01~]#rpm-qa|grepsamba(6)啟動(dòng)smb服務(wù),設(shè)置開機(jī)啟動(dòng)該服務(wù),重啟服務(wù)。[root@Server01~]#systemctlstartsmb;systemctlenablesmb注意:在服務(wù)器配置中,更改了配置文件后,一定要記得重啟服務(wù),讓服務(wù)重新加載配置文件,這樣新配置才生效。重啟的命令是:systemctlrestartsmb或systemctlreloadsmb三、項(xiàng)目實(shí)施任務(wù)10-2主要配置文件smb.conf1.samba服務(wù)程序中的參數(shù)以及作用samba的配置文件一般就放在/etc/samba目錄中,主配置文件名為smb.conf。RHEL8的smb.conf配置文件已經(jīng)簡(jiǎn)化,只有37行左右。為了方便配置,建議先備份smb.conf,一旦發(fā)現(xiàn)錯(cuò)誤可以隨時(shí)從備份文件中恢復(fù)主配置文件。操作如下:[root@Server01~]#cd/etc/samba[root@Server01samba]#ls[root@Server01samba]#cpsmb.confsmb.conf.bak[root@Server01samba]#cd三、項(xiàng)目實(shí)施任務(wù)10-2主要配置文件smb.conf2.ShareDefinitions共享服務(wù)的定義ShareDefinitions設(shè)置對(duì)象為共享目錄和打印機(jī),如果想發(fā)布共享資源,需要對(duì)ShareDefinitions部分進(jìn)行配置。(1)設(shè)置共享名。共享名的設(shè)置非常簡(jiǎn)單,格式為:[共享名](2)共享資源描述。格式:comment=備注信息(3)共享路徑。格式:path=絕對(duì)地址路徑三、項(xiàng)目實(shí)施任務(wù)10-2主要配置文件smb.conf(4)設(shè)置匿名訪問(wèn)。設(shè)置是否允許對(duì)共享資源進(jìn)行匿名訪問(wèn),可以更改public字段。格式:public=yes#允許匿名訪問(wèn)public=no#禁止匿名訪問(wèn)三、項(xiàng)目實(shí)施任務(wù)10-2主要配置文件smb.conf【例10-1】samba服務(wù)器中有個(gè)目錄為/share,需要發(fā)布該目錄成為共享目錄,定義共享名為public,要求:允許瀏覽、允許只讀、允許匿名訪問(wèn)。設(shè)置如下所示。[public] comment=public path=/share browseable=yes readonly=yes public=yes三、項(xiàng)目實(shí)施任務(wù)10-2主要配置文件smb.conf(5)設(shè)置訪問(wèn)用戶。如果共享資源存在重要數(shù)據(jù)的話,需要對(duì)訪問(wèn)用戶進(jìn)行審核,我們可以使用validusers字段進(jìn)行設(shè)置。格式:validusers=用戶名validusers=@組名【例10-2】samba服務(wù)器/share/tech目錄中存放了公司技術(shù)部數(shù)據(jù),只允許技術(shù)部員工和經(jīng)理訪問(wèn),技術(shù)部組為tech,經(jīng)理賬號(hào)為manager。[tech]comment=techpath=/share/techvalidusers=@tech,manager三、項(xiàng)目實(shí)施任務(wù)10-2主要配置文件smb.conf(6)設(shè)置目錄只讀。共享目錄如果需要限制用戶的讀寫操作,我們可以通過(guò)readonly實(shí)現(xiàn)。格式:readonly=yes#只讀readonly=no#讀寫(7)設(shè)置過(guò)濾主機(jī)。hostsallow=192.168.10.上述程序表示允許來(lái)自或的訪問(wèn)者訪問(wèn)samba服務(wù)器資源。hostsdeny=192.168.2.上述程序表示不允許來(lái)自網(wǎng)絡(luò)的主機(jī)訪問(wèn)當(dāng)前samba服務(wù)器資源。三、項(xiàng)目實(shí)施任務(wù)10-2主要配置文件smb.conf【例10-3】samba服務(wù)器公共目錄/public存放大量共享數(shù)據(jù),為保證目錄安全,僅允許網(wǎng)絡(luò)的主機(jī)訪問(wèn),并且只允許讀取,禁止寫入。[public]comment=publicpath=/publicpublic=yesreadonly=yeshostsallow=192.168.10.三、項(xiàng)目實(shí)施任務(wù)10-2主要配置文件smb.conf(8)設(shè)置目錄可寫。如果共享目錄允許用戶寫操作,可以使用writable或writelist兩個(gè)字段進(jìn)行設(shè)置。writable格式:writable=yes#讀寫writable=no#只讀writelist格式:writelist=用戶名writelist=@組名三、項(xiàng)目實(shí)施任務(wù)10-3samba服務(wù)的日志文件和密碼文件日志文件對(duì)于samba非常重要,它存儲(chǔ)著客戶端訪問(wèn)samba服務(wù)器的信息,以及samba服務(wù)的錯(cuò)誤提示信息等,可以通過(guò)分析日志,幫助解決客戶端訪問(wèn)和服務(wù)器維護(hù)等問(wèn)題。在/etc/samba/smb.conf文件中,logfile為設(shè)置samba日志的字段。如下所示:logfile=/var/log/samba/log.%msamba服務(wù)的日志文件默認(rèn)存放在/var/log/samba/中,其中samba會(huì)為每個(gè)連接到samba服務(wù)器的計(jì)算機(jī)分別建立日志文件。使用ls-a/var/log/samba命令可以查看日志的所有文件。三、項(xiàng)目實(shí)施任務(wù)10-3samba服務(wù)的日志文件和密碼文件2.samba服務(wù)密碼文件samba服務(wù)器發(fā)布共享資源后,客戶端訪問(wèn)samba服務(wù)器,需要提交用戶名和密碼進(jìn)行身份驗(yàn)證,驗(yàn)證合格后才可以登錄。samba服務(wù)為了實(shí)現(xiàn)客戶身份驗(yàn)證功能,將用戶名和密碼信息存放在/etc/samba/smbpasswd中,在客戶端訪問(wèn)時(shí),將用戶提交的資料與smbpasswd中存放的信息進(jìn)行比對(duì),如果相同,并且samba服務(wù)器其他安全設(shè)置允許,客戶端與samba服務(wù)器的連接才能建立成功。三、項(xiàng)目實(shí)施任務(wù)10-3samba服務(wù)的日志文件和密碼文件那如何建立samba賬號(hào)呢?首先,samba賬號(hào)并不能直接建立,需要先建立Linux同名的系統(tǒng)賬號(hào)。例如,如果要建立一個(gè)名為yy的samba賬號(hào),那么Linux系統(tǒng)中必須提前存在一個(gè)同名的yy系統(tǒng)賬號(hào)。samba中添加賬號(hào)的命令為smbpasswd,格式為:smbpasswd-a用戶名三、項(xiàng)目實(shí)施任務(wù)10-3samba服務(wù)的日志文件和密碼文件【例10-4】在samba服務(wù)器中添加samba賬號(hào)reading。(1)建立Linux系統(tǒng)賬號(hào)reading。[root@Server01~]#useraddreading[root@Server01~]#passwdreading(2)添加reading用戶的samba賬號(hào)。[root@Server01~]#smbpasswd-areading三、項(xiàng)目實(shí)施任務(wù)10-4user服務(wù)器實(shí)例解析在openEuler中,samba服務(wù)程序默認(rèn)使用的是用戶口令認(rèn)證(user)模式。這種認(rèn)證模式可以確保僅讓有密碼且受信任的用戶訪問(wèn)共享資源,而且驗(yàn)證過(guò)程十分簡(jiǎn)單?!纠?0-5】如果公司有多個(gè)部門,因工作需要,就必須分門別類地建立相應(yīng)部門的目錄。要求將銷售部的資料存放在samba服務(wù)器的/companydata/sales/目錄下集中管理,以便銷售人員瀏覽,并且該目錄只允許銷售部員工訪問(wèn)。需求分析:在/companydata/sales/目錄中存放有銷售部的重要數(shù)據(jù),為了保證其他部門無(wú)法查看其內(nèi)容,我們需要將全局配置中security設(shè)置為user安全級(jí)別。這樣就啟用了samba服務(wù)器的身份驗(yàn)證機(jī)制。然后在共享目錄/companydata/sales下設(shè)置validusers字段,配置只允許銷售部員工訪問(wèn)這個(gè)共享目錄。三、項(xiàng)目實(shí)施任務(wù)10-4user服務(wù)器實(shí)例解析(1)建立共享目錄,并在其下建立測(cè)試文件。[root@Server01~]#mkdir/companydata[root@Server01~]#mkdir/companydata/sales[root@Server01~]#touch/companydata/sales/test_share.tar三、項(xiàng)目實(shí)施任務(wù)10-4user服務(wù)器實(shí)例解析(2)添加銷售部用戶和組并添加相應(yīng)的samba賬號(hào)。①使用groupadd命令添加sales組,然后執(zhí)行useradd命令和passwd命令,以添加銷售部員工的賬號(hào)及密碼。此處單獨(dú)增加一個(gè)test_user1賬號(hào),不屬于sales組,供測(cè)試用。[root@Server01~]#groupaddsales #建立銷售組sales[root@Server01~]#useradd-gsalessale1 #建立用戶sale1,添加到sales組[root@Server01~]#useradd-gsalessale2 #建立用戶sale2,添加到sales組[root@Server01~]#useraddtest_user1 #供測(cè)試用[root@Server01~]#passwdsale1 #設(shè)置用戶sale1密碼[root@Server01~]#passwdsale2 #設(shè)置用戶sale2密碼[root@Server01~]#passwdtest_user1 #設(shè)置用戶test_user1密碼三、項(xiàng)目實(shí)施任務(wù)10-4user服務(wù)器實(shí)例解析②為銷售部成員添加相應(yīng)samba賬號(hào)。[root@Server01~]#smbpasswd-asale1[root@Server01~]#smbpasswd-asale2三、項(xiàng)目實(shí)施任務(wù)10-4user服務(wù)器實(shí)例解析(3)修改samba主配置文件:vim/etc/samba/smb.conf。直接在原文件未尾添加,但要注意將原文件的[global]刪除或用“#”注釋掉,文件中不能有兩個(gè)同名的[global]。當(dāng)然也可直接在原來(lái)的[global]上進(jìn)行修改。
39[global]40workgroup=Workgroup41serverstring=FileServer42security=user43#設(shè)置user安全級(jí)別模式,取默認(rèn)值
44passdbbackend=tdbsam45printing=cups46printcapname=cups47loadprinters=yes48cupsoptions=raw
49[sales]50#設(shè)置共享目錄的共享名為sales51comment=sales52path=/companydata/sales53#設(shè)置共享目錄的絕對(duì)路徑
54writable=yes55browseable=yes56validusers=@sales57#設(shè)置可以訪問(wèn)的用戶為sales組三、項(xiàng)目實(shí)施任務(wù)10-4user服務(wù)器實(shí)例解析(4)設(shè)置共享目錄的本地系統(tǒng)權(quán)限和屬組。[root@Server01~]#chmod770/companydata/sales-R[root@Server01~]#chown:sales/companydata/sales-R-R參數(shù)是遞歸用的,一定要加上。三、項(xiàng)目實(shí)施任務(wù)10-4user服務(wù)器實(shí)例解析(5)更改共享目錄和用戶家目錄的context值,或者禁掉SELinux。[root@Server01~]#chcon-tsamba_share_t/companydata/sales-R[root@Server01~]#chcon-tsamba_share_t/home/sale1-R[root@Server01~]#chcon-tsamba_share_t/home/sale2-R或者:[root@Server01~]#getenforceEnforcing[root@Server01~]#setenforcePermissive或者:[root@Server01~]#setenforce0三、項(xiàng)目實(shí)施任務(wù)10-4user服務(wù)器實(shí)例解析(6)讓防火墻放行,這一步很重要。[root@Server01~]#firewall-cmd--permanent--add-service=samba[root@Server01~]#firewall-cmd--reload //重新加載防火墻[root@Server01~]#firewall-cmd--list-allpublic(active)………………services:sshdhcpv6-clientsamba //已經(jīng)加入防火墻的允許服務(wù)
ports:………………三、項(xiàng)目實(shí)施任務(wù)10-4user服務(wù)器實(shí)例解析(7)重新加載samba服務(wù)并設(shè)置開機(jī)時(shí)自動(dòng)啟動(dòng)。
[root@Server01~]#systemctlrestartsmb[root@Server01~]#systemctlenablesmb(8)測(cè)試。一是在Windows10中利用資源管理器進(jìn)行測(cè)試,二是利用Linux客戶端。三、項(xiàng)目實(shí)施任務(wù)10-4user服務(wù)器實(shí)例解析以下的操作在Client2上進(jìn)行。(1)使用UNC路徑直接進(jìn)行訪問(wèn)依次選擇“開始”→“運(yùn)行”命令,使用UNC路徑直接進(jìn)行訪問(wèn),例如\\192.168.10.1。打開“Windows安全”對(duì)話框,如圖所示。輸入sale1或sale2及其密碼,登錄后可以正常訪問(wèn)。三、項(xiàng)目實(shí)施任務(wù)10-4user服務(wù)器實(shí)例解析(2)使用映射網(wǎng)絡(luò)驅(qū)動(dòng)器訪問(wèn)samba服務(wù)器共享目錄①Windows10默認(rèn)是不會(huì)在桌面雙擊“此電腦”圖標(biāo),再依次選擇“計(jì)算機(jī)”→“映射網(wǎng)絡(luò)驅(qū)動(dòng)器”命令,如圖所示。②單擊“映射網(wǎng)絡(luò)驅(qū)動(dòng)器”命令,在彈出的“映射網(wǎng)絡(luò)驅(qū)動(dòng)器”對(duì)話框中選
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 18046-5:2025 EN Information technology - Radio frequency identification device performance test methods - Part 5: Test methods for the environmental characteristics
- 2024食品工廠代加工冷鏈配送服務(wù)合同范本3篇
- 2024版無(wú)人機(jī)遙感監(jiān)測(cè)服務(wù)合同
- 2025年度水庫(kù)魚塘智能化養(yǎng)殖技術(shù)承包合同4篇
- 出資協(xié)議書范本
- 2024版鋁錠批發(fā)銷售協(xié)議樣本一
- 2025年度生態(tài)環(huán)保打井承包合同標(biāo)準(zhǔn)范本4篇
- 2025年度智慧家居產(chǎn)品銷售與售后服務(wù)合同3篇
- 2025年度住宅小區(qū)墻面公共藝術(shù)創(chuàng)作租賃合同標(biāo)的協(xié)議4篇
- 2025年度牙科專業(yè)人才培養(yǎng)與承包服務(wù)合同范本4篇
- IT硬件系統(tǒng)集成項(xiàng)目質(zhì)量管理方案
- 水下炸礁施工組織設(shè)計(jì)
- 《容幼穎悟》2020年江蘇泰州中考文言文閱讀真題(含答案與翻譯)
- 3dmin軟件3dmine教程基礎(chǔ)知識(shí)
- API520-安全閥計(jì)算PART1(中文版)
- 政府采購(gòu)專家評(píng)審實(shí)務(wù)培訓(xùn)XXXX
- 2023年廣東省廣州地鐵城際鐵路崗位招聘筆試參考題庫(kù)附帶答案詳解
- 2023年一級(jí)健康管理師《基礎(chǔ)知識(shí)》考前沖刺題庫(kù)資料(含答案)
- 直流電機(jī)電樞繞組簡(jiǎn)介
- GB/T 524-2007平型傳動(dòng)帶
- GB/T 19889.5-2006聲學(xué)建筑和建筑構(gòu)件隔聲測(cè)量第5部分:外墻構(gòu)件和外墻空氣聲隔聲的現(xiàn)場(chǎng)測(cè)量
評(píng)論
0/150
提交評(píng)論