linux程序包管理yum的使用

2016年10月21日17:35:47 發(fā)表評(píng)論 3,687 ℃

centos:yum ,dnf

URL :ftp://172.12.01.2/pub/

YUM:yellow dog ,yellowgod Update Modifier

yum repository: yum repo

c存儲(chǔ)了眾多rmp包,以及包的相關(guān)的元數(shù)據(jù)文件(放置于特定目錄下:repodata):

文件服務(wù)器:

ftp://

http://

nfs://

file:///

yum客戶端:

配置文件:

/etc/yum.conf:為所有倉(cāng)庫(kù)提供公共配置

/etc/yum.repos.d/*.repo:為倉(cāng)庫(kù)的指向提供配置

[aliyun]

name=Centos epel

baseurl=http://mirrors.aliyun.com/epel/$releasever/$basearch/

gpgcheck=0

倉(cāng)庫(kù)的定義:

[repositoryID]

name=Some name for this repository

baseurl=url://path/to/repository/

enabled={1|0}表示這個(gè)repo中定義的源是啟用的,0為禁用

gpgcheck={1|0}表示這個(gè)repo中下載的rpm將進(jìn)行g(shù)pg的校驗(yàn),已確定rpm包的來源是有效和安全的

gpgkey=URL

enablegroups={1|0}

faillovermcthod={roundrobin|priority}

默認(rèn)為:roundrobin,意為隨機(jī)挑選

cost=

默認(rèn)為1000

yum倉(cāng)庫(kù)中的元數(shù)據(jù)文件:

primary.xml.gz

所有RPM包的列表

依賴關(guān)系:

每個(gè)RPM安裝生成的文件列表:

filelists.xml.gz

當(dāng)前倉(cāng)庫(kù)中所有RPM包的所有文件列表

other.xml.gz

額外信息,RPM包的修改日志

repomd.xml

記錄的是上面三個(gè)文件的時(shí)間戳和校驗(yàn)和

yum 命令的用法:

yum [options] [command] [package ...]

顯示倉(cāng)庫(kù)列表:(顯示repo 列表及其簡(jiǎn)要信息)

repolist [all|enabled(默認(rèn))|disabled]

顯示程序包:(支持glob)

list

yum list [all | glob_exp1] [glob_exp2] [...]

yum list {updates(可用的升級(jí))|available(可用的,倉(cāng)庫(kù)中有但尚未安裝)|installed(已經(jīng)安裝的)} [glob_exp1] [...]

安裝程序包:

install package1 [package2] [...]

reinstall package1 [package2] [...] 重新安裝

升級(jí)程序包:

update [package1] [package2] [...]

downgrade package1 [package2] [...] 降級(jí)安裝

檢查可用升級(jí):

check-update

卸載程序包:

remove | erase package1 [package2] [...]

查看程序包信息

info [...]

查看指定的特性(可以是某文件)是由哪個(gè)包提供

provides | whatprovides feature1 [feature2] [...]

清理本地緩存:

clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

構(gòu)建緩存:

makecache

搜索:

search string1 [string2] [...]

以指定的關(guān)鍵詞搜索程序包名及sumary信息

查看指定包所依賴的capabilities

deplist package1 [package2] [...]

查看yum事務(wù)歷史

history [info|list|packages-list|packages-inifo|summary|addon-info|redo|undo|rollback|new|sync|stats]

安裝及升級(jí)本地程序包

localinstall rpmfile1 [rpmfile2] [...]

 (maintained for legacy reasons only - use install)

        localupdate rpmfile1 [rpmfile2] [...]

包組管理的相關(guān)命令

 * groupinstall group1 [group2] [...]
 * groupupdate group1 [group2] [...]
 * grouplist [hidden] [groupwildcard] [...]
 * groupremove group1 [group2] [...]
 * groupinfo group1 [...]

如何使用光盤當(dāng)做本地yum倉(cāng)庫(kù):

(1)掛載光盤至某目錄,例如/media/cdrom

#mount -r -t iso9660 /dev/cdrom /media/cdrom

(2)創(chuàng)建配置文件

[Centos7]

name=

baseurl=

gpgcheck=

enabled=

yum的命令行選項(xiàng):

--nogpgcheck:禁止進(jìn)行g(shù)pg check

yum --nogpgcheck localinstall *.rpm -y 安裝本地rpm包,自動(dòng)解決依賴關(guān)系

-y:自動(dòng)回答為“yes”

-q:靜默模式;

--disablerepo=repoidglob:臨時(shí)禁用此處指定的repo

--enablerepo=repoidglob:臨時(shí)啟用此處指定的repo

--noplugins:禁用所有插件

yum的repo配置文件中可用的變量:

$releasever:當(dāng)前OS的發(fā)現(xiàn)版的主版本號(hào)

$arch:平臺(tái)

$basearch:基礎(chǔ)平臺(tái)

$YUM0-$YUM9

創(chuàng)建yum倉(cāng)庫(kù):

createrepo [options]<directory>

程序包編譯安裝:

testapp-VERSION-release.src.rpm-->安裝后,使用rpmbuild命令制作為二進(jìn)制格式的rpm包,而后再安裝

源代碼-->預(yù)處理-->編譯(gcc)-->匯編-->鏈接-->執(zhí)行

源代碼組織格式:

多文件:文件中的代碼之間,很可能存在跨文件依賴關(guān)系;

C、C++:make(configure-->makefile.in-->makefile)

java:maven

編譯安裝三步驟:

./configure

(1)通過選項(xiàng)傳遞參數(shù),指定啟用特性、安裝路徑;執(zhí)行時(shí)會(huì)參考用戶的指定以及Makefile.in文件生成makefile;

(2)檢查依賴到的外部環(huán)境;

make

根據(jù)makefile文件,構(gòu)建應(yīng)用程序

make install

開發(fā)工具:

autoconf:生成configure文件

automake:生成Makefile.in

建議:安裝前參考INSTALL,README

開源程序源代碼的獲?。?/p>

官方自建站點(diǎn):

apache.org

mariadb.org

代碼托管:

SourceForge

Github.com

code.google.com

c/c++:gcc(GUN C Complier)

編譯C源代碼:

前提:提供開發(fā)工具及開發(fā)環(huán)境

開發(fā)工具:make,gcc等

開發(fā)環(huán)境:開發(fā)庫(kù),頭文件

glibc:標(biāo)準(zhǔn)庫(kù)

通過“包組”提供開發(fā)組件

CentOS 6:“Development Tool”,"Server Platform Development"

第一步:configure腳本

選項(xiàng):指定安裝位置、指定啟用的特性

--help:獲取其直系使用的選項(xiàng)

選項(xiàng)分類:

安裝路徑設(shè)定

--prefix=/PATH/TO/SOMEWHERE:指定默認(rèn)安裝位置:默認(rèn)為/usr/local/

--sysc>System types:
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)境變量中:

a.編輯文件/etc/profile.d/NAME.sh

export PATH=/PATH/TO/BIN:$PATH

b.修改/etc/profile文件

(2)導(dǎo)出庫(kù)文件路徑

默認(rèn)情況下,系統(tǒng)會(huì)搜索庫(kù)文件的路徑/lib ,/usr/lib;要增添額外的搜索路徑

編輯/etc/ld.so.conf.d/NAME.conf

添加新的庫(kù)文件所在目錄至此文件中:

例如:/user/local/apache2/lib

讓系統(tǒng)重新重新生成緩存文件:

ldconfig 通知系統(tǒng)重新搜尋庫(kù)文件

 -v 顯示重新搜尋的過程

(3)導(dǎo)出頭文件

基于鏈接的方式實(shí)現(xiàn):ln -sv

默認(rèn):/usr/include

/usr/local/tengine/include  /usr/include

ln -s /usr/local/tengine/include/* /usr/include 或

ln -s /usr/local/tengine/include   /usr/include/tengine

(4)導(dǎo)出幫助手冊(cè)

man文件路徑:安裝在--prefix指定的目錄下的man目錄:/usr/share/man

1、編輯/etc/man.config文件

添加一個(gè)MANPATH

2、man -M /PATH/TO/MAN_DIR COMMAND

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫(kù)、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評(píng)論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: