久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

CentOS系統(tǒng)上如何實(shí)現(xiàn)軟件包管理

共計(jì) 5822 個(gè)字符,預(yù)計(jì)需要花費(fèi) 15 分鐘才能閱讀完成。

這篇文章主要介紹了 CentOS 系統(tǒng)上如何實(shí)現(xiàn)軟件包管理,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。

  軟件包管理
CentOS 系統(tǒng)上使用 rpm 命令管理程序包
安裝、卸載、升級(jí)、查詢(xún)、檢驗(yàn)、數(shù)據(jù)庫(kù)維護(hù)

rpm 安裝:
  rpm {-i|–install} [安裝 - 選項(xiàng)] 打包;包
  -h  以 #符號(hào)表示安裝進(jìn)度
  -v  顯示安裝過(guò)程中的詳細(xì)信息
  -vv
  -vvv
  經(jīng)常使用組合:-ivh,ivvh
  例如 rpm -ivh 包文件
  安裝時(shí)的選項(xiàng):
  –test  測(cè)試安裝,但不真正執(zhí)行安裝,僅報(bào)告依賴(lài)關(guān)系以及沖突信息等
  –nodeps  忽略依關(guān)系,副作用是能安裝成功,但未必能運(yùn)行成功
  –replacepkgs  覆蓋安裝 – 重新安裝并覆蓋原有的文件
  –nosignature  不被監(jiān)測(cè)來(lái)源合法性
  –nodigest  不檢查包完整性
  –noscipts  不執(zhí)行程序包腳本的片斷
  –foree  強(qiáng)制安裝
 
rpm 包升級(jí):
  rpm {-U|–upgrade} [安裝 - 選項(xiàng)] 打包;包
  -U  升級(jí)或安裝
  upgrade: 安裝有舊版程序包,則“升級(jí)”  如果不存在舊版程序包,則“升級(jí)”
  rpm {-F|–freshen} [安裝 - 選項(xiàng)] 打包;包
  -F  升級(jí)
  freshen: 安裝有舊版程序包,則“升級(jí)”  如果不存在舊版程序包,則不執(zhí)行升級(jí)操作
  常用組合:-Uvh,Fvh
  例如   rpm -Uvh 包文件
  升級(jí)選項(xiàng):
  –oldpackage  降級(jí)
  –force  強(qiáng)制升級(jí)
升級(jí)時(shí)需要注意事項(xiàng):
1  不要對(duì)內(nèi)核執(zhí)行升級(jí),Linux 支持多個(gè)內(nèi)核共存,可以對(duì)此直接安裝新版本內(nèi)核或不同版本的內(nèi)核
2  如果程序包的配置文件安裝后被修改,升級(jí)時(shí),新版本的文件不會(huì)覆蓋老版本的配置文件。而是把新版本的文件重命名加上后綴(.rpmnew)之后保留

rpm 包查詢(xún):
  rpm {-q|–query}[選擇 - 選項(xiàng)][查詢(xún)選項(xiàng)]
  安裝選項(xiàng)   ~]# rpm -q tree 后面準(zhǔn)確查找包名  
  -a 所有包、    ~]# rpm -qa  查詢(xún)當(dāng)前系統(tǒng)安裝的所有包   ~]# rpm -qa |grep ^tr   管道給關(guān)鍵字查找,以 tr 開(kāi)頭的包名
  -f 查看指定的文件由哪個(gè)程序安裝生成   ~]# rpm -qf /etc/issue  查詢(xún)文件是哪個(gè)包生成  
  -p  rpmfuile 針對(duì)尚未安裝程序包文件做查詢(xún)操作;  ~]# rpm -qp tree-1.6.0-10.el7.x86_64.rpm
  –whatprovides 性能進(jìn)程 查詢(xún)指定的性能進(jìn)程有哪個(gè)包所提供   ~]# rpm -q tree –whatprovides  查詢(xún)這個(gè)功能是由哪個(gè)包所提供
  –whatrequires 性能進(jìn)程 查詢(xún)指定的性能進(jìn)程被哪個(gè)包所依賴(lài)   ~]# rpm -q bash –whatrequires  查詢(xún)這個(gè)功能是被哪個(gè)包所依賴(lài)  
  rpm2cpio 包文件 |cpio -itv  預(yù)覽包內(nèi)的文件   ~]# rpm2cpio tree-1.6.0-10.el7.x86_64.rpm |cpio -itv
