您好,登錄后才能下訂單哦!
1.yum是什么?
yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器?;禦PM包管理,能夠從指定的服務(wù)器自動下載RPM包并且安裝,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令。
2.yum客戶端的配置文件
配置文件:
/etc/yum.conf 為所有倉庫提供公共配置或不屬于倉庫的配置
/etc/yum.repos.d/*.repo 為倉庫的指向提供配置
/etc/yum.repos.d/*.repo : 定義倉庫
[repositoryID]
name=Some name for this repository
baseurl=url://server1/path/to/repository/
enabled=[0|1]倉庫開啟或關(guān)閉
gpgcheck ={1|0} 檢查來源合法性
gpgkey=URL 指明密鑰文件
enablegroups ={0|1} 使用組來批量管理程序包
failovermethod = {roundrobin(輪詢)|specified(優(yōu)先級)}
故障轉(zhuǎn)移方法默認(rèn)為roundrobin,為隨機挑選
cost(開銷)=# 默認(rèn)為1000
yum的repo配置文件中可用的變量:
$releasever:當(dāng)前OS的發(fā)行版的主版本號
$arch:平臺類型
$basearch :基礎(chǔ)平臺
$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
我們也可以用變量的方式來設(shè)置baseurl:
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
3.如何使用光盤做本地yum倉庫
這里以CentOS 6.7的ISO鏡像為例:
(1)掛載光盤
~]# mount -r /dev/cdrom /media/cdrom
(2)創(chuàng)建配置文件
~]# cd /media/cdrom/ ~]# ls -->這里查看一下是否有"repodata"目錄,一般默認(rèn)都有,如果沒有 ~]# createrepo -->創(chuàng)建"repodata"目錄,如有,則不用創(chuàng)建 ~]# vim /etc/yum.repos.d/local.repo [base] name=local baseurl=file:///media/cdrom/ gpgcheck=1 ~]# yum repolist --> 配置完成后可以用這個命令檢查是否配置成功
注: 創(chuàng)建yum倉庫 createrepo [options] <directory>
4.yum常用命令
yum的命令行選項:
--nogpgcheck :進制進行g(shù)pg check
-y :自動回答為"yes"
-q :靜默模式
--disabledrepo=repoidglob :臨時禁用此處指定的repo
--enabledrepo=repoidglob :臨時啟用此處的指定的repo
--noplugins :禁用所有插件
常用命令:
顯示倉庫列表:
repolist [all|enabled|disabled]
顯示程序包:
yum list [all | glob_exp1] [glob_exp2] [...]
yum list {available|installed|updates} [glob_exp1] [...]
安裝程序包:
install package1 [package2][...]
reinstall package1 [package2] [...] 重新安裝
升級程序包:
update package1 [package2] [...]
downgrade package1 [package2] [...] 降級
檢查可用升級:
check-update
卸載程序包:
remove | erase package1 [package2] [...]
查看程序包的簡要信息:
info[]
查看指定的特性是由那個程序包提供:
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命令制作成二進制格式的rpm包,而后在安裝
源代碼 --> 預(yù)處理 --> 編譯(gcc)--> 匯編 --> 鏈接 --> 執(zhí)行
編譯安裝三步驟:
./configure
1.通過選項傳遞參數(shù),指定啟用特性、安裝路徑等,執(zhí)行時會參考用戶的指定以及Makefile.in文件生成makefile
2.檢查依賴到的外部環(huán)境
make
根據(jù)makefile文件,構(gòu)建應(yīng)用程序,調(diào)用編譯器來完成編譯
make install
編譯C源代碼:
前提:提供開發(fā)工具及開發(fā)環(huán)境
開發(fā)工具:make,gcc等
開發(fā)環(huán)境:開發(fā)庫,頭文件
glibc:標(biāo)準(zhǔn)庫
通過“包組”提供開發(fā)組件:
CentOS 6:"Development Tools","Server Platform Development"
CentOS 7:"開發(fā)工具"
第一步:configure腳本
選項:指定安裝位置、指定啟用的特性
--help:獲取其支持使用選項
安裝路徑設(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)出二進制程序目錄至PATH環(huán)境變量中
編輯文件/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH
(2)導(dǎo)出庫文件路徑
編輯/etc/ld.so.conf.d/NAME.conf
添加新的庫文件所在目錄至此文件中
/usr/local/apache2/lib
讓系統(tǒng)重新生成緩存
ldconfig [-v]
(3)導(dǎo)出頭文件到/usr/include
基于鏈接的方式實現(xiàn):
ln -sv
導(dǎo)出目錄為一個符號鏈接
(4)導(dǎo)出幫助手冊
編輯/etc/man_db.conf文件
添加一個 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 --> 啟動http服務(wù)
6.開源程序的獲取方式
官方自建站點:
apache.org(ASF項目)
mariadb.org
...
代碼托管:
SourceForge
Github.com
code.google.com
...
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。