Package Manager
-
Package 管理工具的分類
-
rpm
-
yum
-
Source Code Install
管理工具的分類
前段管理工具:
Debian:deb
Redhat,Suse…:rpm
前端管理工具:
Debian:apt-get
Redhat:yum,dnf
RPM
RPM是什么?
RPM全稱是RPM Package Manager,是一款用來管理軟件包的工具。
RPM有什么用?
RPM能夠用來管理程序包,包括軟件包的安裝,刪除,卸載,升級,降級,查詢操作。
RPM包名:
Packagename-modname-major.minor.revision.distributions.arch.rpm
例如: NetworkManager-adsl-1.0.6-27.el7.x86_64.rpm
rpm命令的格式:
rpm [COMMAND] [OPTION]
查詢:
rpm -q [option]
-a:顯示當前主機所有包。 -i [Package_name]:顯示程序包的詳細信息。 -l [Package_name]:列出程序包安裝后生成的所有文件。 -c [Package_name]:列出程序的配置文件。 -d [Package_name]:列出程序包的文檔文件。 -p [Package_PATH]:針對還未安裝的程序做查詢。需要與q和其他參數搭配使用。 --scripts [Package_name]:列出程序包自帶的腳本。 --provides [Package_name]:列出程序包所提供的功能。 -R [Package_name]:查詢指定程序包所依賴的功能。 --whatprovides [功能]:查詢指定功能是哪個程序包提供的。 --whatrequires [功能]:查詢所有以來此功能的所有程序包。 常用用法:-qa -qi -ql -qc -qd -qpi -qpl...
安裝:
rpm -i [OPTIPN] [PACKAGE_PATH]
-v|-vv:顯示安裝的詳細信息。 -h:以hash表的格式來實時顯示進度,單位#。 --test:測試安裝。 --nodeps:忽略依賴關系。 --replacepkgs:重新安裝。 --nosignature:不檢查來源合法性。 --nodigest:不檢查包的完整性。 --noscript:不執行腳本。 %pre:安裝前腳本。 %post:安裝后腳本。 %noprenu:卸載前腳本。 %postun:卸載后腳本。
卸載:
rpm -e [Package_name]
升級
rpm <-U --upgrade |-F> [option] [Package_name】 -U:如果有更新就更新,沒有軟件就安裝。 -F:如果有更新就更新,沒有就推出。 -V:詳細信息。 -h:hash表顯示。 --fouce:強制。
降級:
#rpm -F --oldpackage [Package_name]
校驗,導入密鑰:
rpm -V [Package_name]
rpm –import [Key_File]
rpm DB
rpm {--initdb|--rebuilddb} --initdb:初始化rpm數據庫。 如果事先不存在就創建;否則,不執行任何操作。 --rebuilddb:重建 無論是否存在,直接創建數據庫。
YUM
YUM是什么?
Yellow Dog Updata modify,是基于RPM的一款前端包管理工具。
YUM的功能是什么?
YUM通過倉庫的方式來實現自動下載安裝的過程,并通過元數據表來自動解決程序包的依賴問題。
YUM Repository
YUM中的倉庫是什么?
是存儲了眾多的rpm包,以及包相關的元數據文件(repodata目錄下)。
文件服務器的形式:
ftp:// http:// nfs:// file:///
Create Repository:
-
通過命令創建。
yum-config-manager --add-repo=[REPO_PATH]
-
通過配置文件創建。 vim /etc/yum.repos.d/*.repo
[repo_ID] name=repo_name baseurl=repo_path_url_1 指定倉庫URL,可以指定多個URL。 repo_path_url_2 enable={0|1} 是否開啟次倉庫,默認為1,啟用。 enablegroups={0,1} 是否開啟包組功能,批量管理包,默認為1,啟用。 gpgcheck={0|1} 是否開啟gpg檢查包完整性與合法性,默認為1,啟用。 gpgcheck=KEY_PATH 指定gpg金鑰位置。 failovermthhod={roundrobin|priority} 選擇使用哪一個URL。 默認為roundrobin,隨機選擇URL。 priority,按照順序輪詢。 username , passwd 某些倉庫是需要身份驗證的。 cost=# 指定倉庫的開銷,默認數值為1000。
YUM命令的格式:
yum [COMMAND] [OPTION]
命令行的選項:
-y 所有交互都選擇YES --nogpgcheck 不用進行完整性和合法性校驗 --disablerepo [repoistory_ID] 關閉這個倉庫 --enablerepo [repoistory_ID] 開啟這個倉庫 --noplugins 禁止使用插件
查詢顯示:
yum list [installed|updates] [glob...] yum repolist 倉庫列表。 yum info [glob...] 包信息。 yum [provides | whatprovides] [glob...] 所具有的功能與依賴的功能。 yum search [string...] 根據字段來查詢包。 yum deplist [glob...] 列出依賴關系。 yum history [info] [glob...] 不帶參數即查看歷史信息,info并指定glob查詢單獨一個包的歷史信息。
安裝,重裝:
yum install [PACKAGE...] 安裝 yum reinstall [PACKAGE...] 重裝
卸載,降級:
yum remove [PACKAGE...] 刪除包。 yum downgrade [PACKAGE...] 降級包。
清除,創建:
yum clean [PACKAGE|metadata|expire-cache|rpmdb|plugins|all] 清除特定或者全部數據。 yum makecache 創建緩存。
包組相關:
yum grouplist 列出包組。 yum groupinstall 安裝包組。 yum groupupdate 升級包組。 yum groupremove 刪除包組。 yum groupinfo [GROUP_PACKAGE] 查詢包組信息。
yum倉庫文件的中變量詳解:
$releasever :OS發行版主版本號 $arch:平臺 $basearch:基礎平臺 $YUM0-$YUM9 例如: http://mirros.163.com/centos/$releaserver/$basearch/$OS
Source Code Install
Source Code Install什么是?
源碼安裝,指的是通過還沒編譯的源代碼,自行編譯安裝程序包。
Source Code Install有什么功能?
通過源碼安裝安裝的程序與通過程序包安裝的程序基本功能完全一致。
Source Code Install有什么好處?
通過源碼安裝,可以靈活選擇程序模塊,自行指定安裝后的文件存放位置。
程序包安裝概述:
二進制程序包:
textapp-VERSION-release.src.rpm –>安裝后使用rpmbuild命令制作成二進制格式的rpm包,然后再安裝。
源碼安裝:
源代碼 –> 預處理 –> 編譯(gcc) –> 匯編 –> 鏈接 –> 執行
源碼獲取渠道:
官方自建站點:
apache.org (ASF)
mariadb.org …
代碼托管:
sourceforge
Github.com
code.google.com
源碼安裝的步驟:
C代碼編譯安裝三步驟 :
-
./configuer :
(1)通過選項傳遞參數,指定啟用特性,安裝路徑等;執行時會參考用戶的指令以及Makefile.in文件生成makefile;
(2)檢查依賴到的外部環境; -
make:
根據makefile文件,調用編譯器,構建應用程序; -
make install:
鏈接文件;
源碼安裝的基本命令以及參數:
./configure [option] --prefix=PREFIX 指定文件安裝路徑 --sysconfdir=DIR 指定配置文件安裝路徑 --help 查看幫助 ... make make install
源碼安裝注意事項:
-
安裝前一定要查看文檔,README , INSTALL 兩個文檔。
-
如果自行知道安裝文件存放位置,請事前創建好程序文件存放目錄。
-
源碼安裝完成后,要將系統環境變量設置正確。
PATH=[bin_PATH]$PATH 可執行文件路徑 LD_LIBRARY_PATH=[lib_PATH]$LD_LIBRARY_PATH 動態庫文件路徑 LIBRARY_PATH=[lib_PATH]$LIBRARY_PATH 靜態庫路徑 C_INCLUDE_PATH=[include_PATH]$C_INCLUDE_PATH 頭文件路徑 MAN中的幫助文檔路徑指定: 在 /etc/man_db.conf 文件中添加: MANDATORY_MANPATH /PATH/TO/man
原創文章,作者:Net18_肖肖,如若轉載,請注明出處:http://www.www58058.com/13533
又見md,用了md確實很上檔次。邏輯清楚,內容豐滿,贊