Linux基礎知識之軟件包管理(二)


(1)CentOS7 yum dnf 
	yum repository: yum repo
	存儲了眾多rpm包,以及包的相關的元數據文件(放置于特定目錄下,repodata)
	文件服務器:
		ftp://
		http://
		nfs://
		file:///
	(2)yum客戶端:
		配置文件:
			/etc/yum.conf(主配置文件):為所有倉庫提供公共配置
				主配置文件只提供各yum指向的公共配置
			/etc/yum.repos.d/*.repo :為倉庫的指向提供配置
			[main]:倉庫名稱(倉庫ID)
			cachedir:yum的緩存目錄
			keepcache:緩存的文件要不要保留在本地
			debuglevel:調試級別
			logfile:安裝日志文件的指向
			exactarch:要不要做嚴格的平臺匹配
			obsoletes:
			gpgcheck:要不要檢查來源合法性和包完整性
			plugins:yum支不支持插件機制
			installonly_limit:最多同時安裝幾個機制
			bugtracker_url:追蹤bug時的url
			distroverpkg:發行版
		倉庫的定義:
			[repositoryid]
			name=Some name for this repository
			baseurl=url://path/to/repository/(等號左右不要有空格,否則可能有語法錯誤)
				可以后面跟多個url,查詢的時候就先從第一個找,然后第二個找以此類推,直至找到我們要安裝的軟件
			enabled=(1|0)是否啟用該yum源
			gpgcheck={1|0}是否檢查完整性和來源合法性
			gpgkey=URL 當gpgcheck=1時,需要添加密鑰文件的訪問路徑
			enablegroup={1|0}是否支持在此倉庫上使用組來批量管理程序包
			failovermethod={roundrobin|priority}:當baseurl有多個url時,當默認的url無法使用時,默認使用哪個url。
				默認為:roundrobin
					roundrobin隨機的選取一個,當url還是失敗的時候繼續隨機去選擇url;
					priority當url失敗的時候,順序執行url的次序
			有些服務器不支持匿名訪問需要指明登錄名和登錄密碼:username和password
			cost=1000 默認為1000,開銷數字
	(3)yum命令的具體的使用說明:
		顯示倉庫列表:
			repolist [all|enabled|disabled]	默認顯示的是enabled的
		顯示程序包:
			list
			yum list [all | glob_exp1] [glob_exp2] [...]
			yum list {available|installed|updates} [glob_exp1][...]
		安裝程序包:
			yum install package1 [package2] [...]	
			yum reinstall package1 [package2] [...] (重新安裝)
		升級程序包:
			yum update [package1] [package2] [...]
		降級程序包:
            yum downgrade package1 [package2] [...] 
		檢查可用升級:
			yum check-update
		卸載程序包:
			yum remove | erase package1 [package2] [...]
		查看程序包information:
			yum info [...]
		查看指定的特性( 可以是某文件) 是由哪個程序包所提供:
			yum provides | whatprovides feature1 [feature2] [...]
		清理本地緩存:
			yum	clean [packages|metadata|expire-cache|rpmdb|plugins|all]
		構建緩存:
			yum makecache
		搜索:search string1 [string2] [...]
		以指定的關鍵字搜索程序包名及summary 信息
		 	查看指定包所依賴的capabilities:
			yum deplist package1 [package2] [...]
		查看yum事務歷史:
			yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
			yum history
			yum history info 6
			yum history undo 6
		日志文件:/var/log/yum.log
		安裝及升級本地程序包:
			yum localinstall rpmfile1 [rpmfile2] [...](用install替代)
			yum localupdate rpmfile1 [rpmfile2] [...](用update替代)
		包組管理的相關命令:
			groupinstall group1 [group2] [...]
			groupupdate group1 [group2] [...]
			grouplist [hidden] [groupwildcard] [...]
			groupremove group1 [group2] [...]
			groupinfo group1 [...]
	(4)使用光盤當做本地的yum倉庫
	    a.掛載網盤至某目錄,例如/media/cdrom
		    mount /dev/cdrom /media/cdrom
		b.創建配置文件
		    [CentOS7]
			name=xxx
			baseurl=file:///media/cdrom
			gpgcheck=0
			enabled=1
	(5)yum的命令行選項:
	    --nogpgcheck:禁止進行gpg check
		-y:自動回答為"yes",即自動安裝所要安裝的軟件
		-q:使用靜默模式:不往屏幕輸出任何東西
		--disablerepo=repoidglob:臨時禁用此處指定的repo
		--enablerepo=repoidglob:臨時啟用指定的repo
	    --noplugins:禁用所有插件
	(6)yum的repo配置文件中可用的變量:
        $releasever:當前OS的發行版的主版本號
		$arch:當前的平臺
		$basearch:基礎平臺,無論是i386 i686 i786 的基礎平臺都是i386
		$YUM0-$YUM9:yum的內置變量,在系統中用處不多
	(7)創建yum倉庫
		yum install createrepo:安裝createrepo軟件包,用于手動創建本地yum倉庫
		createrepo [options] <directory>
			createrepo ./ 在當前目錄下創建repodata目錄,createrepo會自動讀取該目錄下所有.rpm結尾的安裝包
			--basedir /path/to/somefile:指定createrepo生成的repodata目錄存放的位置
	(8)程序包編譯安裝:
        testapp--VERSION-release.src.rpm -->安裝后,使用rpmbuild命令制作成二進制格式的rpm包,而后再安裝
		src:沒有指定要適合那類平臺 i386(等32位系統),x86_64(等64位系統),ppc等系統的安裝
		源代碼組織格式:
		    多文件:文件中的代碼之間,可能存在跨文件依賴關系
			C,C++:make (configure --> Makefile.in --> makefile)
			編譯安裝三步驟:
			    ./configure
				    a.通過選項傳遞參數,指定啟用特性,安裝路徑等;執行時會參考用戶的指定以及Makefile.in文件生成makefile;
					b.檢查各指定特性等依賴到的外部環境
				make:根據makefile文件構建應用程序;
				make install
			開發工具:
				autoconf:生成configure腳本
				automake:生成Makefile.in 
			建議:安裝前查看INSTALL,README
		開源程序源代碼的獲?。?
            官方自建站點:
			    apache.org(ASF)
				mariadb.org
			代碼托管:
				SourceForge
				Github.com
				code.google.com
		編譯C源代碼:
			前提:提供開發工具以及開發環境
				開發工具:make gcc等
				開發環境:開發庫,頭文件
					glibc:標準庫
				通過"包組"提供開發組件:
					CentOS6:"Development Tools","Server Platform Development"
		解壓進入我們要編輯的源碼包中:
			第一步:configure腳本
				選項:指定安裝位置,指定啟用的特性
				./configure --help:獲取其支持使用的選項
				    選項分類:
					    安裝路徑設定:
							--prefix=/PATH/TO/SOMEFILE:指定默認安裝位置 默認安裝位置為/usr/local/
							--sysconfdir=/PATH/TO/SOMEFILE:配置文件安裝位置
						System types:目標系統平臺結構
						Optional Features:可選特性
							--disable-FEATURE :編譯時默認將程序包的開啟禁用
							--enable-FEATURE[=ARG]:編譯程序包時默認會開啟一些可選的特性
						Optional Packages:可選包
							--with-PACKAGE[=ARG]:定義包與包之間的依賴關系
							--without-PACKAGE :取消定義包與包之間的依賴關系 
					./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd2
						指明默認安裝的位置和配置文件放置的位置,編譯安裝是屬于自己安裝,使用rpm也無法卸載編譯安裝的文件,
						要想刪除自己編譯安裝的文件,只需將編譯安裝的位置和配置文件安裝的位置的目錄刪除即可
			第二步:make
			第三步:make install
		安裝后的配置:
			(1)導出二進制程序目錄至PATH環境變量中
				編譯文件 /etc/profile.d/NAME.sh
					export PATH=/PATH/TO/BIN:$PATH
					接著讓系統重新讀取配置文件,或者重新登錄一下shell進程
			(2)導出庫文件路徑
			    編輯 /etc/ld.so.conf.d/NAME.conf
					/usr/local/apache2/lib
						添加新的庫文件所在目錄至此文件中;
						讓系統重新生成緩存 ldconfig
			(3)導出頭文件
			    將安裝后的/usr/local/apache2/下的include的文件,鏈接至 /usr/include目錄中
				ln -sv /usr/local/apache2/include/* /usr/include/*
				基于符號鏈接的方式實現
			(4)導出幫助手冊
			    編輯 /etc/man.config 文件
					添加一個 MANPATH /usr/local/apache2/man				

原創文章,作者:sjsir,如若轉載,請注明出處:http://www.www58058.com/38977

(0)
sjsirsjsir
上一篇 2016-08-24
下一篇 2016-08-24

相關推薦

  • bash腳本編程實例

    bash腳本編程實例 1.寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態 在線的主機使用綠色顯示 不在線的主機使用紅色顯示 #!/bin/bash for i in {1..254};do if /bin/ping -W 1 -c 1 172.16.250.${i} >> /dev/…

    Linux干貨 2017-08-20
  • N22-Dexter-第二周博客作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示?    Linux上的文件管理類命令有cp,rm,mv    cp命令:copy    常用選項:       -i:交互式復制,即覆蓋之前提醒用戶確認;     &nbsp…

    Linux干貨 2016-08-24
  • bash腳本與程序包管理

    概述:本章主要介紹bash編程中的函數和數組以及字符串處理和程序包管理工具等,來幫助小伙伴們更進一步的了解bash編程的內容和軟件的安裝、更新、卸載、查詢等操作。 一、函數介紹 函數function是由若干條shell命令組成的語句塊,實現代碼重用和模塊化編程。 它與shell程序形式上是相似的,不同的是它不是一個單獨的進程,不能獨立運行,而是shell程序…

    Linux干貨 2016-08-24
  • vsftpd相關應用解析

    FTP(File Transfer Protocol)文件傳輸協議 FTP 是 TCP/IP 協議組中的協議之一。該協議是Internet文件傳送的基礎,它由一系列規格說明文檔組成,目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。簡單的說,FTP就是完成兩臺計算機之間的拷貝,從遠程計算機拷貝文件至自己的計算機上,稱…

    2017-06-06
  • 馬哥教育網絡班21期+第7周課程練習

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;(2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; [root@itop ~]# fdisk /dev/sda&nbsp…

    Linux干貨 2016-08-30
  • Linux運維基礎

    正則表達式

    Linux干貨 2018-03-19
欧美性久久久久