=======rpm命令的使用總結======
安裝:
rpm {-i|–install} [install-options] PACKAGE_FILE …
-v: verbose
-vv: more verbose
-h: 以#顯示程序包管理執行進度; 每個#表示2%的進度
eg:rpm -ivh package
[install-option]
–test 測試安裝, 但不真正執行安裝, dry run模式
–nodeps 忽略安裝關系
–replacepkgs 重新替換安裝
–nosignature 不檢查來源合法性
–nodigest 不檢查包完整性
–noscript 不執行程序包腳本片段
%pre 安裝前 –nopre
%post 安裝后 –nopost
%preun 卸載前 –nopreun
%postun 卸載后 –nopostun
升級:
rpm {-U|–upgrade} [install-options] PACKAGE_FILE …
rpm {-F|–freshen} [install-options] PACKAGE_FILE …
upgrade: 安裝有舊版, 則升級, 如果不存在舊版, 則安裝
freshen: 安裝有舊版, 則升級, 如果不存在舊版, 不執行操作
eg: rpm -Uvh PACKAGE
eg: rpm -Fvh PACKAGE
–oldpackage 降級
–force
注意: 1. 不要對內核進行升級操作; Linux支持多內核版本并存, 因此, 對
直接安裝新版內核
2. 如果源程序包的配置文件安裝后曾被修改, 升級時, 新版本提供的同一個
配置文件不會直接覆蓋老版本的配置文件, 而把新版本的文件重命名(FILENAME.rpmnew)后保留
查詢:
rpm {-q|–query} [select-options] [query-options]
[select-options]
-a: 所有包
-f: 查詢指定的文件由哪個程序包生成
-g: 查詢指定包組的程序包
-whatprovides CAPABILITY
查詢指定的CAPABILITY由哪個PACKAGE提供
Query all packages that provide the CAPABILITY capability
–whatrequires CAPABILITY
查詢指定的CAPABILITY別誰所依賴
Query all packages that require CAPABILITY for proper functioning.
-p, –package PACKAGE_FILE
查詢未安裝的程序包
[query-options]
–changelog
查詢更新日志
-c, –configfiles
查詢配置文件
–conflicts
與誰沖突
-d, –docfiles
查詢程序的文檔, 包括幫助文檔
-i, –info
輸出程序信息
-l, –list
列出程序安裝完成后生成的所有文件
–scripts
列出程序包所有腳本
–triggers, –triggerscripts
觸發器腳本
-R, –requires
查詢指定的程序包所依賴的CAPABILITY
–provides
列出指定程序包所提供的CAPABILITY
==========yum常用命令的總結===========
yum [options] [command] [package …]
yum repolist:顯示倉庫列表
all 顯示所有倉庫列表
list顯示程序包
all
glob_exp1
avaiable
updates
installed
install PACKAGE1 PACKAGE2 …
check-update 檢查升級
remove|erase PACKAGE 卸載
會吧依賴于PACKAGE的包全部卸載
info PACKAGE 查看包信息
provides|whatprovides PACKAGE 查看指定的文件或文件時由哪個程序包提供
clean 清理本地緩存
makecache 構建緩存
search STRING 模糊搜索程序包
reinstall PACKAGE重新安裝
downgrade PACKAGE 降級安裝
deplist顯示包的依賴關系
version 自行man
history 查看yum進行過的事務
history summary查看歷史事務摘要
history list 列出事務
history stats 統計
loacalinstall 可以解決依賴關系的本地程序包安裝, 建議直接使用install
包組相關命令:
* groupinstall group1 [group2] […]
安裝
* groupupdate group1 [group2] […]
更新
* grouplist [hidden] [groupwildcard] […]
列出
* groupremove group1 [group2] […]
移除
* groupinfo group1 […]
查詢信息
=============yum倉庫的創建及repo文件的制作===============
yum倉庫的創建:
1. 準備材料: N個rpm包,比如我把CENTOS7安裝鏡像中的Packages目錄復制到了/root/mydata/yum.sr/中;
[root@localhost ~]# ls ./mydata.d/yum.sr/Packages/ | wc -l 3577 <--有3577個package
2. 使用createrepo命令創建yum倉庫:
[root@localhost ~]# createrepo -o /root/mydata.d/yum.sr/ /root/mydata.d/yum.sr/Packages/ # -o選項用于指定repodata生成的位置,最后一個參數是rpm包們所在的位置。 Spawning worker 0 with 894 pkgs Spawning worker 1 with 894 pkgs Spawning worker 2 with 894 pkgs Spawning worker 3 with 894 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete [root@localhost ~]# ls /root/mydata.d/yum.sr/ Packages repodata # repodata為新生成的目錄
注:若電腦上沒有createrepo命令,請使用yum install createrepo自行安裝。
3. 創建yum repo文件,并使用vim編輯:
[local] <--指定yum源名; name=my rpm base from local <--可以理解為yum源描述; baseurl=file:///root/mydata.d/yum.sr/ <--指定URL或使用“file://”指定本地路徑,注意“/”的數量; gpgcheck=0 <--不驗證來源及package的完整性(因為是本地自己的文件); enabled=1 <--啟用此yum源; --------------以上是vim編輯的內容---------------
[root@localhost yum.repos.d]# vim CentOS-My.repo [root@localhost yum.repos.d]# yum clean all # 清除yum緩存 Loaded plugins: fastestmirror, langpacks Cleaning repos: base cdrom extras local updates Cleaning up everything Cleaning up list of fastest mirrors [root@localhost yum.repos.d]# yum repolist # 重建yum緩存 Loaded plugins: fastestmirror, langpacks base | 3.6 kB 00:00:00 cdrom | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 local | 2.9 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/7): cdrom/group_gz | 154 kB 00:00:00 (2/7): local/primary_db | 2.7 MB 00:00:00 (3/7): cdrom/primary_db | 2.7 MB 00:00:00 (4/7): base/7/x86_64/primary_db | 5.1 MB 00:00:00 (5/7): extras/7/x86_64/primary_db | 120 kB 00:00:01 (6/7): base/7/x86_64/group_gz | 154 kB 00:00:01 (7/7): updates/7/x86_64/primary_db | 4.7 MB 00:00:03 Determining fastest mirrors * base: mirrors.btte.net * extras: mirrors.aliyun.com * updates: mirrors.sina.cn repo id repo name status base/7/x86_64 CentOS-7 - Base 8,652 cdrom my rpm base from cdrom 3,576 extras/7/x86_64 CentOS-7 - Extras 285 local my rpm base from local 3,576 updates/7/x86_64 CentOS-7 - Updates 1,726 repolist: 17,815 # “local” yum源創建成功,且其與cdrom一致,因為local的pakages源于cdrom。 [root@localhost yum.repos.d]#
===========編譯安裝=========
前提要有開發環境,最起碼gcc應該裝上;
安裝方法見下面;
以編譯安裝Apache為例:
[root@localhost ~]# wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.17.tar.bz2 ...下載過程省略...
文件會下載到你的當前目錄。
解壓縮下載到的文件:
[root@localhost ~]# ls anaconda-ks.cfg httpd-2.4.17.tar.bz2 mydata.d pingpc.sh rc2.d.sh # httpd-2.4.17.tar.bz2為下載到的文件; [root@localhost ~]# tar -jxf httpd-2.4.17.tar.bz2 # 解壓縮文件 [root@localhost ~]# ls anaconda-ks.cfg httpd-2.4.17 httpd-2.4.17.tar.bz2 mydata.d pingpc.sh rc2.d.sh # httpd-2.4.17 為解壓后的目錄
然后運行解壓目錄下的configure文件,但是configure文件可能會提示錯誤,大多是因為缺少某個程序,根據命令查找,安裝即可,比如:
[root@localhost httpd-2.4.17]# yum search pcre Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.btte.net * extras: mirrors.aliyun.com * updates: mirrors.sina.cn ======================================= N/S matched: pcre ======================================== pcre-devel.i686 : Development files for pcre pcre-devel.x86_64 : Development files for pcre pcre-static.i686 : Static library for pcre pcre-static.x86_64 : Static library for pcre pcre-tools.x86_64 : Auxiliary utilities for pcre pcre.i686 : Perl-compatible regular expression library pcre.x86_64 : Perl-compatible regular expression library Name and summary matches only, use "search all" for everything. [root@localhost httpd-2.4.17]# yum install pcre
然后再執行configure文件;
執行make命令;
執行make install命令;
正常情況下到此即為安裝完成。
原創文章,作者:Jacen,如若轉載,請注明出處:http://www.www58058.com/9809
格式上再優化些就可以置頂了