1.yum是什么?
創(chuàng)新互聯(lián)專業(yè)提供成都IDC機(jī)房托管服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購(gòu)買成都IDC機(jī)房托管服務(wù),并享受7*24小時(shí)金牌售后服務(wù)。
yum(全稱為 Yellow dog Updater, Modified)是一個(gè)在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務(wù)器自動(dòng)下載RPM包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟體包,無(wú)須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個(gè)、一組甚至全部軟件包的命令。
2.yum客戶端的配置文件
配置文件:
/etc/yum.conf 為所有倉(cāng)庫(kù)提供公共配置或不屬于倉(cāng)庫(kù)的配置
/etc/yum.repos.d/*.repo 為倉(cāng)庫(kù)的指向提供配置
/etc/yum.repos.d/*.repo : 定義倉(cāng)庫(kù)
[repositoryID]
name=Some name for this repository
baseurl=url://server1/path/to/repository/
enabled=[0|1]倉(cāng)庫(kù)開(kāi)啟或關(guān)閉
gpgcheck ={1|0} 檢查來(lái)源合法性
gpgkey=URL 指明密鑰文件
enablegroups ={0|1} 使用組來(lái)批量管理程序包
failovermethod = {roundrobin(輪詢)|specified(優(yōu)先級(jí))}
故障轉(zhuǎn)移方法默認(rèn)為roundrobin,為隨機(jī)挑選
cost(開(kāi)銷)=# 默認(rèn)為1000
yum的repo配置文件中可用的變量:
$releasever:當(dāng)前OS的發(fā)行版的主版本號(hào)
$arch:平臺(tái)類型
$basearch :基礎(chǔ)平臺(tái)
$YUM0-$YUM9 :用戶自定義的變量
這里以 http://mirrors.aliyun.com/ 為例:
~]# cd /etc/yum.repos.d/ ~]# vim aliyun.repo [base] name=aliyun baseurl=http://mirrors.aliyun.com/centos/6.7/os/x86_64/ gpgcheck=1
我們也可以用變量的方式來(lái)設(shè)置baseurl:
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
3.如何使用光盤(pán)做本地yum倉(cāng)庫(kù)
這里以CentOS 6.7的ISO鏡像為例:
(1)掛載光盤(pán)
~]# mount -r /dev/cdrom /media/cdrom
(2)創(chuàng)建配置文件
~]# cd /media/cdrom/ ~]# ls -->這里查看一下是否有"repodata"目錄,一般默認(rèn)都有,如果沒(méi)有 ~]# createrepo -->創(chuàng)建"repodata"目錄,如有,則不用創(chuàng)建 ~]# vim /etc/yum.repos.d/local.repo [base] name=local baseurl=file:///media/cdrom/ gpgcheck=1 ~]# yum repolist --> 配置完成后可以用這個(gè)命令檢查是否配置成功
注: 創(chuàng)建yum倉(cāng)庫(kù) createrepo [options] <directory>
4.yum常用命令
yum的命令行選項(xiàng):
--nogpgcheck :進(jìn)制進(jìn)行g(shù)pg check
-y :自動(dòng)回答為"yes"
-q :靜默模式
--disabledrepo=repoidglob :臨時(shí)禁用此處指定的repo
--enabledrepo=repoidglob :臨時(shí)啟用此處的指定的repo
--noplugins :禁用所有插件
常用命令:
顯示倉(cāng)庫(kù)列表:
repolist [all|enabled|disabled]
顯示程序包:
yum list [all | glob_exp1] [glob_exp2] [...]
yum list {available|installed|updates} [glob_exp1] [...]
安裝程序包:
install package1 [package2][...]
reinstall package1 [package2] [...] 重新安裝
升級(jí)程序包:
update package1 [package2] [...]
downgrade package1 [package2] [...] 降級(jí)
檢查可用升級(jí):
check-update
卸載程序包:
remove | erase package1 [package2] [...]
查看程序包的簡(jiǎn)要信息:
info[]
查看指定的特性是由那個(gè)程序包提供:
provides | whatprovides feature1 [feature2] [...]
清理本地緩存:
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
構(gòu)建緩存:
makecache
搜索:
search string1 [string2] [...]
以指定的關(guān)鍵字搜索程序包名及summary信息
查看指定包所依賴的capabilities:
deplist [package1] [package2] [...]
查看yum事物歷史:
history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
包組管理的常用命令:
* groupinstall group1 [group2] [...]
* groupupdate group1 [group2] [...]
* grouplist [hidden] [groupwildcard] [...]
* groupremove group1 [group2] [...]
* groupinfo group1 [...]
5.程序包編譯安裝
源碼包的一般格式:
testapp-VERSION-release.src.rpm
安裝后,使用rpmbuil命令制作成二進(jìn)制格式的rpm包,而后在安裝
源代碼 --> 預(yù)處理 --> 編譯(gcc)--> 匯編 --> 鏈接 --> 執(zhí)行
編譯安裝三步驟:
./configure
1.通過(guò)選項(xiàng)傳遞參數(shù),指定啟用特性、安裝路徑等,執(zhí)行時(shí)會(huì)參考用戶的指定以及Makefile.in文件生成makefile
2.檢查依賴到的外部環(huán)境
make
根據(jù)makefile文件,構(gòu)建應(yīng)用程序,調(diào)用編譯器來(lái)完成編譯
make install
編譯C源代碼:
前提:提供開(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ù)
通過(guò)“包組”提供開(kāi)發(fā)組件:
CentOS 6:"Development Tools","Server Platform Development"
CentOS 7:"開(kāi)發(fā)工具"
第一步:configure腳本
選項(xiàng):指定安裝位置、指定啟用的特性
--help:獲取其支持使用選項(xiàng)
安裝路徑設(shè)定:
--prefix=/PATH/TO/SOMEWHERE :指定默認(rèn)安裝位置,默認(rèn)位為/usr/local
--sysconfdir=/PATH/TO/SOMEWHERE :配置文件安裝路徑
System types(系統(tǒng)類型): 交叉編譯可以用到
Optional Features :可選特性
--disable-FEATURE 禁用某特性
--enable-FEATURE[=ARG] 啟用某特性
Optional Packages:可選程序包,
--with-PACKAGE[=ARG] 定義依賴的程序包
--without-PACKAGE不需要依賴的程序包
第二步:make
第三步:make install
安裝后的配置:
(1)導(dǎo)出二進(jìn)制程序目錄至PATH環(huán)境變量中
編輯文件/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH
(2)導(dǎo)出庫(kù)文件路徑
編輯/etc/ld.so.conf.d/NAME.conf
添加新的庫(kù)文件所在目錄至此文件中
/usr/local/apache2/lib
讓系統(tǒng)重新生成緩存
ldconfig [-v]
(3)導(dǎo)出頭文件到/usr/include
基于鏈接的方式實(shí)現(xiàn):
ln -sv
導(dǎo)出目錄為一個(gè)符號(hào)鏈接
(4)導(dǎo)出幫助手冊(cè)
編輯/etc/man_db.conf文件
添加一個(gè) MANPATH
這里以在CentOS 6.7上編譯安裝apache 2.2為例:
~]# cd httpd-2.2.29 --> 這里先切換到httpd目錄下 ~]# ./configure --prefix=/usr/local/ --sysconfdir=/etc/httpd2.2 ~]# make ~]# make install ~]# cd /usr/local ~]# ./httpd --> 啟動(dòng)http服務(wù)
6.開(kāi)源程序的獲取方式
官方自建站點(diǎn):
apache.org(ASF項(xiàng)目)
mariadb.org
...
代碼托管:
SourceForge
Github.com
code.google.com
...
當(dāng)前文章:程序包管理之yum命令詳解
文章來(lái)源:http://www.2m8n56k.cn/article16/gsegdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、建站公司、軟件開(kāi)發(fā)、ChatGPT、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)