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 10:25
下一篇 2016-08-24 10:25

相關推薦

  • DHCP使用幫助

    bootp 想要通過tcp/ip模型進行網絡通信需要有一個ip地址,IP地址是屬于操作系統的,所以沒有操作系統就沒有ip 為了解決這種問題,有一種網卡可以不需要操作系統就能獲取到ip bootp:只有第一次是動態獲得,以后ip地址就是和mac地址綁定的,不能分配給其他主機 DHCP:DHCP是bootp的改進版,主要引入了租約的定義 DHCP也可以根據mac…

    Linux干貨 2016-11-11
  • 開篇

    正式開始學習的第一天,了解LINUX,愛上LINUX。希望在往后的日子里越戰越勇??!

    Linux干貨 2017-07-11
  • 馬哥教育網絡第21期-第十一周課程練習

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 A和B進行通信 A發送數據:A使用單向加密算法獲得數據的特征碼,把特征碼附加到數據的尾部,A使用對稱加密算法對數據進行加密。A使用B發過來的公鑰對A的對稱加 密算法加密密鑰進行加密,附加到數據后面。 B接收方:B使用自己的私鑰對數據進行解密。得到A的對稱密鑰,對對稱密鑰解密獲得數據的特征碼,B使用單向加密算法獲…

    Linux干貨 2016-12-26
  • 文件的查找作業

    1、查找/var目錄下屬主為root,且屬組為mail的所有文件 2、查找/var目錄下不屬于root、lp、gdm的、所有文件 3、查找/var目錄下最近一周內其內容修改過,同時屬主不為root,也不是postfix的文件 4、查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件 5、查找/etc目錄下大于1M且類型為普通文件的所有文件 6、查找/…

    Linux干貨 2016-08-15
  • Linux磁盤管理基礎

    Linux磁盤管理基礎 硬盤結構 文件系統與MBR、GTP 磁盤管理三步驟:分區、格式化、掛載 mount 硬盤結構 硬盤的基本組成材質是盤片,不同容量硬盤的盤片數不等。每個盤片有兩面,都可記錄信息。盤片表面上以盤片中心為圓心,不同半徑的同心圓稱為磁道,不同盤片相同半徑的磁道所組成的圓柱稱為柱面,每個磁道被分成許多扇形的區域,每個區域叫一個扇區,每個扇區可存…

    Linux干貨 2016-09-01
  • linux grep manual

    名稱    grep – 打印匹配的行語法:     grep [option] pattern [file…]     grep [option] [-e pattern]…

    Linux干貨 2015-08-31
欧美性久久久久