版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
項目7
Linux軟件安裝和管理任務1使用yum安裝軟件任務2使用源碼編譯安裝軟件項目導入在Linux早期安裝軟件是一件痛苦的事。因為大部分的服務程序僅僅提供編譯源碼,需要運維人員自行編譯代碼并解決許多依賴問題。幸好Linux開發(fā)人員已經通過把軟件打包成更易于安裝的預編譯包,我們的生活以此舒適了一些。但是多少還是得花費時間安裝軟件包,尤其是準備從命令行下安裝的時候。職業(yè)能力目標和要求1.了解RPM提供的功能2.了解YUM相對于RPM所具有的優(yōu)點3.了解源代碼安裝軟件包4.掌握通過RPM安裝及管理軟件包5.掌握通過YUM安裝及管理軟件包6.掌握wget進階,下載軟件7.掌握解壓縮方法項目7Linux軟件安裝和管理使用yum安裝軟件任務1任務介紹任務1河北唐訊信息股份有限公司的服務器通過前面學習的內容,不斷地改進,現在已經高效穩(wěn)定的運行了。但是Linux作為網絡操作系統(tǒng),必然要承載各類常用的網絡服務,例如Web服務Nginx、FTP服務、DNS服務等,而且這些服務一般需要手動安裝到服務器,所以掌握系統(tǒng)常用的服務類軟件的安裝對于管理員來說是非常重要的。系統(tǒng)管理員小李將使用兩種或以上方式安裝telnet-server服務。任務分析任務1要實現在Linux服務器上安裝一款服務,可以分以下幾個步驟:步驟一:確定安裝的軟件服務及版本步驟二:確定安裝路徑或者是默認路徑步驟三:通過yum進行安裝任務準備:7.1.1RPM任務1目前RPM已經成為Linux各發(fā)行版本中應用最廣泛的軟件包格式之一。RPM軟件包的名稱具有特定的格式,其格式為:軟件名稱版本號(包括主版本和此版本號)軟件運行的硬件平臺.rpmRPM可以提供很多功能:安裝、卸載:可以安裝或卸載相關軟件包升級:可對單個軟件包進行升級,而保留用戶原有的配置查詢:可以針對整個軟件包的數據或是某個特定的文件進行查詢,也可以方便得查出某個文件屬于哪個軟件包。檢查依賴關系:檢查軟件包是否存在依賴關系,避免由于不兼容而被系統(tǒng)拒絕安裝。任務準備:7.1.1RPM任務1安裝軟件:CentOS8使用rpm命令實現對RPM軟件包進行維護和管理,由于rpm命令的功能十分強大,因此rpm命令的參數選項也特別多,通過shell命令行中輸入rpm命令,可以查看其用法提示,其中詳細列出了該命令的全部參數選項。任務準備:7.1.1RPM任務1【實例7-1】rpm使用案例(1)查詢系統(tǒng)中已安裝的全部RPM軟件包[root@localhost~]#rpm-qa|less(2)根據關鍵字查詢[root@localhost~]#rpm-qa|grepssh(3)安裝RPM軟件包[root@localhost~]#rpm-ivhhdparm-9.43-5.el7.x86_64.rpm(4)查詢軟件包中的文件列表[root@localhost~]#rpm-qlopenssh(5)卸載RPM軟件包[root@localhost~]#rpm-ehdparm-9.43-5.el7.x86_64.rpm(6)升級RPM軟件包[root@localhost~]#rpm-Uvhhdparm-9.43-5.el7.x86_64.rpm任務準備:7.1.2yum軟件包管理器任務1Yum(yellowdogUpdater,Modified)是一個在CentOS中的shell前端軟件包管理器?;赗PM包管理器,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且以此安裝所有依賴的軟件包,無須繁瑣的一次次下載、安裝。格式:yum[選項參數][軟件包名]任務準備:7.1.2yum軟件包管理器任務1yum常用選項任務準備:7.1.2yum軟件包管理器任務1【實例7-2】yum使用案例(1)安裝指定的安裝包[root@localhost~]#yum-yinstalltelnet-server //安裝telnet-server服務(2)更新指定程序包[root@localhost~]#yumupdateopenssh(3)顯示安裝包信息openssh[root@localhost~]#yuminfoopenssh(4)根據關鍵字查找安裝包[root@localhost~]#yumsearchopenssh(5)刪除程序[root@localhost~]#yumremovetelnet-server(6)清除緩存[root@localhost~]#yumcleantelnet-server任務準備:7.1.3DNF軟件包管理器任務1DNF(DandifiedYum)是CentOS8中的默認軟件包管理器。它是一種優(yōu)化后的包管理器,用于安裝、更新和刪除軟件包。DNF是為了替代老版本的Yum而開發(fā)的,旨在提供更快速、安全和可靠的軟件包管理體驗。DNF包管理器克服了YUM包管理器的一些瓶頸,提升了包括用戶體驗,內存占用,依賴分析,運行速度等多方面的內容。DNF使用RPM,libsolv和hawkey庫進行包管理操作。DNF的最新穩(wěn)定發(fā)行版版本號是1.0,發(fā)行日期是2015年5月11日。這一版本的額DNF包管理器(包括在他之前的所有版本)都大部分采用Python編寫,發(fā)行許可為GPLv2。任務準備:7.1.3網絡連接配置任務1【實例7-3】DNF軟件包管理器(1)查看dnf版本信息[root@localhost~]#dnf--version(2)查看系統(tǒng)中可用的DNF軟件庫[root@localhost~]#dnfrepolist(3)列出所有安裝了的RPM包[root@localhost~]#dnflistinstalled(4)檢查系統(tǒng)軟件包的更新[root@localhost~]#dnfcheck-update(5)搜索軟件庫中的RPM包,例如搜索nano相關的軟件包[root@localhost~]#dnfsearchnano任務準備:7.1.4本地源文件任務1本地源文件即本地yum源,說到本地源文件,就必須了解Linux系統(tǒng)中的特有的依賴關系問題,yum是為了解決依賴關系而存在的。而yum源就相當于是一個目錄項,當我們使用yum機制安裝軟件時,如需要安裝依賴軟件,yum機制就會根據再yum源中定義好了的路徑查找依賴軟件,并將依賴軟件安裝好。本地yum源文件是指在本地搭建的一套yum軟件倉庫鏡像,用于在內網環(huán)境中方便地管理和安裝軟件包。與從公網下載軟件包相比,使用本地yum源文件可以節(jié)省帶寬,提高軟件包下載和安裝的速度,同時也可以方便地控制軟件包的版本和安全性,避免了從公網下載軟件包的安全風險。任務準備:7.1.4本地源文件任務1Linux中這些文件存放在/etc/yum.repos.d/目錄下,且這些源文件,后綴名均為.repo。我們打開一個yum源文件,查看內容[root@localhostyum.repos.d]#catCentOS-Sources.repo........[base-source] name=CentOS-$releasever-BaseSourcesbaseurl=/centos/$releasever/os/Source/gpgcheck=1enabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7任務準備:7.1.4本地源文件任務1其中的[base-source]為yum的名稱,起到標記yum源的作用;第二段name的內容,僅僅是對yum的描述,作用是使用戶更容易讀懂該文件;第三段baseurl的內容,是我們指定的查找依賴關系軟件的路徑,該路徑可以是一個網址路徑,也可以是本機上的一個路徑;第四段gpgcheck表示是否進行gpg檢測,0表示不進行,1表示進行,gpg檢查就是在使用yum安裝軟件時對軟件輸入公鑰進行驗證,查看來源是否安全;第五段的enabled用于指定軟件倉庫是否啟用,1為啟用,0為不啟用;最后一段的gpgkey表示進行gpg檢查時,使用file協議導入公鑰,后面接的就是系統(tǒng)自帶的存放公鑰的路徑。任務準備:7.1.4本地源文件任務1【實例7-4】搭建本地yum源文件(1)掛載第一個光驅到/media/cdrom[root@localhostyum.repos.d]#mount/dev/sr0/media/cdrom/(2)新建一個以.repo結尾的文件[root@localhostyum.repos.d]#vimlocal.repo [local]name=localgpgcheck=0enabled=1baseurl=file:///media/cdrom(3)新建目錄存放系統(tǒng)自帶的源。[root@localhostyum.repos.d]#mkdir./centos-repo[root@localhostyum.repos.d]#mvCentOS-*./centos-repo/(4)創(chuàng)建yum緩存[root@localhostyum.repos.d]#yummakecache任務實施任務1(1)使用rpm安裝telnet-server[root@localhost~]#rpm-qa|greptelnet[root@localhost/]#df-h //磁盤掛載/dev/sr04.2G4.2G0100%/media/cdrom[root@localhost/]#rpm-ivh/media/cdrom/Packages/telnet-server-0.17-64.el7.x86_64.rpm(2)使用yum安裝telnet[root@localhost/]#mount/dev/sr0/media/cdrom/ //掛載磁盤[root@localhost/]#rpm-qa|grepyum //查看是否安裝yum[root@localhostyum.repos.d]#catlocal.repo //搭建本地yum源[root@localhostyum.repos.d]#rpm-qtelnet-server //rpm查看是否安裝[root@localhostyum.repos.d]#yum-yinstalltelnet-server //yum安裝任務小結任務1(1)rpm更加基礎和底層,yum則更加自動化和高級,能夠方便地自動處理軟件依賴關系,從遠程倉庫下載軟件包,并安裝或升級軟件包。(2)Yum基于RPM包管理,能夠從指定的服務器自動下載RPM包并且自動安裝,可以自動處理依賴性。(3)RPM卸載時,最底層的軟件不能先移除,否則會導致整個系統(tǒng)不可用。任務拓展任務1河北唐訊信息技術股份有限公司,現接維一個項目,需將一臺服務器安裝上Nginx服務,想將該服務作為負載均衡?,F不確定如何去安裝該服務,那么我們作為運維管理員,應如何去安裝服務。項目7Linux軟件安裝和管理使用源碼編譯安裝軟件任務2任務介紹任務2河北唐訊信息技術股份有限公司近期項目中需要在測試環(huán)境中部署Web集群,盡管各種軟件包管理工具看起來已經完美解決地解決了Linux下軟件安裝的問題,但有時候不得不求助于最原始的方法從源代碼編譯。系統(tǒng)管理員小李發(fā)現一些軟件開發(fā)商出于各種原因,并沒有提供二進制軟件包,或者只為某個特定地發(fā)行版提供了這種軟件包,這樣源碼編譯安裝軟件就成了唯一地方法,且一些企業(yè)內出于特殊需求的考慮,需要修改某些軟件的源代碼,這些經過修改的軟件必須重新編譯。小李準備將nginx安裝在指定目錄下,方便后續(xù)需要修改容易找到,同時完成一些常用配置。任務分析任務2為滿足公司項目中方便自行調整增加刪除參數的需求,采用源碼安裝的方式,具體可以分為以下幾個步驟步驟一:找到相關軟件的源碼包步驟二:解壓縮源碼步驟三:編譯源碼步驟四:安裝源碼任務準備:7.2.1wget下載軟件任務2在Linux下,wget命令用來從指定的URL下載文件。wget非常穩(wěn)定,它在帶寬很窄的情況下和不穩(wěn)定網絡中有很強的適應性,如果是由于網絡的原因下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。如果是服務器打斷下載過程,它會再次聯到服務器上從停止的地方繼續(xù)下載。這對從那些限定了鏈接時間的服務器上下載大文件非常有用。wget格式:wget[選項參數]URL任務準備:7.2.1wget下載軟件任務21、wget命令選項:任務準備:6.2.1網絡會話任務21、nmcil命令常用命令:nmcliconnectionshow顯示所有連接nmcliconnectionshow-active顯示所有活動的連接狀態(tài)nmcliconnectionshow“ens33”顯示網絡連接配置nmcliconnectionstatus顯示設備狀態(tài)nmclideviceshowens33顯示網絡接口屬性nmcliconnectionaddhelp獲取幫助nmcliconnectionreload重新加載配置nmcliconnectiondowntest禁用test的配置,一個網卡可以有多個配置nmcliconnectionuptest啟動test配置nmclidevicedisconnectens33禁用ens33網卡,物理網卡Nmclideviceconnectens33啟用ens33網卡。任務準備:7.2.1wget下載軟件任務2(1)下載整個http或者ftp站點wget.hk/?hl=zh_CN(2)斷點續(xù)傳wget-c.hk/?hl=zh_CN(3)批量下載如果有多個文件需要下載,那么可以生成一個文件,把每個文件的URL寫一行,例如生成文件local.txt,然后用命令:wget-ilocal.txt(4)密碼和認證wget只能處理利用用戶名/密碼方式限制訪問的網站,可以利用兩個參數:–http-user=USER設置HTTP用戶–http-passwd=PASS設置HTTP密碼【實例7-5】創(chuàng)建一個指定IP地址和網關的網絡會話任務準備:7.2.2解壓縮軟件任務2在源碼安裝的過程中,源碼一般都是經過打包的壓縮包,想要進行后續(xù)操作,必不可少的是解壓縮壓縮文件也是一個文件和目錄的集合,且這個集合也被存儲在一個文件中,但它們的不同之處在于,壓縮文件采用了不同的存儲方式,使其所占用的磁盤空間比集合中所有文件大小的總和要小。無損壓縮指數據必須準確無誤;有損壓縮指的是即便丟失個別的數據,對文件也不會造成太大的影響。有損壓縮廣泛應用于動畫、聲音和圖像文件中,典型代表就是影碟文件格式mpeg、音樂文件格式mp3以及圖像文件格式jpg。任務準備:7.2.2解壓縮軟件任務21.tar命令Linux中最常用的歸檔命令就是tar命令,這個命令可以將許多文件一起保存到一個單獨的文件中,同時該命令也可以用于解壓縮。使用tar命令歸檔的文件通常稱之為tar包,文件以.tar結尾命令格式:tar[選項參數]源文件/目錄任務準備:7.2.2解壓縮軟件任務21.tar命令選項:任務準備:7.2.2解壓縮軟件任務2【實例7-6】創(chuàng)建tar包用法:tar-cvftar包文件名備份的文件或目錄[root@localhost/]#tar-cvfroot_user.tar/root/【實例7-7】創(chuàng)建壓縮的tar包用法:tar-zcvf壓縮的tar包文件名要備份的文件/目錄[root@localhost/]#tar-zcvfroot_user.tar.gz/root/打包并壓縮為.bz2格式的壓縮包[root@localhost/]#tar-jcvfroot_user.tar.bz2/root/【實例7-8】查看TAR包中的文件列表用法:tar-t[z|j][v]ftar包文件名[root@localhost/]#tar-tfroot_user.tar任務準備:7.2.2解壓縮軟件任務2【實例7-9】釋放tar包釋放TAR包使用-x參數用法:tar-xvftar包文件名[root@localhost/]#tar-zxvfnginx-1.24.0.tar.gz若要釋放bz2的同理將-z選項參數更換為-j即可
任務準備:7.2.3gcc簡易任務22.zip命令與unzip命令zip文件是一個包含一個或多個文件的壓縮檔案。它作為一種無損數據壓縮技術被廣泛使用。由于壓縮,它占用的磁盤空間更少,在計算機網絡上傳輸時需要的數據也更少。選項:任務準備:7.2.3
gcc簡易用法任務2gcc(GNU編譯器集合),是一套由GNU開發(fā)的編程語言編譯器。它是一套GNU編譯器套裝,是以GPL許可證所發(fā)行的自由軟件,也是GNU計劃的關鍵部分。gcc原來作為GNU操作系統(tǒng)的官方編譯器,現已被大多數類UNIX操作系統(tǒng)(Linux、BSD、MacOSX等)采納為標準的編譯器,gcc同樣適用于微軟的Windows。gcc是自由軟件過程發(fā)展中的著名例子,由自由軟件基金會GPL協議發(fā)布。gcc原名為GNUC語言編譯器,因為他原來只能處理C語言,但后來得到擴展,可以處理C++,同時又可以處理Fortran、Pascal、Objective-C、Jave和Ada等語言任務準備:7.2.3
gcc簡易用法任務2安裝gcc:[root@localhost~]#mount/dev/sr0/media/cdrom/[root@localhost~]#cat/etc/yum.repos.d/dvd.repo[root@localhost~]#yumcleanall[root@localhost~]#yum-yinstallgcc【實例7-17】打印HelloWorld編寫程序代碼源碼[root@localhost~]#cathello.c#include<stdio.h>intmain(void){ printf("HelloWorld\n");}任務準備:7.2.3
gcc簡易用法任務2開始編譯與測試運行[root@localhost~]#gcchello.c[root@localhost~]#llhello.ca.outrwxr-xr-x.1rootroot8440Jun1316:47a.out //會生成一個a.out文件[root@localhost~]#./a.out //執(zhí)行該文件HelloWorld【實例7-18】以thanks.c去調用thanks_2.c[root@localhost~]#catthanks.cintmain(void){ printf("helloworld\n"); thanks_2(); //本行內容為調用子程序}任務準備:7.2.3
gcc簡易用法任務2[root@localhost~]#catthanks_2.c#include<stdio.h>voidthanks_2(void){ printf("thankyou\n");}進行程序的編譯與鏈接[root@localhost~]#llthanks*-rw-r--r--.1rootroot69Jun1316:54thanks_2.c-rw-r--r--.1rootroot1504Jun1316:55thanks_2.o //編譯生成的文件-rw-r--r--.1rootroot78Jun1316:52thanks.c-rw-r--r--.1rootroot1560Jun1316:55thanks.o //編譯生成的文件[root@localhost~]#llthanks*-rwxr-xr-x.1rootroot8560Jun1316:57thanks
//最終生成可執(zhí)行文件任務準備:7.2.4編譯安裝python3任務2對于剛接觸linux的人來說,源碼安裝很有必要,這樣你可以知道自己在做什么,安裝過程中,肯定會遇到很多很多的問題,遇到問題,解決問題。這樣才會成長。接下來我們以編譯安裝python3為例1.獲取python3的壓縮包在網絡中搜索查找python,找到其官網:/通過官網找到需要的特定版本,例如Python-3.10.11.tgz將該版本的下載頁面的URL復制任務準備:7.2.4編譯安裝python3任務22.使用wget命令將其下載至Linux端[root@localhost~]#wget/ftp/python/3.10.11/Python-3.10.11.tgz
//下載Python-3.10.11.tgz3.將下載的壓縮包解壓縮到/root/python中[root@localhost~]#tar-xzvfPython-3.10.11.tgz-Cpython/[root@localhost~]#cdpython/Python-3.10.11/4.編譯前的依賴安裝[root@localhostPython-3.10.11]#yuminstallgccpatchlibffi-develpython-develzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel-y任務準備:7.2.4編譯安裝python3任務25.configure這一步一般用來生成Makefile,為下一步的編譯做準備,可以通過在configure后面加上參數來對安裝進行控制[root@localhostPython-3.10.11]#./configure--prefix=/usr/local/python3--enable-optimizations--with-ssl6.make這一步就是編譯了,大多數的源代碼包都經過這一步進行編譯。如果在make過程中出現error,就要記下錯誤代碼(注意不僅僅是最后一行),然后可以向開發(fā)者提交bugreport;make的作用是開始進行源代碼編譯,以及一些功能的提供,這些功能由他的Makefile設置文件提供相關的功能,比如makeinstall一般表示進行安裝,makeuninstall是卸載,不加參數就是默認的進行源代碼編譯。任務準備:7.2.4編譯安裝python3任務2[root@localhostPython-3.10.11]#makeinstall-j2..........WARNING:Runningpipasthe'root'usercanresultinbrokenpermissionsandconflictingbehaviourwiththesystempackagemanager.Itisrecommendedtouseavirtualenvironmentinstead:https://pip.pypa.io/warnings/venv以上警告信息,需要把/usr/local/python3/bin/目錄添加到系統(tǒng)環(huán)境變量即可[root@localhost~]#echo'exportPATH=$PATH:/usr/local/python3/bin'>>/etc/profile[root@localhost~]#source/etc/profile任務準備:7.2.4編譯安裝python3任務2[root@localhostPython-3.10.11]#makeinstall-j2..........WARNING:Runningpipasthe'root'usercanresultinbrokenpermissionsandconflictingbehaviourwiththesystempackagemanager.Itisrecommendedtouseavirtualenvironmentinstead:https://pip.pypa.io/warnings/venv以上警告信息,需要把/usr/local/python3/bin/目錄添加到系統(tǒng)環(huán)境變量即可[root@localhost~]#echo'exportPATH=$PATH:/usr/local/python3/bin'>>/etc/profile[root@localhost~]#source/etc/profile任務實施任務21.在nginx官網/en/中找到nginx相對應的版本找到nginx官網中的穩(wěn)定版本:/download/nginx-1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國二手車第三方檢測行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2025-2030年中國3C維修行業(yè)全國市場開拓戰(zhàn)略制定與實施研究報告
- 2025-2030年中國智能手表行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2025-2030年中國汽車運動服務行業(yè)開拓第二增長曲線戰(zhàn)略制定與實施研究報告
- 養(yǎng)殖金蟬知識培訓課件
- 二零二五年度房產局備案的房屋租賃合同規(guī)范版6篇
- 二零二五年度房東房屋租賃合同(含電梯使用費)2篇
- 二零二五年度健康體檢中心運營管理合同標準范本3篇
- 電氣試驗知識培訓課件
- 精密機械制造中心項目可行性研究報告模板-立項拿地
- 駕駛證學法減分(學法免分)試題和答案(50題完整版)1650
- 漫談領導干部溝通技巧與藝術課件
- 高低壓配電柜-福建寧德核電站投標書
- 少兒繪畫之《水仙花開迎春來》
- 《法學概論》課程教學大綱
- 成品油稅收分類編碼
- 福建省廈門市高一上學期期末考試政治試題 Word版含答案
- 山東中醫(yī)藥大學中西醫(yī)臨床(專升本)學士學位考試復習題
- 鐵路貨場平面設計說明書
- 抽象函數的單調性
- 2019年血站績效考核標準
評論
0/150
提交評論