Rpm包的安装与yum的配置
?
RPM包管理器的常用命令和示例:
?
1、安裝程序包:
rpm [option]/path/to/package_file
–i:安裝程序包
–v:顯示安裝的過程
-h :顯示安裝進度
-vv:顯示詳細信息
-vvv:顯示更更詳細信息
-ivh --nodeps: 強制安裝程序包(不解決依賴關系情況下強制安裝,將不能正常使用)
2、? 卸載程序包
rpm [option] package_name
??-e:卸載包
[root@localhost Packages]# rpm -ev zsh
???????? -e --nodeps:強制卸載(不解決依賴關系情況下強制卸載,將只能卸載主包,不能卸載子包)
?
注意:如果包的配置文件安裝后曾被改動過,卸載時,此文件將不會卸載,而是被重命名并保留,
??????????????????????????? 例如[root@localhost Packages]# rpm -ezsh
??????????????????????????????????????? warning:/etc/zlogout saved as /etc/zlogout.rpmsave
3、? 升級程序包:
????rpm [option] /pat/to/package_file
????(1).升級或安裝(有老版本就升級,沒有就安裝)
????????? -Uvh
(2)、純升級:(必須有老版本)
????? -Fvh
????? -Fvh –force:強制升級 但無法正常運行
注意:不能對系統內核執行升級操作,而是重新安裝高版本系統(linux操作系統運行多個系統內核)
?
4、? 包的查詢命令
-q: 查詢包是否安裝了
-qa:查詢所有已經安裝的包
-qi:查詢已經安裝的包信息
-ql:查詢某包生成了那些文件
-qc:查新包生成了那些配置文件
-qd:查新生成了那些幫助信息
-q - –scripts: 查詢程序包的相關腳本
[root@localhost Packages]# rpm -ql zsh| less-----查新zsh包生成了那些文件
[root@localhost Packages]# rpm -qa |grep "zsh"---過濾所有zsh安裝過的包
?
查看zsh包的詳細信息
?
5、? 生成文件屬性校驗:
用于檢查包安裝生成的文件屬性是否發生變化
rpm –V
6、? 查程序是由那個包安裝成的
[root@localhost Packages]# rpm -qf /etc/fstab
setup-2.8.14-20.el6_4.1.noarch
7、對尚未安裝的包執行查詢
???????????????????? rpm[option] 絕對包全名
???????????????????? -qpi查看包的信息
???????????????????? -qpl查看生成那些文件
???????????????????? -qpc查看生成那些配置文件
???????????????????? -qpd查看生成那些幫助信息
8、生成文件屬性校驗:
????????????? 用于檢查包安裝生成的文件屬性是否發生變化(屬性不變化顯示為點)
???????????????????? rpm-V?
???????????????????? ?? S file Size differs 文件大小
???????????????????? ?? M Mode differs (includes permissions andfile type) 權限和文件類型
???????????????????? ?? 5 digest (formerly MD5 sum) differs? MD5加密
???????????????????? ? ?DDevice major/minor number mismatch 設備文件設備號
???????????????????? ?? L readLink(2) path mismatch? 路徑
???????????????????? ?? U User ownership differs 屬主
???????????????????? ?? G Group ownership differs屬組
???????????????????? ?? T mTime differs 時間
???????????????????? ?? P caPabilities differ能力
9、rpm 包來源的合法性
????????????? rpm–import /path/to/file_key------導入密鑰
???????????????????????????
????????????? rpm-qa??? ------顯示已經導入的密鑰格式
????????????? #rpm -qa gpg-pubkey*
?????????????
????????????? rpm-qi ---------------顯示密鑰的詳細信息
????????????? #rpm -qi gpg-pubkey-NAME
????????????? ?
10、檢查包:安裝過程中會自動執行檢查(導入密鑰安裝過程將自動檢測)??? ?
手動檢查:
?????????????????????????????????? rpm -K/path/to/package_file
?????????????????????????????????? rpm--checksig /path/to/package_file
?
未安裝的包檢查來源性和合法性:rpm -K? 包的名稱
?
不檢查包完整性,檢查包的來源合法性rpm –K - -nodigest 包的名稱
不檢查包來源合法性,檢查完整性rpm -K --nosignature 包的名稱
?
?
?
YUM:的安裝:
Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE、CentOS中的Shell前端軟件包管理器。基于RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝
yum是C/S架構
yum的配置的一種方法:/etc/yum.repos.d目錄下增加.repo文件。
1、? yum配置:
提供repo配置文件,指明倉庫訪問路徑和各種屬性信息
中心配置文件:/etc/yum.conf
一個或者幾個相關倉庫的配置信息可保存為一個文件,文件名都以.repo結尾:
?
?
在/etc/yum.repos.d/下自定義一個名字隨便后綴為.repo為結尾的格式如下:
用本地光盤配置yum客戶端:
(1)、首先掛載光盤
??? ?? [root@localhost ~]# mount /dev/cdrom/media/cdrom
????????mount: block device /dev/sr0 is write-protected, mountingread-only
(2)、在目錄/etc/yum.repos.d創建后綴名為.repo的文件格式如下:
????????????[root@localhost~]# vim ning.repo
?
????????????[ning1]?? #方括號里面的是軟件源的名稱,將被yum取得并識別
????????????name=CentOS-6.5-x86_64-bin-DVD1.isoon local cdrom? #定義倉庫的內容
????????????baseurl=file:///media/cdrom/?? # 定義倉庫位置
????????????enabled=0?????????????? #0代表禁用?? 1代表啟用
????????????gpgcheck=1??????????? #1啟用校驗 0禁用校驗
????????????gpgkey=file:///media/cdrom/RPM-GPG-KEY-CentOS-6#校驗密鑰的位置
配置擁有yum服務器的客戶端:
?????? 直接在目錄/etc/yum.repos.d下創建后綴名為.repo的文件即可,格式如下
????????????? 在這里我們引入兩個默認宏:
????????????????????????????????????????? $releasever匹配主板本號,不匹配次版本號
????????????????????????????????????????? $basearch匹配系統架構
[root@localhost yum.repos.d]# vim centos6.5.repo
?
[base]
name=CentOS $releasever $basearch on local server 172.10.0.1
baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.5-$basearch/
?????? ?? file:///media/cdrom/
?????? ?? gpgcheck=0
?
[extra]
name=CentOS $releasever $basearch extras
baseurl=http://172.16.0.1/centos/$releasever/extras/$basearch/
gpgcheck=0
?
[epel]
name=Fedora EPEL for CentOS$releasever $basearch on local server172.16.0.1
baseurl=http://172.16.0.1/fedora-epel/$releasever/$basearch/
gpgcheck=0
yum客戶端命令的使用:
?????? yumrepolist all #列出所有repo
????????????? yum list all#列出庫中的所有的rpm包
????????????? yum list installed#列出庫中的已經安裝過的rpm包
????????????? yum list available#列出沒有安裝的rpm包
?
????????????? yum info 包名 #查詢包的信息
?
? ? ? ? yum install package_name 安裝程序包
????????????? [root@localhost yum.repos.d]# yuminstall zsh
? ? ? ? yum reinstall package_name重新安裝包
?????????? [root@localhostyum.repos.d]# yum reinstall zsh
??? ??yumcheck-update :檢查可升級的安裝
??????yum update x:更新安裝包
?????????? x-1.3.1,x-1.3.2,x-1.3.3
????yum update x-1.3.2 ---指定升級那個版本(如果不指定將升級最高版本)
? ? ? yumdowngrade package_name: 降級安裝包
? ? ? yumremove |erase 包名:卸載軟件包(自動解決依賴關系)
?
??? yumgrouplist :列出包組
??? yumgroupinfo 組名:顯示包租信息。
? yum groupinstall 組名:直接安裝一個服務組的安裝包
? yum groupremove 組名:直接卸載一個服務組的安裝包
? ? yum clean all:清理所有緩存
?????? 緩存主要存在:/var/cache/yum/x86_64/base/packages/下有下載的剛安裝過系統包
創建yum服務器
自建提供yum的倉庫的中心服務器:
1、? 以安裝httpd,并啟動服務
、
2、? 在httpd的文檔根目錄/var/www/html;
? 創建子目錄,存放相關的所有rpm包
? 我們這里從光盤上拷貝到此目錄下:
? [root@localhost html]# cp -rp/media/cdrom .
3、? 為庫生成元數據文件,以使能夠為倉庫使用
? 先安裝createrepo
? #rpm –ivh createrpo
? [root@localhost html]# createrepo/var/www/html/cdrom/
??? 4、配置yum客戶端使用此倉庫即可
2、[root@localhost yum.repos.d]# vimcentos6.5.repo
?
[base]
?name=172.16.3.1.base.repo
? baseurl=http://172.16.3.1/cdrom/
?gpgcheck=0
?
編譯源代碼軟件包
編譯原代碼的步驟:
1、#./configure
2、#make
3、#make install
?
實踐案例:nginx編譯
1、? 先解壓檢查編譯環境
2、? 編譯內核
?
?
3、? 安裝拷貝生成的文件到目錄下
?
4、? 查看生成的文件
編譯完成
6、運行nginx
#cd/usr/local/nginx/
#/sbin/nginx&
添加永久路徑
[root@localhostnginx]# vim /etc/profile.d/nginx.sh添加個文件,nginx.sh
?
?
exportPATH=$PATH:/usr/local/nginx/sbin
?
查看是否添加
[root@localhost~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/nginx/sbin:/root/bin
???????
7、導出手冊頁?????
root@localhost~]# vim /etc/man.config
MANPATH /usr/local/nginx/man
轉載于:https://blog.51cto.com/wodemeng/1440465
總結
以上是生活随笔為你收集整理的Rpm包的安装与yum的配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django配置数据库读写分离
- 下一篇: 再谈迭代器,生成器,yield,及和类的