rpm2cpio 包文件 |cpio -id  *.conf 釋放包內(nèi)文件
  查詢(xún)選項(xiàng):
  –changelog 查詢(xún) rpm 包的變動(dòng)日志   ~]# rpm -qc tree –changelog
  -c  查詢(xún)程序的配置文件  
  -d  查詢(xún)程序的文檔   ~]# rpm -qd tree
  -i  信息   ~]# rpm -qi tree
  -l  查看指定的程序包安裝后生成的所有文件   ~]# rpm -ql tree
  –scripts 程序包自帶的腳本片斷   ~]# rpm -q bash –scripts
  -R  查詢(xún)指定的程序包所依賴(lài)的 性能進(jìn)程   ~]# rpm -qR bash
  –provides ;列出指定程序包所提供的 性能進(jìn)程   ~]# rpm -q bash –provides

rpm 卸載:
  rpm  {-e|–erase}
  –allmatches  移除所有符合 package 的軟件包 (如果 package 被指定未多個(gè)軟件包,常常會(huì)導(dǎo)致錯(cuò)誤出現(xiàn))
  –nodeps  不驗(yàn)證軟件包依賴(lài)
  –noscripts  不執(zhí)行軟件包腳本
  –notriggers  不執(zhí)行本軟件包觸發(fā)的任何腳本
  –test  不真正安裝,只是判斷下是否能安裝
包檢驗(yàn):rpm {-V|–verify}
  –nofiledigest  不驗(yàn)證文件摘要
  –nofiles  不驗(yàn)證軟件包中文件
  –nodeps  不驗(yàn)證包依賴(lài)
  –noscript  不執(zhí)行驗(yàn)證腳本

導(dǎo)入所需要公鑰:
 ~]# rpm -K tree-1.6.0-10.el7.x86_64.rpm  檢查包的完整性和簽名
 
rpm 數(shù)據(jù)庫(kù):
  數(shù)據(jù)庫(kù)重建:/var/lib/rpm
  rpm {–initdb|–rebuilddb}
  initdb  初始化
  如果時(shí)間不存在數(shù)據(jù)庫(kù),則新建之,否則 不執(zhí)行任何操作
  rebuilddb 重建數(shù)據(jù)庫(kù)   無(wú)論當(dāng)前存在與否,直接重新創(chuàng)建數(shù)據(jù)庫(kù)  
 
 
 
rpm 命令實(shí)現(xiàn)程序管理   主要核心命令
安裝:-vih,–nodeps,–replacepkgs
卸載:-e,–nodeps
升級(jí):-Uvh,-Fvh,–nodeps,–oldpackage
查詢(xún):-q,-qa,-qf,-qi,-qc,-q –scripts, -q –chanlog, -q –provides,-q–requires
校驗(yàn):-V
導(dǎo)入 GPG 密鑰:–import,-K,–nodigest,–nosignature
數(shù)據(jù)庫(kù)重建:–initdb,–rebuilddb 
===========================================================

yum

  yum 是 rpm 的前端程序,用來(lái)解決軟件包相關(guān)依賴(lài)性,可以在多個(gè)庫(kù)之間定位軟件包,
資源庫(kù):存儲(chǔ)了眾多 rpm 包,以及包的相關(guān)的元數(shù)據(jù)文件(放置于特定目錄 repodata 下)
  文件服務(wù)器:ftp:
  http://
  file:///

yum 配置文件:
  /etc/yum.conf  主配置文件為所有倉(cāng)庫(kù)提供數(shù)據(jù)
  /etc/yum.repos.d/*.repo  為倉(cāng)庫(kù)的指向提供配置
  創(chuàng)庫(kù)指向的定義:
  文件以.repo 結(jié)尾;
  root@Compro ~]# cat /etc/yum.repos.d/base.repo
  [base]  提供配置信息
  name=CentOS 7  當(dāng)前倉(cāng)庫(kù)的名稱(chēng)
  baseurl=http://10.1.0.1/cobbler/ks_mirror/CentOS-7-x86_64/  教室里的 yum 源
  enabled=1  此倉(cāng)庫(kù)是否為可用
  gpgcheck=0  是否對(duì)程序包做校驗(yàn)
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  指明訪問(wèn)密鑰路徑的路徑

  [倉(cāng)庫(kù) ID]  對(duì)于當(dāng)前系統(tǒng)的 yum 來(lái)將,此倉(cāng)庫(kù) ID 用于唯一標(biāo)識(shí)此倉(cāng)庫(kù)指向,因此,必須唯一
  name=name  當(dāng)前倉(cāng)庫(kù)描述信息名稱(chēng)
  baseurl=url://path/to/repository/ 
  enabled={1|0}  此倉(cāng)庫(kù)是否可被使用 1 是 禁用 0 是可以 不寫(xiě)是默認(rèn)
  gpgcheck={1|0}  是否對(duì)程序包做校驗(yàn)  
  gpgkey=  指明 gpgkey 文件路徑
  cost= 默認(rèn)為 1000
 

如果使用光盤(pán)當(dāng)作本地 yum 倉(cāng)庫(kù):
掛載光盤(pán)至某目錄,例如 /media/cdrom
#mount /dev/cdrom /media/cdrom
創(chuàng)建配置文件:
[CentOS7]
name= 自定義   當(dāng)前倉(cāng)庫(kù)描述信息
baseurl= 指明資源庫(kù)的訪問(wèn)路徑,通常為一個(gè)文件服務(wù)器上輸出的某資源庫(kù),支持的類(lèi)型:ftp://;http://;file:///
gpgcheck={1|10}  是否對(duì)程序包做校驗(yàn)
enabled={1|10}  此倉(cāng)庫(kù)上是否可用,默認(rèn)為可用  

yum 命令的語(yǔ)法: yum [選項(xiàng)] [命令] [包]
yum 顯示倉(cāng)庫(kù)列表:
  yum repolist [all|enabled|disabled]
顯示程序包:
  yum list
  yum list [all | glob_ exp1] [glob_exp2] … 
  yum list {available|installed|updates}[glob_exp1]… 
安裝程序包:
  yum install 包 1 [包 2] …
  yum reinstall 包 1 [包 2]…  重新安裝
升級(jí)程序包:
  yum update [包 1][包 2]…
  yum downgrade 包 1 [包 2]…  降級(jí)
卸載程序包:
  yum remove | erase 包 1 [包 2]  … 
 
查看程序包的信息:
  yum info name
查看指定的特性(可以是某文件)是由那個(gè)程序包所提供
yum provides | whatprovides 特性 1 [特性 2] … 

清理本地緩存:
  yum clean [包 | 元數(shù)據(jù) |expire-cache|rpmdf|plugins|all]
構(gòu)建緩存:
  yum makecache 
 
搜索:
  yum  search 字符串 1 [字符串 2]
  以指定的關(guān)鍵字搜索程序包名及 summary 信息  
查看指定包所依賴(lài)的 capabilities
  yum deplist 包 1 [包 2] …
查看 yum 事務(wù)歷史
  yum history
 
日志:
  /var/log/yum.log
 
安裝及升級(jí)本地程序包
  yum install rpmfile1 [rpmfile2] …
  yum update  rpmfile1 [rpmfile2] …
包組管理的相關(guān)命令:
  yum groupinstall group1
  yum groupupdate group1
  yum grouplist [hidden][groupwildcard]
  yum groupremove group1
  yum groupinfo group1
 
 
如何使用光盤(pán)當(dāng)作本地 yum 倉(cāng)庫(kù)
 
掛載光盤(pán)至某目錄
  例如 /media/crom  # mount /dev/cdrom /media/crom
  創(chuàng)建配置文件
  [CentOS7]
  name=name
  baseurl=file:/// 
  gpgcheck=0
  enabled=1 
yum 的命令行選項(xiàng)
yum [選項(xiàng)] 包
  –nogpgcheck  禁止進(jìn)行 gpg check
  -y  自動(dòng)回答為 yes
  -q  靜默模式
  –disablerepo=repoidglob  臨時(shí)禁用此處指定的 repo
  –enablerepo=repoidglob  臨時(shí)啟動(dòng)此處指定的 repo
  –noplugins  禁用所有插件
 
 
 =================================================================
 

  源碼編譯  
程序包編譯安裝:
Application-VERSION-release.src.rpm–
安裝后,使用 rpmbuild 命令制作成二進(jìn)制格式的 rpm 包,而后再安裝
源代碼 – 預(yù)處理 – 編譯 – 匯編 – 鏈接 – 執(zhí)行

源代碼組織格式:
多文件:文件中的代碼之間,很可能存在跨文件依賴(lài)關(guān)系
C、C++:make (項(xiàng)目管理器,configure —
Makefile.in — makefile)
java: maven

C 代碼編譯安裝三步驟:
  ./configure
  通過(guò)選項(xiàng)傳遞參數(shù),指定啟動(dòng)特性、安裝路徑等;
  執(zhí)行時(shí)會(huì)參考用戶(hù)的指定以及 makefile.in 文件生成 makefile
  檢查依賴(lài)到的外部環(huán)境,如依賴(lài)的軟件包
  [cdrom]
  name=centos 7 cdrom
  baseurl=file:///mnt/cdrom
  gpgcheck=0
  enabled=0 
  make  根據(jù) makefile 文件,構(gòu)建應(yīng)用程序
  make install  復(fù)制文件到相應(yīng)路徑
開(kāi)發(fā)工具:
  autoconf: 生成 configure 腳本
  automake:生成 Makefile.in
  注意:安裝前查看 安裝自帶文檔
開(kāi)源程序源代碼的獲取:
官方自建站點(diǎn):
apache.org (ASF:Apache Software Foundation)
mariadb.org

代碼托管:
SourceForge.net
Github.com
code.google.com
c/c++ 編譯器: gcc(GNU C Complier)

編譯 C 源代碼:
  準(zhǔn)備:提供開(kāi)發(fā)工具及開(kāi)發(fā)環(huán)境
  開(kāi)發(fā)工具:make,gcc 等
  開(kāi)發(fā)環(huán)境:開(kāi)發(fā)庫(kù),頭文件
  glibc: 標(biāo)準(zhǔn)庫(kù)
  實(shí)現(xiàn):通過(guò)“包組”提供開(kāi)發(fā)組件
CentOS 6:
Development Tools
Server Platform Development
CentOS 7:
Development Tools
Development and Creative Workstation

編譯安裝:
  第一步:configure 腳本
  選項(xiàng):指定安裝位置、指定啟用的特性
  安裝路徑設(shè)定:./configure –prefix=/usr/local/http2 –sysconfdir=/etc/http2/
可選特性:
–disable-FEATURE
–enable-FEATURE[=ARG]
可選包:
–with-PACKAGE[=ARG], 依賴(lài)包
–without-PACKAGE, 禁用依賴(lài)關(guān)系  
 
安裝后的配置:
二進(jìn)制程序目錄導(dǎo)入至 PATH 環(huán)境變量中;
編輯文件:
 [root@Compro ~]# vim /etc/profile.d/http2.sh
 PATH=$PATH:/usr/local/http2/bin

導(dǎo)入庫(kù)文件路徑:
  編輯 /etc/ld.so.conf.d/NAME.conf
  添加新的庫(kù)文件所在目錄至此文件中
讓系統(tǒng)重新生成緩存:
 ldconfig[-v] 
 
導(dǎo)入頭文件
基于鏈接的方式實(shí)現(xiàn):
ln -sv

導(dǎo)入幫助手冊(cè)
編輯 /etc/man.config|man_db.conf 文件
添加一個(gè) MANPATH 
[root@Compro ~]# vim /etc/man_db.conf
MANDATORY_MANPATH /usr/local/http2/ma

感謝你能夠認(rèn)真閱讀完這篇文章,希望丸趣 TV 小編分享的“CentOS 系統(tǒng)上如何實(shí)現(xiàn)軟件包管理”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-19發(fā)表,共計(jì)5822字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 克什克腾旗| 泗水县| 乌拉特前旗| 松阳县| 大庆市| 华池县| 铜山县| 浙江省| 烟台市| 武城县| 颍上县| 杭锦旗| 门源| 南溪县| 河南省| 文安县| 石屏县| 黄冈市| 温州市| 陇南市| 慈溪市| 昌都县| 临泉县| 广州市| 长垣县| 宝清县| 加查县| 凌源市| 三门峡市| 介休市| 林州市| 宜章县| 玉树县| 垣曲县| 溧水县| 呼伦贝尔市| 西充县| 黑水县| 兴仁县| 泸州市| 固始县|